Está en la página 1de 17

DIPLOMADO DE SEGURIDAD DE LA

INFORMACIÓN

MODULO III:
SEGURIDAD DE APLICACIONES Y SISTEMAS OPERATIVOS

RELATOR: IVÁN FERNÁNDEZ-DAVILA


• ACTIVIDAD CVE
• SEGURIDAD EN APLICACIONES
• CICLO DE DESARROLLO SEGURO (SDLC)
• DEVOPS – DEVSECOPS - CI/CD
• CONTROLES ADMINISTRATIVOS

• OPEN WEB APPLICATION SECURITY PROJECT (OWASP)


• TOP10
• OPC
• ASVS
• OCSS

AGENDA DE HOY
ACTIVIDAD
• CUAL PROCESO SE UTILIZA? CASCADA VS AGILE
• PERMITE IDENTIFICAR A LOS ACTORES
• CONTROLES AUTOMÁTICOS VS MANUALES

• EL PROCESO Y LA SEGURIDAD
• REQUISITOS
• IDENTIFICAR LOS DATOS INVOLUCRADOS
• DISEÑO
• ARQUITECTURA DE INFRAESTRUCTURA Y DE APLICATIVO
• CIFRADO DE TRANSPORTE Y DE DATOS
• VERSIONES DE SOFTWARE A UTILIZAR
• DESARROLLO
• EDUCAR A LOS DESARROLLADORES
• PENTESTING (MANUAL O AUTOMATIZADO)
• TESTING
• UTILIZAR DATA TOKENIZADA (NO PRODUCTIVA)
• DESPLIEGUE
• REQUISITOS DE LA GESTIÓN DE CAMBIOS (PENTESTING, EH, OTROS)

SEGURIDAD EN APPS :: CICLO DE DESARROLLO


• DEVELOPMENT AND OPERATIONS (DEVOPS)
• LOS NUEVOS SYSADMIN, ENTREGAN VALOR Y RAPIDEZ AL
DESARROLLO DE LAS APPS
• PROGRAMAN Y HACE MEJORA CONTINUA DEL PIPELINE
• DEV-SECURITY-OPS (DEVSECOPS)
• IMPLEMENTA CONTROLES DE SEGURIDAD EN EL PIPELINE
• CONTINUOUS INTEGRATION (CI)/CONTINUOUS DELIVERY (CD)
• AUTOMATIZACIÓN DE LAS ETAPAS DE DESARROLLO Y DESPLIEGUE
• CONTROLES ESTÁTICOS (SAST)
• REVISIÓN WHITE BOX DEL CÓDIGO (IE: OWASP)
• SE REALIZA DURANTE EL DESARROLLO (CODE)
• MAYOR ALCANCE DE LENGUAJES DE PROGRAMACIÓN
• CONTROLES DINÁMICOS (DAST)
• REVISIÓN BLACK BOX SOBRE EL APLICATIVO EN EJECUCIÓN
• SE REALIZA HACIA EL FINAL DEL DESARROLLO
• MAYORMENTE ENFOCADO EN APLICACIONES WEB Y W.SERVICES

SEGURIDAD EN APPS :: CI/CD – DEVOPS- DEVSECOPS


 Open Web Application Security Project
 Owasp.org, organización sin fines de lucro
 Su objetivo es mejorar la seguridad del software
 Auspicia proyectos, chapters y educación

Algunos proyectos:
 Proyecto Top Ten
 Proyecto Defectdojo
 Proyecto ZAP
 Proyecto Cheat Sheet Series
 Proyecto Web Security Testing Guide (WSTG)
 Proyecto OWTF

Ver https://owasp.org/projects/

OWASP :: FOUNDATION
 Proyecto OWASP TOP10
 Continuamente identifica los vectores de ataques más recurrentes,
siendo un semáforo para la industria donde poner los esfuerzos
(OWASP TOP10 2017)

 TOP1: Injection  TOP6: Security Misconfiguration


 TOP2: Broken Authentication  TOP7: Cross Site Scripting
 TOP3: Sensitive Data Exposure  TOP8: Insecure Deserialization
 TOP4: XML External Entities  TOP9: Using Components with Know Vuls
 TOP5: Broken Access Control  TOP10: Insufficient Logging And Monitoring

