Banner Superior

InfoSecurity News Recomiendanos
Inicio Puntos de Vista Entrevista Hacking bajo la lupa Noticias e-fraude Las Leyes Palabras de CISO Hot vulnerabilities Foro
Portal InfoSecurity Online Recomiendanos Registrarse Staff Contactos
Estadisticas
lo sabias?
Carta de Lectores
Tips para un CISO
Capacitación
Toolbox
Agenda InfoSec
Productos
Bolsa de Trabajo
Links de Interes
Libro de Pases
Números Anteriores
HACKING BAJO LA LUPA
TIEMPO LÍMITE
(Exploit Code-Workaround-Remediation)
Por Ezequiel Sallis - ISEC.

Problemática Actual

El código Exploit, independientemente del lenguaje en el que esté desarrollado (C, C++, Python, Perl), tiene como objetivo aprovecharse de una vulnerabilidad puntual y permitir a un atacante acciones, que van desde causar una denegación de servicio hasta ejecutar código arbitrario en el sistema.

Actualmente, el tiempo que media entre el reporte de una vulnerabilidad, con su consecuente publicación del parche, y la generación y publicación de código Exploit se está reduciendo considerablemente. Por el contrario, la probabilidad de que un atacante explote una vulnerabilidad aún no parcheada, va en considerable aumento.

Asimismo, muchas vulnerabilidades pueden atenuarse con sencillez (workaround) mientras el parche es evaluado en un ambiente de prueba. Sin embargo, en casos más extremos, la posibilidad de mitigar el riesgo desciende por diferentes razones, a saber: la carencia de recursos técnicos y la deficiencia de skills de los Recursos Humanos que administran la tecnología, que dejan como única solución “Aplicable” el parche, que debe ser previamente testeado y no siempre soluciona el problema. Por su parte, el código Exploit es público y cualquiera que posea las habilidades necesarias puede utilizarlo.

Con frecuencia el parche no es aplicado (o es demorado en su aplicación) a causa de una falsa creencia de los administradores de seguridad, que suelen pensar que como no existe Exploit para dicha vulnerabilidad, nadie podrá aprovecharse, cuando en realidad el código puede existir de manera no explícita y ser explotado con éxito.

Caso Práctico

Ahora pasemos a un ejemplo concreto: Microsoft publicó dos parches que solucionaban las siguientes vulnerabilidades. Por otro lado, el mismo día y con muy pocas horas de diferencia, se conocían los códigos para aprovecharse de ellas.

LSASS Vulnerability CAN-2003-0533
PCT Vulnerability CAN-2003-0719


Dichas vulnerabilidades, si bien afectan a la misma plataforma, son harto diferentes en su tratamiento. Continuando con lo que se mencionó antes, ambas pueden paliarse con la aplicación del parche, pero sólo una puede mitigarse fácilmente hasta que éste sea testado y aplicado.

LSASS Vulnerability CAN-2003-0533 se genera debido a un Stack Overflow en LSASRV.dll, del Local Security Authority Subsystem Service (LSASS). Un atacante, con acceso al puerto TCP 139 del sistema afectado, puede sin complicaciones tomar control del equipo a través de una shell, situación fácilmente mitigable si se siguen las recomendaciones a la hora de configurar las reglas de filtrado de un firewall, lo que da tiempo para testear el parche en un ambiente de prueba y reduce la probabilidad de ocurrencia de un ataque.

Resultaría evidente tener el puerto TCP 139 filtrado por un firewall, pero los hechos posteriores demostraron lo contrario. En este sentido, si una vulnerabilidad es muy masiva (la cantidad de sistemas afectados es elevada) el Exploit que ataca a un sistema, se convierte en un Worm que embiste indiscriminadamente miles de sistemas, y auto replica mediante su rutina de ataque. Aquí podemos mencionar el caso del Slammer que dejó sin servicio a los cajeros automáticos del Banco Nacional de los Estados Unidos de América.

PCT Vulnerability CAN-2003-0719 se produce a través de un Buffer Overrun en el Protocolo PCT (Private Communications Transport) y es parte de las librerías SSL de Microsoft. Dicha vulnerabilidad afecta a los sistemas que tienen SSL habilitado sin el correspondiente parche de seguridad, o sea, a los servidores que estén prestando servicios de HTTPS a través de puerto TCP 443.

Si lo comparamos con el apartado anterior, las posibilidades de mitigación están realmente limitadas, ya que no se puede filtrar el puerto mediante el cual se está ofreciendo servicios. Tampoco se puede aplicar el parche rápidamente, sin antes haberlo controlado en un ambiente de pruebas, y haber verificado que no existe ninguna anomalía en el funcionamiento del sistema.

Hay diferentes tipos de Workaround alternativos, que podrían darle solución al problema puntual planteado en el ejemplo, a saber:

  • Wrapper: redirección de puertos vía SSL de 443 al puerto 80.
  • Agregar una regla de detección del ataque al IPS (Patrón de Trafico).
  • Incrementar la sensibilidad de los dispositivos de monitoreo.

También existen distintas metodologías de remediación, como la de Remediation by Simulation Attack, que aplica soluciones a vulnerabilidades, planteando y simulando escenarios de ataques y sus posibles soluciones. Para la elección de la estrategia se tienen en cuenta factores tales como la efectividad, la relación costo-beneficio de la implementación, y el costo administrativo y de recursos, entre otros.


Ezequiel Sallis CISSP/CCNA/NSP
Senior Security Consultant
I-SEC Information Security Inc.
ezequiel.sallis@i-sec.org


Recomienda esta Nota a un Amigo:
Tu Nombre y Apellido:
Tu Email:
Email de tu amigo:
Nombre de tu amigo:
Apellido de tu amigo:

 

 

 

 

 

 

 

 

Banner Partners
Banner ASIar
Banner I-SEC Consulting
Banner HP
Banner Symantec
Banner Empresas
Banner Sun ComWare
Banner I-SEC
Banner Openware
Banner ComPlus
Banner Next VISION
Banner Hynet
Banner GMS
Banner TrendCorp
Banner 3Com

Copyright © 2006 I-Sec. Todos los derechos reservados Política de protección de Datos Personales Powered by