Diplomado en Desarrollo seguro de software
¡Descubre nuestro diplomado! Está diseñado para profesionales comprometidos con el desarrollo de proyectos tecnológicos, líderes técnicos en TI y creadores de software.
Te proporcionaremos conocimientos y herramientas avanzadas para detectar vulnerabilidades a nivel de código y velar por la elaboración segura de un software. Únete a nosotros y destaca en un mundo digital en constante evolución, donde tu éxito se convierte en nuestra prioridad. ¡Eleva tus habilidades e inscríbete ahora!
Antecedentes Generales
El desarrollo seguro del software se ha convertido en una necesidad más que en una opción para las organizaciones, tanto públicas como privadas. Hoy en día éstas tienen que comprometerse con la experiencia de sus clientes o usuarios, para llegar al mercado de manera más ágil, más segura y con una apuesta clara por la innovación.
Entonces es esencial que los profesionales dominen las metodologías, herramientas y técnicas avanzadas para que el desarrollo seguro de software no sólo sirva proteger a los usuarios y los datos, sino también al éxito de las organizaciones en el tiempo al mantener la confianza con los clientes, cumplir con las regulaciones y minimizar los riesgos vinculados a la seguridad de la información y ataques cibernéticos.
La metodología que se utiliza combina diferentes métodos de enseñanza, con el propósito de lograr un alto nivel de aprendizaje, para lo cual se contempla lo siguiente: exposiciones conceptuales y participativas apoyadas por material audiovisual, clases interactivas, actividades aplicadas de análisis, discusión de lecturas, análisis colectivos de casos y talleres intensivos para poner en práctica las metodologías y herramientas para desarrollo seguro de software.
Todos los profesionales del mundo de las TIC y especialistas responsables por el desarrollo de software de las organizaciones, incluyen ingenieros de software, programadores, arquitectos, testers, auditores y personal de operaciones que deseen acreditar conocimiento en el ámbito de la seguridad.
Aplicar los fundamentos, técnicas y metodologías claves para el desarrollo seguro de software, identificando su impacto y ventajas a nivel tecnológico.
Licenciatura en ciencias de la ingeniería o título profesional universitario de ingeniería civil informática, civil industrial, ingeniería civil en computación.
Licenciatura o título profesional universitario en una disciplina afín a la ingeniería civil informática, ingeniería en informática.
Título técnico en una disciplina afín a la informática con experiencia laboral de al menos dos años en el área o áreas afines.
Profesionales de otras disciplinas que tengan experiencia comprobada como contraparte de equipos de TI en el desarrollo y ejecución de proyectos de desarrollo de software y/o tecnologías de la información.
Se recomienda a responsabilidad del estudiante:
– Computador conectado a internet, con un procesador compatible con virtualization de máquinas x64, desde 8 gigas de ram y al menos 100 gigas de espacio.
– Manejo del idioma inglés a nivel lectura.
Nota: la bibliografía del diplomado se encuentra mayoritariamente en inglés sin traducción al español. Por ello, es altamente recomendado que el estudiante sea capaz de leer en ese idioma.
Contenidos del Programa
Al finalizar el curso podrás:
– Comprender los conceptos fundamentales del diseño moderno y ágil de software, incluyendo metodologías ágiles, principios SOLID, patrones de diseño, refactoring, entre otros.
– Aplicar prácticas de diseño de software como Test Driven Development, patrón modelo-vista-controlador, inyección de dependencias, etc. en el desarrollo de aplicaciones.
– Utilizar patrones de diseño y de arquitectura adecuados para resolver problemas comunes en el desarrollo de software.
– Evaluar la calidad de un diseño de software existente aplicando técnicas como refactoring y limpieza de código.
Contenidos:
Unidad 1: Evolución, prácticas, herramientas y fundamentos de diseño de software
• La evolución del desarrollo de software.
• Diseño ágil de software.
• Herramientas para el modelado de software.
• Fundamentos de la orientación a objetos.
• Clean code y refactoring.
Unidad 2: Arquitectura y patrones de diseño de software
• Test driven development.
• Grasp (patrones de asignación de responsabilidad).
• Principios SOLID.
• Patrones de diseño de software.
• Principios de diseño de APIs y servicios web.
• Arquitecturas de microservicios.
Al finalizar el curso podrás:
– Identificar los fundamentos de DevOps y DevSecOps para el desarrollo seguro de software.
– Aplicar el marco de trabajo de DevOps en el mundo empresarial.
– Aplicar mejores prácticas para integrar DevSecOps en los equipos de trabajo.
– Crear un modelo de DevSecOps receptivo para facilitar el cambio.
Contenidos:
Unidad 1: Seguridad en el código y fundamentos de DevOps
• Seguridad en el código.
• Aspectos fundamentales de DevOps.
• Organización para DevOps.
• Prácticas clave para organizaciones DevOps.
• Ingeniero DevOps.
• Automatización del ciclo de despliegue.
• Ingeniero DevOps de confiabilidad de Sitio (SRE).
Unidad 2: Fundamentos de DevSecOps
• Descubriendo los resultados de DevSecOps (fundamentos).
• Definición del panorama de ciberamenazas (fundamentos).
• Integración de las partes interesadas de DevSecOps (fundamentos).
• Creación de un modelo DevSecOps receptivo (creación del modelo).
• Mejores prácticas para la integración de DevSecOps (aplicación de mejores prácticas).
• DevOps Pipelines y Continuous Compliance (integración de la seguridad de DevOps).
• Aprendiendo a usar los resultados de DevSecOps (integración de la seguridad de DevOps).
Al finalizar el curso podrás:
– Desarrollar aplicaciones seguras y robustas en Python y Angular, implementando las mejores prácticas de codificación segura.
– Mitigar debilidades comunes en el código, enfocando el trabajo en los patrones específicos de Python y Angular.
– Crear un proyecto integral que demuestra la capacidad de aplicación de técnicas de programación segura en situaciones reales.
Contenidos:
Unidad 1: Desarrollo Seguro en Python
• Fundamentos de seguridad y buenas prácticas de programación en Python.
• Vulnerabilidades y controles de seguridad en aplicaciones Python.
• Diseño y desarrollo de aplicaciones en Python que garanticen la privacidad y la seguridad de la información.
• Programación de aplicaciones en Python dando énfasis a criterios de usabilidad, robustez y eficiencia.
• Enfoques y metodologías de desarrollo y auditoria de software seguro en Python.
Unidad 2: Desarrollo seguro en Angular
• Fundamentos de seguridad y buenas prácticas de programación en Angular.
• Vulnerabilidades y controles de seguridad en aplicaciones Angular.
• Arquitectura, módulos y componentes de Angular que garanticen la privacidad y la seguridad de la información.
• Directivas, dependencias y routing en Angular, considerando metodologías de desarrollo de software seguro otorgando usabilidad, robustez y eficiencia en el producto final.
Unidad 3: Proyecto de creación de código seguro
• Planeación y diseño de un proyecto seguro.
• Implementación de medidas de seguridad.
• Revisión y auditoria de la seguridad del código.
Al finalizar el curso podrás:
– Identificar los dominios que incorpora OWASP TOP 10 para el desarrollo seguro de software.
– Identificar vulnerabilidades de aplicaciones desarrolladas en ambiente web para cada dominio de OWASP TOP 10.
– Ejecutar pruebas de concepto de explotación de vulnerabilidades a nivel de código.
– Evaluar formas de mitigación de las vulnerabilidades detectadas en el desarrollo aplicaciones web.
Contenidos:
Unidad 1: OWASP TOP 10 A01:2021 a A05:2021
• Broken Access Control.
• Crytographics failures.
• Injection.
• Insecure design.
• Security missconfiguration.
Unidad 2: OWASP TOP 10 A06:2021 A10:2021
• Vulnerable and outdated components.
• Identification and authentication failures.
• Software and data integrity failures.
• Security logging and monitoring failures.
• Server site request forgery.
Al finalizar el curso podrás:
– Utilizar herramientas y metodologías para el uso de framework MITRE ATT&CK® en el análisis para detectar debilidades de código.
– Aplicar modelos y técnicas basadas en CWE, CVSS y CAPEC.
– Aplicar metodologías de Static Application Security Testing (SAST) y Dynamic Application Security Testing DAST para el análisis de debilidades de código.
Contenidos:
Unidad 1: Modelamiento de amenazas avanzado con MITRE ATT&CK®
• Fundamento de MITRE ATT&CK Enterprise y su operación en la arquitectura tecnológica.
• Taller Modelamiento de amenazas con MITRE ATT&CK Enterprise Linux/Windows en la arquitectura tecnología.
• Taller Modelamiento de amenazas con MITRE ATT&CK Cloud en la arquitectura tecnológica.
• Taller de análisis de vulnerabilidades CVE en la arquitectura tecnológica.
Unidad 2: Análisis de debilidades de código
• Fundamentos de CWE (Debilidades de código) y CAPEC (Amenazas) en la arquitectura tecnológica.
• Taller de Static Application Security Testing (SAST) de análisis de código estático.
• Fundamentos de Dynamic Application Security Testing DAST para servicios.
• Taller de pruebas Dynamic Application Security Testing DAST para plataformas Web.
Cuerpo Docente
Jefe de Programa
Francisco Valenzuela
Profesor adjunto de la Escuela de Ingeniería UC. Director ejecutivo de CETIUC.
Julio Briones
Experiencia en seguridad de la información, ciberseguridad y continuidad operativa en el sector bancario, financiero e infraestructura crítica
Diego Espíndola
Experto en desarrollo de soluciones de software
Belisario Martinic
Experto en Mejores Prácticas para la Estrategia, Transformación, Gobierno y Gestión de TIC
Diego Cáceres Solis
Experto en Ciberseguridad, Hacking Ético y Seguridad Ofensiva