Software security assurance Software seguro desde el origen RISI, Walter Director IT Advisory, KPMG MANAVELLA, Nicolás Gerente IT Advisory, KPMG
Qué sucedería si los autos fuesen construidos por desarrolladores de software?
Qué sucedería si los autos fuesen construidos por desarrolladores de software? El 70% de los autos sería construido sin seguir el diseño original... el otro 30% ni siquiera tendría diseño.
Qué sucedería si los autos fuesen construidos por desarrolladores de software? El diseño del auto asumiría que la seguridad es una cuestión que debe ser resuelta por la ruta y que todos los conductores son considerados, están sobrios y son expertos al volante.
Qué sucedería si los autos fuesen construidos por desarrolladores de software? Los autos no tendrían airbags, espejos, cinturones de seguridad, puertas, barras anti-vuelco o seguros de puertas porque nadie los pidió.
Qué sucedería si los autos fuesen construidos por desarrolladores de software? Las pruebas de seguridad asumirían solamente un choque frontal no se probarían vuelcos, estabilidad, frenos, choques laterales, etc.
Qué sucedería si los autos fuesen construidos por desarrolladores de software? Muchas características originalmente incluidas en el diseño serían luego eliminadas de la versión final del auto para que no reduzcan la performance.
Qué sucedería si los autos fuesen construidos por desarrolladores de software? El único indicador de precaución del auto sería una gran cantidad de humo y llamas en la cabina.
Qué sucedería si los autos fuesen construidos por desarrolladores de software? Solamente habría una empresa de seguros para cada auto, sería extremadamente cara, requeriría un re-chequeo completo del auto y no aceptaría reclamos.
Cuándo fue la última vez que descubrió un problema de seguridad en una aplicación?
Las respuestas que en general más oímos En un Penetration Test En un Accidente En un Ataque
Cuántos pliegos de licitación de software incluyen requerimientos de Seguridad? Cuántas proyectos de desarrollo contemplan requerimientos de Seguridad?
Muy pocos! Y cuándo los incluyen, no son mucho más que El software debe cumplir con los estándares de seguridad de la compañía. El software debe ser seguro.
Cuántos arquitectos de software están formados en Seguridad?
Cuántas personas en el departamento de Seguridad Informática poseen conocimiento de desarrollo de software?
pero además Cuántos servicios / fábricas / áreas de QA realizan pruebas relacionadas con Seguridad antes de permitir el pasaje a producción de un software?
En general, pocos
El resultado No se contemplan requerimientos de seguridad. No se desarrolla contemplando necesidades de seguridad específicas (y en general, ninguna) No se realizan pruebas de seguridad durante el desarrollo. Los problemas de seguridad se descubren muy tarde.
El costo de corregirlo Dónde estaría el Pen Test periódico?
1. When first tested, more than half of all applications fail to meet acceptable security quality, and more than 8 out of 10 web applications fail OWASP Top 10 2. Cross-site scripting prevalence remains constant over time, while SQL injection is trending slightly down 3. Finance and Software industries lead the charge on holding software suppliers accountable; Aerospace and Defense are following suit 4. Most developers are in dire need of additional application security training and knowledge 5. The software industry, including security products and services, have significant gaps in their security posture Source: Veracode, SOSS Report April 2011 Survey of 4,835 applications
En 2012, KPMG UK realizó un workshop con clientes para relevar el estado del arte y las mejores prácticas.
Desafíos y Recomendaciones Políticas y Awareness
Desafíos: Políticas y Awareness Si bien la mayoría de las organizaciones tiene políticas de seguridad aún existe el desafío de llegar a políticas usables en el contexto de desarrollo de software. Otro gran desafío es lograr conciencia respecto de la seguridad más allá de las obligaciones normativas. Los Desafíos y Recomendaciones aquí descritos parten de los descritos en el estudio Secure Software Development: KPMG s recommendations for prudent practice ( 2012 KPMG UK), adaptados y enriquecidos en base a experiencias de KPMG Argentina.
Recomendaciones: Políticas y Awareness Reformular estándares de Seguridad de la Información para hacerlos aplicable al desarrollo y adquisición de software. Entrenar en Seguridad de la Información a los profesionales de software. Realizar actividades de concientización a fin de llevar la Seguridad de la Información al trabajo diario de los profesionales de software. Los Desafíos y Recomendaciones aquí descritos parten de los descritos en el estudio Secure Software Development: KPMG s recommendations for prudent practice ( 2012 KPMG UK), adaptados y enriquecidos en base a experiencias de KPMG Argentina.
Desafíos y Recomendaciones Evaluación de Riesgos
Desafíos: Evaluación de Riesgos El conocimiento sobre evaluación de riesgos (inherentes al producto) es bajo o nulo en los equipos de desarrollo de software. Por otro lado, el conocimiento sobre desarrollo de software suele ser bajo en los equipos de Seguridad de la Información y/o Riesgo. Los Desafíos y Recomendaciones aquí descritos parten de los descritos en el estudio Secure Software Development: KPMG s recommendations for prudent practice ( 2012 KPMG UK), adaptados y enriquecidos en base a experiencias de KPMG Argentina.
Recomendaciones: Evaluación de Riesgos Entrenar a los equipos de desarrollo en metodologías de modelado de amenazas y análisis de riesgo, a fin de incorporar elementos preventivos en los requerimientos, arquitectura y testing de las aplicaciones. Los Desafíos y Recomendaciones aquí descritos parten de los descritos en el estudio Secure Software Development: KPMG s recommendations for prudent practice ( 2012 KPMG UK), adaptados y enriquecidos en base a experiencias de KPMG Argentina.
Desafíos y Recomendaciones Arquitectura Empresarial
Desafíos: Arquitectura Empresarial Si bien marcos de referencia de Arquitectura Empresarial (como TOGAF) han soportado tradicionalmente la Seguridad de la Información, los mismos han tenido una adopción limitada. Desarrollar arquitecturas de referencia o adoptar marcos como los mencionados requiere un nivel importante de inversión, esfuerzo y tiempo que puede incluso ser prohibitivo. Los Desafíos y Recomendaciones aquí descritos parten de los descritos en el estudio Secure Software Development: KPMG s recommendations for prudent practice ( 2012 KPMG UK), adaptados y enriquecidos en base a experiencias de KPMG Argentina.
Recomendaciones: Arquitectura Empresarial Adoptar un conjunto de patrones de diseño seguros, así como building blocks (diseños, componentes, casos de prueba) que capturen las prácticas deseadas. Los mismos podrían no solamente utilizarse en forma in house, sino también a proveedores de desarrollo como componentes de base. Los Desafíos y Recomendaciones aquí descritos parten de los descritos en el estudio Secure Software Development: KPMG s recommendations for prudent practice ( 2012 KPMG UK), adaptados y enriquecidos en base a experiencias de KPMG Argentina.
Desafíos y Recomendaciones Herramientas
Desafíos: Herramientas Si bien existen gran cantidad de herramientas para realizar assessments de seguridad, las mismas suelen usarse en forma tardía muchas veces previo al pasaje a producción. Por otro lado, las herramientas suelen generar una cierta cantidad de falsos positivos que deben ser interpretados y filtrados por profesionales entrenados en seguridad y desarrollo de software. Los Desafíos y Recomendaciones aquí descritos parten de los descritos en el estudio Secure Software Development: KPMG s recommendations for prudent practice ( 2012 KPMG UK), adaptados y enriquecidos en base a experiencias de KPMG Argentina.
Recomendaciones: Herramientas Las herramientas pueden aprovecharse más si se utilizan en forma más temprana y como parte integral del proceso de desarrollo, que contemple requerimientos de seguridad y pruebas / verificaciones asociadas. La aplicación adecuada de las herramientas requiere, además, entrenamiento y definiciones de uso. Los Desafíos y Recomendaciones aquí descritos parten de los descritos en el estudio Secure Software Development: KPMG s recommendations for prudent practice ( 2012 KPMG UK), adaptados y enriquecidos en base a experiencias de KPMG Argentina.
Desafíos y Recomendaciones Penetration Testing
Desafíos: Penetration Testing El Pen Test es una técnica difundida, sobre todo por ser requerida por auditorías y regulaciones. Si embargo, el Pen Test se realiza mayormente en forma disociada del proceso de desarrollo y normalmente, tardía. Finalmente, cualquier forma de testing permite descubrir síntomas (no defectos) y no garantiza la ausencia de errores. Los Desafíos y Recomendaciones aquí descritos parten de los descritos en el estudio Secure Software Development: KPMG s recommendations for prudent practice ( 2012 KPMG UK), adaptados y enriquecidos en base a experiencias de KPMG Argentina.
Recomendaciones: Penetration Testing Sin dejar de realizar los Pen Tests periódicos (con foco organizacional), la incorporación de Pen Tests focalizados en el proceso de desarrollo, así como otras formas de verificación (revisión de código semi automáticas, pruebas de caja blanca) permitirían encontrar defectos en forma más temprana y resolverlos más económicamente. Los Desafíos y Recomendaciones aquí descritos parten de los descritos en el estudio Secure Software Development: KPMG s recommendations for prudent practice ( 2012 KPMG UK), adaptados y enriquecidos en base a experiencias de KPMG Argentina.
Desafíos y Recomendaciones Seguridad y Métodos Ágiles
Desafíos: Seguridad y Métodos Ágiles Aún cuando se diseñen diferentes etapas de verificación de seguridad para cada fase del ciclo de vida de desarrollo la realidad es que el ciclo de vida en cascada está en declive. Las prácticas modernas de desarrollo favorecen métodos ágiles, donde las diferentes actividades (análisis, desarrollo, testing) se realizan en forma concurrente dificultando los enfoques de verificación por cada etapa. Los Desafíos y Recomendaciones aquí descritos parten de los descritos en el estudio Secure Software Development: KPMG s recommendations for prudent practice ( 2012 KPMG UK), adaptados y enriquecidos en base a experiencias de KPMG Argentina.
Recomendaciones: Seguridad y Métodos Ágiles Incorporar estándares de seguridad en el equipo de desarrollo y revisiones continuas (manuales y automáticas). Incorporar a especialistas en seguridad al equipo (de desarrollo). Despertar conciencia de seguridad en los Product Owners, a fin de facilitar la emergencia de User Stories relacionadas con seguridad en las conversaciones con clientes. Los Desafíos y Recomendaciones aquí descritos parten de los descritos en el estudio Secure Software Development: KPMG s recommendations for prudent practice ( 2012 KPMG UK), adaptados y enriquecidos en base a experiencias de KPMG Argentina.
Y algunas recomendaciones
para empezar mañana mismo Involucrar a Seguridad de la Información en la etapa de análisis de requerimientos. Involucrar a Seguridad de la Información en la elaboración de pliegos de licitación. Definir un conjunto mínimo de estándares y pruebas de seguridad.
Conclusiones
Conclusiones El foco de la seguridad en el software sigue estando en etapas tardías en relación al desarrollo. Llevar la seguridad a etapas más tempranas permitiría una resolución más económica. En la ruta hacia la solución definitiva, participar a Seguridad de la Información en el inicio de los proyectos de desarrollo puede ser un buen comienzo.
Antes de irnos
Antes de irnos - Hola, llamamos de la escuela de su hijo estamos teniendo cierto problema informático
Antes de irnos - Oh rompió algo? - Sí, de alguna manera.
Antes de irnos - Realmente el nombre de su hijo es Robert ; DROP TABLE Students;? - Oh sí, le decimos pequeño Bobby Tables.
Antes de irnos -Bueno, hemos perdido los registros de los alumnos de este año. Espero que esté contenta. - Y yo espero que hayan aprendido a sanitizar sus inputs de base de datos!
Thank You Presentation by Walter Ariel Risi wrisi@kpmg.com.ar Nicolás Manavella nmanavella@kpmg.com.ar
2013 KPMG, una sociedad civil argentina y firma miembro de la red de firmas miembro independientes de KPMG afiliadas a KPMG International Cooperative ( KPMG International ), una entidad suiza. Derechos reservados. Tanto KPMG, el logotipo de KPMG como "cutting through complexity" son marcas comerciales registradas de KPMG International Cooperative ( KPMG International ).