Guía docente de Diseño de Sistemas Software Seguros (M52/56/5/4)

Curso 2023/2024
Fecha de aprobación por la Comisión Académica 26/07/2023

Máster

Máster Universitario en Desarrollo del Software

Módulos

  • Diseño y Desarrollo de Servicios y Sistemas
  • Diseño y Desarollo de Servicios y Sistemas

Rama

Ingeniería y Arquitectura

Centro Responsable del título

Escuela Internacional de Posgrado

Semestre

Primero

Créditos

3

Tipo

Obligatorio

Tipo de enseñanza

Presencial

Profesorado

  • Miguel Juan Hornos Barranco
  • Carlos Rodríguez Domínguez
  • Francisco Luis Benitez Martinez

Horario de Tutorías

Miguel Juan Hornos Barranco

Email
  • Tutorías 1º semestre
    • Lunes 12:30 a 14:00 (Despacho B013 de la Fccee)
    • Martes 10:30 a 13:00 (Despacho B013 de la Fccee)
    • Miércoles 10:30 a 12:30 (Despacho B013 de la Fccee)
  • Tutorías 2º semestre
    • Miércoles 10:30 a 13:30 (Despacho 26 de la 3ª Planta de la Etsiit)
    • Jueves 10:30 a 13:30 (Despacho 26 de la 3ª Planta de la Etsiit)

Carlos Rodríguez Domínguez

Email
  • Tutorías 1º semestre
    • Martes 10:00 a 14:00 (F. Ed. y Hum. 1ª P D 36)
  • Tutorías 2º semestre
    • Martes 10:00 a 14:00 (F. Ed. y Hum. 1ª P D 36)

Francisco Luis Benitez Martinez

Email

Breve descripción de contenidos (Según memoria de verificación del Máster)

  • Fundamentos de seguridad y privacidad en sistemas software.
  • Análisis de amenazas e implementación de contramedidas.
  • Etapas en la protección de los sistemas software: Prevención, detección, respuesta y análisis.
  • Principios y buenas prácticas de diseño de software seguro.
  • Metodologías y técnicas para el desarrollo de software seguro.
  • Aplicación de tecnologías actuales (por ejemplo, Blockchain) en seguridad.

---------

  • Fundamentals of security and privacy in software systems.
  • Analysis of threats and implementation of countermeasures.
  • Stages in the protection of software systems: Prevention, detection, response and analysis.
  • Principles and good practices of secure software design.
  • Methodologies and techniques for the development of secure software.
  • Application of current technologies (for example, Blockchain) in security.

Prerrequisitos y/o Recomendaciones

Ninguno.

Competencias

Competencias Básicas

  • CB6. Poseer y comprender conocimientos que aporten una base u oportunidad de ser originales en desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación.
  • CB7. Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.
  • CB8. Que los estudiantes sean capaces de integrar conocimientos y enfrentarse a la complejidad de formular juicios a partir de una información que, siendo incompleta o limitada, incluya reflexiones sobre las responsabilidades sociales y éticas vinculadas a la aplicación de sus conocimientos y juicios.
  • CB9. Que los estudiantes sepan comunicar sus conclusiones y los conocimientos y razones últimas que las sustentan a públicos especializados y no especializados de un modo claro y sin ambigüedades.
  • CB10. Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.

Resultados de aprendizaje (Objetivos)

Conocimientos o contenidos

C08. Conoce las características principales de los sistemas del internet de las cosas, su arquitectura, los elementos que lo componen y su rol en el sistema, su capacidad de conectividad, y los requerimientos necesarios para su implementación en cuanto a la confiabilidad, rendimiento, seguridad o escalabilidad.

C011. Comprende los principios y fundamentos de diseño de software seguro, identificando las vulnerabilidades y amenazas que pueden afectar a cualquier tipo de sistema software.


Competencias

COM4. Evaluar los diferentes aspectos e implicaciones (sociales, legales, seguridad, éticos, ecológicos, etc.) que se derivan del uso de los dispositivos y plataformas IoT, interfaces hombre-máquina, entornos inteligentes e inmersivos y la transformación digital en el desarrollo de un sistema software.

COM5. Identificar y valorar las propiedades del software de usabilidad, accesibilidad, seguridad, confiabilidad, rendimiento y ética informática, entre otros, y analizar cómo afecta a la calidad de un sistema software.


Habilidades o destrezas

HD03. Aplica los modelos, métodos, técnicas, paradigmas, algoritmos, lenguajes y herramientas más apropiados para la creación, desarrollo o mantenimiento de sistemas software que cumplan con criterios de calidad, usabilidad, robustez, fiabilidad, seguridad, facilidad de implementación y despliegue en las plataformas más actuales.

HD08. Maneja metodologías, técnicas y buenas prácticas para el desarrollo de sistemas software seguros.

Programa de contenidos Teóricos y Prácticos

