? Buffers são usados para armazenar uma quantidade de dados temporariamente , geralmente para garantir que uma fonte interrompido ou lento não interromper ou retardar o resto do sistema . No entanto, há sérias implicações de segurança que acompanham buffers.
Buffers armazenar dados
saturação de buffer
Um estouro de buffer ( buffer overflow ou ) ocorre quando um programa tenta gravar mais informações em um buffer do que o buffer está preparado para lidar com . Em algumas línguas , particularmente aqueles derivados de C, ao invés de jogar um erro neste caso, o computador grava o valor total dos dados . Isso faz com que ele para substituir outros locais próximos na memória
Prevenção: . Recursos do sistema operacional
A maioria dos sistemas operacionais modernos incluem recursos para tentar evitar estouros de buffer perigosas .
Prevenção: uso seguro bibliotecas C
Se estiver usando uma linguagem baseada em C, usar peças de segurança das bibliotecas C + + padrão sempre que possível. Ao mesmo tempo , evitar o uso de funções dentro da biblioteca que são conhecidos por serem suscetíveis a saturações de buffer
Prevenção: . Sanity Verificando
Em todas as línguas , é importante para verificação de sanidade dados de entrada para garantir que ele está dentro das expectativas do que deveria ser para evitar estouros de buffer e outros erros.
Aviso
uma regra importante é que uma aplicação nunca deve confiar em quaisquer dados de entrada de fora de si mesmo .