Detección de intrusiones basada en web que integra la visibilidad en la aplicación web y la base de datos

1

Considere el problema de reforzar una aplicación web existente respaldada por bases de datos, para detectar ataques y detenerlos cuando sea posible.

Parece que un enfoque plausible podría ser construir un sistema de detección de intrusiones que tenga capacidad de observación en dos puntos: (a) a nivel del servidor web (por ejemplo, para observar la página que se está ejecutando, la URL de la solicitud, los parámetros de la solicitud, la cookie de sesión) y (b) en el nivel de la base de datos (por ejemplo, para observar la consulta SQL que se está ejecutando). Puedo imaginar muchas oportunidades para construir un detector de anomalías y un sistema de monitoreo que pueda detectar muchos ataques. Por ejemplo, si en el pasado las consultas SQL iniciadas desde la página foo.php han sido consultas SELECT, y ahora ve un comando UPDATE o DROP, eso puede ser sospechoso. Si veo una consulta que contiene un punto y coma o una subconsulta anidada, y nunca antes había visto eso en esa página, eso podría ser sospechoso. Y así. Este es el tipo de cosa que solo se puede implementar con visibilidad tanto en la solicitud web (por ejemplo, en el servidor web o en el nivel de front-end) y la base de datos.

¿Alguien ha visto este tipo de sistema antes? ¿Alguien lo ha construido, y si es así, qué tan bien funciona? ¿Hay un nombre estándar para este tipo de sistema? (Según tengo entendido, el firewall de una aplicación web normalmente tiene visibilidad solo en la aplicación web, pero no en la base de datos, por lo que es diferente). ¿Existen sistemas como este disponibles comercialmente o de código abierto?

    
pregunta D.W. 04.06.2014 - 00:39
fuente

2 respuestas

1

No quiero anunciar una solución comercial, pero hay un servidor de seguridad de base de datos que conozco que ofrece el tipo de protección de base de datos que solicitó, incluido el modo de aprendizaje, la lista blanca, etc.

  

¿Alguien lo ha construido, y si es así, qué tan bien funciona?

funciona tan bien como su implementación. Se necesita una buena implementación, ya que cada uno de estos productos necesita ser ajustado. Cuanto mejor definas los requisitos, más fácil será.

la generación automatizada de listas blancas para WAF y DB-Firewall podría incluirse en sus ciclos de implementación regulares, por ejemplo. generado en sistemas de prueba en modo de aprendizaje y actualizado / transferido en (a) sus sistemas en vivo durante las implementaciones.

mi punto de vista: WAF y la protección al estilo de WAF funcionan muy bien contra los ataques automáticos y el volcado, mientras que no contra aquellos tipos inteligentes que saben cómo ocultar sus ataques dentro de las solicitudes de pruebas regulares: case1 , case2

  

¿Hay un nombre estándar para este tipo de sistema?

defensa en profundidad :))))

  

¿Existen sistemas como este disponibles comercialmente o como código abierto?

no existe una solución todo en uno, y no tendría mucho sentido: le gustaría tener su WAF en la puerta de enlace de frontend y la protección de datos entre sus servidores de aplicaciones y bases de datos. Las solicitudes http son mucho más complejas que las consultas SQL, y el enfoque de filtro es bastante diferente. armado con lua puedes volar tu waf para un juguete realmente genial, esp. al generar protección basada en perfiles.

Por lo general, sugiero nginx + naxsi como un waf simple y basado en patrones, si es posible una lista blanca pura, y si necesita más, un LuaWAF personalizado. en el nivel de db voy verde: D

cuando necesite más protección y desee filtrar no solo el tráfico entrante, sino también el tráfico excesivo, sugeriría snort / suricata entre sus servidores frontend / aplicación; me gusta esta solución desde un performance-pov; Por ejemplo, mod_security, una solución que usamos antes, es PITA total tanto en rendimiento como en mantenimiento de reglas.

    
respondido por el that guy from over there 04.06.2014 - 13:56
fuente
1

Debería consultar proyecto Sensor de aplicaciones de OWASP ; Está haciendo exactamente el tipo de cosas de las que estás hablando. Es más una prueba de concepto / implementación de ejemplo, pero la idea funciona y tiene muchos méritos.

El proyecto se enfoca en definir puntos de detección y acciones potenciales; sienten que cada sitio debe configurar las reglas entre los dos. Todos tenemos esa sensación algunas veces y comenzamos a prestar más atención a las situaciones y creo que el proyecto hace algunas observaciones realmente buenas de que nuestra aplicación debería hacer algo similar, por lo que una posible acción es aumentar el nivel de registro.

Se disculpa por agregar una respuesta frente a un comentario; No tengo suficiente reputación como para comentar.

    
respondido por el W3t Tr3y 03.09.2014 - 03:30
fuente

Lea otras preguntas en las etiquetas