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

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.

Contenidos

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


Metodología

Metodología

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:

  • Presentación de conferencias para que analicen  los principios de seguridad Informática.
  • Revisar y evaluar los diseños de la seguridad de los programas informáticos
  • Foro analítico para revisar las técnicas de codificación
  • Clase virtual para para diferenciar los elementos de la prevención y pruebas de los programas informáticos.
  • Análisis de casos con el docente durante la sesión virtual y en los foros.
  • Exposición de dudas y de preguntas mediante el uso de correo electrónico, y la bitácora electrónica en la plataforma

Las actividades formativas independientes son las siguientes:

  • Realizar investigación bibliográfica y electrónica de los temas que se abordaran durante la asignatura, realizando fichas de trabajo, enviar por correo web.
  • Desarrollar un listado de las vulnerabilidades posibles para un programa y compartirlo en el foro.
  • Generar un programa informático tratando de evitar las diferentes vulnerabilidades mencionadas en el listado, también compartirá en el foro.
  • Desarrollar un manual de procedimientos de prevención y prueba de programas informáticos el cual compartirá en la bitácora electrónica.

En la programación semanal puedes consultar cuáles son las actividades concretas que tienes que realizar en esta asignatura.

Descarga el pdf de la programación

Estas actividades formativas prácticas se completan, por supuesto, con estas otras:

  • Estudio personal
  • Tutorías. Las tutorías se pueden articular a través de diversas herramientas y medios. Durante el desarrollo de la asignatura, el profesor programa tutorías en días concretos para la resolución de dudas de índole estrictamente académico a través de las denominadas “sesiones de consultas”. Como complemento de estas sesiones se dispone también del foro “Pregúntale al profesor de la asignatura” a través del cual se articulan algunas preguntas de alumnos y las correspondientes respuestas en el que se tratan aspectos generales de la asignatura. Por la propia naturaleza de los medios de comunicación empleados, no existen horarios a los que deba ajustarse el alumno.
  • Examen final

Puedes personalizar tu plan de trabajo seleccionando aquel tipo de actividad formativa que se ajuste mejor a tu perfil. El profesor-tutor te ayudará y aconsejará en el proceso de elaboración de tu plan de trabajo. Y siempre estará disponible para orientarte durante el curso.

Bibliografía

Bibliografía básica

Recuerda que la bibliografía básica es imprescindible para el estudio de la asignatura. Cuando se indica que no está disponible en el aula virtual, tendrás que obtenerla por otros medios: librería UNIR, biblioteca… 

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.
evaluación

Evaluación y calificación

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.

  • El examen final representa el 20% de la nota.
  • La evaluación continua representa el 80% de la nota.

La evaluación continua contemplará las actividades formativas que se describen a continuación:

Participación en sesiones de plataforma educativa

10%

Listado de vulnerabilidades

20%

Programas informáticos anti-vulnerabilidades

30%

Manual de procedimientos

20%

Examen final

20%

Total

100%

Orientaciones para el estudio

Orientación para el estudio

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:

  1. Desde el Campus virtual podrás acceder al aula virtual de cada asignatura en la que estés matriculado y, además, al aula virtual. Aquí podrás consultar la documentación disponible sobre cómo se utilizan las herramientas del aula virtual y sobre cómo se organiza una asignatura en la UNIR y también podrás organizar tu plan de trabajo personal con tu profesor-tutor.
  2. Observa la programación semanal. Allí te indicamos qué parte del temario debes trabajar cada semana.
  3. Ya sabes qué trabajo tienes que hacer durante la semana. Accede ahora a la sección Temas en el aula virtual. Allí encontrarás el material teórico y práctico del tema correspondiente a esa semana.
  4. Comienza con la lectura de los contenidos del tema. Consulta, además, las secciones del tema que contienen material complementario.
  5. Dedica tiempo al trabajo práctico (sección Actividades y Test). En la programación semanal te detallamos cuáles son las actividades correspondientes a cada semana y qué calificación máxima puedes obtener con cada una de ellas.
  6. Te recomendamos que participes en los eventos del curso (sesiones presenciales virtuales, foros de debate…). Para conocer la fecha concreta de celebración de los eventos debes consultar las herramientas de comunicación del aula vitual. Tu profesor y tu profesor-tutor te informarán de las novedades de la asignatura.
En el aula virtual del Curso de introducción al campus virtual encontrarás siempre disponible la documentación donde te explicamos cómo se estructuran los temas y qué podrás encontrar en cada una de sus secciones: Contenido teórico, + Información, Actividades y Test.

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…

  • Sea cual sea tu plan de estudio, accede periódicamente al aula virtual, ya que de esta forma estarás al día de las novedades del curso y en contacto con tu profesor y con tu profesor tutor.
  • Recuerda que no estás solo: consulta todas tus dudas con tu profesor-tutor utilizando el correo electrónico. Si asistes a las sesiones presenciales virtuales también podrás preguntar al profesor sobre el contenido del tema. Además, siempre puedes consultar tus dudas sobre el temario en los foros que encontrarás en cada asignatura (Pregúntale al profesor).
  • ¡Participa! Siempre que te sea posible accede a los foros de debate y asiste a las sesiones presenciales virtuales. El intercambio de opiniones, materiales e ideas nos enriquece a todos.
  • Y ¡recuerda!, estás estudiando con metodología on line: tu esfuerzo y constancia son imprescindibles para conseguir buenos resultados. ¡No dejes todo para el último día!