Forebygging buffer overflow er avgjørende for å beskytte sikkerheten til datamaskinen og tilkoblet serveren og er et resultat av dårlig validering av inndata . Du kan beskytte systemet fra buffer overflow angrep ved å følge noen enkle trinn og tar den aktuelle handlingen. Identifisere og ivareta problemstillinger i systemets C-programmering er hovedfokus å hindre buffer overflow i fremtiden . Ved hjelp av en ikke- kjørbar Stack
Denne metoden for overløp forebygging inkluderer en stabel som er konfigurert til ikke å holde noen kjørbar kode. Skaff en kernal oppdatering for Linux og Solaris -systemer for å konfigurere den ikke- kjørbare stabelen. I Windows XP , kan du sette datakjøringsforhindring utkant med operativsystemet ( OS ) til også å beskytte stabelen mot buffer overflow . Den Palisade nettside advarer imidlertid at heap -basert overløp og statiske data segmentet flyter ikke kan forebygges ved denne teknikken .
Dynamic Runtime
Forhindre buffer overflow ved å implementere en dynamisk runtime forebygging prosess på systemet ditt . Buffer overflow forhold og risikoer det oppdages feil under driften av selve programmet i denne metoden , og dermed hindre overløp angrep oppstår. Ulike runtime prosesser inkluderer " kanarifuglen " --- som legger linjen " kanarifuglen " til programmets koding --- og kopiering programmets returadresse . Den siste metoden fungerer som en informasjon backup som et middel til å regenerere program funksjonalitet gang en overflow angrep har blitt løst.
Sikker Versjoner av funksjoner
Buffer overflow kan også hindres ved hjelp av en " sikrere " eller mer stabil versjon av et program -funksjon. For eksempel funksjonene strncpy og snprintf er tryggere og mer stabil enn de eldre strcpy og sprint språk . Som du fortsetter å lage nye applikasjoner i programmet, sikre at alternativ , blir sikrere kode funksjoner brukes hele.
Andre eksempler på Ustabile funksjoner
Unngå "usikker " eller ustabil funksjonalitet helt kan også hindre buffer overflow . Når det er mulig , unngå å bruke følgende funksjoner når du skriver programmet : strcpy ( ) , strcat ( ) , sprintf ( ) , scanf ( ) , sscanf ( ) , fscanf ( ) , vfscanf ( ) , vsprintf , vscanf ( ) , vsscanf ( ) , streadd ( ) , strecpy () og strtrns ( ) .