miércoles, febrero 24, 2016

Firewall de apicación para evitar técnicas “SQL injection”.

Además de auditar el código de las aplicaciones Web y realizar test de penetración, también se debería implementar un firewall de aplicación para evitar ataques con técnicas de SQL injection. En este post tratare de dos Firewalls de aplicación muy recomendables: SQLassie y GreenSQL. 


GreenSQL.

Un cortafuegos diseñado para bases de datos MySQL. Su funcionamiento se basa en un proxy que evalúa los comandos SQL antes de enviarlos a la base de datos, utilizando una matriz que acumula ordenes y bloquea comandos administrativos como: DROP, CREATE … y así evitar un ataque de “SQL injection” a una base de datos MySQL.
El cortafuego GreenSQL se puede utilizar de las siguientes formas:


  • Modo simulación, se comporta como un sistema de detección de intrusos.
  • Modo IPS, se comporta como un sistema de prevención de intrusos, bloqueando los comandos peligrosos.
  • Modo de aprendizaje, utiliza un periodo de prueba para aprender los comandos que se suelen utilizar y los añade en una lista. Para después bloquear el resto de comandos que no están en la lista de aprendizaje.
  • Modo cortafuegos, bloquea los comandos desconocidos.

Este disponible bajo licencia GPL para las siguientes distribuciones: CentOS, openSUSE, Fedora, Ubuntu y Debian.

Más información y descarga de GreenSQL:
https://sourceforge.net/projects/greensql/
 
SQLassie.

Un firewall de aplicación, basado en un proxy entre servidor de base de datos y la aplicación web, analizando sentencias SQL en tiempo real, a medida que se envían desde la aplicación al servidor de base de datos. SQLassie analiza las consultas y busca acciones sospechosas, que son indicativos de los ataques de SQL injection. Estas acciones son luego analizados mediante filtrado bayesiano, para determinar la probabilidad de que una consulta contenga un ataque.

SQLassie determina que una consulta es un ataque, bloquea la ejecución de la consulta y responde a la solicitud con un mensaje apropiado. Por ejemplo, si un atacante está intentando acceder a las credenciales de usuario, SQLassie respondería con un conjunto vacío, y la aplicación se limitaría a pensar que la consulta no produjo resultados. Tanto la aplicación como el atacante no se darán cuenta del bloqueo de la sentencia por parte de SQLassie.
Según sus desarrolladores SQLassie está fuertemente inspirado por GreenSQL. GreenSQL es una excelente idea teórica, pero en algunos casos la tasa de falsos positivos es alta. Por ejemplo, cada consulta que se genera por MediaWiki, incluye un comentario incorporado que explica su intención. GreenSQL bloquea todas las consultas con los comentarios, esto hace MediaWiki inutilizable con GreenSQL.

SQLassie actualmente sólo es compatible con MySQL. La instalación es fácil, sólo se debe configurar SSQLassie para conectarse al servidor de base de datos, iniciar SQLassie, y luego configurar las aplicaciones Web para conectarse a SQLassie, en lugar de directamente al servidor de base de datos.

Más información y descarga de SQLassie:
http://www.sqlassie.org/


Herramientas para técnicas automatizadas de “SQL injection”:
http://www.gurudelainformatica.es/2016/02/herramientas-para-tecnicas.html

Publicar un comentario en la entrada