Spisu treści:
Definicja - Co oznacza przepełnienie bufora?
Przepełnienie bufora występuje, gdy do bufora zapisanych jest więcej danych, niż może pomieścić. Nadmiar danych jest zapisywany w sąsiedniej pamięci, nadpisując zawartość tej lokalizacji i powodując nieprzewidywalne wyniki w programie. Przepełnienie bufora ma miejsce, gdy niepoprawne jest sprawdzanie poprawności (brak ograniczeń przed zapisaniem danych. Jest to uważane za błąd lub słabość oprogramowania
Techopedia wyjaśnia przepełnienie bufora
Atakujący mogą wykorzystać błąd przepełnienia bufora, wstrzykując kod, który jest specjalnie dostosowany do spowodowania przepełnienia bufora w początkowej części zestawu danych, a następnie zapisując resztę danych na adres pamięci przy przepełnionym buforze. Dane przepełnienia mogą zawierać kod wykonywalny, który pozwala atakującym na uruchamianie większych i bardziej wyrafinowanych programów lub udzielanie sobie dostępu do systemu.
Przepełnienie bufora jest jednym z najgorszych błędów, które atakujący może wykorzystać głównie dlatego, że bardzo trudno go znaleźć i naprawić, zwłaszcza jeśli oprogramowanie składa się z milionów wierszy kodu. Nawet poprawki tych błędów są dość skomplikowane i podatne na błędy. Właśnie dlatego całkowite usunięcie tego typu błędu jest prawie niemożliwe.
Chociaż wszyscy programiści znają potencjalne zagrożenie przepełnieniem bufora w swoich programach, nadal istnieje wiele zagrożeń związanych z przepełnieniem bufora zarówno w nowym, jak i starym oprogramowaniu, niezależnie od liczby już wykonanych poprawek.
