Última revisión realizada: 30/3/2022

Denominación de la asignatura: Seguridad en Aplicaciónes Online
Titulación a la que pertenece: Maestría en Ingeniería de Software y Sistemas Informáticos
Créditos ECTS: 3
Ciclo en mapa curricular ideal: Segundo cuatrimestre
Carácter de la asignatura: Obligatoria

Presentación

En esta asignatura se abordan las actividades a realizar para obtener una seguridad lo más óptima posible de una aplicación desplegada en onlineLas aplicaciones web y servicios web desplegados en las intranets de las organizaciones y en Internet suponen un amplio porcentaje del total de las aplicaciones. Debido a este hecho, este tema se centra en las medidas a adoptar para proteger estas aplicaciones ya que los problemas de seguridad de las aplicaciones no-web son un subconjunto, en mayor o menor medida, de los problemas de las aplicaciones web. El tercer tipo de aplicaciones en auge son las aplicaciones móviles donde el cliente es un smartphone, teléfono móvil, tableta, portátil, etc. Los ataques a dispositivos móviles están creciendo en la medida que aumenta el uso de las aplicaciones móviles (m-commerce) para banking, compras, etc. que se pueden utilizar desde ellos. La arquitectura de estas aplicaciones móviles es similar a la de las aplicaciones web. La mayor diferencia está en el canal de comunicación y la forma de proveer comunicación segura.

El grado de seguridad online alcanzado por una aplicación está en función de cómo se llevaron a cabo las actividades de seguridad correspondientes  a cada una de las fases del ciclo de vida de desarrollo seguro de software. Estas actividades comienzan en la definición y derivación de requisitos de seguridad en base al riesgo analizado, continúan con la implementación de código con prácticas seguras de programación en paralelo con el análisis de la seguridad de código de forma manual o semi-automática, las pruebas funcionales de la seguridad y de test de penetración en fase de pruebas y en la fase de despliegue con implementaciones seguras de las configuraciones, monitorización continua, medidas de protección, backuprecuperación gestión ante incidentes de seguridad perfectamente planificadas y probadas.

Tema 1. Seguridad en aplicaciones online: introducción

  • Introducción y objetivos
  • Arquitectura de las aplicaciones online
  • Vulnerabilidades de diseño
  • Vulnerabilidades de implementación
  • Vulnerabilidades de operación
  • Listas oficiales de vulnerabilidades
  • Referencias bibliográficas

Tema 2. Políticas y estándares para la seguridad de las aplicaciones online

  • Introducción y objetivos
  • Política de seguridad
  • Sistema de Gestión de Seguridad de la Información
  • Ciclo de vida de desarrollo seguro de software
  • Monitorización continua
  • Estándares para la seguridad de las aplicaciones
  • Referencias bibliográficas

Tema 3. Vulnerabilidad de seguridad en aplicaciones web

  • Introducción y objetivos
  • A1:2017: Inyección
  • A2:2017: Pérdida de Autenticación y sesiones
  • A3:2017: Exposición de datos sensibles
  • A4: 2017: Entidad externa XML
  • A5: 2017: Violación del control de acceso
  • A6: 2017: Configuración de seguridad incorrecta
  • A7: 2017: Secuencia de comandos en sitios cruzados (XSS)
  • A8: 2017: Deserialización insegura
  • A9: 2017: Uso de componentes con vulnerabilidades conocidas
  • A10: 2017: Registro y monitorización insuficientes
  • OWASP Top Ten 2013: Otras vulnerabilidades importantes
  • Referencias bibliográficas

Tema 4. Seguridad en el diseño de las aplicaciones web

  • Introducción y objetivos
  • Autenticación
  • Gestión de sesiones
  • Autorización
  • Cabeceras de seguridad HTTP
  • Seguridad en aplicaciones RIA
  • Referencias bibliográficas