Teórico

  1. Fundamentos de seguridad y privacidad en sistemas software.
    • Análisis de amenazas e implementación de contramedidas.
    • Etapas en la protección de los sistemas software: Prevención, detección, respuesta y análisis.
    • Introducción al manifiesto DevSecOps: Principios y buenas prácticas de diseño de software seguro.
  2. Metodologías y técnicas para el desarrollo de software seguro.
    • Integración y despliegue continuos (CI/CD).
    • Testing continuo.
    • Logging y monitorización.
    • Auditoría y gobernanza.
  3. Aplicación de tecnologías actuales en seguridad.
    • Introducción a Blockchain y a las DLT (Distributed Ledger Technology).
    • Taxonomía del Blockchain: Amenazas y vulnerabilidades.
    • Principales arquitecturas de Blockchain y DLT. 
    • Blockchain para la seguridad y la privacidad.
    • Hacia la quinta generación de DLT: Blockchain cuántica.

---------

  1. Fundamentals of security and privacy in software systems.
    • Threat analysis and implementation of countermeasures.
    • Stages in the protection of software systems: Prevention, detection, response and analysis.
    • Introduction to the DevSecOps manifesto: Principles and good practices of secure software design.
  2. Methodologies and techniques for secure software development.
    • Continuous integration and deployment (CI/CD).
    • Continuous testing.
    • Logging and monitoring.
    • Audit and governance.
  3. Application of current technologies in security.
    • Introduction to Blockchain and DLT (Distributed Ledger Technology).
    • Blockchain taxonomy: Threats and vulnerabilities.
    • Main Blockchain and DLT architectures.
    • Blockchain for security and privacy.
    • Towards the fifth generation of DLT: Quantum Blockchain.

Práctico

  1. Desarrollo de un proyecto informático sobre la base del manifiesto DevSecOps.
  2. Implantación de AWS Security Hub.
  3. Aplicación de Blockchain y DLT a la seguridad y privacidad de los sistemas software.

---------

  1. Development of a computer project based on the DevSecOps manifesto.
  2. Implementation of AWS Security Hub.
  3. Application of Blockchain and DLT to the security and privacy of software systems.

Bibliografía

Bibliografía fundamental

  • Adkins, H., Beyer, B., Blankinship, P., Lewandowski, P., Oprea, A., & Stubblefield, A. (2020). Building Secure and Reliable Systems: Best Practices for Designing, Implementing, and Maintaining Systems. O'Reilly Media.
  • Bergh Johnsson, D., Deogun, D., & Sawano, D. (2019). Secure by Design. Manning Publications.
  • Maleh, Y., Shojafar, M., Alazab, M., & Romdhani, I. (2020). Blockchain for Cybersecurity and Privacy: Architectures, Challenges, and Applications. CRC Press.
  • Tran, D. A., Thai, M. T., & Krishnamachari, B. (2022). Handbook on Blockchain. Springer.
  • Wilson, G. (2020). DevSecOps: A leader’s guide to producing secure software without compromising flow, feedback and continuous improvement. Rethink Press.

Bibliografía complementaria

  • ACISSI, Bancal, D., Ebel, F., Vicogne, F., Fortunato, G., Beirnaert-Huvelle, J., Hennechart, J., Clarhaut, J., Schalkwijk, L., Raultré, R., Dubourg, R., Crocfer, R., Lasson, S. (2022). Seguridad informática - Ethical Hacking: Conocer el ataque para una mejor defensa (5ª edición). Ediciones ENI.
  • Bird, J. (2016). DevSecOps: Securing Software through Continuous Delivery. O'Reilly.
  • Chilamkurti, N., Poongodi, T., & Balusamy, B. (2021). Blockchain, Internet of Things, and Artificial Intelligence. CRC Press.
  • Kim, G., Humble, J., Debois, P., & Willis, J. (2021). The DevOps Handbook: How to Create World-Class Agility, Reliability, & Security in Technology Organizations (Second Edition). IT Revolution Press.
  • McGraw, G. (2018). Software Security: Building Security In. Addison-Wesley Professional.
  • Mougayar, W. (2018). La tecnología Blockchain en los negocios: Perspectivas, práctica y aplicación en Internet. Anaya Multimedia.
  • Peng, S. (2022). Blockchain for Big Data: AI, IoT, and Cloud perspectives. CRC Press.
  • Stallings, W., & Brown, L. (2018). Computer Security: Principles and Practice. Pearson.
  • Vehent, J. (2018). Securing DevOps: Security in the Cloud. Manning Publications.

Enlaces recomendados

Como apoyo a la enseñanza y aprendizaje de esta asignatura, se usará la Plataforma de Recursos de Apoyo a la Docencia (PRADO) de la Universidad de Granada: https://prado.ugr.es.

Se recomienda además la lectura de los siguientes contenidos Web:

Metodología docente

Evaluación (instrumentos de evaluación, criterios de evaluación y porcentaje sobre la calificación final.)

