Programação  
 
Conhecimento computador >> Programação >> C /C + + programação >> 
Como parar C saturações de buffer
Buffer overflows causar um comportamento inesperado do programa , como resultado de forma inadequada a substituição de memória. Um buffer é um bloco contíguo de memória de um tamanho fixo usado para armazenar dados , como uma seqüência de caracteres . A linguagem de programação C permite-lhe gravar os dados para o buffer , mesmo se for muito large.In Além de fazer seu programa falhar , os atacantes podem usar buffer overflows para executar código malicioso em sistemas que executam o programa. Apesar de todas as tentativas de proteger contra explorações de estouro de buffer , ele ainda é um ataque comumente explorados vector.In C, estouros de buffer pode ser mitigado , seguindo as melhores práticas de codificação segura. Instruções
1

Evite o strcpy funções da biblioteca C, strcat , sprtinf , vsprintf , recebe e scanf . Estas funções não são seguros e não executar verificação de limites antes de escrever a entrada ou ler um buffer, resultando em um buffer overflow. Verificação de limites é um método de usar declarações condicionais - como se , em seguida - . Verificar se uma leitura ou gravação está dentro do limite ao tampão
2

invalidar código executado a partir da pilha . A pilha é onde a memória , como buffers são armazenados enquanto o aplicativo está em execução. O código malicioso é executado escrevendo -o em pilha , onde é então executada . Embora a implementação pode ser difícil, alguma versão do Linux e do GNU C Compiler ( GCC) estão disponíveis que podem impedir isso.
3

Use uma Compilar que irá verificar se há possíveis condições de estouro de buffer . Extensões e correções estão disponíveis para os compiladores de C , como C , que avisá-lo quando você usa a função inseguro e tentativa de executar a verificação de limites em seu código.
4

Use programas gratuitos, como Escudo Stack e Stack Guarda de detectar e proteger contra estouro de buffer . (Veja os Recursos.)

Anterior :

Próximo : No
  Os artigos relacionados
·Como liberar o buffer em C + + 
·A diferença entre Filestream & StreamReader 
·Como reverter elementos de um array em C 
·Convertendo Char Buffer para dobrar em C + + 
·Como ler uma linha de um arquivo aleatório em CSH 
·Como inverter um número na booleano 
·O que é um cabeçalho Ctype 
·Como importar códigos com SVN Xcode 3.2 
·Como criar um retrato em C + + 
·Como alocar memória na pilha usando C + + 
  Artigos em destaque
·Projetos ASP.NET e Codificação em C 
·Como fazer o download e loja de mídia com o iPhone SDK…
·Como converter BitArray para Byte 
·Como código da matriz subtração em C + + 
·Como fazer arranjos paralelos de dados em C + + 
·Par /Ímpar Função de Programação C 
·Como executar um cpp 
·Como fazer um fatorial em CPP 
·Como limpar um buffer de entrada em C + + 
·Fatos Sobre o CPP Compiler 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados