Prevenire buffer overflow è fondamentale per proteggere la sicurezza dei computer e server collegato e sono il risultato di una scarsa convalida dell'input . È possibile proteggere il sistema da attacchi di buffer overflow seguendo pochi semplici passi e prendere i provvedimenti del caso . Identificare e frequentare per questioni di programmazione del sistema C è l'obiettivo principale per la prevenzione di buffer overflow nel futuro . Utilizzando un stack non eseguibile
Questo metodo di prevenzione di overflow include uno stack che è configurato per non contenere qualsiasi codice eseguibile . Ottenere una patch kernal per sistemi Linux e Solaris per configurare lo stack non eseguibile . In Windows XP , è possibile impostare l'esecuzione perimetri di prevenzione di dati con il sistema operativo ( OS ) per proteggere anche la pila contro il buffer overflow . Il sito Palisade avverte , tuttavia , che trabocca heap- based e statici overflow segmento di dati non può essere impedito da questa tecnica .
Dinamico runtime
Prevenire buffer overflow mediante l'attuazione di un dinamico processo di prevenzione di esecuzione sul vostro sistema . Condizioni di buffer overflow e rischi vengono rilevati durante il funzionamento del programma vero e proprio in questo metodo , evitando così un attacco di troppo pieno a verificarsi. Processi di runtime diversi comprendono " canarino " --- che aggiunge la linea " canarino " per la codifica del programma --- e copiando l'indirizzo di ritorno del programma. Quest'ultimo metodo serve come backup di informazioni come un mezzo per rigenerare la funzionalità del programma una volta un attacco di overflow è stato risolto.