OWASP :: TOP TEN


 TOP1: Injection  TOP2: Broken Authentication
 Sustituir código en consultas/comandos, por ejemplo, SQL:
 Datos de usuario/comprometidos (Fuerza
Browser: http://mipagina/pagina.php?IDN=‘ or ‘1’=‘1 bruta/Diccionario/Sesiones que no expiran/Otros)

Php: $query = “select * from alumnos where nombre =“.$_GET[“IDN”].”’”; John the Ripper:

 Prevención  Prevención
 Usar POST en vez de GET  Proteger archivos de password (ie: /etc/shadow)
 Normalizar las entradas:  Utilizar cifrado fuerte (AES256 o superior)
$stmt=$conn.prepare(“select * from alumnos where nombre = ‘?’”);  Poner expiración a cookies de session (15min)
$stmt=bind_param(‘s’, $_GET[“IDN”]);
 Cifrar transporte (TLS 1.2 o superior)

OWASP :: TOP TEN 1 Y 2


 TOP3: Sensitive Data Exposure  TOP4: XML External Entities (XXE)
 Ex filtración de datos, intencional o por descuido  Exposición de datos del aplicativo/sistema por el uso de
librerías/validadores obsoletos/deprecados.

 Prevención  Prevención
 Cifrar/tokenizar datos almacenados (AES256, FPE)  Actualizador librerías procesadoras de XML
 Cifrar datos en transporte (SCP, TLS 1.2)  Utilizar SAST para detectar posible XXE
 Si no se guarda, no se puede exponer  Validar y/o normalizar XMLs o utilizar whitelisting para fuentes
 WAF/Virtual Patching

OWASP :: TOP TEN 3 Y 4


 TOP5: Broken Access Control  TOP6: Security Misconfiguration
 Permisos de Roles/Usuarios autenticados mal configurados
 Hardening inexistente o mal aplicado/mantenido

 Prevención  Prevención
 Aplicar regla-0 (Zero Trust)  Definir y aplicar hardening o líneas base, actualizarlas
regularmente
 Asignar permisos basados en roles
 Diseñar con Defense-in-Depth
 Mantener permisos roles monitoreados
 Revisar regularmente las reglas de firewall
 Mantener usuario asignados a roles monitoreados y su actividad
 Utilizas Security Headers (Content-Security-Policy, X-XSS-
 Poner expiración a cookies de sesión (15min) Protection, X-Frame-Options, Strict-Transport-Security). Ver
OWASP Security Headers

OWASP :: TOP TEN 5 Y 6


 TOP7: Cross Site Scripting (XSS)  TOP8: Insecure Deserialization
 Control de código/input de usuario incorrecto
 Ejecución de programas o instrucciones en el host remoto

https://www.youtube.com/watch?v=QQxBukCSW8E

 Prevención  Prevención
 Usar frameworks de desarrollo que escapan XSS por diseño (Ruby
 Realizar deserialización en ambientes con mínimo privilegio
on Rails, React JS, otros)
(Docker, Kubernetes)
 Utilizar Content-Security-Policy (CSP) y X-XSS-Protection
 Implementar firma criptográficas en la deserialización
 WAF (CloudFlare, ModProbe Security, Akamai)
 Utilizar fuentes en formatos JSON o YAML y no en formato
 Ver OWASP Cheat Sheet XSS binario

OWASP :: TOP TEN 7 Y 8


 TOP9: Using Components with Know Vuls  TOP10: Insufficient Logging & Monitoring
 Utilizar librerías, software, frameworks susceptibles a ataques  Eye of the beholder

 Prevención  Prevención
 Mantener un inventario actualizado de las versiones de software  Tener un monitoreo higienico (actividad de usuarios y puntos
utilizadas de la red)

 Ejecutar programas Dependency Check como Retire.js  Mantener NTP sincronizado

 Utilizar librerías, frameworks y programas de fuentes oficiales  Proteger los logs de auditoría

 Gestión de Vulnerabilidades  Tener un CSIRT y plan de incidentes

OWASP :: TOP TEN 9 Y 10


 Los desarrolladores deben
 Practicar el desarrollo seguro y mantenerse al corriente de las nuevas tendencias
 Ser respaldados por la organización para la cual codifican
 Tener en mente el stack completo (Front, App, UX, Database) y las técnicas de desarrollo seguro

 OPC
 Entrega directrices que todo proyecto de desarrollo de software debería seguir

1. Definir requisitos de seguridad 6. Implementar una identidad digital


2. Mantener librerías y frameworks seguros 7. Exigir controles de acceso
3. Asegurar el acceso a la base de datos 8. Proteger los datos en cualquier lado
4. Codificar y escapar los datos 9. Implementar Logging y Monitoreo
5. Validar todas la entradas 10. Manejar errores y excepciones

https://owasp.org/www-project-proactive-controls/

OWASP :: PROACTIVE CONTROLS (OPC)


 ASVS v4.0.2
 Define 3 niveles
 Cada nivel tiene foco en diferentes tipos de aplicaciones y debe
cumplir un grupos de requisitos mínimo

1. Leve 1: Se enfoca en implementar OWASP Top10


(mejores prácticas)
2. Level 2: Orientado a la protección de datos sensibles de
la organización, protegiéndolos de ataques más
sofisticados
3. Level 3: Enfocado en aplicaciones criticas que pueden tener impacto en la vidas de las personas,
infraestructuras críticos o aplicaciones militares

https://owasp.org/www-project-application-security-verification-standard/

OWASP :: APPLICATION SECURITY VERIFICATION STANDARD (ASVS)


 OCSS
 Guías practicas para desarrolladores y gente de seguridad
 Destacan por su simplicidad, lenguaje conocido e integración al BAU

https://cheatsheetseries.owasp.org/

OWASP :: CHEAT SHEET SERIES (OCSS)


• NIST Secure Software Development Framework (SSDF) https://csrc.nist.gov/Projects/ssdf
• Agile https://plan.io/blog/what-is-agile-project-management/
• DevOps https://aws.amazon.com/devops/what-is-devops/ y https://devops.com/code-
security-sast-shift-left-devsecops-and-beyond/
• DevSecOps & pipelines https://medium.com/swlh/enable-security-into-ci-cd-pipeline-with-
devsecops-9370c93d87a1

• OWASP Top10 https://owasp.org/www-project-top-ten/


• Herramienta SAST https://find-sec-bugs.github.io/ y https://www.sonarqube.org/
• Herramientas DAST https://www.arachni-scanner.com/# y https://owasp.org/www-
project-zap/
• W3School SQL Injection https://www.w3schools.com/sql/sql_injection.asp
• John The Ripper https://www.openwall.com/john/doc/
• XSS https://owasp.org/www-community/attacks/xss/

REFERENCIAS
• 9 Best DevSecOps Tools To Integrate Throughout The DevOps Pipeline:
https://www.whitesourcesoftware.com/resources/blog/devsecops-
tools/#Codacy
• Desarrollo Seguro: https://www.youtube.com/watch?v=oi6p7UjMjAM

REFERENCIAS

También podría gustarte