Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la...
Transcript of Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la...
![Page 1: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/1.jpg)
Sesión S01
Técnicas de Evaluación de
Seguridad en el SoftwareVicente Aguilera Díaz
#gigaTIC17
![Page 2: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/2.jpg)
Agenda
1. Complejidad del software2. Crear software seguro3. Técnicas clásicas de evaluación4. Machine Learning aplicado al testing5. Conclusiones
2
Técnicas de Evaluación de Seguridad en el Software
![Page 3: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/3.jpg)
1. Complejidad del software
3
Técnicas de Evaluación de Seguridad en el Software
![Page 4: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/4.jpg)
4
Técnicas de Evaluación de Seguridad en el Software
![Page 5: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/5.jpg)
5
Técnicas de Evaluación de Seguridad en el Software
![Page 6: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/6.jpg)
2. Crear software seguro
6
Técnicas de Evaluación de Seguridad en el Software
![Page 7: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/7.jpg)
Software seguro
Diseñar, construir y probar el software para laseguridad
Continúa ejecutándose correctamente bajo unataque malicioso
Diseñado con el fallo en mente
7
Técnicas de Evaluación de Seguridad en el Software
![Page 8: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/8.jpg)
Buenas prácticas
OWASP SAMM OWASP CLASP Microsoft SDL SSE CMM Cigital Touchpoints BSIMM
8
Técnicas de Evaluación de Seguridad en el Software
![Page 9: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/9.jpg)
3. Técnicas clásicas de evaluación
9
Técnicas de Evaluación de Seguridad en el Software
![Page 10: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/10.jpg)
10
Técnicas de Evaluación de Seguridad en el Software
![Page 11: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/11.jpg)
¿Qué es la evaluación?
Comparación del estado de algo con unconjunto de criterios
11
Técnicas de Evaluación de Seguridad en el Software
![Page 12: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/12.jpg)
¿Porqué hacer la evaluación?
Identificar gap entre las prácticas de laorganización y las mejores prácticas de laindustria
12
Técnicas de Evaluación de Seguridad en el Software
![Page 13: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/13.jpg)
¿Cuándo hacer la evaluación?
A través del SDLC
13
Técnicas de Evaluación de Seguridad en el Software
![Page 14: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/14.jpg)
¿Qué incluir en la evaluación?
Pesonas, procesos y tecnología
14
Técnicas de Evaluación de Seguridad en el Software
![Page 15: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/15.jpg)
Técnicas clásicas
Revisiones e inspecciones manuales Modelado de amenazas Revisiones de código Pruebas de intrusión
15
Técnicas de Evaluación de Seguridad en el Software
![Page 16: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/16.jpg)
Revisiones e inspecciones manuales
Entrevistas Análisis de documentación Evalúa el SDLC
16
Técnicas de Evaluación de Seguridad en el Software
![Page 17: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/17.jpg)
Ventajas
No requiere soporte de tecnología Flexible Promueve el trabajo en equipo Temprano en el SDLC
17
Técnicas de Evaluación de Seguridad en el Software
![Page 18: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/18.jpg)
Inconvenientes
Puede consumir mucho tiempo El material no siempre está disponible Require habilidades específicas para ser
efectivo
18
Técnicas de Evaluación de Seguridad en el Software
![Page 19: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/19.jpg)
Modelado de amenazas
Descomponer la aplicación Definir y clasificar los activos Identificar vulnerabilidades potenciales Identificar amenazas potenciales Crear estrategias de mitigación
19
Técnicas de Evaluación de Seguridad en el Software
![Page 20: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/20.jpg)
Ventajas
Punto de vista práctico del atacante Permite tomar decisiones informadas sobre los
riesgos de seguridad Flexible Temprano en el SDLC
20
Técnicas de Evaluación de Seguridad en el Software
![Page 21: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/21.jpg)
Inconvenientes
Require conocimiento profundo del software Es un proceso continuo y requiere actualización
21
Técnicas de Evaluación de Seguridad en el Software
![Page 22: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/22.jpg)
Revisiones de código
Búsqueda de vulnerabilidades en el códigofuente de la aplicación
Conocimiento real de lo que hace la aplicación
22
Técnicas de Evaluación de Seguridad en el Software
![Page 23: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/23.jpg)
Ventajas
Completo y efectivo Preciso
23
Técnicas de Evaluación de Seguridad en el Software
![Page 24: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/24.jpg)
Inconvenientes
Requiere altos conocimientos de desarrollo yseguridad
No puede detectar errores en tiempo deejecución
El código fuente desplegado puede ser distintodel código analizado
24
Técnicas de Evaluación de Seguridad en el Software
![Page 25: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/25.jpg)
Pruebas de intrusión
Búsqueda de vulnerabilidades en tiempo de ejecución
Simula el escenario de un atacante Explotación de las vulnerabilidades
“If you fail a penetration test you know you have a very badproblem indeed. If you pass a penetration test you do notknow that you don’t have a very bad problem”
25
Técnicas de Evaluación de Seguridad en el Software
![Page 26: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/26.jpg)
Ventajas
Puede ser rápido/económico Requiere “menos” habilidades que la revision
de código Evalúa el código que está expuesto
26
Técnicas de Evaluación de Seguridad en el Software
![Page 27: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/27.jpg)
Inconvenientes
Demasiado tarde en el SDLC Sólo evalúa la funcionalidad accesible
27
Técnicas de Evaluación de Seguridad en el Software
![Page 28: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/28.jpg)
4. Machine Learning aplicado al testing
28
Técnicas de Evaluación de Seguridad en el Software
![Page 29: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/29.jpg)
Machine Learning
Machine learning is an application of artificialintelligence (AI) that provides systems theability to automatically learn and improve fromexperience without being explicitlyprogrammed.
29
Técnicas de Evaluación de Seguridad en el Software
![Page 30: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/30.jpg)
Aplicado a la evaluación del software
30
Técnicas de Evaluación de Seguridad en el Software
![Page 31: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/31.jpg)
Aplicado a la evaluación del software
DeepCode Creado por DARPA Analiza código fuente y binario Identifica la forma del código vulnerable
“Ultimately, the goal of DeepCode is to find all instances ofall known software bugs”
31
Técnicas de Evaluación de Seguridad en el Software
![Page 32: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/32.jpg)
Aplicado a la evaluación del software
Code Phage Creado por MIT Identifica vulnerabilidades Es capaz de auto parchear el código
Entre 2-10 minutos
32
Técnicas de Evaluación de Seguridad en el Software
![Page 33: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/33.jpg)
Aplicado a la evaluación del software
Infer Facebook Análisis estático Open-source
33
Técnicas de Evaluación de Seguridad en el Software
![Page 34: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/34.jpg)
Aplicado a la evaluación del software
Diferencia con escáneres automáticos Escáneres automáticos
Identifican sólo vulnerabilidades conocidas Elevada tasa de falsos positivos Recomendaciones generales
34
Técnicas de Evaluación de Seguridad en el Software
![Page 35: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/35.jpg)
Aplicado a la evaluación del software
Detección de vulnerabilidades A tiempo real Optimización de las pruebas de seguridad Prevención de nuevos vectores de ataque Recomendaciones y aplicación de soluciones
Elaboración de informes de evaluación Aportará reducción de costes Incrementará la calidad del análisis
35
Técnicas de Evaluación de Seguridad en el Software
![Page 36: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/36.jpg)
5. Conclusiones
36
Técnicas de Evaluación de Seguridad en el Software
![Page 37: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/37.jpg)
Conclusiones
Construir software seguro implica adoptar unmodelo de madurez
Las pruebas deben servir para verificar y nopara conocer el nivel de seguridad
Aunque el uso de herramientas es necesario,siempre se requiere una revisión humana
Es necesario entender el contexto del análisis yser imaginativo en las pruebas
37
Técnicas de Evaluación de Seguridad en el Software
![Page 38: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/38.jpg)
Conclusiones
Las técnicas de evaluación clásicas siguensiendo válidas y necesarias
Machine learning no será un sustituto, será unproceso complementario Análisis estático inteligente Automatización de pruebas de seguridad
El mercado demanda conocimientos eninteligencia artificial y técnicas de machinelearning
38
Técnicas de Evaluación de Seguridad en el Software
![Page 39: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/39.jpg)
Referencias
39
Técnicas de Evaluación de Seguridad en el Software
![Page 40: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/40.jpg)
Referencias
Facebook AI tool squashing bugs is now openhttps://www.wired.com/2015/06/facebooks-ai-tool-squashing-bugs-now-open/
Inferhttp://fbinfer.com
DeepCodehttp://www.deepcode.ai
40
Técnicas de Evaluación de Seguridad en el Software
![Page 41: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/41.jpg)
Referencias
Code Phage - Automatic Error Eliminationhttps://people.csail.mit.edu/stelios/papers/codephage_pldi15.pdf
OWASPhttps://www.owasp.org
OWASP SAMMhttps://www.owasp.org/index.php/OWASP_SAMM_Project
41
Técnicas de Evaluación de Seguridad en el Software
![Page 42: Técnicas de Evaluación de Seguridad en el Software · Identificar gap entre las prácticas de la organización y las mejores prácticas de la industria 12 Técnicas de Evaluación](https://reader035.fdocumento.com/reader035/viewer/2022062601/5ba4ef7d09d3f247428bd023/html5/thumbnails/42.jpg)
Moltes gràcies !
Técnicas de Evaluación de Seguridad en el Software
Sesión S01
Vicente Aguilera Díaz
+34 93 305 13 18
@VAguileraDiaz
42