Dom Audio Co to jest niszczenie stosów? - definicja z techopedii

Co to jest niszczenie stosów? - definicja z techopedii

Spisu treści:

Anonim

Definicja - Co oznacza Smashing stosu?

Smashing stosu jest formą podatności, w której stos aplikacji komputerowej lub systemu operacyjnego jest zmuszony do przepełnienia. Może to prowadzić do obalenia programu / systemu i awarii.


Stos, pierwszy na wejściu, ostatni na wyjściu, jest formą bufora przechowującego pośrednie wyniki operacji w nim zawartych. Aby uprościć, niszczenie stosu powoduje umieszczenie w stosie większej ilości danych niż jego pojemność. Wykwalifikowani hakerzy mogą celowo wprowadzać do stosu nadmierne ilości danych. Nadmiar danych może być przechowywany w innych zmiennych stosu, w tym w adresie zwrotnym funkcji. Gdy funkcja powraca, przeskakuje do złośliwego kodu na stosie, który może uszkodzić cały system. Wpływ na sąsiednie dane na stosie i wymusza awarię programu.

Techopedia wyjaśnia Stack Smashing

Jeśli program dotknięty przez rozbicie stosu akceptuje dane z niezaufanych sieci i działa ze specjalnymi uprawnieniami, jest to przypadek podatności na zagrożenia. Jeśli bufor zawiera dane dostarczone przez niezaufanego użytkownika, stos może zostać uszkodzony przez wstrzyknięcie kodu wykonywalnego do programu, uzyskując w ten sposób nieautoryzowany dostęp do komputera. Osoba atakująca może również zastąpić informacje o przepływie kontroli przechowywane w stosie.


W związku z tym, że niszczenie stosów stało się bardzo poważną luką, niektóre technologie są wdrażane w celu przezwyciężenia katastrofy niszczącej stosy. Zabezpieczenie przed przepełnieniem bufora stosu zmienia organizację danych w ramce stosu wywołania funkcji w celu uwzględnienia wartości kanaryjskich. Wartości te po zniszczeniu wskazują, że bufor poprzedzający go w pamięci został przepełniony. Wartości kanaryjskie monitorują przepełnienie bufora i są umieszczane między danymi kontrolnymi a buforem na stosie. Zapewnia to, że przepełnienie bufora najpierw uszkodzi kanarek. Niepowodzenie weryfikacji danych kanaryjskich oznacza przepełnienie stosu. Trzy typy kanarków to Random, Terminator i Random XOR.


Kanał terminatora opiera się na fakcie, że atak przepełnienia bufora stosu zależy od operacji łańcuchowych kończących się na terminatorach. Losowe kanarki są generowane losowo z demona zbierającego entropię, który uniemożliwia atakującym poznanie wartości. Losowe kanarki są generowane przy inicjalizacji programu i przechowywane w zmiennych globalnych. Losowe kanarki XOR są losowymi nośnikami, które są kodowane XOR przy użyciu danych kontrolnych. Jest podobny do losowych kanarków, z tym wyjątkiem, że „metoda odczytu ze stosu” w celu uzyskania kanarka jest złożona. Haker potrzebuje kanarka, algorytmu i danych sterujących do stworzenia oryginalnego kanarka. Chronią przed atakami polegającymi na przepełnieniu buforów w strukturze na wskaźniki w celu zmiany wskaźnika na punkt na danych kontrolnych.

Co to jest niszczenie stosów? - definicja z techopedii