Denominación de la asignatura |
Seguridad en el Software |
Máster al que pertenece |
Máster universitario en Seguridad Informática |
Créditos ECTS |
5 |
Curso y cuatrimestre en el que se imparte |
Segundo cuatrimestre |
Carácter de la asignatura | Obligatoria |
Presentación
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.
Competencias básicas
Competencias generales
Competencias específicas
Competencias transversales
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
Tipos de S-SDLC
Metodologías y estándares
Referencias bibliográficas
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
Pruebas de penetración
Operaciones de seguridad
Revisión externa
Referencias bibliográficas
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
Referencias bibliográficas
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
Referencias bibliográficas
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 de esta asignatura 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:
Actividades Formativas |
Horas |
Sesiones presenciales virtuales | 14 |
Lecciones magistrales | 5 |
Estudio del material básico | 52 |
Lectura del material complementario | 36 |
Trabajos, casos prácticos, test | 9,5 |
Prácticas informáticas | 10 |
Test de autoevaluación | 4,5 |
Tutorías | 13 |
Trabajo colaborativo | 6 |
Total | 150 |
Bibliografía básica
Los textos necesarios para el estudio de la asignatura han sido elaborados por la UNIR y 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.
Elisan, C., Davis, M., Bodmer, S. y Lemaster, A. (2016). Hacking exposed malware & rootkits: security secrets and solutions. EE.UU.: McGraw Hill Education.
Fernández, E. (2013). Security patterns in practice: designing secure architectures using software patterns. EE.UU.: Wiley & Sons.
Gordon, A. (2015). SDLC for summies, whitehat security. EE.UU.: Wiley & Sons.
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.
Hoff, J. y Chapple, M. (2014). SDLC for dummies, whitehat security. EE.UU.: Wiley & Sons.
Hoglund, G. (2004). Exploiting software: how to break code. EE.UU.: Addison Wesley.
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.
Krassowski, A. y Meunier, P. (2008). Secure software engineering: designing, writing and maintaining more secure code. EE.UU.: Addison-Wesley.
Kenneth, R. (2017). Enterprise software security: a confluence of disciplines. EE.UU.: Addison Wesley Professional.
McGraw, G. (2005). Software Security: Building Security In. Addison Wesley Professional.
Redwine, S. (2006). Software assurance: a guide to the common body of knowledge to produce, acquire and sustain secure software version 1.1. EE.UU.: US department of homeland security.
Rival, X. (2016). Software security. Createspace independent publishing platforma. Static analysis: 23rd international symposium. Londres: Springer.
Sayed, A. (2016). Software quality assurance: integrating testing, security and audit. Reino Unido: Auerbach Publications.
Sikorki, M., and Honing, A. (2012). Practical Malware Analysis. The hans-on guide dissecting malicious software. No Starch Press.
Shostack, A. (2014). Threat modeling: designing for security. EE.UU.: Wiley & Sons.
El sistema de calificación se basa en la siguiente escala numérica:
0 - 4, 9 |
Suspenso |
(SS) |
5,0 - 6,9 |
Aprobado |
(AP) |
7,0 - 8,9 |
Notable |
(NT) |
9,0 - 10 |
Sobresaliente |
(SB) |
La calificación se compone de dos partes principales:
El examen se realiza al final del cuatrimestre y es de carácter PRESENCIAL y OBLIGATORIO. Supone el 60% de la calificación final y para que la nota obtenida en este examen se sume a la nota final, es obligatorio APROBARLO.
La evaluación continua supone el 40% de la calificación final. Este 40% de la nota final se compone de las calificaciones obtenidas en las diferentes actividades formativas llevadas a cabo durante el cuatrimestre.
Ten en cuenta que la suma de las puntuaciones de las actividades de la evaluación continua permite que realices las que prefieras hasta conseguir el máximo puntuable mencionado en la programación semanal. En ella se detalla la calificación máxima de cada actividad o evento concreto puntuables.
El sistema de evaluación de la asignatura es el siguiente:
Sistemas de evaluación y calificación |
Ponderación Mínima |
Ponderación Máxima |
Participación en foros y otros medios participativos | 0 |
10 |
Realización de trabajos, proyectos y casos prácticos | 10 |
30 |
Prácticas informáticas | 20 |
30 |
Test de autoevaluación | 0 |
10 |
Prueba de evaluación final |
60 |
60 |
Javier Bermejo Higuera
Profesor de la Escuela Superior de Ingeniería y Tecnología de UNIR. Doctor en Ingeniería de Armamento y Material. Responsable de la Unidad de Seguridad Área TICs del ITM
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:
Ten en cuenta estos consejos…
|