Domov Zvuk Co je rozbíjení zásobníku? - definice z techopedie

Co je rozbíjení zásobníku? - definice z techopedie

Obsah:

Anonim

Definice - Co znamená Stack Smashing?

Smashing stack je forma zranitelnosti, kdy je stack počítačové aplikace nebo OS nucen přetéct. To může vést k podvracení programu / systému a jeho pádu.


Zásobník, obvod prvního v posledním výstupu, je formou mezipaměti, která udržuje mezilehlé výsledky operací v něm. Zjednodušeno, rozbití zásobníku vkládání více dat do zásobníku, než je jeho přidržovací kapacita. Zkušení hackeři mohou do zásobníku úmyslně zavádět nadměrná data. Přebytečná data mohou být uložena v jiných proměnných zásobníku, včetně návratové adresy funkce. Když se funkce vrátí, skočí na škodlivý kód v zásobníku, který by mohl poškodit celý systém. Sousední data na zásobníku jsou ovlivněna a nutí program havarovat.

Techopedia vysvětluje Stack Smashing

Pokud program ovlivněný smazáním zásobníku přijímá data z nedůvěryhodných sítí a běží se zvláštními oprávněními, jedná se o chybu zabezpečení. Pokud vyrovnávací paměť obsahuje data poskytnutá nedůvěryhodným uživatelem, může být zásobník poškozen vložením spustitelného kódu do programu, čímž se získá neoprávněný přístup k počítači. Útočník může také přepsat informace o toku toku uložené v zásobníku.


Jak se rozbití zásobníku rozrostlo na velmi vážnou zranitelnost, jsou implementovány určité technologie k překonání katastrofy rozbití zásobníku. Ochrana proti přetečení zásobníku zásobníku mění organizaci dat v zásobníku zásobníku volání funkce tak, aby zahrnovalo hodnoty Kanárských ostrovů. Tyto hodnoty, pokud jsou zničeny, indikují přetečení vyrovnávací paměti předcházející paměti. Kanárské hodnoty monitorují přetečení vyrovnávací paměti a jsou umístěny mezi řídicí data a vyrovnávací paměť na zásobníku. Tím je zajištěno, že přetečení vyrovnávací paměti nejprve poškodí kanár. Neúspěšné ověření kanárských dat znamená přetečení v zásobníku. Tři typy kanárů jsou Random, Terminator a Random XOR.


Kanál terminátoru je založen na skutečnosti, že útok přetečení zásobníku zásobníku závisí na řetězcových operacích končících na terminátorech. Náhodné kanárky jsou generovány náhodně z démona sbírajícího entropii, což útočníkům brání v poznání hodnot. Náhodné kanárky se generují při inicializaci programu a ukládají se do globálních proměnných. Náhodné kanály XOR jsou náhodné nosiče, které jsou XOR kódovány pomocí kontrolních dat. Je to podobné náhodným kanárům s tou výjimkou, že „metoda čtení ze zásobníku“ pro získání kanárku je složitá. Hacker potřebuje kanár, algoritmus a kontrolní data, aby vytvořil původní kanár. Chrání před útoky zahrnující přetečení vyrovnávacích pamětí ve struktuře do ukazatelů, aby změnili ukazatel na bod kontrolních dat.

Co je rozbíjení zásobníku? - definice z techopedie