Skip to main content

Ano ang isang buffer overflow?

Ang isang pag -apaw ng buffer ay nangyayari kapag ang isang programa ay nagsisikap na sumulat sa isang buffer at mga hakbang sa labas ng mga hangganan nito, na nagreresulta sa mga programa ng pagsulat ng impormasyon sa memorya na potensyal na kabilang sa ibang programa.Lumalabag ito sa integridad ng memorya sa loob ng operating system, na nagreresulta sa isang malubhang pagkakamali at potensyal na pag -crash para sa programa ng pagpapatupad.Ang pangunahing panganib ng isang pag -apaw ng buffer ay nagmula sa dalawang pangunahing elemento.Una, ang impormasyong nakasulat sa labas ng buffer ay nawawala, dahil ang Memory Mems ng Computer at MDASH;Ang listahan ng mga lokasyon ng memorya at mdash;hindi maaaring account para dito.Pangalawa, ang isang pag -apaw ng buffer ay maaaring hindi sinasadyang ma -overwrite ang impormasyon na naka -imbak sa memorya para sa isa pang programa, na epektibong nakakasagabal sa pagpapatupad ng isa pang programa din.

Ang isang buffer ay isang rehiyon ng memorya na ginamit bilang isang pansamantalang lokasyon ng imbakan habang ang computer ay naglilipat ng impormasyon mula sa isaituro sa isa pa.Ang pinaka -karaniwang paggamit ng isang buffer ay karaniwang nasa video o audio playback, kung saan ang computer ay nagpapahiwatig ng isang karagdagang x segundo ng footage o audio sa memorya, tinitiyak na ang pag -playback ay hindi makagambala kung ang isang bagay ay pansamantalang hindi maganda sa system.Ang isang buffer ay umiiral lamang sa loob ng isang tiyak, paunang natukoy na lokasyon sa loob ng memorya ng mga computer, katulad ng isang bansa na umiiral lamang sa loob ng mga linya ng hangganan na iginuhit sa isang mapa.Ang paglabas sa labas ng mga virtual na linya na ito ay nagreresulta sa mga problema hindi lamang para sa pagpapatakbo ng programa, ngunit para sa iba pang mga programa sa system.Kapag nangyari ito, ang impormasyong nakasulat sa labas ng buffer ay epektibong bumagsak sa mapa ng mga computer;Sa madaling salita, ang system ay wala nang anumang paraan upang makuha ito.Dahil alam lamang ng computer na maghanap para sa buffered na impormasyon sa loob ng tiyak na puwang ng buffer na inilalaan sa memorya, wala itong paraan upang malaman kung saan nawala ang overflow na impormasyon.Bilang karagdagan sa ito, ang isang pag -apaw ng buffer ay may potensyal na makagambala sa iba pang mga programa na tumatakbo sa computer.Isipin na ang puwang ng pag -iimbak ng memorya sa magkabilang panig ng buffer ay naatasan na sa iba pang mga tumatakbo na programa.Kapag ang impormasyon sa buffer ay dumudugo na nakaraan ang dinisenyo na lugar nito, mai -overwrite at masira ang anumang impormasyon na naka -imbak na sa mga seksyon ng memorya.Samakatuwid, ang isang pag -apaw ng buffer ay isang problema na maaaring masira ang pagiging epektibo ng isang katabing programa pati na rin ang pagsira sa sarili nitong operasyon.