Tuesday, April 14, 2009

Seguridad por Oscuridad


Ayer mientras escribía el post sobre hardening de SSH, hable sobre dos puntos en los cuales aconsejaba utilizar técnicas de seguridad por oscuridad, mover el puerto default del servicio y no enviar respuesta ante los intentos fallidos de conexión.

En este post quiero aclarar que este tipo de protección solo es recomendable como una herramienta mas que tenemos que utilizar para protegernos, pero no debe ser la unica !!!

Renombrar cuentas de administrador, evitar los banners en los servicios o modificarlos, cambiar el puerto son medidas que mitigan los problemas que presentan las herramientas automatizadas en caso de un 0 Day.

De hecho vivimos bajo la protección de cierta forma de Seguridad por oscuridad, la semana pasada los laboratorios de McAfee encontraron dos vulnerabilidades 0 day en el kernel de Windows .

Otro ejemplo lo da la iniciativa Zero Day de TippingPoint , el cual paga por las vulnerabilidades encontradas, da aviso a los fabricantes y crea los filtros en sus soluciones IDS/IPS. ( No quiero pensar que puede ocurrir si realizan ingenieria inversa sobre sus equipos )

Actualmente hay 89 vulnerabilidades encontradas y que todavía no fueron publicadas las correcciones por el fabricante. Estas vulnerabilidades pertenecen a diferentes softwares, no necesariamente SO.

En el caso de Microsoft quienes usen sus productos tienen que prender una vela para que estas vulnerabilidades no se hagan publicas.

ZDI-CAN-463 Microsoft High 2009-03-19, 25 days ago
ZDI-CAN-444 Microsoft High 2009-03-13, 31 days ago
ZDI-CAN-432 Microsoft High 2009-03-13, 31 days ago
ZDI-CAN-437 Microsoft High 2009-02-24, 48 days ago
ZDI-CAN-429 Microsoft High 2009-01-26, 77 days ago
ZDI-CAN-428 Microsoft High 2009-01-26, 77 days ago
ZDI-CAN-425 Microsoft High 2009-01-26, 77 days ago
ZDI-CAN-415 Microsoft High 2009-01-15, 88 days ago
ZDI-CAN-365 Microsoft High 2008-07-08, 279 days ago
ZDI-CAN-357 Microsoft High 2008-06-25, 292 days ago
ZDI-CAN-355 Microsoft High 2008-06-25, 292 days ago
ZDI-CAN-337 Microsoft High 2008-05-19, 329 days ago
ZDI-CAN-320 Microsoft High 2008-04-16, 362 days ago
ZDI-CAN-314 Microsoft High 2008-04-07, 371 days ago
ZDI-CAN-299 Microsoft High 2008-04-07, 371 days ago
ZDI-CAN-273 Microsoft High 2007-12-11, 489 days ago
ZDI-CAN-186 Microsoft High 2007-03-29, 746 days ago
ZDI-CAN-175 Microsoft High 2007-03-19, 756 days ago


Estas que aparecen son solo las consideradas de Alto Impacto, posiblemente a mi entender los bugs que tienen mas de uno o dos años son problemas de software que estara por salir de soporte o en el peor de los casos problemas de diseño .


Existen tecnicas como port knocking (Krzywinski, M. 2003. Port Knocking: Network Authentication Across Closed Ports. SysAdmin Magazine 12: 12-17.) que nos habilitan los puertos de un sistema luego de una serie de pasos.

Estos pasos consisten en intentos de conexión a ciertos puertos, estos puertos actúan como clave de apertura. Una vez seguida la secuencia, un servicio que se encuentra a la escucha puede que abra el puerto del firewall o que levante el servicio, dependiendo del contexto.

Veamos lo en los siguientes pasos segun lo explica el sitio Portknocking :

Un cliente trata de conectarse a un port N, pero el mismo no esta abierto por default, intenta a otros puertos y todos se encuentran cerrados.

(1,2,3,4) El cliente se conecta a una serie de puertos mediante secuencia predefinida enviando una serie de SYN packets, dado que el firewall no abre el puerto destino todabia el cliente no consigue conectarse.


(A) En el server tenemos un servicio de port Knocking que intercepta los intentos de conexión e interpreta la secuencia de puertos que intento conectar el cliente, luego de esto genera las reglas dinámicamente en el firewall para permitir la conexión del cliente en el puerto N.
El cliente se conecta al servicio y se valida en forma normal.


Como vimos hay varios métodos de ocultar información de servicios, pero debemos ser cuidadosos y tener siempre presente que este método es solo una herramienta mas.

Cuando nos enfrentamos a una persona decidida a vulnerar nuestros sistemas, la seguridad por oscuridad ayuda poco.

No comments: