Skip to main content

Co to jest przepełnienie bufora stosu?

Przepełnienie bufora stosu jest tym, co dzieje się, gdy program wprowadza do pamięci komputerów, która jest dłuższa niż przydzielona przestrzeń.W niektórych okolicznościach może to uszkodzić inne dane w pamięci, powodując problemy z uruchamianiem komputera.W innych przypadkach przepełnienie bufora stosu może być wykorzystywane przez złośliwą aplikację do przejęcia kontroli nad innymi częściami komputera.

Nazwa z przepełnienia bufora stosu pochodzi najpierw ze stosu, który jest skutecznie aktywną listą, w której dane są uporządkowane: Termin pochodzi z analogii gromadzenia przedmiotów fizycznych.Jedna wersja tego stosu połączeń to lista, której program komputerowy używa do śledzenia różnych części programu, podprogramów, które działają w dowolnym momencie.Ponieważ stos połączeń działa tymczasowo i musi mieć dostęp do szybkiego dostępu, znajduje się w pamięci komputerów, a nie w stałej pamięci, takiej jak dysk twardy.

to potrzeba uporządkowania sposobu przydzielania pamięci, w tym stosów połączeń.Odbywa się to wydajnie poprzez przypisanie buforów, przestrzeń w pamięci zaprojektowanej tak, aby była wystarczająco duża, aby poradzić sobie z maksymalną przestrzenią wymaganą przez określony bufor.W większości przypadków część przestrzeni będzie nieużywana, więc działa jako bufor między danymi z różnych aplikacji, pozostawiając miejsce do poradzenia sobie, jeśli nagle wymaga dodatkowej przestrzeni.Jednym ze sposobów wizualizacji byłoby pomylenie o bibliotece, która przeznaczyła pewną przestrzeń do każdego obszaru tematycznego, upewniając się, że zostawiłem dodatkowe miejsce na poradzenie sobie, jeśli na przykład wszystkie książki z jednego tematu znajdowałyW tym samym czasie, a nie którykolwiek z nich, który jest sprawdzany. Przepełnienie bufora stosu występuje, gdy program zapisuje dane dotyczące połączeń do bufora w sposób przekraczający przydzieloną przestrzeń.Może się to zdarzyć przez pomyłkę, zwykle przez błąd w programie.Na przykład, jeśli aplikacja została zaprojektowana, aby umożliwić użytkownikowi wpisanie numeru telefonu, ale nie ma ograniczenia liczby znaków, które można wprowadzić, haker może być w stanie korzystać z nieograniczonego pola, aby celowo spowodować przepełnienie bufora stosu.W zależności od sposobu działania systemu operacyjnego może to pozwolić hakerowi na pośrednich dostępu do innej aplikacji lub samego systemu operacyjnego. Istnieje kilka podejść do łagodzenia skutków przepełnienia bufora stosu.Jeden jest znany jako randomizacja układu przestrzeni adresowej.To w losowo organizuje najważniejsze obszary danych na komputerze.Chodzi o to, że nawet jeśli haker powoduje lub wykorzystuje przepełnienie bufora stosu, nie będzie w stanie wykorzystać naruszenia w niezawodny sposób.