Tema 5. Seguridad en el desarrollo de las aplicaciones web

  • Introducción y objetivos
  • Principios del desarrollo seguro
  • A1:2017: Inyección 17
  • A2:2017: Pérdida de autenticación y sesiones
  • A3: 2017: Exposición de datos sensibles
  • A4: 2017: Entidad externa XML
  • A5: 2017: Violación del control de acceso
  • A6: 2017: Configuración de seguridad incorrecta
  • A7: 2017: Secuencia de comandos en sitios cruzados (XSS)
  • A8: 2017: Deserialización insegura
  • A9: 2017: Uso de componentes con vulnerabilidades conocidas
  • A10: 2017: Registro y monitorización insuficientes
  • OWASP Top Ten 2013: Otras vulnerabilidades importantes
  • Referencias bibliográficas

Tema 6. Pruebas y seguridad online de las aplicaciones web

  • Introducción y objetivos
  • Análisis de la seguridad de las aplicaciones web
  • Análisis de seguridad estático de código fuente SAST
  • Análisis funcional de seguridad + Análisis dinámico DAST-IAST
  • Seguridad en fase de producción online
  • 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:

  • Trabajos individuales. Se trata de actividades de diferentes tipos: reflexión, análisis de casos, prácticas, análisis de textos, etc.
  • Trabajos colaborativos. Son actividades grupales en las que tendrás la oportunidad de trabajar con tus compañeros. Durante el desarrollo de la asignatura tendrás toda la información que necesites sobre cómo organizarte para trabajar en equipo.
  • Participación en eventos. Son actividades programadas todas las semanas del cuatrimestre, como clases en directo o foros de debate.
Descargar 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 online

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 han sido elaborados por UNIR y están disponibles en formato digital para consulta, descarga e impresión en el aula virtual.

Bibliografía complementaria

  • Ajax frente al esquema tradicional de aplicaciones web. Recuperado (30 de abril de2015) en, http://www.adaptivepath.com/ideas/ajax-new-approach-web-applications
  • Bug Bounty Hunting for Web Security: Find and Exploit Vulnerabilities in Web sites and Applications, Sanjib Sinha Apress; 1st ed. edición (13 noviembre 2019), ISBN-10: 1484253906, ISBN-13: ‎ 978-1484253908
  • Cannings, R., Dwivedi, H. y Lackey, Z. (2008). Hacking exposed web applications. Web 2.0. Estados Unidos: McGraw Hill.
  • Chess, B. y West, J. (2007). Secure programming with static analysis. Estados Unidos: Pearson Education.
  • Cheswick, W. R., Bellovin, S. M. y Aviel, R. (2003). Firewalls and Internet security repelling the wily hacker. Estados Unidos: Pearson.
  • Connolly, G. M., Akin, M., Goyal, A., Howlett, R. y Perrins, M. (2008). Building dynamic Ajax applications using websphere feature pack for web 2.0. Estados Unidos: IBM Redbooks.
  • Dowd, M., McDonald, J. y Schuh, J. (2006). The art of software security assessment: identifying and preventing software vulnerabilities. San Francisco: Addison Wesley.
  • FLASH. Recuperado (30 de abril de 2015) en, http://www.adobe.com/es/products/flash-builder.html
  • Graff, M. (2001). Secure coding. The state of the practice. Recuperado (30 de abril de 2015) en, http://www.securecoding.org/authors/articles/may202003/
  • Http basic and digest authentication. Recuperado (30 de abril de 2015) en, https://www.ietf.org/rfc/rfc2617.txt
  • JSON. Recuperado (30 de abril de 2015) en, http://json.org/json-es.html
  • Mitre CAPEC. Recuperado (30 de abril de 2015) en, https://capec.mitre.org/data/definitions/111.html
  • Mitre CWE. Recuperado (30 de abril de 2015) en, https://cwe.mitre.org/
  • Moeller, J. P. (2016). Security for web developers: using javascript, HTML and CSS. O’Reilly Media, Sebastopol.
  • OWASP top ten. Recuperado (30 de abril de 2015) en, https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
  • Protocolo http rfc 2616. W3 consortium. Recuperado (17 de abril de 2015) en, http://www.w3.org/Protocols/rfc2616/rfc2616.html
  • OWASP Testing Guide v4.2. December 2020. https://owasp.org/www-project-web-security-testing-guide/v42/
  • OWASP PROACTIVE SECURITY CONTROLS.  Recuperado el 23 de junio de 2021 de: https://www.owasp.org/index.php/OWASP_Proactive_Controls
  • OWASP Application Security Verification Standard, 2020, https://owasp.org/www-project-application-security-verification-standard/.
  • Same origin policy. Recuperado (30 de abril de 2015) en, http://notasjs.blogspot.com.es/2013/09/politica-del-mismo-origen-same-origin.html
  • SANS top 25. Recuperado (6 de mayo de 2013) en, http://www.sans.org/top25-software-errors/
  • Scambray, J., Liu, V y Sima, C. Hacking exposed web applications 3. Estados Unidos: McGraw Hill.
  • Seguridad en Bases de Datos y Aplicaciones Web: 2ª Edición (Spanish Edition). CreateSpace Independent Publishing Platform; 2 edition (November 15, 2016). ISBN-10: 1540420566
  • Silic, M., Krolo, J. y Delac, G. (2010). Security vulnerabilities in modern web browser architeture. Zagreb: University of Zagreb.
  • Spring framework. MVC. Recuperado (30 de abril de 2015) en, http://openaccess.uoc.edu/webapps/o2/bitstream/10609/669/1/00848tfc.pdf
  • WACT. Recuperado (30 de abril de2015) en, http://www.phpwact.org/
  • WASC. Recuperado (6 de mayo de 2013) en, http://www.webappsec.org/
  • WASC thread classification. Recuperado (6 de mayo de 2013) en, http://projects.webappsec.org/w/page/13246978/Threat%20Classification
  • Web Application Security: Exploitation and Countermeasures for Modern Web Applications. Andrew Hoffman. O'Reilly Media; 1st edition (March 17, 2020). ISBN-10: 1492053112 ISBN-13: 978-1492053118
  • Web Security for Developers /anglais: Real Threats, Practical Defense, No Starch Press (30 junio 2020), Malcolm McDonald, ISBN: 1593279949

