Upload
phunghanh
View
216
Download
0
Embed Size (px)
Citation preview
Confidential and Proprietary
SDLCTHE OWASP APPROACH
Confidential and Proprietary
SECURITY IN THE SDLC(System Development Lifecycle)
2
Confidential and Proprietary 3
Security in the SDLC
Secure
Requirements
Review
Secure Code
Review
Secure Design
Review
Penetration
testing
Requirements
Definition
Architecture
and DesignDevelopment Test Deployment
Maintenance
Confidential and Proprietary 4
Secure Code Review Process – Operational Process
Business
Requirements
& Functional
Context
Identification
of entry and
exit points
Transactional
analysis
Issue
identification
& risk rating
Identification
of potential
solutions
Executive
summary &
detailed report
Design Risk
Analysis
User Risk
Analysis
Architecture
Risk AnalysisCoding
Standards
Manual Review
Static Code
AnalysisSecurity
Metrics
Industry
Leading
Practice
Confidential and Proprietary 5
Security Requirements
¿Cuáles son los riesgos claves de seguridad dentro de la aplicación? Tipo de Información que procesa la aplicación.
Funcionalidad.
Modelamiento de casos de uso.
¿Cuáles son los estándares del grupo, requerimientos legales y regulatorios de seguridad?
¿Una vez aprobado el proyecto, desde una perspectiva de seguridad de la información, Cuáles son los requerimientos claves de seguridad a ser implementados?
Confidential and Proprietary 6
Security Architecture
Como encajar los componentes de la aplicación. Web Server.
Base de Datos.
Sistemas Operativos subyacentes.
Middleware.
Interfaces con sistemas backend.
Confidential and Proprietary 7
Security Design
El modelamiento de amenazas tiene 4 pasos importantes: Descomponer la aplicación.
Categorizar las amenazas.
Ranking de amenazas.
Mitigación.
Diseño de contramedidas para mitigar amenazas identificadas y apuntar a los requerimientos de seguridad.
Planificar la fase de pruebas de seguridad.
La resultante son las especificaciones técnicas de seguridad y los planes de pruebas de seguridad.
Confidential and Proprietary 8
SDLC Building Blocks
Supporting quotes and research.
Secure Coding Guidelines.
Secure Coding Checklist.
Non Functional Requirements.
Static Code Analysis.
Dynamic Code Analysis.
Security Awareness Training.
Threat Modeling.
Application Security Risk Matrix.
Published SDLC.
Confidential and Proprietary 9
Secure Coding Guidelines
Suele ser obviado por los desarrolladores. Considerado estático y poco útil.
Más de 100 páginas que pueden ser específicas al lenguaje.
Se pueden registrar los descubrimientos mas sorprendentes de los últimos 5 años.
Puede ser un éxito si es que se mantiene en un formato wiki/colaborativo y es regularmente actualizado.
Confidential and Proprietary 10
Secure Coding Checklist
Documento simple de 1 o 2 páginas.
Útil si se combina con una revisión de código en pareja previa al proceso de registro.
Confidential and Proprietary 11
Non Functional Requirements
El más efectivo de todos los bloques de construcción. Contenedor de otros bloques SDLC de construcción.
Puede incluir los lineamientos guía de seguridad de aplicaciones, el checklist de codificación segura, políticas de seguridad, etc.
Un NFR efectivo documentará el requerimiento y explicará porque el requerimiento es necesario.
Confidential and Proprietary 12
Static Code Analysis (SCA)
SDLC requiere SCA.
Debe pasar el criterio de aceptación para que el código pueda salir del SDLC.
Asegura a QA que el código esta listo para pruebas.
SCA puede ser integrado al proceso de construcción.
Confidential and Proprietary 13
Dynamic Code Analysis (DCA)
Busca comportamientos de aplicación no esperados.
El análisis dinámico puede hacerse varias veces durante cada iteración.
Los análisis dinámicos pueden ofrecer monitoreo 24/7.
Se amarra al proceso de administración de incidentes.
Confidential and Proprietary 14
Deployment
Asegurar que el código ha sido desarrollado seguramente y que se están implementando los controles de seguridad de la fase de diseño.
Unidad de pruebas de características de seguridad de la aplicación.
Auditorías de seguridad y revisiones de código. Estándares de codificación segura.
Herramientas de revisión de código de manera automatizada
Revisión independiente de código por parte de seguridad IT.
Confidential and Proprietary 15
Secure SDLC Cheat Sheet
OWASP esta trabajando en un documento de referencia para SDLC seguro que integra el SAMM (Software Assurance Maturity Model)
SAMM se basa en 12 prácticas de seguridad que se agrupan en 4 grupos de funciones de negocio. Cada practica de seguridad tiene una set de actividades, estructurados en 3 niveles de madurez.
La estructura y configuración del modelo de madurez SAMM esta hecho para dar soporte a: La evaluación de la actual postura de seguridad de software.
La definición de la estrategia que la organización debe tomar.
La formulación de una guía básica de implementación de como lograrlo y
Asesoramiento prescriptivo de como implementar actividades particulares.
Confidential and Proprietary 16
Referencias
Security Code Review in the SDLC:https://www.owasp.org/index.php/Security_Code_Review_in_the_SDLCOWASP.ORG
Secure Development Lifecycle:https://www.owasp.org/images/7/76/Jim_Manico_(Hamburg)_-_Securiing_the_SDLC.pdfEoin Keary & Jim Manico
Secure SDLC Cheat Sheet:https://www.owasp.org/index.php/Secure_SDLC_Cheat_SheetOWASP.ORG
Confidential and Proprietary 17