Академический Документы
Профессиональный Документы
Культура Документы
2 TEMA
Esquema
TEMA 2 – Esquema
Seguridad de las aplicaciones online
POLÍTICA de SEGURIDAD:
Principios de seguridad
Estándares de seguridad
2
Análisis y test de seguridad Seguridad online:
Vulnerabilidades en
de las aplicaciones web: Protección
aplicaciones web
Análisis estático Monitorización
Amenazas y
Análisis dinámico Auditoría
ataques
Análisis híbrido Backups
Ideas clave
Para el estudio del apartado 2.2. «Política de seguridad, principios de seguridad» debes
leer las páginas 144-164 del libro Seguridad en las comunicaciones y la información, de
Gabriel Díaz Orueta.
Para los apartados 2.3., 2.5. y 2.7. se ha de seguir el documento elaborado por el profesor
para este tema 2: «Seguridad de las aplicaciones online»
Para el estudio del punto 2.4, leer el apartado 2.5 de la guía: The WASC Threat
Classification v2.0. Recuperado el 24 de abril de 2013 de:
http://projects.webappsec.org/w/page/13246978/Threat%20Classification
Para los apartados 2.7.se ha de seguir el documento elaborado por el profesor para este
tema 2: «Seguridad de las aplicaciones online» y además:
OWASP Development Guide 2.0.1, licencia libre, páginas 171 a 184. Recuperado el 24 de
abril de 2013 de:
https://www.owasp.org/images/b/b2/OWASP_Development_Guide_2.0.1_Spanish.pdf
En este tema se abordan las actividades a realizar para obtener una seguridad lo más
óptima posible de una aplicación desplegada en online. Las aplicaciones web
desplegadas en las intranets de las organizaciones y en Internet suponen un amplio
porcentaje del total de las aplicaciones. Debido a este hecho, este tema se centra en las
medidas a adoptar para proteger estas aplicaciones ya que los problemas de seguridad
de las aplicaciones no-web son un subconjunto de los problemas de las aplicaciones
web.
El tercer tipo de aplicaciones, en auge, son las aplicaciones móviles donde el cliente es
un Smartphone, teléfono móvil, tableta, portátil, etc. Los ataques a dispositivos móviles
están creciendo en la medida que aumenta el uso de las aplicaciones móviles (m-
commerce) para banking, compras, etc. que se pueden utilizar desde ellos. La
arquitectura de estas aplicaciones móviles es similar a la de las aplicaciones web. La
Principios de seguridad:
Principio de simplicidad.
Este apartado explica los tipos de normativas necesarias en una política de seguridad
y también las fases y actividades a llevar a cabo dentro del proceso de seguridad de
acuerdo con los principios de seguridad que deben regir toda política de seguridad.
Además explica cómo es la puesta en marcha del proceso de seguridad que se puede
escenificar como una rueda con las siguientes fases y actividades:
Implementación:
medidas básicas,
cortafuegos, redes
privadas virtuales, etc.
Política de
seguridad
Análisis de Monitorización:
vulnerabilidades: auditorías, sistemas
analizadores y de detección de
pruebas intrusiones
Entre los estándares más conocidos que se dedican a la mejora de la seguridad de las
aplicaciones se pueden citar los siguientes:
OWASP
SANS
WASC
MITRE CWE
NIST
Attacks Weaknesses
Abuse of Functionality Application Misconfiguration
Server Misconfiguration
Tabla 1 .The WASC Threat Classification v2.0. Vulnerabilidades más importantes
con cualquier método, se tiene que cubrir toda la superficie de ataque de la misma
cubriendo todas la partes y capas de la aplicación.
Lo ideal sería disponer de una herramienta híbrida de los tipos SAST, DASD y
RAST que permite correlación de resultados y por tanto una mejor unificación de los
mismos y de depuración de resultados. Para cubrir toda la superficie de ataque de una
aplicación en un análisis lo más deseable es utilizar varios tipos de herramientas e
incluso varias del mismo tipo para obtener mejores resultados de conjunto. Las
herramientas SAST, por ejemplo, según el fabricante utilizan distintos métodos y
algoritmos de búsqueda de vulnerabilidades por lo que analizando el mismo código los
resultados pueden diferir bastante. Por todo esto es necesario combinarlas en un ciclo
de vida de desarrollo seguro SSDLC como el de la figura 2.
Figura 2. SSDLC
En este apartado se aborda el diseño del control de acceso en aplicaciones web, que
tiene 3 fases:
Como se comentó al comienzo del tema, la seguridad online de las aplicaciones tiene
como punto de partida la política de seguridad de la organización, que además de
contemplar los procesos de desarrollo de sistemas y aplicaciones estableciendo
un SSDLC, ciclo de vida de desarrollo de software seguro, debe establecer adecuados
controles de protección, de auditoría y monitorización y de los mecanismos y medios de
respuesta ante los incidentes detectados que hagan volver a los entornos a la
normalidad.
En cada fase del SSDLC, se tiene que abordar el diseño de la seguridad inherente a
la propia aplicación (la seguridad de la plataforma, sistemas operativos, seguridad
perimetral se contempla en otras asignaturas).
Los aspectos a abordar para que la seguridad de la aplicación sea lo más óptima posible
pasan por un diseño e implementación seguros de:
Seguridad física, del personal e instalaciones.
Autenticación, autorización y gestión del estado de sesión.
Validación de entradas y salidas de la aplicación.
Configuración segura: Cliente, Servidor y Conexiones entre capas.
Mecanismos de protección externos. Firewalls de aplicaciones web.
SERVIDOR SERVIDOR
APLICACIONES BASE DE
DATOS
NAVEGADOR
APLICACION
Las operaciones de seguridad que hay que llevar a cabo la aplicación desplegada
incluyen:
Auditoría y monitorización.
Gestión de incidentes, backups y recuperación, centro de respaldo.
Formación continua.
Por último, no hay que olvidar que una adecuada formación y concienciación
continua en todo lo que se refiere a aspectos de seguridad es imprescindible
fomentando en la empresa una cultura por la «seguridad» acorde con los tiempos que
corren, donde cada vez parece que surgen más y nuevas amenazas que requieren estar
prevenidos y preparados para hacerles frente en la mejor medida posible.
Todas estas negligencias que pueden suponer fugas en la seguridad y son la causa
finalmente en grandes pérdidas económicas y de competitividad para la organización.
La formación y concienciación en seguridad es fundamental en todos los
estamentos de la organización. Normalmente, cualquier medida que implique
concienciar al personal o implantar cualquier medida o procedimiento de seguridad en
cualquier parte de un área o departamento causa fastidio o rechazo por parte del
personal que ha de observarlas. La mejor forma de tener éxito en este campo es
intentar conseguir que cada individuo entienda y comprenda la importancia de la
medida, que tiene que ver finalmente con alcanzar los objetivos de la organización y
que el fallo o descuido personal tiene incidencia en lo colectivo.
Material complementario
Lecciones magistrales
No dejes de leer…
Scambray, J., Liu, V., and Sima, C. (2011). Hacking exposed web applications (3ªEd.)
McGraw Hill
Accede a los documentos desde el aula virtual o a través de las siguientes direcciones
web:
SAST vs DASD
No dejes de ver…
A fondo
El consorcio abierto WASC pone a nuestra disposición su proyecto sobre los criterios
para evaluación de herramientas DAST y SAST para análisis de la seguridad DAST y
SAST de las aplicaciones web.
Accede a los documentos desde el aula virtual o a través de las siguientes direcciones web:
El consorcio abierto WASC pone a nuestra disposición su proyecto sobre los criterios
para evaluación de CORTAFUEGOS que se pueden utilizar en la protección online de
las aplicaciones web mediante la creación de reglas de protección que actúan sobre los
puertos más utilizados por estas aplicaciones.
Webgrafía
WASC
Página web del Web Application Security Consortium, una Organización sin ánimo de
lucro, formada por un grupo internacional de expertos, profesionales de la industria y
representantes de organizaciones que producen software libre y ampliamente
acordados estándares de seguridad de mejores prácticas para la World Wide Web.
http://www.webappsec.org/
NIST
Sitio web del National Institute of Standars and Technology: information Technology
Laboratory. Reúne amplio conocimiento, guías, recursos y proyectos sobre la
implementación de la seguridad del software de aplicaciones, sistemas operativos,
bases de datos y redes de comunicaciones entre otros.
http://csrc.nist.gov/
Bibliografía
Bibliografía básica
OWASP. (2005). Una Guía para Construir Aplicaciones y Servicios Web Seguros. (pp.
146 a 154 y 171 a 184). Recuperado el 25 de abril de 2013 de:
https://www.owasp.org/images/b/b2/OWASP_Development_Guide_2.0.1_Spanish.p
df
Swanson, M., Bowen, P., Wohl Phillips, A., Gallup, D., y Lynes, D. Contingency
Planning Guide for Federal Information Systems (pp. 5 a 10). NIST. Recuperado el 25
de abril de 2013 de: http://csrc.nist.gov/publications/nistpubs/800-34-rev1/sp800-
34-rev1_errata-Nov11-2010.pdf
Tracy, M., Jansen, W., Scarfone, K., y Winograd, T. (2007). Guidelines on Securing
Public Web Servers. (pp. 5-1 a 5-9, 7-1 a 7-2, 9-1 a 9-5, 9-5 a 9-9 y 9-14). NIST.
Recuperado el 25 de abril de 2013 de: http://csrc.nist.gov/publications/nistpubs/800-
44-ver2/SP800-44v2.pdf
Bibliografía complementaria
Cannings, R., Dwivedi, H., & Lackey, Z. (2008). Hacking exposed web applications.
Web 2.0. Mcgraw Hill.
Scambray, J., Liu, V., & Sima, C. (2010). Hacking Exposed Web Applications 3.
McGraw-Hill/Osborne.
Actividades
Pautas de elaboración
Descarga:
ORACLE virtualbox desde https://www.virtualbox.org/ e instala ZAP desde:
https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
Crear una red virtualbox HOST ONLY – virtualbox- file- preferencias- red- redes
solo anfitrión- añadir una red- habilitar DCHP y configurar de la siguiente forma:
Apache con el módulo ModSecurity, configurando el servidor Apache para que actúe
como proxy inverso. ModSecurity realiza un filtrado de los datos de entrada y salida al
servidor web bloqueando todo el tráfico que considere malicioso según unas reglas
definidas.
Cada una de las peticiones realizadas al servidor web son inspeccionadas por
ModSecurity para comprobar que no llegue al servidor web ningún contenido no
autorizado. En este ejercicio se va a instalar, configurar y probar
ModSecurity protegiendo la aplicación web Mutiliidae.
Descarga Máquina Virtual lamp que contiene: Linux Ubuntu server + Apache + Mysql
+ Php (LAMP) y aplicación web php MUTILLIDAE desde:
https://drive.google.com/open?id=0Bz7Tp_tMynwpTVJSZWxYS3RXOHc
sudo cp /etc/modsecurity/modsecurity.conf{-recommended,}
sudo nano /etc/modsecurity/modsecurity.conf
SecRuleEngine On
SecRequestBodyLimit 32768000
SecRequestBodyInMemoryLimit 32768000
SecResponseBodyAccess Off
/usr/share/modsecurity-crs/base_rules
/usr/share/modsecurity-crs/optional_rules
/usr/share/modsecurity-crs/experimental_rules
cambiado con respecto a esta, es posible que sean otras reglas las que haya que
comentar, la información de reglas a comentar aparece en pantalla al reiniciar el
servicio apache2):
Editar /etc/apache2/mods-enabled/security2.conf:
<ifmodule security2_module>
IncludeOptional /etc/modsecurity/*.conf
IncludeOptional "/usr/share/modsecurity-crs/*.conf"
IncludeOptional "/usr/share/modsecurity-crs/activated_rules/*.conf"
</IfModule>
<ifmodule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 10
DOSSiteCount 30
DOSPageInterval 1
DOSSiteInterval 3
DOSBlockingPeriod 3600
DOSLogDir /var/log/apache2/mod_evasive.log
</ifmodule>
touch /var/log/apache2/mod_evasive.log
sudo chown www-data:www-data /var/log/apache2/mod_evasive.log
Instalar las herramientas HOIC, LOIC en la máquina anfitriona para realizar ataques
de denegación de servicio distribuidos DDOS contra la aplicación web MUTILLIDAE
situada en la MV:
HOIC: http://sourceforge.net/projects/highorbitioncannon/?source=typ_redirect
LOIC: http://sourceforge.net/projects/loic/
PD: los antivirus dan alerta cuando se descargan, no pasa nada, se obvia la alerta.
Comprobar:
Ataques
Entregable
Se referenciarán pantallas, logs, capturas, etc. que irán en un anexo al final. Por tanto,
se debe aportar en un anexo aparte copias de pantallas con resultado de comandos,
logs, capturas de wireshark, navegador, herramientas DDOS, etc. que demuestren la
realización correcta del ejercicio.
Test
1. ¿Cuáles son los principios de seguridad en los que debe basarse toda política de
seguridad?
A. Profundidad en la defensa, mínimos privilegios, diversidad de la defensa,
gestión centralizada, sofisticación, identificación de puntos débiles, cierre
completo de accesos ante incidentes.
B. Profundidad en la defensa, mínimos privilegios, diversidad de la defensa,
gestión delegada en niveles, simplicidad, identificación de puntos débiles, cierre
completo de accesos ante incidentes.
C. Profundidad en la defensa, mínimos privilegios, diversidad de la defensa,
gestión centralizada, simplicidad, identificación de puntos débiles, cierre
completo de accesos ante incidentes.
D. A y B son correctas.
A. PATH TRAVERSAL.
B. SQLI.
C. XSS.
D. HTTP RESPONSE SPPLITING.
Bienvenido al sistema
…</HTML>
A. PATH TRAVERSAL.
B. SQLI.
C. XSS.
D. HTTP RESPONSE SPPLITING.
10. Respecto a las variantes de instalación de los firewalls de aplicaciones web, señala
las afirmaciones correctas:
A. La configuración en modo proxy inverso es la menos deseable.
B. Se debe proporcionar redundancia en la configuración con DOS WAF.
C. Pueden efectuar validaciones de tipo whitelist, blacklist o una combinación de
ambos tipos.
D. Blacklist, consiste en mantener una base de datos de firmas de ataques
mientras que whitelist consiste en tener un modelo de tráfico aceptado entre la
aplicación y el cliente.