Co to jest przepełnienie bufora?

Przepełnienie bufora występuje, gdy program próbuje napisać do bufora i wykracza poza jego granice, co powoduje, że informacje o pisaniu programu do pamięci, które potencjalnie należy do innego programu. Narusza to integralność pamięci w systemie operacyjnym, co powoduje poważny błąd i potencjalną awarię dla programu wykonawczego. Główne niebezpieczeństwo przepełnienia bufora pochodzi z dwóch głównych elementów. Po pierwsze, informacje zapisane poza buforem są rzekomo „utracone”, ponieważ mapa pamięci komputera - lista lokalizacji pamięci - nie mogą za nią uwzględnić. Po drugie, przepełnienie bufora może przypadkowo zastąpić informacje przechowywane w pamięci dla innego programu, skutecznie zakłócając wykonanie innego programu.

„Bufor” to region pamięci używanej jako tymczasowa lokalizacja przechowywania, podczas gdy komputer przenosi informacje z jednego punktu do drugiego. Najczęstszym zastosowaniem bufora jest zazwyczaj odtwarzanie wideo lub audio, gdzie CoMputer podnosi dodatkowe x sekundy materiału lub dźwięku w pamięci, zapewniając, że odtwarzanie nie zostanie przerwane, jeśli coś pójdzie tymczasowo nie tak w systemie. Bufor istnieje tylko w określonej, z góry określonej lokalizacji w pamięci komputera, podobnie jak kraj istnieje tylko w liniach granicznych narysowanych na mapie. Wyjście poza te wirtualne „linie” powoduje problemy nie tylko dla uruchomionego programu, ale także dla innych programów w systemie.

Zasadniczo program wyszedł poza przypisaną jurysdykcję i zaatakował przestrzeń innego programu roboczego. Gdy to się stanie, informacje zapisane poza buforem skutecznie spadają z mapy komputera; Innymi słowy, system nie ma już żadnego sposobu na jego odzyskanie. Ponieważ komputer „wie”, aby wyszukiwać buforowane informacje w określonej przestrzeni buforowej przydzielonej na pamięć, nie ma sposobu na ustaleniew miejscu, w którym poszły przepełnione informacje.

Oprócz tego przepełnienie bufora może potencjalnie zakłócać inne programy działające na komputerze. Wyobraź sobie, że przestrzeń pamięci po obu stronach bufora została już przypisana do innych uruchomionych programów. Gdy informacje w buforze krwawią obok jego zaprojektowanego obszaru, zastąpi i uszkodzą wszelkie informacje już przechowywane w tych sekcjach pamięci. Dlatego przepełnienie buforu jest problemem, który może podważyć skuteczność sąsiedniego programu, a także uszkodzić własną działalność.

INNE JĘZYKI