GOS4i + IN2- Ingeniería de la Información – 2005
IN2- Ingeniería de la Informaciónwww.IN2.es
Grupo Open Source para la Integración de Tecnología
Calidad y Seguridad en Procesos de Desarrollo de Software
Roger Carhuatocto roger.carhuatocto [ AT ] in2.es
V1.0 - 18.Marzo.2005
[2] GOS4i + IN2- Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
Objetivos
• Reflexión sobre problema de la seguridad en las organizaciones y cómo se están resolviendo.
• Énfasis en el Proceso de Desarrollo de Sofware (Preventivo)• Énfasis en las metodologías de aseguramiento de la calidad y seguridad en procesos
de desarrollo de software como actividad preventiva.
[3] GOS4i + IN2- Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
Situación actual Análisis
• Inseguridad• Seguridad reactiva
– Antivirus– IDS– Firewall– Honeypots, etc..
• El Testing de Seguridad es usado para identificar vulnerabilidades sobre Producto Final.
• Se soluciona los “bugs”, no el origen de ellos• ¿Dónde está el origen?
[4] GOS4i + IN2- Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
Definimos la Problemática
• El Sistema de Gestión de Seguridad– Personas– Software, Hardware y otro tipo de infraestructura– Procesos de Negocio– Información
• ¿Cuál es el elemento más débil?• ¿A dónde se enfocan las actuales soluciones?• Aplicar Paretto 80%20%
[5] GOS4i + IN2- Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
Replanteando el problema – Enfoque Sistémico
• Busquemos el Origen del Problema de la Seguridad• Usar un nuevo enfoque.• Enfoque Sistémico del Problema de la Seguridad (Enfoque Holístico)
– Considerar todos los elementos: Personas, SW, HW, Información, Red, etc.– Nos centramos en el elemento que nos interesa, el Software. Es el elemento más débil?– Análisis del Proceso de Desarrollo SW en lugar del Producto resultante– Definir acciones(seguridad preventiva) en cada etapa del Proceso de Desarrollo de SW
[6] GOS4i + IN2- Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
Enfoque Sistémico al Problema de Seguridad Conclusión
• Sólo estamos tomando acciones preventivas sobre el producto final (testing de seguridad)
• Estamos descuidando la seguridad en otras etapas del Desarrollo de SW• Existen elementos externos al proceso de Desarrollo de SW que se deben
considerar, ellos proporcionan ayuda en la prevención:– Sistemas de Gestión de la Calidad– Otros procesos de negocio (no de Desarrollo de SW) como Atención al Cliente,
Facturación, Contabilidad, etc.– Recomendaciones y Metodologías– Herramientas y Técnicas
• Bugtracking• CVS• Wiki• Nmap, Nessus, etc….• Testing tools, etc…
[7] GOS4i + IN2- Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
Campos de Acción de QA y Security
SeguridadPreventiva
Seguridad Reactiva
Seguridad Lógica
Desarrollo de Software y
Aplicaciones
Networking, Sistemas e Infraestructura
Sistemas de GestiónProcesos Negocio
[8] GOS4i + IN2- Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
Revisión del Ciclo de vida del Software
Análisis Diseño TransiciónConstrucción
•Se define el “Cómo?”•Objetivos:
•Prototipeo•Diseño de Sistema•Diseño de Objetos•Diseño de Componentes
•Herramientas: •CRC Cards:
•Class, Responsibility, Collaboration•Diagrama de Secuencias y Clases•Definición Servicios Comunes:
•Logging, Security, Exception, Etc.•Modelamiento de Amenazas por Casos de Uso•Patrones de Diseño Funcional•Patrones de Diseño de Seguridad (por Amenazas)
•Input Validator Pattern•Aspect Oriented Programming•Exception Manager Pattern•Secure Logger Pattern
•Construcción, integración y testing•Interativo
•A producción•La seguridad aparece•Plan Operativo•Monitorización•Respuesta a incidentes
•Se define el “Qué?”•Qué aporta Seg. a Negocio?
•Herramientas: •Requerimientos•Analisis Func y NoFunc.•Casos de Uso
[9] GOS4i + IN2- Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
Ciclo de vida de los IDS (es reactivo!)
Pentest Vulnerability detection
Exploit Attack pattern
Integrate in IDS
The learning process = Four days (aprox.)
[10] GOS4i + IN2- Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
Evolución de la Gestión de la Calidad Inspección• Separación, después de la producción, de los productos
defectuosos de los no defectuosos.• Buscar la ausencia de defectos.• Auditoria final, reuniones para solucionar defectos.
Control de Proceso• Anticipación dentro de los procesos de desarrollo.• No se espera al final de la cadena de producción.• Se introduce el concepto de proceso.
Gestión Integral de la Calidad• la Calidad debe abarcar a todas las áreas de las empresa que
intervienen en la realización del producto.
Calidad Total• Forma de gestión de una organización centrada en la calidad
basada en la participación de todos sus miembros y que apunta al éxito a largo plazo por medio de la satisfacción del cliente y a proporcionar beneficios para todos los miembros de la organización y para la sociedad.
P
P
P
P
[11] GOS4i + IN2- Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
Técnicas más usadas para explotar vulnerabilidades
[12] GOS4i + IN2- Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
Origen de las Vulnerabilidades por Aplicación
[13] GOS4i + IN2- Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
Predicciones en Software Security
[14] GOS4i + IN2- Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
Origen de Defectos en SW – No es código!!
[15] GOS4i + IN2- Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
ROI en Security Software
[16] GOS4i + IN2- Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
Metodologías y Estándares
• De Seguridad– http://www.fistconference.org/data/presentaciones/estandaresymetodologiasdeseguridad.pdf – Conferencias FIST, Nov. 2003 – Vicente Aceituno
• Generales– AnexoEstandaresQASEC_RCARHUATOCTOv1.pdf
[17] GOS4i + IN2- Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
Conclusiones Finales
• Enfoque Sistémico (Holísitico)• Aplicable a todo el proceso de desarrollo de SW,
incluye a la etapa de toma de requerimientos• Usar Metodologías y Estándares de propósito
general y de seguridad
[18] GOS4i + IN2- Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
Dire StraitsThe evolut ion of sof tware opens new vistas for business... and the bad guys.April 2004, By GARY MCGRAW & GREG HOGLUNDhttp:/ / infosecuritymag.techtarget.com/ ss/ 0,295796,sid6_iss366_art684,00.html
Introduct ion to Software SecurityDate: Nov 2, 2001 By Gary McGraw, John Viega.ht tp:/ / www.awprofessional.com/ art icles/ printerf riendly.asp?p= 23950
Centro de Desarrollo Microsoft Seguridadhttp:/ / www.microsoft .com/ spanish/ msdn/ centro_recursos/ security/ default .asp
Alan Cox on writ ing better sof tware By Basheera Khan - Thursday, 07 October 2004http:/ / www.pingwales.co.uk/ sof tware/ cox- on- better- sof tware.html
Referencias