First OWASP DAY Chile 2010 The OWASP Foundation http://www.owasp.org Seguridad en el Ciclo de Desarrollo Alejandro Johannes M. Business Advisor Vice president Capítulo Chileno OWASP ajohannesm@gmail.com +(569)8 662 4049 OWASP Guide Temario Evolución TI en las Organizaciones Capítulo: Principios de Codificación Segura en SDLC Contexto y referencias OWASP Modelo de Protección de la Información Principios para Aplicaciones Seguras desde el Diseño Flujo Modelo Amenazas Ejemplos 2 1
OWASP Guide Guía para construir aplicaciones y servicios WEB seguros Varios editores, autores, directores de proyecto (40 aproximadamente.) Publicación gratuita y abierta a interesados en mejorar la seguridad de aplicaciones Conjunto de definiciones, alertas, vulnerabilidades y buenas prácticas. No impone, pero sugiere Copyright 2002-2005. The Open Web Application Security Project (OWASP). Todos los derechos reservados. Se concede permiso para copiar, distribuir y / o modificar este documento siempre que se incluya este aviso de derechos de autor y se mantenga la atribución a OWASP. Evolución de las TI en las Organizaciones APPLICATION & PROJECT ARCHIT. MGNT QUALITY & SERVICE PQM LEVEL APP VENDORS & OUTS. MGNT CAPACITY PLANNING TECHNICAL OPERATIONS Claramente una aplicación se encuentra en un entorno que corresponde a la realidad y nivel de madurez que tiene La Empresa en sus procesos de negocio y soporte. BUSINESS INFORMATION CONTINUITY SECURITY PLANNING PROBLEM & CHANGE INCIDENT $ Nivel de Madurez Inicial Definir Donde quiero Estar?? De Madurez De Integracion De Control Contagio Crecer en los Niveles de Madurez requiere mayores niveles de inversión de las organizaciones en TI y aceptar que ésta representa un área de soporte estratégico al Negocio Tiempo / Volúmenes Ref.: Extacto de Richard Nolan, Profesor de la escuela de negocios de Harvard 2
Capítulo: Principios de Codificación Segura en SDLC La elección de una metodología de desarrollo no es tan importante como el simple hecho de poseer una. El desarrollo Ad hoc no es lo suficiente estructurado para producir aplicaciones seguras. Elegir la metodología adecuada. Considerar: Complejidad: puede sobreburocratizar identificando demasiados roles diferentes Fuerte aceptación de diseño, testeo y documentación Espacios donde se puedan insertar controles de seguridad (tales como análisis de riesgo de amenazas, revisiones por parte de pares, revisiones de código, etc.) Que funcione para el tamaño y nivel de madurez de la organización Tenga potencial de reducir tasa actual de errores y de mejorar la productividad de los desarrolladores. Contexto y Referencias OWASP Los principios de seguridad tales como confidencialidad, integridad, y disponibilidad aunque son importantes, amplios y vagos no cambian OWASP propicia: Adoptar un Modelo de Riesgo de Amenazas: Microsoft / Trike / CVSS / AS4360 / y Octave Mejores prácticas de mercado: CobIT / ISO 27001 / ISO 17799 / PCI / SOX Una gestión organizacional que abogue por la seguridad Políticas de seguridad documentadas y apropiadamente basadas en estándares nacionales-internacionales Una metodología de desarrollo con adecuados puntos de control y actividades de seguridad Gestión segura de versiones y configuración Lograr un SDL : Security Development Lifecycle 3
ROLES Y FUNCIONES APLICA- CIONES INFORMA- INFOR- ADOPTED REVISIÓN SYSVAL MACIÓN INDEPEN- BIBLIO- USUARIOS USERS DIENTE TECAS DDM ACCESOS JOBD Y MONITOREO CLIENT ACLs ACCESS SQL FTP CONTROL CONTROL DE CAMBIOS RECURSOS Y VULNERABI- MONITOREO LIDADES RELACIÓN USUARIOS APLICA- CIONES Principios para Aplicaciones Seguras desde el Diseño Análisis de Riesgos Identificación de amenazas, revisión de pares, revisiones de código, Fuerte aceptación de diseño, testeo, Ethical Hacking, documentación, etc Clasificación de Activos: La selección de controles sólo es posible después de clasificar los datos a proteger tales como Datos, Código SW, Configuración FW Orientación arquitectura (p.ej. la capa Web no debe llamar a la base de datos directamente, Aislar Producción de Desarrollo con Firewall) Niveles mínimos de documentación requerida Requerimientos de testeo mandatorios (inspecciones, Ethical Hacking, comprobar en el tiempo Niveles mínimos de comentarios entre código y estilo de comentarios preferidos Manejo de excepciones Control de integridad del código fuente 4
Principios para Aplicaciones Seguras desde el Diseño La arquitectura de seguridad empieza el día en que se modelan los requisitos del negocio, y no termina nunca hasta que la última copia de su aplicación es retirada Seguridad por defecto (p.ej. estructura passwords, valores sistemas, continuidad operativa,..) Principio del mínimo privilegio Fallos de manera segura Los sistemas externos son inseguros: la confianza implícita de ejecutar sistemas externos, no está garantizada Segregación de Funciones: Identificar funciones sensibles No confiar la seguridad en la oscuridad, sino hacer lo contrario Incorporar bitácoras: Logs, Journals, prender los Audit journals, y disponer de un mecanismo de su revisión. Principio de NO-Repudiación Ej.: Identificación y Autenticación / Reputación / Financiero / Privacidad / Garantías, SLA / Estándares / Continuidad Operativa / Minimizar Fraudes / etc Flujo Modelo Amenazas Identificar Objetivos de Seguridad Revisión Aplicación Ej.: Servidor / Lenguaje, Motor BdD, s.o. / Router, redes / Backups, Retención, Recuperación / Autenticación / Repairs Identificar Vulnerabilidade s Descomponer Aplicación Ej.: Disponibilidad operativa / Hackers / Error digitación / Extracción Datos / Robo / Legales / Pérdida confidencialid Identificar y Documentar Amenazas 5
PLANIFICAR SEGÚN MODELO DE LOS PROCESOS DE SEGURIDAD Administración de Problemas e Incidentes Seguridad Administración Acceso Red, Mail, Internet Control Vulnerabilidades y Alertas de Mercado Control de Cambios Infor- mación Revisión Independien te y Monitoreos Administración Usuarios/Acces os Administración Acceso Físico y Control Ambiental Uso y Control Claves Privilegiadas Disponibilida d y Continuidad Operativa Ejemplo, Análisis de Protección : Usuarios VULNERABILIDADES Propietario no definido Clasificación ids por funciones Administración usuarios (password default, grupos, accesos directos, expiración, ids privilegiados) Programas con escalamiento de privilegios Etc USUARIOS CONTROLES DE PROTECCIÓN ACTIVOS DE INFORMA- CIÓN 6
Ejemplo, Análisis de Protección : Accesos VULNERABILIDADES Procedimientos y metodología (nomenclatura, clasificación, control de cambios, privilegio usuarios, revisión journals) Datos de Producción no encriptados usados en Areas de Desarrollo, Testing u otros Cxs remotas, filtros, ftp, Userids privilegiados sin control, configuración Routers Tareas programadas desprotegidas. Etc ACCESOS CONTROLES DE PROTECCIÓN ACTIVOS DE INFORMA- CIÓN Se inicia y logra con el compromiso y responsabilidad del Top Management 7
8