Skip to main content

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 programy zapisują informacje 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 komputerów i mdash;lista lokalizacji pamięci mdash;nie można tego 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 jest regionem pamięci używanej jako tymczasowa lokalizacja przechowywania, podczas gdy komputer przesyła informacje z jednego z jednegowskazać na inny.Najczęstszym zastosowaniem bufora jest zazwyczaj odtwarzanie wideo lub audio, w którym komputer podnosi dodatkowe x sekund materiałów lub audio 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 komputerów, 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 nastąpi, informacje zapisane poza buforem skutecznie spadają z mapy komputerów;Innymi słowy, system nie ma już żadnego sposobu na jego odzyskanie.Ponieważ komputer wie tylko o wyszukiwaniu buforowanych informacji w określonej przestrzeni buforowej przydzielonej na pamięć, nie ma możliwości ustalenia, gdzie przeleciane 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 bufora jest problemem, który może podważyć skuteczność sąsiedniego programu, a także uszkodzić własną działalność.