La calificación se compone de dos partes principales:

Examen: se realiza al final de la asignatura, es de carácter ONLINE y OBLIGATORIO. El examen se valora sobre 10 puntos. Supone el 30 % de la calificación final.

Evaluación continua: supone el 70 % de la calificación final. Este 70 % se compone de las calificaciones obtenidas en las diferentes actividades formativas llevadas a cabo a lo largo de la asignatura.

La nota final debe sumar mínimo 7 puntos para aprobar la asignatura.

Sistema de evaluación %
Test parciales en plataforma 5
Participación en foro mediante plataforma educativa 15
Análisis comparativo de idearios educativos 25
Trabajo sobre el comportamiento del profesor como agente ético 25
Examen final online 30

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 del Curso de introducción al campus 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. También podrás organizar tu plan de trabajo con tu tutor personal.
  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 del aula virtual. Allí encontrarás el material teórico y práctico del tema correspondiente a esa semana.
  4. Comienza con la lectura de las Ideas clave del tema. Este material es el que debes estudiar para superar la asignatura. Consulta, además, las secciones del tema que contienen material complementario: con esto podrás tener una visión más amplia sobre el tema que estás trabajando.
  5. Dedica tiempo al trabajo práctico (sección Tareas 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 (clases en directo, 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 tutor personal 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.

También puedes consultar ahí el funcionamiento de las distintas herramientas del aula virtual: correo, foro, clases en directo, envío de tareas, 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 tutor personal.
  • Recuerda que no estás solo: consulta todas tus dudas con tu tutor personal utilizando el correo electrónico. 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. El intercambio de opiniones, materiales e ideas nos enriquece a todos.
  • Y ¡recuerda!, estás estudiando con metodología online: tu esfuerzo y constancia son imprescindibles para conseguir buenos resultados. ¡No dejes todo para el último día!