Co je to přetečení vyrovnávací paměti zásobníku?

Přetečení vyrovnávací paměti zásobníku je to, co se stane, když program provede vstup do paměti počítače, která je delší než přidělený prostor. Za určitých okolností to může poškodit jiná data v paměti, což způsobuje problémy při běhu počítače. V jiných případech může být přetečení vyrovnávací paměti zásobníku využíván škodlivým aplikací pro převzetí kontroly nad jinými částmi počítače. Jedna verze tohoto, The Call Stack, je seznam, který počítačový program používá ke sledování různých částí programu, podprogramy, které fungují v kterémkoli konkrétním okamžiku. Vzhledem k tomu, že zásobník hovorů funguje dočasně a musí být přístupný rychle, je umístěn spíše v paměti počítače než v trvalém úložišti, jako je pevný disk.

Protože moderní operační systémy umožňují běhu více programů najednou, je třeba uspořádat způsob přidělení paměti, včetně volání zásobníků. To se provádí efektivně přiřazením vyrovnávacích pamětí, prostoru v paměti navrženém tak, aby byl dostatečně velký, aby se vypořádal s maximálním prostorem požadovaným konkrétním vyrovnávací pamětí. Ve většině případů bude část prostoru nevyužitá, takže působí jako vyrovnávací paměť mezi daty z různých aplikací, takže prostor ponechává, aby se vyrovnal, pokud někdo najednou vyžaduje další prostor. Jedním ze způsobů, jak si vizualizovat, by bylo myslet na knihovnu, která přidělila určité množství prostoru každé oblasti předmětu, a ujistěte se, že necháme nějakou další prostor, aby se vyrovnal, pokud například všechny knihy o jednom předmětu byly v knihovně současně, než na kterýkoli z nich odhlášení.

Přetečení vyrovnávací paměti zásobníku dochází, když program zapíše data zásobníku volání do vyrovnávací paměti způsobem, který přesahuje přidělený prostor. To se může stát omylem, uSually prostřednictvím chyby v programu. Například, pokud je aplikace navržena tak, aby umožnila uživateli zadat telefonní číslo, ale nemá omezení počtu znaků, které lze zadat, může být hacker schopen použít neomezené pole, aby úmyslně způsobil přetečení vyrovnávací paměti zásobníku. V závislosti na tom, jak operační systém funguje, by to mohlo hacker umožnit nepřímo přístup k jiné aplikaci nebo samotný operační systém.

Existuje několik přístupů ke zmírnění proti účinkům přetečení vyrovnávací paměti zásobníku. Jeden je známý jako randomizace rozložení adresního prostoru. To náhodně uspořádá nejdůležitější oblasti dat na počítači. Myšlenka je taková, že i když hacker způsobí nebo využije přetečení vyrovnávací paměti zásobníku, nebude schopen spolehlivým způsobem využít porušení.

JINÉ JAZYKY

Pomohl vám tento článek? Děkuji za zpětnou vazbu Děkuji za zpětnou vazbu

Jak můžeme pomoci? Jak můžeme pomoci?