Co je přetečení vyrovnávací paměti?
Přetečení vyrovnávací paměti nastává, když se program pokouší zapisovat do vyrovnávací paměti a vystoupí mimo její hranice, což má za následek informace o psaní programu do paměti, které potenciálně patří do jiného programu. To porušuje integritu paměti v operačním systému, což má za následek vážnou chybu a potenciální havárii pro prováděcí program. Hlavní nebezpečí přetečení vyrovnávací paměti pochází ze dvou hlavních prvků. Za prvé, informace napsané mimo vyrovnávací paměť jsou zdánlivě „ztraceny“, protože to mapa paměti počítače - seznam paměťových umístění - nemohou za to vysvětlit. Za druhé, přetečení vyrovnávací paměti může náhodně přepsat informace uložené v paměti pro jiný program a účinně narušit provádění jiného programu. Nejběžnějším použitím vyrovnávací paměti je obvykle přehrávání videa nebo zvuku, kde CO COMpUer naráží na další x sekundy záběrů nebo zvuku v paměti, což zajišťuje, že přehrávání nebude přerušeno, pokud se něco dočasně postaví v systému. Buffer existuje pouze v rámci konkrétního, předem určeného umístění v paměti počítače, podobně jako země existuje pouze v mezních liniích nakreslených na mapě. Vystoupení mimo tyto virtuální „řádky“ vede k problémům nejen pro spuštění programu, ale také pro jiné programy v systému.
V podstatě program vystoupil mimo přidělenou jurisdikci a napadl prostor jiného pracovního programu. Jakmile k tomu dojde, informace napsané mimo vyrovnávací paměť účinně spadnou z mapy počítače; Jinými slovy, systém již nemá žádný způsob, jak jej získat. Vzhledem k tomu, že počítač pouze „ví“ vyhledávání informací o vyrovnávací paměti v rámci konkrétního vyrovnávacího prostoru přiděleného do paměti, nemá žádný způsob, jak zjistittam, kde přetékané informace odešly.
Kromě toho má přetečení vyrovnávací paměti potenciál narušit další programy spuštěné v počítači. Představte si, že úložný prostor paměti na obou stranách vyrovnávací paměti již byl přiřazen k jiným spuštěným programům. Jakmile informace v vyrovnávací paměti krvácí kolem své navržené oblasti, přepsá a poškodí všechny informace již uložené v těchto částech paměti. Přetečení vyrovnávací paměti je proto problém, který může podkopat účinnost sousedního programu a poškodit jeho vlastní operaci.