Evaluación Ordinaria

El artículo 18 de la Normativa de Evaluación y Calificación de los Estudiantes de la Universidad de Granada establece que la convocatoria ordinaria estará basada preferentemente en la evaluación continua del estudiante, excepto para quienes se les haya reconocido el derecho de evaluación única final.

Se realizará una evaluación continua del trabajo del estudiante, valorando tanto los conocimientos adquiridos como las competencias alcanzadas.

Todas las actividades solicitadas por el profesorado de esta asignatura tendrán un carácter obligatorio, salvo que se indique lo contrario.

 

Modalidad presencial:

Para la evaluación en modalidad presencial se tendrán en cuenta los siguientes sistemas de evaluación, indicándose entre paréntesis el rango del porcentaje con respecto a la calificación final del estudiante.

SE1. Actividades realizadas durante el desarrollo del curso mediante la entrega de ejercicios, trabajos, informes, a través de la plataforma docente (50%).

SE2. Actividades realizadas después de finalizar el curso mediante la entrega de ejercicios, trabajos, informes, a través de la plataforma docente (20%).

SE3. Presentación pública de trabajos o ejercicios (15%)

SE5. Asistencia y participación activa (15%)

Se pedirá la entrega en tiempo y forma de las actividades propuestas a través de la plataforma PRADO. 

 

Modalidad virtual:

Para la evaluación en modalidad virtual se tendrán en cuenta los siguientes sistemas de evaluación, indicándose entre paréntesis el rango del porcentaje con respecto a la calificación final del estudiante.

SE1. Actividades realizadas durante el desarrollo del curso mediante la entrega de ejercicios, trabajos, informes, a través de la plataforma docente (50%).

SE2. Actividades realizadas después de finalizar el curso mediante la entrega de ejercicios, trabajos, informes, a través de la plataforma docente (20%).

SE6. Participación activa en foros de debate o de recogida de información (15%).

SE7. Presentación pública de trabajos o ejercicios sincrónica (15%).

Se pedirá la entrega en tiempo y forma de las actividades propuestas a través de la plataforma PRADO.

Evaluación Extraordinaria

El artículo 19 de la Normativa de Evaluación y Calificación de los Estudiantes de la Universidad de Granada establece que los estudiantes que no hayan superado la asignatura en la convocatoria ordinaria dispondrán de una convocatoria extraordinaria. A ella podrán concurrir todos los estudiantes, con independencia de haber seguido o no un proceso de evaluación continua. De esta forma, el estudiante que no haya realizado la evaluación continua tendrá la posibilidad de obtener el 100% de la calificación final. 

La evaluación en tal caso consistirá en la realización de una prueba y/o trabajo, y/o las actividades propuestas en la evaluación continua.

Evaluación única final

El artículo 8 de la Normativa de Evaluación y Calificación de los Estudiantes de la Universidad de Granada establece que podrá acogerse a la evaluación única final cualquier estudiante que no pueda cumplir con el método de evaluación continua por causas justificadas.

Para acogerse a la evaluación única final, el estudiante, en las dos primeras semanas de impartición de la asignatura o en las dos semanas siguientes a su matriculación, si ésta se ha producido con posterioridad al inicio de las clases o por causas sobrevenidas, lo solicitará, a través del procedimiento electrónico, a la Coordinación del Máster, quien dará traslado al profesorado correspondiente, alegando y acreditando las razones que le asisten para no poder seguir el sistema de evaluación continua.

La evaluación en tal caso consistirá en la realización de una prueba y/o trabajo, y/o las actividades propuestas en la evaluación continua.

Información adicional

Siguiendo las indicaciones recogidas en el artículo 15 de la Normativa de Evaluación y de Calificación de la Universidad de Granada sobre la originalidad de los trabajos presentados por los estudiantes, se informa de lo siguiente:

1. La Universidad de Granada fomentará el respeto a la propiedad intelectual y transmitirá a los estudiantes que el plagio es una práctica contraria a los principios que rigen la formación universitaria. Para ello, procederá a reconocer la autoría de los trabajos y su protección, de acuerdo con la propiedad intelectual, según establezca la legislación vigente.

2. El plagio, entendido como la presentación de un trabajo u obra hecho por otra persona como propio o la copia de textos sin citar su procedencia y dándolos como de elaboración propia, conllevará automáticamente la calificación numérica de cero en la asignatura en la que se hubiera detectado, independientemente del resto de las calificaciones que el estudiante hubiera obtenido. Esta consecuencia debe entenderse sin perjuicio de las responsabilidades disciplinarias en las que pudieran incurrir los estudiantes que plagien.

3. Los trabajos y materiales entregados por parte de los estudiantes tendrán que ir firmados con una declaración explícita en la que se asume la originalidad del trabajo, entendida en el sentido de que no ha utilizado fuentes sin citarlas debidamente.