Supongamos que la red IPS / IDS puede detectar una vulnerabilidad, sin embargo, el propio servidor de aplicaciones todavía es vulnerable a esa vulnerabilidad.
Si modifico el código de explotación, ¿hay IPS / IDS que todavía detectarán este ataque?
Supongamos que la red IPS / IDS puede detectar una vulnerabilidad, sin embargo, el propio servidor de aplicaciones todavía es vulnerable a esa vulnerabilidad.
Si modifico el código de explotación, ¿hay IPS / IDS que todavía detectarán este ataque?
Depende. Un IDS puede detectar la vulnerabilidad, o no, dependiendo de si tiene la capacidad de detectar la explotación de la vulnerabilidad en sí, independientemente de la carga útil del exploit.
En general, los sistemas IDS pueden intentar detectar ataques ya sea tratando de reconocer la carga útil de un ataque ("código de explotación"), o tratando de reconocer la explotación de la vulnerabilidad (el propio vector). Si modifica la carga útil, entonces puede evitar la detección por el estilo de firma anterior, pero no el último.
Nos pidió que asumiéramos el trabajo de IDS detectando solo el primero, pero esta no es una representación precisa de cómo funcionan realmente los IDS en la vida real. En otras palabras, usted solicitó hacer una suposición que no es realmente precisa.
Es posible que desee leer sobre ataques de evasión IDS . Ver, por ejemplo, los trabajos de investigación clásicos:
Inserción, evasión y denegación de servicio: Eluyendo la detección de intrusos en la red , Ptacek y Newsham, 1998.
Bro: un sistema para detectar intrusos de red en tiempo real , Paxson . Redes de computadoras 31 (23-24). Publicado originalmente en Usenix Security 1998. Consulte especialmente la Sección 5.3.
Detección de intrusión en la red: evasión, normalización del tráfico y finalización de End Protocol Semantics , Handley, Kreibich y Paxson. Usenix Security 2001.
Finalmente, en general, recuerde que ninguna IDS garantiza que se detecten todos los ataques. Detectan algunos ataques, pero no todos. Están lejos de ser una defensa perfecta. Como siempre, si tiene la opción de corregir la vulnerabilidad en sí misma, es una defensa más confiable que confiar en un IDS para detectar la explotación de la vulnerabilidad.
Todos estos comentarios se aplican también a los sistemas IPS (gracias a @Everett por señalarlo).
Es posible que desee considerar un IPS basado en host como OSSec. Funciona para Linux, BSD, OS X y Windows. Está diseñado para analizar lo que se está haciendo en un sistema específico (en el que está instalado OSSec). Aún no obtiene una garantía, pero es un paso adelante de una IDS.
IDS busca patrones en el tráfico y se basa en firmas. Si el exploit no contiene la carga útil o no utiliza el patrón de tráfico que el IDS está buscando, entonces el exploit pasará.
Puede ver, entonces, que es posible que no sea necesario que haya un software para cambiar un exploit para pasar un IDS. A veces, simplemente codificar el exploit para excluir ciertos caracteres puede funcionar. O bien, cifre el tráfico para que el IDS no pueda analizar el código.
Para el mejor de los casos, use el IDS en su entorno de prueba, cargue las firmas y luego dispare su exploit. Vea qué reglas se aplican y cómo se escriben esas reglas. De esa manera, puede ver lo que debe cambiar en su código de explotación.
Depende de qué tipo de vulnerabilidad y de qué tipo de vulnerabilidad está trabajando. Está cambiando el código de explotación, lo que significa que en realidad debería resultar un cambio en la secuencia de bits en la carga útil del paquete o en el flujo de datos de la aplicación usando el protocolo dado . Porque eso es lo que buscará el IPS. Hay vulnerabilidades que solo pueden funcionar con un código de vulnerabilidad, algunas pueden tener una variación.