Previniendo Buffer Overflows

Algunas semanas atras hubo una discusion en slashdot con respecto a los Buffer Overflows (que si mal no recuerdo la discusion no tenia nada que ver con la noticia), y me dejo pensando.
Los buffer overflows se hacen escribiendo mas informacion de la esperada en un puntero en memoria, para que se genere una anomalia y uno pueda ejecutar el codigo de maquina que quiera. Esto solo se puede saber si se sabe la ubicacion exacta en memoria de este puntero.
Ahora, tomemos por ejemplo que se encuentre una vulnerabilidad en Apache que nos permite hacer un buffer overflow. Teoricamente, si nosotros bajamos los binarios de apache.org y lo instalamos, seriamos vulnerables a cualquier persona o gusano que lo explotara. Pero si lo hubiesemos compilado nosotros, con nuestros propios modulos, y quizas con alguna key unica basada en nuestro hardware, este buffer overflow no se podria explotar tan facilmente ya que no estaria en el lugar de la memoria esperado.
Por supuesto que aplicar esto a las instalaciones de escritorios es una locura, porque para instalar un sistema operativo estaria dias compilando, pero para los servidores que van a estar muy expuestos me parece valida la inversion de tiempo.
Claro que esto se aplica a todo lo que es open source, asi que vamos a seguir disfrutando de los buffer overflows semanales en windows/sql server/iis y todos esos engendros.

También te puede interesar:

Rapido, escribi algo antes que alguien comente.

Dejar una respuesta