Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Calidad y Seguridad en el Desarrollo de Software
1. Calidad y Seguridad en Procesos de Desarrollo
de Software
Roger Carhuatocto <roger.carhuatocto@in2.es> IN2-Ingeniería de la Información
www.IN2.es
GOS4i / IN2, Ingeniería de la Información
GOS4i / IN2, Ingeniería de la Información – 2005
2. 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.
[2] GOS4i / IN2,Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
3. Situación actual - Análisis
• Seguridad reactiva
– Antivirus
– IDS
– Firewall
– Honeypots, etc..
• Mucho testing, pentest, análisis de vulnerabilidades, poca Ingeniería.
– El Testing de Seguridad es usado para identificar vulnerabilidades sobre Producto Final.
– Ejm: Nessus
– Se soluciona los “bugs”, no el origen de ellos
• ¿Dónde está el origen de los problemas?
– Se usa enfoque reductivo, no holístico (enfoque sistémico) al resolver el problema de Seguridad
• Debilidad en 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?
• La seguridad no se ajusta a dónde se enfocan las actuales soluciones
[3] GOS4i / IN2,Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
4. 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
[4] GOS4i / IN2,Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
5. Enfoque Sistémico: Conclusiones
• 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…
[5] GOS4i / IN2,Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
6. Campos de Acción de QA y Security
Desarrollo de
Software y Seguridad
Aplicaciones Preventiva
Sistemas de Gestión Seguridad
Lógica
Procesos Negocio
Networking, Seguridad
Sistemas e Reactiva
Infraestructura
[6] GOS4i / IN2,Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
7. Revisión del Ciclo de vida del Software
Análisis Diseño Construcción Transición
•Se define el “Qué?” •Se define el “Cómo?” •Construcción, integración y testing •A producción
•Qué aporta Seg. a Negocio? •Objetivos: •Interactivo •La seguridad aparece
•Prototipeo •Plan Operativo
•Herramientas: •Diseño de Sistema •Monitorización
•Requerimientos •Diseño de Objetos •Respuesta a incidentes
•Analisis Func y No-Func. •Diseño de Componentes
•Casos de Uso
•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
MÉTODOS, HERRAMIENTAS Y TÉCNICAS: QA & SECURITY
[7] GOS4i / IN2,Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
8. Enfoque Sistémico
• Enfoque Sistémico del Problema de la Calidad-Seguridad
en el Desarrollo de SW (Enfoque Holístico) Calidad Total
– Considerar todos los elementos: Personas, SW, HW, Forma de gestión de una organización centrada en la
Información, Red, etc. calidad basada en la participación de todos sus
– Nos centramos en el elemento que nos interesa (Diagrama miembros y que apunta al éxito a largo plazo por
deParetto). Es Software el elemento más débil? medio de la satisfacción del cliente y a proporcionar
beneficios para todos los miembros de la organización
– Análisis del Proceso de Desarrollo SW en lugar del
Producto resultante, extendible a otros elementos externos y para la sociedad.
del proceso
– El objetivo: definir acciones (seguridad preventiva) en cada
etapa del Proceso de Desarrollo de SW Ext Ext
– La Seguridad es un tipo de Calidad
• Herramientas: Proveedor Proceso Producto Cliente
– 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…
[8] GOS4i / IN2,Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
9. ROI en Security Software
[9] GOS4i / IN2,Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
10. Aplicando “Pareto”: El Software, el punto más débil
[10] GOS4i / IN2,Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
11. Metodologías y Estándares
• De Seguridad
– http://www.fistconference.org/data/presentaciones/estandaresymetodologiasdeseguridad.pdf
– Conferencias FIST, Nov. 2003 – Vicente Aceituno
• Generales
– Anexo-Estandares-QA-SEC_RCARHUATOCTO-v1.pdf
[11] GOS4i / IN2,Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
12. 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
[12] GOS4i / IN2,Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software
13. Referencias
Alan Cox on writing better software
By Basheera Khan - Thursday, 07 October 2004
http://www.pingwales.co.uk/software/cox-on-better-software.html
Dire Straits
The evolution of software opens new vistas for business... and the bad guys.
April 2004, By GARY MCGRAW & GREG HOGLUND
http://infosecuritymag.techtarget.com/ss/0,295796,sid6_iss366_art684,00.html
Introduction to Software Security
Date: Nov 2, 2001 By Gary McGraw, John Viega.
http://www.awprofessional.com/articles/printerfriendly.asp?p=23950
Centro de Desarrollo Microsoft Seguridad
http://www.microsoft.com/spanish/msdn/centro_recursos/security/default.asp
[13] GOS4i / IN2,Ingeniería de la Información – 2005 Calidad y Seguridad en Procesos de Desarrollo de Software