Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Modulos de Seguridad en Servidores Web
1. FIST Conference Junio 2005 @
Módulos de seguridad
en servidores web
Rafael San Miguel Carrasco
Consultor de Seguridad
rafael.sanmiguel@dvc.es
2. FIST Conference Junio 2005 @
Contenido de la presentación
PSM vs NSM
Introducción
Evaluación funcional
Ejecución remota de comandos arbitrarios
Inyección de sentencias SQL
Cross-site scripting
Inclusión de ficheros PHP
Fuga de información confidencial
Manipulación de la cabecera Server
Conclusiones
Referencias
rafael.sanmiguel@dvc.es
3. FIST Conference Junio 2005 @
PSM vs NSM
El PSM (Modelo de Seguridad Positiva) se basa en identificar los patrones de
tráfico legítimo y permitir sólo aquellas peticiones consideradas como tal
El NSM (Modelo de Seguridad Negativa) se basa en identificar patrones de
ataque y permitir todo aquello que no sea considerado un ataque
El PSM se considera más efectivo:
Es la estrategia adoptada en firewalls de red
Protege de ataques conocidos y desconocidos
El NSM es más straight-forward, se basa en tecnología sencilla, y además es gratuito
rafael.sanmiguel@dvc.es
4. FIST Conference Junio 2005 @
Introducción
Fácil integración en la arquitectura modular de Apache
[httpd.conf] LoadModule ...
rafael.sanmiguel@dvc.es
5. FIST Conference Junio 2005 @
Introducción
Se basa en una operativa sencilla que implementa la estrategia MITM
rafael.sanmiguel@dvc.es
6. FIST Conference Junio 2005 @
Introducción
A nivel funcional es un appliance virtual capaz de interceptar
y bloquear peticiones HTTP
rafael.sanmiguel@dvc.es
7. FIST Conference Junio 2005 @
Introducción
Múltiples mecanismos de protección frente a intrusiones
rafael.sanmiguel@dvc.es
8. FIST Conference Junio 2005 @
Introducción
La configuración se define en un fichero de texto y se compone
de directivas globales y un conjunto de reglas
Múltiples condiciones
- Acceso al script a.cgi
- Con el parámetro p
- Con el contenido “|ls”
rafael.sanmiguel@dvc.es
9. FIST Conference Junio 2005 @
Ejecución remota de comandos arbitrarios
Ejemplo de explotación de una vulnerabilidad reciente en phpBB
exploit utilizado por el gusano Santy
rafael.sanmiguel@dvc.es
10. FIST Conference Junio 2005 @
Ejecución remota de comandos arbitrarios
ModSecurity bloquea la petición maliciosa y envía como respuesta
una página por defecto
rafael.sanmiguel@dvc.es
11. FIST Conference Junio 2005 @
Ejecución remota de comandos arbitrarios
Regla que detecta el acceso al script vulnerable y uno de los
caracteres incluidos en el parámetro utilizado por el exploit
La acción de respuesta es un redirect a la página que informa al
usuario de la condición de error detectada
rafael.sanmiguel@dvc.es
12. FIST Conference Junio 2005 @
Inyección de sentencias SQL
Fragmento de código vulnerable en Geeklog
La validación del cambio de
contraseña sólo depende
de que la sentencia SQL
retorne una fila
rafael.sanmiguel@dvc.es
13. FIST Conference Junio 2005 @
Inyección de sentencias SQL
El formulario de autenticación de la página principal nos permite
inyectar una cadena SQL al script vulnerable
Utilizaremos Paros para interceptar la petición y
hacer los cambios necesarios
rafael.sanmiguel@dvc.es
14. FIST Conference Junio 2005 @
Inyección de sentencias SQL
Rellenamos el formulario con cualquier combinación de login
y password e interceptamos la petición en Paros
rafael.sanmiguel@dvc.es
15. FIST Conference Junio 2005 @
Inyección de sentencias SQL
Ahora sustituimos el contenido de la petición por los valores que
nos permiten inyectar una cadena SQL arbitraria
mode=setnewpwd&passwd=xyz
&rid=3’+or+uid=‘1&
rafael.sanmiguel@dvc.es
16. FIST Conference Junio 2005 @
Inyección de sentencias SQL
El ataque tiene éxito: hemos conseguido que acepte las nuevas
credenciales sin conocer la password original
rafael.sanmiguel@dvc.es
17. FIST Conference Junio 2005 @
Inyección de sentencias SQL
La consulta que se ejecuta en el back-end es la siguiente:
rafael.sanmiguel@dvc.es
18. FIST Conference Junio 2005 @
Inyección de sentencias SQL
Podemos evitar esta vulnerabilidad incluyendo una regla en
el fichero de configuración de ModSecurity
Identificamos el script vulnerable y un patrón SQL en el
parámetro rid
rafael.sanmiguel@dvc.es
19. FIST Conference Junio 2005 @
Inyección de sentencias SQL
La acción de respuesta en este caso consiste en invitar al usuario
a que se registre en el website
Es una buena forma de evidenciar las medidas de seguridad sin
revelar detalles acerca de su funcionamiento
rafael.sanmiguel@dvc.es
20. FIST Conference Junio 2005 @
Cross-site scripting
Phorum es un message board con múltiples vulnerabilidades
de cross-site scripting en las versiones 3.0.x
rafael.sanmiguel@dvc.es
21. FIST Conference Junio 2005 @
Cross-site scripting
Ésta es una posible configuración que nos permite bloquear
cualquier ataque de cross-site scripting
Cuidado con los falsos positivos: muchas aplicaciones incluyen
código HTML en las peticiones de forma legítima
rafael.sanmiguel@dvc.es
22. FIST Conference Junio 2005 @
Cross-site scripting
La página de respuesta debe alertar al usuario del intento de
engaño: en este caso el atacante es la propia víctima
rafael.sanmiguel@dvc.es
23. FIST Conference Junio 2005 @
Inclusión de ficheros PHP
OsCommerce es vulnerable al clásico ataque de inclusión de
ficheros PHP
rafael.sanmiguel@dvc.es
24. FIST Conference Junio 2005 @
Inclusión de ficheros PHP
Es posible ejecutar comandos arbitrarios a través de la shell
alojada en el servidor web del atacante
rafael.sanmiguel@dvc.es
25. FIST Conference Junio 2005 @
Inclusión de ficheros PHP
La siguiente configuración detecta el acceso directo al script
vulnerable y bloquea la petición maliciosa
rafael.sanmiguel@dvc.es
26. FIST Conference Junio 2005 @
Inclusión de ficheros PHP
Cuando repetimos el ataque, se obtiene un mensaje en el que
se informe al atacante de las medidas de seguridad de la web
rafael.sanmiguel@dvc.es
27. FIST Conference Junio 2005 @
Inclusión de ficheros PHP
La facilidad de logging registra todas las peticiones maliciosas
para facilitar el análisis de intrusiones a posteriori
rafael.sanmiguel@dvc.es
28. FIST Conference Junio 2005 @
Fuga de información confidencial
Con la vulnerabilidad de OsCommerce es posible visualizar el
contenido de cualquier fichero del sistema
En este ejemplo vamos a acceder al fichero que almacena todas
las transacciones realizadas a través del website
rafael.sanmiguel@dvc.es
29. FIST Conference Junio 2005 @
Fuga de información confidencial
Sólo tenemos que usar la shell del ejemplo anterior, cambiando
el comando dir por more
rafael.sanmiguel@dvc.es
30. FIST Conference Junio 2005 @
Fuga de información confidencial
El resultado de repetir el ataque con el nuevo comando es el
contenido del fichero con tarjetas de crédito válidas
rafael.sanmiguel@dvc.es
31. FIST Conference Junio 2005 @
Fuga de información confidencial
Para evitar este tipo de intrusiones activamos el motor de filtrado
hacia fuera (FilterScanOutput) y especificamos el formato de los
datos que deben protegerse
rafael.sanmiguel@dvc.es
32. FIST Conference Junio 2005 @
Fuga de información confidencial
Cuando repetimos el ataque se obtiene el mensaje Forbidden
rafael.sanmiguel@dvc.es
33. FIST Conference Junio 2005 @
Manipulación de la cabecera Server
Podemos ocultar la firma de nuestro servidor web a través de la
directiva SecServerSignature
rafael.sanmiguel@dvc.es
34. FIST Conference Junio 2005 @
Manipulación de la cabecera Server
Cuando un atacante recupera la etiqueta Server, obtiene
información falsa acerca del servidor instalado
rafael.sanmiguel@dvc.es
35. FIST Conference Junio 2005 @
Conclusiones
ModSecurity es una herramienta potente que puede proteger Apache frente a
los ataques web más comunes
No tiene un impacto apreciable en el rendimiento
¡Es gratuito! (para uso personal)
Pero:
Requiere actualización manual de las firmas
Puede afectar a la disponibilidad del servicio (falsos positivos)
No puede gestionarse de manera centralizada
No es PSM
rafael.sanmiguel@dvc.es
36. FIST Conference Junio 2005 @
Referencias
Versión reducida
Red Seguridad Nº 16 Mayo 2005
Versión completa
http://www.rafaelsanmiguel.com/articulos/ModSecurity.pdf
Versión traducida
http://www.owasp.org/docroot/owasp/misc/ModSecurityforApache_OWASP.pdf
Página oficial de ModSecurity
http://www.modsecurity.org
rafael.sanmiguel@dvc.es
37. FIST Conference Junio 2005 @ Creative Commons
Attribution-NoDerivs 2.0
You are free:
•to copy, distribute, display, and perform this work
•to make commercial use of this work
Under the following conditions:
Attribution. You must give the original author
credit.
No Derivative Works. You may not alter, transform, or
build upon this work.
For any reuse or distribution, you must make clear to others the license terms
of this work.
Any of these conditions can be waived if you get permission from the author.
Your fair use and other rights are in no way affected by the above.
This work is licensed under the Creative Commons Attribution-NoDerivs
License. To view a copy of this license, visit
http://creativecommons.org/licenses/by-nd/2.0/ or send a letter to Creative
Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
rafael.sanmiguel@dvc.es