Denominación de la asignatura |
Diseño y Desarrollo de Programas Informáticos Seguros |
Máster al que pertenece |
Maestría en Seguridad Informática |
Créditos ECTS |
6 |
Semestre en el que se imparte |
Segundo semestre |
Actualmente las tecnologías de seguridad red pueden ayudar a aliviar los ciberataques, pero no resuelven el problema de seguridad real pues las aplicaciones 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. La asignatura se ha dividido en cuatro temas el primero tiene como objetivo el introducir principales conceptos que abarca la seguridad del software, en cuanto a los beneficios que produce, su importancia en la seguridad global de un sistema, las propiedades de un software seguro, los ataques a los que se tiene que enfrentar y las metodologías aplicables a los procesos de desarrollo seguro de software.
El segundo aborda la necesidad de incluir en las organizaciones un proceso sistemático o disciplina que aborde la seguridad en todas las etapas del ciclo de vida de desarrollo del software que incluya una serie de buenas prácticas de seguridad (S-SDLC) como especificación requisitos seguridad casos de abuso, análisis de riesgo, análisis de código, pruebas de penetración dinámicas, modelado de amenazas, operaciones de seguridad y revisiones externas, necesarias para asegurar la confianza y robustez del mismo, para conseguir software confiable.
En el tercero, mas de carácter técnico, se explican los defectos más comunes que se pueden cometer al codificar en lenguajes como C y Java y una serie de recomendaciones a tener en cuenta a la hora de de desarrollar software, tanto de buenas como de malas prácticas. Y por último en el cuarto se introducen técnicas análisis y reingeniería de malware aplicadas al análisis de malware para poder comprender el funcionamiento del código malicioso (troyanos, virus, rootkits, etc.), evaluar los daños causados y valorar las intenciones y capacidades del atacante de una manera sistemática y metodológica.Tema 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
Tipos de S-SDLC
Los pilares de la seguridad del software
Metodologías y estándares
Tema 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
Test de penetración
Operaciones de seguridad
Revisión externa
Tema 3. Codificación segura
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
Tema 4. Análisis de malware
Introducción al malware
Tipos de malware
Obtención del malware
Entorno y herramientas análisis de malware
Metodología de análisis de malware
Las actividades formativas de la asignatura se han elaborado con el objetivo de adaptar el proceso de aprendizaje a las diferentes capacidades, necesidades e intereses de los alumnos.
Las actividades formativas con el docente son las siguientes:
Las actividades formativas independientes son las siguientes:
En la programación semanal puedes consultar cuáles son las actividades concretas que tienes que realizar en esta asignatura.
Estas actividades formativas prácticas se completan, por supuesto, con estas otras:
Bibliografía básica
Los textos necesarios para el estudio de la asignatura están disponibles en formato digital para consulta, descarga e impresión en el aula virtual.
Bibliografía complementaria.
Allen, J. H., Barnum, S., Ellison, R. J., McGraw, G., and Mead, N. R. (2008). Software Security Engineering: A Guide for Project Managers. Addison Wesley Professional.
Chess, B., and West, J. Secure Programming with Static Analysis. Addison-Wesley Software Security Series.
Davis, M., Bodmer, S., and Lemasters. A. (2010). Hacking Exposed™ Malware & Rootkits: Security Secrets & Solutions. McGraw-Hill.
Graff, M. G., and van Wyk, K. R. (2003). Secure Coding: Principles & Practices. O'Reilly.
Gregg, M. (2008). Build Your Own Security Lab: A Field Guide for Network Testing. Wiley Publishing, Inc.
Hale Ligh, M., Adair, S., Hartstein, B. and Richard, M. (2011). Malware Analyst’s Cookbook and DVD. Tools and Techniques for Fighting Malicious Code. Wiley Publishing, Inc.
Howard, M., and LeBlanc, D. (2003). Writing Secure Code. Microsoft Press.
Howard, M., and Lipner, S. (2006). The Security Development Lifecycle: SDL: A Process for Developing Demonstrably Secure Software. Microsoft Press.
McGraw, G. (2005). Software Security: Building Security In. Addison Wesley Professional.
Sikorki, M., and Honing, A. (2012). Practical Malware Analysis. The hans-on guide dissecting malicious software. No Starch Press.El sistema de calificación se basa en la siguiente escala numérica:
0 - 6, 9 |
No Acreditada |
(NA) |
7,0 - 7,4 |
Suficiente |
(S) |
7,5 - 8,4 |
Regular |
(R) |
8,5 - 9,4 | Bien | (B) |
9,5 - 10 |
Muy bien |
(MB) |
Las asignaturas se evaluarán mediante dos criterios: una prueba final y la evaluación continua.
La evaluación continua contemplará las actividades formativas que se describen a continuación:
Participación en foros de debate |
10% |
Comparación de software |
20% |
Metodología de modelado de amenazas |
20% |
Análisis de malware |
30% |
Examen final |
20% |
Total |
100% |
Obviamente, al tratarse de formación online puedes organizar tu tiempo de estudio como desees, siempre y cuando vayas cumpliendo las fechas de entrega de actividades, trabajos y exámenes. Nosotros, para ayudarte, te proponemos los siguientes pasos:
Recuerda que en el aula virtual del Curso de introducción al campus virtual puedes consultar el funcionamiento de las distintas herramientas del aula virtual: Correo, Foro, Sesiones presenciales virtuales, Envío de actividades, etc.
Ten en cuenta estos consejos…
|