CURSO DE SEGURIDAD DEL SOFTWARE
CURSO DE SEGURIDAD DEL SOFTWARE
Curso de alta especialización impartido por profesionales del sector de ciberdefensa, pertenecientes a centros tecnológicos adscritos al Ministerio de Defensa de España y con alta experiencia internacional (OTAN y EDA).
Precio:
- COLEGIADOS: 325 € + IVA (21%)
- NO COLEGIADOS: 450 € + IVA (21%)
DESCRIPCIÓN
Acreditado por el Colegio Oficial de Ingenieros de Telecomunicación, e impartido por la Fundación In-Nova.
Actualmente las tecnologías de seguridad red pueden ayudar a aliviar los ciberataques, pero no resuelven el problema de seguridad real, pues no resuelve el problema original de las vulnerabilidades de las aplicaciones que protegen y están expuestas a los atacantes. En este contexto, se hace necesario por tanto el disponer de software seguro que funcione en un entorno agresivo y malicioso.
Este curso online comprende las técnicas y conceptos de “Seguridad del Software” necesarios para orientar el futuro aprendizaje y carrera profesional de los alumnos que los realicen. En concreto, serán capaces de realizar análisis estático y dinámico del código fuente de las aplicaciones desde el punto de vista de los errores de seguridad que se comenten a la hora de realizar su diseño y desarrollo e implantar diferentes tipos de buenas prácticas de seguridad en los ciclos de vida de desarrollo del software (SDLC) de una organización.
Dirigido a ingenieros y graduados superiores relacionados con el sector de las TIC, que necesiten incrementar su conocimiento en el área de Ciberdefensa y que deseen adquirir u obtener un marco de referencia en una de las áreas tecnológicas con más proyección del sector de la seguridad de las TIC.
MÁS INFORMACIÓN
OBJETIVOS
Objetivos:
- Comprender el problema de la Seguridad del Software.
- Conocer las principales Organizaciones y Estándares que se ocupan de la seguridad de SW.
- Estudiar los conceptos relacionados con los ciclos de vida de desarrollo del software seguros (S-SDLC) y conocimiento y comprensión de las buenas prácticas de seguridad a incluir en cada una de sus fases.
- Conocer los criterios de selección de lenguajes de programación desde el punto de vista de la seguridad.
- Estudiar los principales errores de programación que derivan en vulnerabilidades explotables relativos a
- Conocer los principales errores de programación que derivan en vulnerabilidades explotables relativos a desbordamiento de memoria, errores y excepciones, privacidad y confidencialidad, programas privilegiados, aplicaciones y servicios web y manipulación y validación de entradas.
- Saber aplicar las principales actividades de seguridad a llevar a cabo para diseñar e implementar la seguridad de una aplicación web y servicios web desplegados online, así como, las medidas monitorización, auditoría, de protección y de gestión de backups, recuperación y respuesta ante incidentes.
- Conocer las medidas de seguridad a aplicar desde la derivación de requisitos de seguridad, pasando por el diseño e implementación y pruebas de la seguridad para llegar con garantías a las operaciones de seguridad que se aplican en la fase de despliegue online de los servicios web.
Competencias:
- Poseer y comprender los conceptos relacionados con los ciclos de vida de desarrollo del software seguros (S-SDLC) y conocimiento y comprensión de las buenas prácticas de seguridad a incluir en cada una de sus fases.
- Que los estudiantes conozcan los principales errores de programación que se comente en el desarrollo de los diferentes tipos de aplicaciones y lenguajes de programación.
- Comprender los principales errores de programación que derivan en vulnerabilidades explotables relativos a integers overflows, errores de truncado y problemas con conversiones de tipo entre números enteros, aplicaciones web, privacidad y confidencialidad y programas privilegiados.
- Capacidad de analizar aplicaciones para detectar errores de diseño.
- Capacidad de realizar análisis estático de código y dinámico de aplicaciones en diferentes lenguajes de programación.
- Capacidad de llevar a cabo para diseñar e implementar la seguridad de una aplicación web y servicios web desplegados online, así como, las medidas monitorización, auditoría, de protección y de gestión de backups, recuperación y respuesta ante incidentes.
- Que el estudiante sepa aplicar medidas de seguridad desde la derivación de requisitos de seguridad, pasando por el diseño e implementación y pruebas de la seguridad para llegar con garantías a las operaciones de seguridad que se aplican en la fase de despliegue online de los servicios web.
CONTENIDO
Unidad Didáctica 1: El problema de la Seguridad en el Software
- Introducción al problema de la seguridad en el software
- Vulnerabilidades y su clasificación
- Propiedades software seguro
- Principios de diseño seguridad del software
- Amenazas a la seguridad del software
- Los pilares de la seguridad del software
- Metodologías y estándares
- Caso práctico.
Unidad Didáctica 2: Seguridad en el Ciclo de Vida del Software
- Introducción a la seguridad en ciclo de vida del software (S-SDLC)
- Seguridad en las fases del S-SDLC
- Modelado de ataques
- Casos de abuso
- Ingeniería de requisitos de seguridad
- Análisis de riesgo. Arquitectónico
- Patrones de diseño
- Pruebas de seguridad basadas en riesgo
- Revisión de código. Análisis estático
- Test de penetración
- Revisión externa
- Ejercicio práctico
Unidad Didáctica 3: Codificación Segura de Aplicaciones
- Introducción a la codificación segura
- Características de una buena implementación, prácticas y defectos a evitar
- Manejo de la entrada de datos
- Desbordamiento de buffer
- Integers overflows, errores de truncado y problemas con conversiones de tipo entre números enteros
- Errores y excepciones
- Privacidad y confidencialidad
- Programas privilegiados
- Trabajo Práctico.
Unidad Didáctica 4: Seguridad de Aplicaciones Web
- Introducción
- Arquitecturas Aplicaciones y Protocolos Web
- Seguridad de la plataforma Web
- Herramientas de interceptación de tráfico Web
- Cross-Site Scripting (XSS)
- Cross-Site Request Forgery (CSRF)
- Inyección SQL (SQLi)
- Autenticación, gestión de sesiones
- Autorización
- Guía de pruebas OWASP
- Trabajo práctico
Unidad Didáctica 5: Seguridad de Servicios WEB
- Introducción a la arquitectura y la seguridad de los servicios web
- Especificaciones y tecnologías para el diseño de la seguridad de los servicios web
- Evaluación de la seguridad de los servicios web.
- Protección online: gateways y firewalls XML.
- Trabajo práctico
Caso final integrador
Caso práctico que cada alumno realizará de forma individual tutelado y corregido por el profesor.
HERRAMIENTAS NECESARIAS PARA LAS PRÁCTICAS DEL CURSO
Para la unidad didáctica 2:
- THREAT THREAT MODELING TOOL 2016: https://www.microsoft.com/en-us/download/details.aspx?id=49168
Para la unidad didáctica 3:
Para la unidad didáctica 4:
- PLATAFORMA WINDOWS / LINUX
- OWASP ZAP https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
- WAVSEP http://sourceforge.net/projects/wavsep/files/WAVSEP-v1.5/
- APACHE TOMCAT 6.0.44 https://tomcat.apache.org/download-60.cgi
- MYSQL 5.5 https://dev.mysql.com/downloads/mysql/5.5.html
- JAVA jdk-8uXX (probado con jdk-8uXX-windows-i586) http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html
Para la unidad didáctica:
- PLATAFORMA WINDOWS
- XML GATEWAY – FIREWALL CORISECIOhttp://www.corisecio.com/
- CORISECIO XML GATEWAY :https://www.dropbox.com/s/emlnz3ufl2aak83/SOA-DEMO.zip
- CORISECIO XML FIREWALL: https://www.dropbox.com/s/pp9ntpxqgrdvy6g/ROOT.war
Para el Caso Final integrador
- PLATAFORMA WINDOWS –LINUX
- ORACLE VIRTUALBOX VM https://www.virtualbox.org/
- METASPLOITABLE VM: http://www.offensive-security.com/metasploit-unleashed/Metasploitable
- OWASP ZAP https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
- RISP STATIC ANALYIS para PHP http://rips-scanner.sourceforge.net/