Programação  
 
Conhecimento computador >> Programação >> Programação De Computador Idiomas >> 
Como encontrar buffer overflows
Procurando estouro de buffer é uma parte importante de garantir que o seu programa é seguro contra ataques e falhas acidentais. Um buffer overflow ocorre quando os dados são inseridos em uma string ou array sem limites de verificação , eo comprimento de entrada é maior do que o buffer está tentando copiar para . Encontrar pontos onde estouros de buffer pode ocorrer é feito olhando para as funções perigosas , como " fica ", analisando os verificação de limites em funções como " strncpy " e completamente testar seu programa com diferentes tipos de entrada. Instruções
1

Pesquisar o código do seu programa para as funções perigosas, como "pega ", " scanf ", " strcpy ", " strcat ", " sprintf " e " strlen ". Estas funções não têm quaisquer limites internos de verificação e só são apropriados quando 100 por cento dos usuários do programa são confiáveis ​​e crashes ocasionais podem ser tolerados. Fornecer verificação de limites a si mesmo , verificando que o comprimento de entrada não é maior do que o comprimento do buffer disponível.
2

Investigar todas as chamadas para funções como limites " strncpy ", " strncat " e " snprintf verificação " . Certifique-se de que a extremidade da matriz de entrada recebe um byte nulo . Incorrectos verificação de limites pode levar a falta bytes nulos ou um colocado após o final da matriz . Ao combinar cordas , certifique-se que o cheque limites usa o comprimento total seqüência de menos conteúdo pré- existente da corda, em vez de usar todo o comprimento da corda , como os limites verificar.
3

Teste seu programa introduzindo excepcionalmente grandes entradas e ver se ele trava , se corromper ou exibe atividade incomum . Anote o endereço de todos os acidentes para ver se ele corresponde com o local onde o programa processa os dados de entrada . Programas como áspera Ferramenta Auditoria de Segurança , também conhecido como " ratos", pode escanear o código e bandeiras locais que são possivelmente vulneráveis ​​a estouros de buffer.

Anterior :

Próximo : No
  Os artigos relacionados
·Como fazer um aplicativo usando ActionScript 
·As vantagens de codificação com SOA para clientes 
·Como ajustar RGB Programação Intensidade 
·Como localizar Tipos Enum 
·Como usar o CLR Profiler 
·Como saída Tamanhos Celulares 
·Qual é a descrição da verificação & Process Testin…
·. Como usar um arquivo personalizado CLA 
·Como remover caracteres especiais em ColdFusion 
·O que é um array de inteiros 
  Artigos em destaque
·Como ler a entrada de matriz 2D em MIPS 
·As desvantagens de ponteiros em C 
·Como fazer um aplicativo para iPhone Really Simple 
·Como faço para escrever um programa em linguagem C Pro…
·Como compilar C + + arquivos de cabeçalho 
·Como personalizar Gvim para Codificação HTML 
·Como inicializar variáveis ​​em C 
·Como travar um erro usando ObjectDataSource 
·Como compilar um kernel para um Android 
·A matriz ColdFusion não está limpando 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados