Buffer Overflow significa estouro de buffer isto ocorre quando a memória secundária (Buffer) recebe mais dados do que pode suportar, também se devendo a Buffers que não conseguem processar os dados enviados corretamente ou na velocidade desejada.
Para exemplificar imagine um programa que aloca 20 caracteres para uma váriavel, se você inserir 21 caracteres essa váriavel transbordaria. Veja o exemplo criado pelo Rodrigo Souza Delphino do sitio Anti-Hacker:
/* Programa vulnerável ao buffer overflow
por Rodrigo Souza Delphino
*/
#include “stdafx.h”
void main()
{
char nome[20];
printf(“Digite seu nome: “);
gets(nome);printf(“seja bem vindo “);
printf(nome);
}
Geralmente este tipo de vulnerabilidade causa travamento no sistema ou permite que o atacante execute comandos arbitrários com permissão de root.
Para previnir-se desse tipo de ataque mantenha seu sistema atualizado pois a correção é de pura responsabilidade do desenvolvedor do sistema. Para manter-se atualizado sobre atualizações do Ubuntu Linux acesse a seção ALERTAS na wiki page do Time de Segurança.
Há algum tempo atrás eu postei algumas video aulas sobre segurança e um dos temas é o Buffer Overflow.
A video aula a seguir foi criada pelo Andre Amorim e explica na prática esse assunto. Infelizmente a aula foi implementada no Windows mas dar para fazer estas práticas no Linux, para exercitar acesse este sitio que possui softwares antigos cheio de vulnerabilidades.
Aula 1 – AQUI!!
Aula 2 – AQUI!!!
Alexandro, estou aguardando a publicacao da ultima parte da video aula. Alguma previsao de ser publicada pelo Andre Amorim? Agradeco a atencao e aguardo retorno.
[…] uma falha grave nas versões 3.0.28a e 3.0.29, a vulnerabilidade pode ser explorada causado um buffer overflow nos pacotes SMB recebidos pela máquina […]