förebygga buffer overflow är avgörande för att skydda säkerheten för din dator och ansluten server och är resultatet av dålig kontroll av indata . Du kan skydda ditt system från attacker buffertspill genom att följa några enkla steg och vidta lämpliga åtgärder . Identifiera och åtgärda problem i ditt system C-programmering är huvudfokus att förhindra buffer overflow i framtiden . Använda en icke körbara Stack
Denna metod för overflow förebyggande innefattar en stapel som är konfigurerad att inte hålla någon exekverbar kod . Skaffa en kernal patch för Linux och Solaris -system för att konfigurera icke - körbara stack . I Windows XP , kan du ställa in uppgifter omkrets Execution Prevention med operativsystemet ( OS ) för att också skydda bunten mot buffer overflow . Palissaden hemsida varnar dock att heap - baserade bräddningar och statiska data overflows segment inte kan förhindras genom denna teknik . Addera Dynamic Runtime
Förhindra buffer overflow genom att genomföra en dynamisk runtime förebyggande process på ditt system . Buffertspillattacker förutsättningar och risker upptäcks under driften av själva programmet i denna metod , vilket förhindrar en overflow attack inträffa . Olika runtime processer omfattar " kanariefågel " --- som lägger raden " kanariefågel " till din programmets kodning --- och kopiering programmets returadress . Den senare metoden fungerar som en informations- backup som ett sätt att regenerera program funktionalitet när ett spill attack har lösts .
Safe Versioner av funktioner
bräddningar
Buffer kan också förhindras genom att använda en " säkrare " eller mer stabil version av ett program fungerar . Till exempel , de funktioner strncpy och snprintf är säkrare och mer stabil än den äldre strcpy och sprint språk. När du fortsätter att skapa nya applikationer i ditt program , se till att alternativet är säkrare kodfunktioner används genomgående .
Andra exempel på Instabila funktioner
Undvika " osäkra " eller instabil funktionalitet helt kan också förhindra buffer overflow . När det är möjligt , undvika att använda följande funktioner när du skriver ditt program : strcpy ( ) , strcat ( ) , sprintf ( ) , scanf ( ) , sscanf ( ) , fscanf ( ) , vfscanf ( ) , vsprintf , vscanf ( ) , vsscanf ( ) , streadd ( ) , strecpy ( ) och strtrns ( ) .