Parar de estouro de buffer ajuda a prevenir falhas do programa e hackers de lançar códigos maliciosos que podem comprometer um sistema de computador. Um buffer overflow é quando um programa estiver gravando dados em um buffer, geralmente uma string ou um array, e excede o comprimento do buffer, escrever código para a memória adjacente. Prevenção de estouro de buffer é conseguido através de bibliotecas de programação que suportam o buffer de proteção, ter proteção espaço executável e escolher linguagens de programação que têm verificação de limites. Instruções
1
Escolha uma linguagem de programação que foi construído com cheques para evitar que os dados da escrita fora dos limites de um buffer. Linguagens como C e C + + falta built-in de verificação de fronteira. O . NET Framework e Java ambientes limites da força de controlo. Linguagens interpretadas tem proteção contra estouros de buffer .
2
Select bibliotecas e funções que têm tampão gestão e verificação de limites. O C funções comumente usadas " strcpy ", " scanf " e " se " são especialmente vulneráveis a estouros de buffer. Alternativas mais seguras incluem o " strncpy " e as funções de " strncat " , que descartar os dados que excedem o comprimento especificado . Cuidados ainda devem ser tomadas para especificar o tamanho do buffer correto . Um exemplo de uma alternativa mais segura para a biblioteca C é a cadeia " A Biblioteca de Cordas Melhor. " Para download gratuito
3
Instale proteção espaço executável add-ons para ajudar a evitar estouros de buffer . Código tentar executar a partir da pilha ou heap causar uma exceção . Protecção espaço executável utiliza o "Não executar" (NX bit) para marcar as regiões da memória como não executáveis . Exemplos de pacotes executáveis proteção espaço para Unix incluem OpenWall , Exec Escudo e Pax . Extras para o Windows incluem StackDefender e BufferShield . Como o Windows XP Service Pack 2 , o Windows oferece Data Execution Prevention ( DEP) , fornecendo alguma proteção de buffer overflow .