Forebyggelse buffer overflow er afgørende for at beskytte sikkerheden på din computer og tilsluttet server , og er et resultat af dårlig input validering. Du kan beskytte dit system fra buffer overflow angreb ved at følge nogle få enkle trin og træffe de nødvendige foranstaltninger . Identificering og deltager til problemer i dit system C programmering er det vigtigste fokus på at forebygge buffer overflow i fremtiden. Ved hjælp af en ikke- eksekverbar Stack
Denne metode til overløb forebyggelse omfatter en stak, der er konfigureret til ikke at holde nogen eksekverbar kode. Anskaf en kernal patch til Linux og Solaris -systemer til at konfigurere den ikke- eksekverbare stack. I Windows XP , kan du indstille data execution forebyggelse bander med operativsystemet (OS ) til også beskytte stakken mod buffer overflow . Den Palisade hjemmeside advarer dog, at heap -baserede overløb og statiske datasegment overløb ikke kan forhindres ved denne teknik.
Dynamic Runtime
Forebyg buffer overflow ved at implementere en dynamisk runtime forebyggelse proces på dit system. Buffer overflow forhold og risici opdages under forløbet af det egentlige program i denne metode , hvilket forhindrer et overløb angreb til at forekomme. Forskellige runtime processer omfatter " kanariefugl " --- som tilføjer linjen " kanariefuglen " til din programmets kodning --- og kopiering programmets returadresse . Sidstnævnte metode fungerer som en information backup som et middel til at regenerere program funktionalitet når en overflow angreb er blevet løst.
Sikker versioner af funktioner
Bufferoverløb kan også forhindres ved hjælp af en " sikker " eller mere stabile version af et program funktion . For eksempel strncpy og snprintf funktionerne er sikrere og mere stabil end den ældre strcpy og sprint sprog. Som du fortsætte med at oprette nye programmer i din program , sikre, at alternative , er sikrere kode funktioner bruges i hele .
Andre eksempler på ustabile funktioner
Undgå "usikre " eller ustabile funktionalitet tilsammen kan også forhindre buffer overflow . Når det er muligt , undgå at bruge følgende funktioner , når du skriver dit program : strcpy () , strcat () , sprintf () , scanf () , sscanf () , fscanf () , vfscanf () , vsprintf , vscanf () , vsscanf () , streadd () , strecpy () og strtrns ().