Um buffer é a memória alocada por um programa como o armazenamento temporário para lidar com um excedente de dados; ? Buffers vêm em vários tamanhos são capazes de armazenar definir quantidades de dados. Um ataque de buffer overflow ocorre quando um programa deliberadamente tenta ocupar mais espaço de armazenamento do que o buffer consegue lidar , fazendo com que todos os dados extras para " estouro ". Isso pode causar corrupção de dados , que por sua vez permite a um atacante roubar o controle do programa. Buffer overflow pode ocorrer como resultado de um erro de programação , mas os ataques de estouro de buffer estão sendo cada vez mais utilizada como uma forma de minar a segurança do sistema e integridade de dados ataque. Efeitos do Buffer Overflow
Quando o buffer é preenchido com dados por um programa, o excesso de dados tende a transbordar. Estes dados extras não pode, obviamente, simplesmente desaparecer , mas geralmente proceder para preencher buffers vizinhos , o que pode fazer com que os dados desses buffers para ser corrompido
Efeitos de um ataque de estouro de buffer
< . br>
Quando um ataque de estouro de buffer ocorre , não só pode dados em buffers adjacentes ser corrompido, mas a informação que controla o caminho de execução do programa operacional podem ser substituídos. Isso permite que um invasor obter controle do programa, capacitando-o a executar seu próprio código , em vez de código originalmente ditada pelo programa.
Sistemas mais suscetíveis
As aplicações que são codificadas em /idioma + C + C , que dá primazia ao comprimento do código de programação e eficiência ao invés de segurança, são particularmente vulneráveis a ataques de buffer overflow . Enquanto C + + é uma ferramenta de codificação flexível e poderosa , sua suscetibilidade a ataques significa que programadores iniciantes que não podem ter uma compreensão completa da língua devem ter cuidado em situações com dados sensíveis.
Prevenir ataques de buffer overflow
a maneira mais infalível de prevenir um ataque de estouro de buffer é usar codificação segura. Há uma série de soluções de software livre e comerciais que são voltadas para a prevenção desses ataques, tal software comumente utiliza duas abordagens diferentes: defesas baseadas em biblioteca que empregam reimplemented funções inseguras para assegurar que estas funções não podem exceder o tamanho do buffer , e baseado em biblioteca defesas que são projetados para detectar qualquer tentativa de executar código estrangeiro no buffer .