SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
1
Gabriel Díaz Orueta
Introducción al análisis
automático de la seguridad
de aplicaciones web
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
22 de octubre de 2012
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
2
Contenidos
• Vulnerabilidades de seguridad en aplicaciones
web
• Herramientas para el análisis de
vulnerabilidades
• ¿Cuál es la mejor?
Basado en el TFM de don Juan Ramón Bermejo Higuera,
en Octubre de 2011
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
3
In computer security, a vulnerability is a
weakness which allows an attacker to
reduce a system's information
assurance.
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
4
Vulnerabilidades de seguridad en
aplicaciones web
OWASP (Open Web Application Security Proyect) Top Ten
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
5
Vulnerabilidades de seguridad en
aplicaciones web
http://www.owasp.org/index.php/Top_10
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
6
Vulnerabilidades de seguridad en
aplicaciones web
Métricas más comunes
Porcentaje de cada tipo de vulnerabilidad encontrada con todos los tipos de análisis utilizados.
Porcentaje de cada tipo de vulnerabilidad encontrada con cada tipo de análisis utilizado.
Porcentaje de vulnerabilidades por grados de criticidad globales y por cada tipo de análisis.
Porcentaje de cada tipo de vulnerabilidad por cada tipo de lenguaje de programación en cada tipo
de análisis utilizado y de forma global.
Porcentaje de sitios web donde se ha encontrado una determinada vulnerabilidad.
Porcentaje de vulnerabilidades por tipo procedencia del software (internamente desarrollado,
open source, externo…) globales y por cada tipo de análisis.
Densidades de defectos por vulnerabilidades y tipos de lenguajes.
Porcentaje de vulnerabilidades por tipo de industria (financiera, defensa…)
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
7
Vulnerabilidades de seguridad en
aplicaciones web
Estadísticas vul. WASC 2008. Whitebox & Blackbox.
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
8
WASC % de probabilidad de detección blackbox/whitebox
Vulnerabilidades de seguridad en
aplicaciones web
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
9
1 SQL Injection
7%
2 Logic Flaws
7%
3 Authorization bypass
5%
4 XSS
26%
5 Authentication bypass
8%
6 Vulnerable third party software
3%
7 Session Handling
13%
8 CSRF
11%
9 Information leakage
13%
10 Source code disclosure
7%
Ranking de vulnerabilidades detectadas 2010
(TRUSTWARE SPIDER LABS)
Vulnerabilidades de seguridad en
aplicaciones web
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
10
Vulnerabilidades de seguridad en
aplicaciones web
Vulnerabilidades detectadas INFORME 3 VERACODE
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
11
Vulnerabilidades de seguridad en
aplicaciones web
Vulnerabilidades detectadas por tipo de lenguaje. INFORME 3 VERACODE
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
12
Vulnerabilidades de seguridad en
aplicaciones web
Coste de la corrección de vulnerabilidades
“Secure Coding. The State of the Practice”.
Authors Mark G. Graff, Kenneth R. van Wyk.
O`Reilly , June 2003, ISBN: 0-596-00242-4
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
13
Conclusiones
1- Las aplicaciones web contienen muchas
vulnerabilidades de seguridad
2- Vale la pena intentar detectarlas antes de poner
la aplicación en operación
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
14
Herramientas para el análisis de
vulnerabilidades
Modelo SLDC adaptado
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
15
Herramientas para el análisis de
vulnerabilidades
Definiciones
Verdadero positivo: vulnerabilidad detectada que existe realmente
Falso positivo: vulnerabilidad detectada que no existe realmente
Verdadero negativo: vulnerabilidad no detectada que realmente no existe
Falso negativo: vulnerabilidad no detectada que realmente existe
¿Qué es más relevante: falso positivo o falso negativo?
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
16
Herramientas para el análisis de
vulnerabilidades
- HERRAMIENTAS DE ANÁLISIS ESTÁTICO (SAST)
Herramientas de análisis de código fuente
Herramientas de análisis de código ejecutable
- HERRAMIENTAS DE ANÁLISIS DINÁMICO (DAST y RAST)
Scanners automáticos de vulnerabilidades de aplicaciones web
- HERRAMIENTAS DE ANÁLISIS HIBRIDO
Combinar análisis SAST y DAST.
Combinar análisis SAST y RAST.
Combinar análisis SAST, DAST y RAST.
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
17
Herramientas SAST
de código fuente
- Toman como entrada el código fuente y lo trasforman, generando
representaciones intermedias o modelos del código fuente, según el
caso y a continuación lo analizan contra una serie de reglas definidas
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
18
Pueden realizar algunos o todos estos análisis:
- Análisis léxico, sintáctico y semántico como cualquier compilador.
- Análisis intraprocedural o local (dentro de cada función) del flujo
de control y de los datos.
- Análisis global o interprocedural de llamadas entre funciones y
flujo de los datos.
Herramientas SAST
Comprueban todo el código a fondo y coherentemente
Una vez se tienen los resultados, análisis de falsos positivos
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
19
Esquema de funcionamiento de un
scanner de vulnerabilidades
Herramientas DAST
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
20
Herramientas RAST
- Actúan directamente sobre el código ejecutable y el
entorno de ejecución de los procesos, observando
incluso sus variables en memoria y su estado, y
también las peticiones que se hacen a la aplicación
web y las respuestas que se reciben.
- Esto permite detectar vulnerabilidades en los
campos de entrada a la aplicación de forma
concreta se sigue el funcionamiento de la aplicación
porque en tiempo real
- Pueden incidir en el rendimiento de la aplicación
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
21
Herramientas RAST
- Una vez detectada la vulnerabilidad hay herramientas
que pueden
tomar una de las tres acciones siguientes:
- Generar un informe, después de la detección sin
más
- Bloquear el intento de ataque
- Sanear la petición maligna a la aplicación web,
corrigiendo los valores de entrada a la aplicación
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
22
SAST-RAST [Artho et Bi. 2005]
Herramientas Híbridas
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
23
¿Cuál es la mejor herramienta?
Veracode SAST
vs. DASD.
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
24
¡Muchas comparaciones! Pero pocas completas y seguras
1- Seleccionar una determinada metodología
2- Seleccionar benchmarks, casos de test específicos, contra los que
se ejecutan las herramientas
3- Seleccionar las herramientas objeto de la evaluación
4- Ejecutar las herramientas contra los benchmarks seleccionados
5- Seleccionar las métricas a emplear en la medición de resultados
6- Medir los resultados
7- Analizar y comparar los resultados
¿Cuál es la mejor herramienta?
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
25
SAMATE
Metodología y benchmarks
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
26
SAMATE
Define:
- Los requerimientos funcionales que debe reunir
toda herramienta de análisis de código
- Conjuntos de vulnerabilidades. En este caso se
adaptan a las categorías de vulnerabilidades de
aplicaciones web más importantes
- Variaciones de la complejidad del código
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
27
SAMATE
Requerimientos funcionales
• Identificar un conjunto seleccionado de
vulnerabilidades de software en código fuente.
• Informar sobre cada vulnerabilidad encontrada, de
que tipo es y donde está localizada.
• No tener demasiados falsos positivos.
• Producir un informe compatible con el de otras
herramientas.
• Permitir que las vulnerabilidades puedan ser
suprimidas por el usuario.
• Usar nombres estándar para las clases de
vulnerabilidades.
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
28
SAMATE
Conjunto de vulnerabilidades
…
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
29
SAMATE
Benchmarks elegidos: SAMATE juliet 2010
• Test Suite que contiene 13782 casos de test, que cubren un amplio abanico
de vulnerabilidades de seguridad
• Con cada caso de test viene una función con una vulnerabilidad concreta y
una (1), tres (3) ó 5 (cinco) versiones de la función, dependiendo del caso
con distintas formas de corrección de la vulnerabilidad validando
directamente en la fuente de entrada a la aplicación (source) ó donde
específicamente se produce la vulnerabilidad (sink)
• Para cada vulnerabilidad se proporcionan versiones de casos de test para
distintas complejidades de código
• Para cada tipo de complejidad de código existen diferentes versiones de
casos de test con diferentes tipos de fuente de entrada como por ejemplo
conexiones tcpip, entrada por consola, base de datos, fichero, cookies,
parámetros de entrada de peticiones, etc.
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
30
Selección de herramientas
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
31
Selección de herramientas
- Se seleccionan 4 herramientas comerciales (una de ellas de
análisis de código ejecutable, veracode SaaS) y 2 de open source
(una de ellas de análisis de código ejecutable, findbugs).
- HP FORTIFY 360 v. 3.0.0.0102 SCA. v. 5.10.0.0102
- CHECKMARX CxEnterprise v. 5.5.0
- KLOCWORK INSIGHT (SOLO JAVA v. 8.1.2v011)
- VERACODE saas
- LAPSE+ (open source)
- FINDBUGS v. 1.3.9 (open source)
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
32
Métricas que se aplican
- Número y porcentaje de verdaderos positivos TP (detecciones correctas).
- Número y porcentaje de falsos positivos FP (detección sin error).
- Número de vulnerabilidades para las que la herramienta no está
diseñada.
- Precisión. Proporción de TP respecto al total de detecciones: TP / TP + FP.
- Recall. Proporción de TP respecto al total de vulnerabilidades que existen en
el código. TP / Total de Vulnerabilidades.
- F-measure. Normalización de Precisión y recall.
2 x precisión x recall / precisión + recall
- Correlaciones de resultados entre herramientas, para ver resultados
combinados.
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
33
Resultados
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
34
Resultados
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
35
Resultados
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
36
Resultados
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
37
Resultados
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
38
• La principal conclusión es que el uso de las herramientas estáticas de
código fuente y ejecutable es muy importante dentro del nuevo esquema
de SDLC propuesto. Se logran porcentajes muy altos de detección de
vulnerabilidades llegando en algún caso a superar el 80% de forma
aislada
• El número de falsos positivos, alto en general, en cuatro casos más del
50%, hay que reducirlo realizando auditoría posterior de los resultados o
comprobando su veracidad con otras herramientas de las vistas.
• La auditoría posterior es generalmente bien tenida en cuenta, con
facilidades de trace del error, por todas las herramientas excepto por
FINDBUGS. Este hecho implica la realización de una auditoría posterior
para erradicarlos o utilizar otras herramientas combinándolas.
Conclusiones
Análisis automático de la seguridad de aplicaciones web
Gabriel Díaz Orueta
39
¿Alguna
pregunta?
Gabriel Díaz Orueta,
Dpto. Ingeniería Eléctrica Electrónica y de Control
http://www.ieec.uned.es

Más contenido relacionado

La actualidad más candente

Seguridad y Riesgos de la computadora
Seguridad y Riesgos de la computadoraSeguridad y Riesgos de la computadora
Seguridad y Riesgos de la computadora
Fabian Sosa
 

La actualidad más candente (20)

Information Security and Privacy - Public Sector actions, policies and regula...
Information Security and Privacy - Public Sector actions, policies and regula...Information Security and Privacy - Public Sector actions, policies and regula...
Information Security and Privacy - Public Sector actions, policies and regula...
 
Seguridad y Riesgos de la computadora
Seguridad y Riesgos de la computadoraSeguridad y Riesgos de la computadora
Seguridad y Riesgos de la computadora
 
Information security in todays world
Information security in todays worldInformation security in todays world
Information security in todays world
 
Case studies in cybersecurity strategies
Case studies in cybersecurity strategiesCase studies in cybersecurity strategies
Case studies in cybersecurity strategies
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Cyber Security Seminar.pptx
Cyber Security Seminar.pptxCyber Security Seminar.pptx
Cyber Security Seminar.pptx
 
What is Cyber Security - Avantika University
What is Cyber Security - Avantika UniversityWhat is Cyber Security - Avantika University
What is Cyber Security - Avantika University
 
Sistemas de gestión de seguridad de la información
Sistemas de gestión de seguridad de la informaciónSistemas de gestión de seguridad de la información
Sistemas de gestión de seguridad de la información
 
Vulnerability Management
Vulnerability ManagementVulnerability Management
Vulnerability Management
 
The Role of The System analyst, System architect and Business analyst
The Role of The System analyst, System architect and Business analystThe Role of The System analyst, System architect and Business analyst
The Role of The System analyst, System architect and Business analyst
 
CYBER SECURITY
CYBER SECURITYCYBER SECURITY
CYBER SECURITY
 
security misconfigurations
security misconfigurationssecurity misconfigurations
security misconfigurations
 
Security in the Software Development Life Cycle (SDLC)
Security in the Software Development Life Cycle (SDLC)Security in the Software Development Life Cycle (SDLC)
Security in the Software Development Life Cycle (SDLC)
 
Web application attacks
Web application attacksWeb application attacks
Web application attacks
 
Career in cyber security
Career in  cyber securityCareer in  cyber security
Career in cyber security
 
CYBER SECURITY
CYBER SECURITYCYBER SECURITY
CYBER SECURITY
 
Introduction To Information Security
Introduction To Information SecurityIntroduction To Information Security
Introduction To Information Security
 
OWASP Top Ten in Practice
OWASP Top Ten in PracticeOWASP Top Ten in Practice
OWASP Top Ten in Practice
 
Cyber security
Cyber securityCyber security
Cyber security
 
Ataques de inyección SQL: qué son y cómo protegerse
Ataques de inyección SQL: qué son y cómo protegerseAtaques de inyección SQL: qué son y cómo protegerse
Ataques de inyección SQL: qué son y cómo protegerse
 

Destacado

simbolízate_presentación_sobre_símbolos
simbolízate_presentación_sobre_símbolossimbolízate_presentación_sobre_símbolos
simbolízate_presentación_sobre_símbolos
karen_castellanos
 
Exposision yulma
Exposision yulmaExposision yulma
Exposision yulma
Yulma Ake
 
La famosa m 2ºb-chicas
La famosa m 2ºb-chicasLa famosa m 2ºb-chicas
La famosa m 2ºb-chicas
Ciclosfp
 
Jung 2x LG 97/98
Jung 2x LG 97/98Jung 2x LG 97/98
Jung 2x LG 97/98
bw2011
 
Android forma parte de la familia linux
Android forma parte de la familia linuxAndroid forma parte de la familia linux
Android forma parte de la familia linux
Amaranta Camacho
 
Proyecto cer joaquin e a
Proyecto cer joaquin e aProyecto cer joaquin e a
Proyecto cer joaquin e a
ROPACHA
 
Delito informático diapos
Delito informático diaposDelito informático diapos
Delito informático diapos
oswaldo__1
 
simbolízate_tipos_de_símbolos
simbolízate_tipos_de_símbolossimbolízate_tipos_de_símbolos
simbolízate_tipos_de_símbolos
karen_castellanos
 

Destacado (20)

Secure Coding for Java
Secure Coding for JavaSecure Coding for Java
Secure Coding for Java
 
2012 10 19 (uned) emadrid jrbermejo md analisis automatico seguridad aplicaci...
2012 10 19 (uned) emadrid jrbermejo md analisis automatico seguridad aplicaci...2012 10 19 (uned) emadrid jrbermejo md analisis automatico seguridad aplicaci...
2012 10 19 (uned) emadrid jrbermejo md analisis automatico seguridad aplicaci...
 
Los 10 principales riesgos en aplicaciones web #CPMX5
Los 10 principales riesgos en aplicaciones web #CPMX5Los 10 principales riesgos en aplicaciones web #CPMX5
Los 10 principales riesgos en aplicaciones web #CPMX5
 
Seguridad de Software: Una Introducción
Seguridad de Software: Una IntroducciónSeguridad de Software: Una Introducción
Seguridad de Software: Una Introducción
 
La navidad
La navidadLa navidad
La navidad
 
Viana
VianaViana
Viana
 
simbolízate_presentación_sobre_símbolos
simbolízate_presentación_sobre_símbolossimbolízate_presentación_sobre_símbolos
simbolízate_presentación_sobre_símbolos
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Exposision yulma
Exposision yulmaExposision yulma
Exposision yulma
 
Konzept Technology Cinema 3D - Hannover Messe 2014
Konzept Technology Cinema 3D - Hannover Messe 2014Konzept Technology Cinema 3D - Hannover Messe 2014
Konzept Technology Cinema 3D - Hannover Messe 2014
 
La famosa m 2ºb-chicas
La famosa m 2ºb-chicasLa famosa m 2ºb-chicas
La famosa m 2ºb-chicas
 
Jung 2x LG 97/98
Jung 2x LG 97/98Jung 2x LG 97/98
Jung 2x LG 97/98
 
Reunion extraord 5 de mayo
Reunion extraord 5 de mayoReunion extraord 5 de mayo
Reunion extraord 5 de mayo
 
Juventud musica
Juventud musicaJuventud musica
Juventud musica
 
Android forma parte de la familia linux
Android forma parte de la familia linuxAndroid forma parte de la familia linux
Android forma parte de la familia linux
 
Gabinetes
GabinetesGabinetes
Gabinetes
 
Proyecto cer joaquin e a
Proyecto cer joaquin e aProyecto cer joaquin e a
Proyecto cer joaquin e a
 
top dejuegos
top dejuegostop dejuegos
top dejuegos
 
Delito informático diapos
Delito informático diaposDelito informático diapos
Delito informático diapos
 
simbolízate_tipos_de_símbolos
simbolízate_tipos_de_símbolossimbolízate_tipos_de_símbolos
simbolízate_tipos_de_símbolos
 

Similar a vulnerabilidades

Tarea 4-Auditoria
Tarea 4-AuditoriaTarea 4-Auditoria
Tarea 4-Auditoria
ingrid812
 
Herramientas de analisis de vulnerabilidades
Herramientas de analisis de vulnerabilidadesHerramientas de analisis de vulnerabilidades
Herramientas de analisis de vulnerabilidades
Sergio Fuentes
 
Castaneda suarezandresfernando2017
Castaneda suarezandresfernando2017Castaneda suarezandresfernando2017
Castaneda suarezandresfernando2017
Idat
 
Trabajo Nrº4 Auditoria Maurtua Quevedo
Trabajo Nrº4 Auditoria Maurtua QuevedoTrabajo Nrº4 Auditoria Maurtua Quevedo
Trabajo Nrº4 Auditoria Maurtua Quevedo
pinoch_16
 

Similar a vulnerabilidades (20)

Herramientas de análisis de vulnerabilidades
Herramientas de análisis de vulnerabilidadesHerramientas de análisis de vulnerabilidades
Herramientas de análisis de vulnerabilidades
 
Herramientas de analisis de vulnerabilidades
Herramientas de analisis de vulnerabilidadesHerramientas de analisis de vulnerabilidades
Herramientas de analisis de vulnerabilidades
 
Ciberseguridad: CAso Alma Technologies
Ciberseguridad: CAso Alma TechnologiesCiberseguridad: CAso Alma Technologies
Ciberseguridad: CAso Alma Technologies
 
Tarea 4-Auditoria
Tarea 4-AuditoriaTarea 4-Auditoria
Tarea 4-Auditoria
 
Hacking Ético Web
Hacking Ético WebHacking Ético Web
Hacking Ético Web
 
Pruebas de penetración
Pruebas de penetraciónPruebas de penetración
Pruebas de penetración
 
Dominio 8 grupo 11
Dominio 8  grupo 11Dominio 8  grupo 11
Dominio 8 grupo 11
 
Trabajo de auditoria
Trabajo de auditoriaTrabajo de auditoria
Trabajo de auditoria
 
Herramientas de analisis de vulnerabilidades
Herramientas de analisis de vulnerabilidadesHerramientas de analisis de vulnerabilidades
Herramientas de analisis de vulnerabilidades
 
Presentacion IBM Rational App Scan
Presentacion IBM Rational App ScanPresentacion IBM Rational App Scan
Presentacion IBM Rational App Scan
 
Presentacion ibm-rational-app-scan
Presentacion ibm-rational-app-scanPresentacion ibm-rational-app-scan
Presentacion ibm-rational-app-scan
 
Herramientas de-analisis-de-vulnerabilidades(1)
Herramientas de-analisis-de-vulnerabilidades(1)Herramientas de-analisis-de-vulnerabilidades(1)
Herramientas de-analisis-de-vulnerabilidades(1)
 
Gestión y seguridad informatica act. 2
Gestión y seguridad informatica act. 2Gestión y seguridad informatica act. 2
Gestión y seguridad informatica act. 2
 
Scanners Seguridad Informatica
Scanners Seguridad InformaticaScanners Seguridad Informatica
Scanners Seguridad Informatica
 
Amenaza a las bases de datos
Amenaza a las bases de datosAmenaza a las bases de datos
Amenaza a las bases de datos
 
Castaneda suarezandresfernando2017
Castaneda suarezandresfernando2017Castaneda suarezandresfernando2017
Castaneda suarezandresfernando2017
 
Trabajo Nrº4 Auditoria Maurtua Quevedo
Trabajo Nrº4 Auditoria Maurtua QuevedoTrabajo Nrº4 Auditoria Maurtua Quevedo
Trabajo Nrº4 Auditoria Maurtua Quevedo
 
Auditoria
AuditoriaAuditoria
Auditoria
 
Aida32
Aida32Aida32
Aida32
 
Trabajo de auditoria
Trabajo de auditoriaTrabajo de auditoria
Trabajo de auditoria
 

Último

UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
refrielectriccarlyz
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
andersonsubero28
 

Último (20)

Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potable
 
Análisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOAnálisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECO
 
Trabajos Preliminares en Obras de Construcción..pdf
Trabajos Preliminares en Obras de Construcción..pdfTrabajos Preliminares en Obras de Construcción..pdf
Trabajos Preliminares en Obras de Construcción..pdf
 
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdfGUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas
 
docsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbanadocsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbana
 
metodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantasmetodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantas
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
Arquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheArquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo Limache
 
ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................
 
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptxG4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptx
 
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptxdokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
 
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhSistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
 
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxEFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
 
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESCAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
 
3er Informe Laboratorio Quimica General (2) (1).pdf
3er Informe Laboratorio Quimica General  (2) (1).pdf3er Informe Laboratorio Quimica General  (2) (1).pdf
3er Informe Laboratorio Quimica General (2) (1).pdf
 

vulnerabilidades

  • 1. 1 Gabriel Díaz Orueta Introducción al análisis automático de la seguridad de aplicaciones web Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 22 de octubre de 2012
  • 2. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 2 Contenidos • Vulnerabilidades de seguridad en aplicaciones web • Herramientas para el análisis de vulnerabilidades • ¿Cuál es la mejor? Basado en el TFM de don Juan Ramón Bermejo Higuera, en Octubre de 2011
  • 3. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 3 In computer security, a vulnerability is a weakness which allows an attacker to reduce a system's information assurance.
  • 4. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 4 Vulnerabilidades de seguridad en aplicaciones web OWASP (Open Web Application Security Proyect) Top Ten
  • 5. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 5 Vulnerabilidades de seguridad en aplicaciones web http://www.owasp.org/index.php/Top_10
  • 6. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 6 Vulnerabilidades de seguridad en aplicaciones web Métricas más comunes Porcentaje de cada tipo de vulnerabilidad encontrada con todos los tipos de análisis utilizados. Porcentaje de cada tipo de vulnerabilidad encontrada con cada tipo de análisis utilizado. Porcentaje de vulnerabilidades por grados de criticidad globales y por cada tipo de análisis. Porcentaje de cada tipo de vulnerabilidad por cada tipo de lenguaje de programación en cada tipo de análisis utilizado y de forma global. Porcentaje de sitios web donde se ha encontrado una determinada vulnerabilidad. Porcentaje de vulnerabilidades por tipo procedencia del software (internamente desarrollado, open source, externo…) globales y por cada tipo de análisis. Densidades de defectos por vulnerabilidades y tipos de lenguajes. Porcentaje de vulnerabilidades por tipo de industria (financiera, defensa…)
  • 7. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 7 Vulnerabilidades de seguridad en aplicaciones web Estadísticas vul. WASC 2008. Whitebox & Blackbox.
  • 8. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 8 WASC % de probabilidad de detección blackbox/whitebox Vulnerabilidades de seguridad en aplicaciones web
  • 9. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 9 1 SQL Injection 7% 2 Logic Flaws 7% 3 Authorization bypass 5% 4 XSS 26% 5 Authentication bypass 8% 6 Vulnerable third party software 3% 7 Session Handling 13% 8 CSRF 11% 9 Information leakage 13% 10 Source code disclosure 7% Ranking de vulnerabilidades detectadas 2010 (TRUSTWARE SPIDER LABS) Vulnerabilidades de seguridad en aplicaciones web
  • 10. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 10 Vulnerabilidades de seguridad en aplicaciones web Vulnerabilidades detectadas INFORME 3 VERACODE
  • 11. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 11 Vulnerabilidades de seguridad en aplicaciones web Vulnerabilidades detectadas por tipo de lenguaje. INFORME 3 VERACODE
  • 12. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 12 Vulnerabilidades de seguridad en aplicaciones web Coste de la corrección de vulnerabilidades “Secure Coding. The State of the Practice”. Authors Mark G. Graff, Kenneth R. van Wyk. O`Reilly , June 2003, ISBN: 0-596-00242-4
  • 13. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 13 Conclusiones 1- Las aplicaciones web contienen muchas vulnerabilidades de seguridad 2- Vale la pena intentar detectarlas antes de poner la aplicación en operación
  • 14. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 14 Herramientas para el análisis de vulnerabilidades Modelo SLDC adaptado
  • 15. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 15 Herramientas para el análisis de vulnerabilidades Definiciones Verdadero positivo: vulnerabilidad detectada que existe realmente Falso positivo: vulnerabilidad detectada que no existe realmente Verdadero negativo: vulnerabilidad no detectada que realmente no existe Falso negativo: vulnerabilidad no detectada que realmente existe ¿Qué es más relevante: falso positivo o falso negativo?
  • 16. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 16 Herramientas para el análisis de vulnerabilidades - HERRAMIENTAS DE ANÁLISIS ESTÁTICO (SAST) Herramientas de análisis de código fuente Herramientas de análisis de código ejecutable - HERRAMIENTAS DE ANÁLISIS DINÁMICO (DAST y RAST) Scanners automáticos de vulnerabilidades de aplicaciones web - HERRAMIENTAS DE ANÁLISIS HIBRIDO Combinar análisis SAST y DAST. Combinar análisis SAST y RAST. Combinar análisis SAST, DAST y RAST.
  • 17. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 17 Herramientas SAST de código fuente - Toman como entrada el código fuente y lo trasforman, generando representaciones intermedias o modelos del código fuente, según el caso y a continuación lo analizan contra una serie de reglas definidas
  • 18. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 18 Pueden realizar algunos o todos estos análisis: - Análisis léxico, sintáctico y semántico como cualquier compilador. - Análisis intraprocedural o local (dentro de cada función) del flujo de control y de los datos. - Análisis global o interprocedural de llamadas entre funciones y flujo de los datos. Herramientas SAST Comprueban todo el código a fondo y coherentemente Una vez se tienen los resultados, análisis de falsos positivos
  • 19. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 19 Esquema de funcionamiento de un scanner de vulnerabilidades Herramientas DAST
  • 20. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 20 Herramientas RAST - Actúan directamente sobre el código ejecutable y el entorno de ejecución de los procesos, observando incluso sus variables en memoria y su estado, y también las peticiones que se hacen a la aplicación web y las respuestas que se reciben. - Esto permite detectar vulnerabilidades en los campos de entrada a la aplicación de forma concreta se sigue el funcionamiento de la aplicación porque en tiempo real - Pueden incidir en el rendimiento de la aplicación
  • 21. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 21 Herramientas RAST - Una vez detectada la vulnerabilidad hay herramientas que pueden tomar una de las tres acciones siguientes: - Generar un informe, después de la detección sin más - Bloquear el intento de ataque - Sanear la petición maligna a la aplicación web, corrigiendo los valores de entrada a la aplicación
  • 22. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 22 SAST-RAST [Artho et Bi. 2005] Herramientas Híbridas
  • 23. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 23 ¿Cuál es la mejor herramienta? Veracode SAST vs. DASD.
  • 24. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 24 ¡Muchas comparaciones! Pero pocas completas y seguras 1- Seleccionar una determinada metodología 2- Seleccionar benchmarks, casos de test específicos, contra los que se ejecutan las herramientas 3- Seleccionar las herramientas objeto de la evaluación 4- Ejecutar las herramientas contra los benchmarks seleccionados 5- Seleccionar las métricas a emplear en la medición de resultados 6- Medir los resultados 7- Analizar y comparar los resultados ¿Cuál es la mejor herramienta?
  • 25. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 25 SAMATE Metodología y benchmarks
  • 26. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 26 SAMATE Define: - Los requerimientos funcionales que debe reunir toda herramienta de análisis de código - Conjuntos de vulnerabilidades. En este caso se adaptan a las categorías de vulnerabilidades de aplicaciones web más importantes - Variaciones de la complejidad del código
  • 27. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 27 SAMATE Requerimientos funcionales • Identificar un conjunto seleccionado de vulnerabilidades de software en código fuente. • Informar sobre cada vulnerabilidad encontrada, de que tipo es y donde está localizada. • No tener demasiados falsos positivos. • Producir un informe compatible con el de otras herramientas. • Permitir que las vulnerabilidades puedan ser suprimidas por el usuario. • Usar nombres estándar para las clases de vulnerabilidades.
  • 28. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 28 SAMATE Conjunto de vulnerabilidades …
  • 29. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 29 SAMATE Benchmarks elegidos: SAMATE juliet 2010 • Test Suite que contiene 13782 casos de test, que cubren un amplio abanico de vulnerabilidades de seguridad • Con cada caso de test viene una función con una vulnerabilidad concreta y una (1), tres (3) ó 5 (cinco) versiones de la función, dependiendo del caso con distintas formas de corrección de la vulnerabilidad validando directamente en la fuente de entrada a la aplicación (source) ó donde específicamente se produce la vulnerabilidad (sink) • Para cada vulnerabilidad se proporcionan versiones de casos de test para distintas complejidades de código • Para cada tipo de complejidad de código existen diferentes versiones de casos de test con diferentes tipos de fuente de entrada como por ejemplo conexiones tcpip, entrada por consola, base de datos, fichero, cookies, parámetros de entrada de peticiones, etc.
  • 30. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 30 Selección de herramientas
  • 31. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 31 Selección de herramientas - Se seleccionan 4 herramientas comerciales (una de ellas de análisis de código ejecutable, veracode SaaS) y 2 de open source (una de ellas de análisis de código ejecutable, findbugs). - HP FORTIFY 360 v. 3.0.0.0102 SCA. v. 5.10.0.0102 - CHECKMARX CxEnterprise v. 5.5.0 - KLOCWORK INSIGHT (SOLO JAVA v. 8.1.2v011) - VERACODE saas - LAPSE+ (open source) - FINDBUGS v. 1.3.9 (open source)
  • 32. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 32 Métricas que se aplican - Número y porcentaje de verdaderos positivos TP (detecciones correctas). - Número y porcentaje de falsos positivos FP (detección sin error). - Número de vulnerabilidades para las que la herramienta no está diseñada. - Precisión. Proporción de TP respecto al total de detecciones: TP / TP + FP. - Recall. Proporción de TP respecto al total de vulnerabilidades que existen en el código. TP / Total de Vulnerabilidades. - F-measure. Normalización de Precisión y recall. 2 x precisión x recall / precisión + recall - Correlaciones de resultados entre herramientas, para ver resultados combinados.
  • 33. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 33 Resultados
  • 34. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 34 Resultados
  • 35. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 35 Resultados
  • 36. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 36 Resultados
  • 37. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 37 Resultados
  • 38. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 38 • La principal conclusión es que el uso de las herramientas estáticas de código fuente y ejecutable es muy importante dentro del nuevo esquema de SDLC propuesto. Se logran porcentajes muy altos de detección de vulnerabilidades llegando en algún caso a superar el 80% de forma aislada • El número de falsos positivos, alto en general, en cuatro casos más del 50%, hay que reducirlo realizando auditoría posterior de los resultados o comprobando su veracidad con otras herramientas de las vistas. • La auditoría posterior es generalmente bien tenida en cuenta, con facilidades de trace del error, por todas las herramientas excepto por FINDBUGS. Este hecho implica la realización de una auditoría posterior para erradicarlos o utilizar otras herramientas combinándolas. Conclusiones
  • 39. Análisis automático de la seguridad de aplicaciones web Gabriel Díaz Orueta 39 ¿Alguna pregunta? Gabriel Díaz Orueta, Dpto. Ingeniería Eléctrica Electrónica y de Control http://www.ieec.uned.es