IDS sobre conexión HTTPS

1

Estoy diseñando un sistema de detección de intrusiones basado en anomalías en java. Básicamente consiste en un rastreador que identifica los campos del encabezado HTTP y luego los analiza de acuerdo con un archivo XML configurado previamente.

Mi pregunta es: ¿qué pasa si mi sistema utiliza HTTPS? ¿Cómo puedo leer los campos de encabezado HTTPS si todos están cifrados?

    
pregunta Marcos Valle 05.03.2015 - 15:08
fuente

3 respuestas

1

Editar: solo para evitar comentarios en el sentido de que no sabes nada sobre cómo funciona IPS, lo estipularé y, en cambio, dirigiré mi respuesta hacia el método general de inspección del tráfico HTTPS.

La respuesta corta es que no puedes.

La respuesta larga es que tendrías que realizar ataques MITM contra las conexiones. Esto se puede hacer en los casos en que solo tenga conexiones HTTPS autenticadas en el lado del servidor si puede obligar a todos sus clientes a confiar en un certificado que está bajo su control. A menudo se usa, pero en mi opinión es una mala práctica de seguridad, ya que, por lo general, cualquier certificado que utilice tendrá menos garantías de seguridad que las que generalmente utilizan los navegadores y los usuarios. Incluso si no es así, estás agregando un nuevo punto de ataque.

Si tiene que usar el ataque MITM, asegúrese de al menos verificar que los certificados que está obteniendo (de los servidores) son correctos, aplicables para los servidores de confianza y no en las CRL.

Otro subproducto de este enfoque es que probablemente esté enseñando a sus usuarios prácticas de seguridad cuestionables, ya que estarán dispuestos a confiar en certificados falsos para los servidores con los que se comunican. Luego, cuando van a un hotel y ven el mismo problema, pueden simplemente asumir que están haciendo lo mismo y divulgar felizmente todos los secretos de la compañía sobre conexiones inseguras.

    
respondido por el DRF 05.03.2015 - 15:18
fuente
1

Los IDS clásicos funcionan en la capa de red y, por lo tanto, no pueden manejar conexiones encriptadas como HTTPS que ocurren en la capa de aplicación o presentación (consulte modelo OSI ). Pero, como solo le interesa detectar ataques al verificar los campos del encabezado HTTP (es decir, los ataques en la capa de la aplicación), podría crear un proxy HTTP (transparente) en su lugar y luego realizar el análisis directamente en la capa de la aplicación sin preocuparse por la capa de red. En este nivel, también podría hacer la intercepción SSL y hay varios ejemplos de cómo se puede hacer esto (como mitmproxy ).

Por supuesto, de esta manera ya no hace un análisis pasivo de la red, sino que es una aplicación activa en la ruta de la red que reenvía los datos después de que los verificó. Por lo general, esto no se denomina IDS, sino una puerta de enlace de nivel de aplicación (ALG).

    
respondido por el Steffen Ullrich 05.03.2015 - 16:35
fuente
0

De acuerdo con NIST - Publicación especial 800-94 Guía para la detección de intrusiones y sistemas de prevención IDPS :

  

Los IDPS basados en red no pueden detectar ataques dentro de en   Tráfico de red encriptado, incluyendo virtual privado   conexiones de red (VPN), HTTP   sobre SSL (HTTPS) , y sesiones SSH. Como se menciono antes,   Algunos IDPS basados en red pueden hacer un análisis   de la configuración de las conexiones cifradas, que pueden   Identificar que el software cliente o servidor ha conocido.   Vulnerabilidades o está mal configurado. Para asegurar eso   Se realiza un análisis suficiente de las cargas útiles dentro de   tráfico de red cifrado, las organizaciones deben utilizar   IDPS que pueden analizar las cargas útiles antes de que se cifren o después de que se descifran. Ejemplos   incluyen la colocación de sensores IDPS basados en red para monitorear   tráfico no cifrado (por ejemplo, el tráfico que entró en un   organización a través de una puerta de enlace VPN y desde entonces se ha descifrado) y mediante el uso de software IDPS basado en host   para monitorear la actividad dentro del host de origen o destino.

Seguiré desarrollando mi IDS para escuchar solo el puerto 80. Mi IDS está basado en anomalías, ya que utiliza las redes bayesianas para reducir las tasas de falsos positivos. Como Snort está basado en firmas, no atendía mis objetivos.

Tal vez no me aclaré, pero la referencia principal es que mi trabajo se puede encontrar aquí .

    
respondido por el Marcos Valle 05.03.2015 - 16:10
fuente

Lea otras preguntas en las etiquetas