Stoppe buffer overflow bidrar til å hindre programmet krasjer og hackere fra å slippe ondsinnet kode som kan kompromittere et datasystem . En buffer overflow er når et program er å skrive data til en buffer , vanligvis en streng eller en matrise, og overstiger buffer lengde , skrive kode inn i tilstøtende minne . Hindre buffer overflow oppnås ved hjelp av programmering biblioteker som støtter buffer beskyttelse , ha kjørbar plass beskyttelse og velge programmeringsspråk som har grensekontroll . Instruksjoner
en
Velg et programmeringsspråk som har innebygd kontroller for å hindre data skriving utenfor grensene av en buffer . Språk som C og C + + mangel innebygd grensen sjekking. . NET Framework og Java -miljøer kraft grensekontroll. Tolket språk har beskyttelse mot buffer overflow .
2
Velg biblioteker og funksjoner som har buffer ledelse og grensekontroll . De brukte C-funksjoner " strcpy ", " scanf " og " får " er spesielt sårbare for buffer overflow . Tryggere alternativer inkludere " strncpy " og " strncat " funksjoner , som forkaster data som overstiger den angitte lengden . Det må likevel tas for å angi riktig buffer størrelse. Et eksempel på et tryggere alternativ til C strengen biblioteket er det gratis nedlastbart " The Better String Library".
3
Installer kjørbar plass beskyttelse add- ons for å forhindre buffer overflow . Kode forsøker å kjøre fra bunken eller heap forårsake et unntak. Kjørbar plass beskyttelse utnytter " No Execute " ( NX bit ) for å markere deler av minnet som ikke- kjørbar . Eksempler på kjørbare plass beskyttelse pakker for Unix inkluderer OpenWall , Exec Shield og Pax . Add -ons for Windows inkluderer StackDefender og BufferShield . Siden Windows XP Service Pack 2 , tilbyr Windows Data Execution Prevention ( DEP ) , gir noen buffer overflow beskyttelse.