Transbordamento de dados
De Wikipedia, a enciclopédia encyclopedia
Em segurança computacional e programação, um transbordamento de dados ou estouro de buffer (do inglês buffer overflow ou buffer overrun) é uma anomalia onde um programa, ao escrever dados em um buffer, ultrapassa os limites do buffer e sobrescreve a memória adjacente. Esse é um caso especial de violação de segurança de memória.
Este artigo não cita fontes confiáveis. (Abril de 2012) |
Estouros de buffer podem ser disparados por entradas que são projetadas para executar código, ou alterar o modo como o programa funciona. Isso pode resultar em comportamento errado do programa, incluindo erros de acesso à memória, resultados incorretos, parada total do sistema, ou uma brecha num sistema de segurança. Portanto, eles são a base de muitas vulnerabilidade de software e pode ser explorados maliciosamente.
Linguagens de programação comumente associadas com transbordamentos de dados incluem C e C++, as quais não proveem proteção contra acesso ou sobrescrita de dados em qualquer parte da memória e não verificam automaticamente se dados escritos em um array (cadeia de elementos – o tipo de buffer dessas linguagens) estão nos limites do array. Verificação de limites pode prevenir transbordamentos de dados.