Abrimos la preinscripción para la segunda edición del Máster

Aunque parezca mentira ya estamos en Mayo, así que estos días hemos abierto el plazo de preinscripción para la segunda edición del Máster en Ciberseguridad y Privacidad de la Universidad Rey Juan Carlos.

Esta segunda edición del máster será igual que la primera en lo esencial: título propio de la universidad, 60 créditos ECTS, 100% online (a través de nuestro Aula Virtual), eminentemente práctico, un claustro de profesores equilibrado entre investigadores y profesionales del sector privado todos con gran experiencia y prestigio, y mismo programa, combinando Ciberseguridad y Privacidad. Eso sí, con ilusión renovada tras la experiencia de este primer curso y con muchas ideas para mejorar las asignaturas y todas las actividades que hemos organizado.

La preinscripción estará abierta hasta el 29 de Junio y tenéis toda la información en la web del máster: http://cybersecuritycluster.es/MCYP/

Si os queda cualquier duda, os podéis poner en contacto directamente con Marta Beltrán o Maribel González Vasco, las directoras del máster. Mientras, aquí os dejamos nuestro vídeo de presentación.

Anuncios

Píldora de conocimiento de Telefónica acerca de Redes para el anonimato

Hola a todos, de nuevo anunciamos por aquí una de las colaboraciones con las que contamos en el máster para generar nuestras “píldoras de conocimiento”.

En este caso, hemos compartido con los alumnos del máster (en el cuarto módulo de la asignatura de Privacidad y Anonimato) la píldora de conocimiento que Telefónica ha generado en exclusiva sobre Tor, I2P y Freenet. Para ello hemos contado con la colaboración de Antonio Guzmán, Head of Innovation and Discovery en Aura Telefónica. Gracias Antonio por ser tan generoso con tu tiempo.

Además de la videoclase que Antonio ha grabado para vosotros, os ha propuesto que investiguéis sobre las vulnerabilidades del proyecto Tor, y en concreto, sobre una de las más recientes.

Esperamos que disfrutéis de estos contenidos y que os sirvan para poner un broche de oro a la asignatura, que como las demás del segundo trimestre, acaba de terminar.

Picture1

Invitaciones para asistir al High Level Conference on Assurance 2018

Hola a todos, uno de los profesores del Máster, José Antonio Rubio, nos hace llegar 5 invitaciones de ISACA para que podáis asistir el próximo 6 de junio del 2018 al High Level Conference on Assurance (en Madrid).

Todos los alumnos del máster y del curso de experto que estéis interesados en asistir, por favor, enviad un email a la directora del máster Marta Beltrán para que os indique cómo proceder. Las solicitudes se atenderán por orden de llegada hasta repartir las 5 invitaciones.

Muchas gracias a José y a ISACA por la iniciativa.

HLCA18-425

 

Comienzo del tercer trimestre del máster

Hoy comienzan las clases del tercer y último trimestre del Máster en Ciberseguridad y Privacidad. Nos despedimos del malware, el software seguro y la privacidad y el anonimato para cambiar por última vez en este curso de asignaturas y de profesores.

Recordad que en este trimestre que hoy empieza sólo tenéis que cursar dos asignaturas ya que el resto del tiempo se lo tenéis que dedicar al Trabajo Fin de Máster (cuya fecha límite de entrega es el 11 de Septiembre). Aquí os dejamos los enlaces a los vídeos de presentación de las dos asignaturas que comienzan sus clases hoy y el de la asignatura de TFM. Esperamos que esta recta final del máster os sea muy provechosa a todos.

Gestión de identidades y accesos

Análisis y gestión del riesgo

Trabajo Fin de Máster

video

Concurso de Privacy by Design en el desarrollo de una aplicación de mHealth

El European Data Protection Supervisor (EDPS), en colaboración con las autoridades de protección de datos de diferentes países miembro acaba de lanzar un concurso de Privacy by Design en el contexto de las apps para móviles en el sector salud.

El entregable debe ser una app para mHealth que haga avanzar el estado del arte en técnicas, mecanismos o estrategias de Privacy by Design. Toda la documentación asociada a este entregable debe estar en inglés y hay de plazo hasta finales de Junio.

Tenéis toda la información en este enlace.

stethoscope-2617700_1920

Introducción a Spectre y a su explotación

Como ya os he comentado en alguna ocasión, cuando se descubren nuevas vulnerabilidades o se utilizan nuevos patrones de ataque, siempre espero un tiempo antes de preparar material didáctico. Así evito los bulos e imprecisiones de los primeros tiempos, espero a que las cosas se asienten y tengo mucha más información fiable disponible. Y tiempo para procesarla, claro.

Teníamos pendiente esta entrada desde que terminamos la asignatura de Explotación de Vulnerabilidades, así que hoy voy a intentar explicaros en qué consiste Spectre, asociado a las vulnerabilidades CVE-2017-5753 y CVE-2017-5715. Estas vulnerabilidades se han encontrado en procesadores de Intel, AMD y ARM y afectan a la confidencialidad. Su explotación cuando el atacante tiene acceso a la máquina de la víctima es inmediata, su explotación en remoto, a través de la red, es posible, pero se complica (como en otros ejemplos que ya hemos estudiado en la asignatura).

ghost-35852_1280

Lo primero que necesitáis recordar es que los procesadores actuales trabajan de manera especulativa. Es decir, como se necesita terminar tantas instrucciones por ciclo como sea posible (para que el CPI sea 1 o incluso menor), se intenta evitar que el procesador pare de trabajar por las esperas que causan los saltos condicionales (ya que hay que esperar a que se evalúe la condición para saber si se salta o no), los fallos de memoria caché (ya que hay que ir al siguiente nivel de la jerarquía de memoria para traer la información que necesita el procesador), etc.

La especulación funciona porque se deja que el procesador siga trabajando, ejecutando instrucciones que no se sabe seguro si se deberían estar ejecutando pero que se predice que se van a ejecutar, sin hacer nada “irremediable” (todos los resultados que se obtienen se almacenan de manera temporal en una estructura específica para ello, el ROB o buffer de reordenamiento). De esta forma, si las predicciones aciertan, el procesador habrá adelantado trabajo y se volcarán los resultados que ha ido obteniendo a los registros y a memoria principal para hacerlos definitivos. Si las predicciones fallan, se ignora todo el trabajo que el procesador había realizado y se sigue por el buen camino. En este caso, no se gana nada, es como si el procesador se hubiera parado. Y lo único que se pierde es energía, que se ha empleado en realizar operaciones que no han servido para nada, que no deberían haberse realizado.

Los investigadores que han descubierto las vulnerabilidades Spectre y Meltdown se han dado cuenta de que el hecho de que un procesador ejecute instrucciones especulativamente (sin que nos demos cuenta de que esto ocurre cuando se desechan sus resultados porque no deberían haberse ejecutado) puede ser aprovechado por un adversario.

Un ataque Spectre, que es el más genérico, ya que lo pueden sufrir procesadores de todos los fabricantes, combina:

  • Engañar al procesador para que durante una fase de especulación provocada por una predicción de salto ejecute instrucciones que sirvan a los objetivos del adversario. En concreto, que ubiquen, aunque sea temporalmente, información sensible en un canal encubierto (covert channel) de la arquitectura del procesador.
  • Acceder al canal encubierto de la arquitectura del procesador para recuperar esa información.

Vamos por partes. Lo primero, ¿qué es una predicción de salto? Como os comentaba antes, cuando el procesador tiene que ejecutar una instrucción de salto condicional, mientras se evalúa si la condición es verdadera o falsa (si se tiene que saltar o no), no se sabe qué instrucción hay que ejecutar a continuación. Por eso todos los procesadores incorporan hardware para realizar predicciones basadas en lo que ha pasado con ese salto (y puede que con otros, depende del tipo de predictor) en ocasiones anteriores. El procesador comienza una fase de especulación, haciendo caso de esta predicción, hasta que la condición se evalúa y se sabe si la predicción se ha acertado (y se sigue) o se ha fallado (y se ignora lo que se ha hecho para ir por el otro camino). Por ejemplo:

if (A<B)

Bloque de instrucciones 1

Else

Bloque de instrucciones 2

Mientras se resuelve si A es menor que B (que lleva su tiempo, sobre todo dependiendo del tipo de variables que sean y de dónde estén almacenadas), el predictor de salto puede hacer que el procesador vaya ejecutando especulativamente el bloque de instrucciones 1 (se predice que no se salta) o el 2 (se predice que se salta).

Los predictores de salto no sólo permiten realizar este tipo de predicciones para los saltos condicionales (si se va a saltar o no), sino que además también permiten predecir a dónde se va a saltar en el caso de los saltos incondicionales (porque, aunque no haya una condición y se salte siempre, calcular la dirección destino de salto también puede llevar su tiempo y recordemos que no queremos que el procesador pare de trabajar). Para explotar Spectre, de hecho, se pueden utilizar los dos tipos de saltos, los condicionales y los incondicionales.

Y lo segundo, ¿hay canales encubiertos en la arquitectura de un procesador? Pues sí, hay bastantes que permiten realizar side-channel attacks, quizás los más conocidos sean a través de la memoria caché. Y de hecho las pruebas de concepto de Spectre se han basado en estos ataques, en concreto en el Flush+Reload y en el Evict+Reload.

Así que en resumen, y simplificando, que no quiero alargarme mucho más:

  1. El adversario comienza realizando una fase de setup para entrenar al predictor de saltos del procesador de manera que falle y prediga lo que a él le conviene para el salto, condicional o incondicional, que se usa para explotar la vulnerabilidad. Y también se prepara el side-channel attack (normalmente forzando fallos en la memoria caché).
  2. En una segunda fase, durante la especulación, se ejecutan instrucciones que ubican en memoria caché datos sensibles. Cuando se comprueba que el predictor de saltos ha fallado, se ignora el trabajo realizado y se vuelve al “buen camino”.
  3. En la fase final del ataque, el adversario recupera de la memoria caché mediante el side-channel attack que ha preparado, los datos sensibles.

Os dejo dos enlaces muy interesantes para completar toda esta información. El primero, al sitio en el que podéis encontrar el artículo que explica Spectre en profundidad, ejemplos incluidos. El segundo, a una máquina virtual del proyecto SEED preparada para que podáis realizar los ataques en vuestro propio laboratorio.   ¡Que los disfrutéis! Yo, de momento, dejo la explicación de Meltdown y de las posibles soluciones a estas vulnerabilidades para otra entrada. Y sobre las vulnerabilidades de los micros de AMD que se han hecho públicas esta semana, lo mismo, hablamos dentro de un tiempo 🙂

Marta Beltrán

Contrato de dos años como ayudante de investigación en ciberseguridad

Como ya sabéis, a principios de año en el Cybersecurity Cluster de la Universidad Rey Juan Carlos abrimos una plaza de ayudante de investigación gracias a una subvención recibida de la Comunidad de Madrid. Para nuestro disgusto, se quedó desierta, ya que es complicado que alguien cumpla con todos los requisitos que nos piden. Pero la volvemos a convocar ahora por si hubiera más suerte.

Ofrecemos un contrato de dos años, cada año son 12 pagas de 1.420 euros mensuales y la jornada son 37.5 horas semanales en el Campus de Móstoles de la Universidad Rey Juan Carlos, con posibilidad de tele-trabajo ocasional.

Los requisitos que nos exige la Comunidad de Madrid para los candidatos son:

  • Menor de 30 años.
  • Empadronado en la Comunidad de Madrid.
  • Inscrito en el Sistema Nacional de Garantía Juvenil.
  • Licenciado / Ingeniero / Arquitecto / Diplomado / Graduado  / Ingeniero  Técnico  o  Arquitecto Técnico (en nuestro caso concreto pedimos que la titulación universitaria sea relacionada con la Informática o la Tecnología, con eso nos basta).
  • Que no haya estado vinculado contractualmente a la URJC desde el 5 de Septiembre del 2017.

Planteamos el siguiente plan de formación/trabajo:

  • Durante el primer año de contrato, y si la formación de partida del contratado así lo aconseja, realización de cualquiera de los másteres oficiales ofertados en la Universidad Rey Juan Carlos, tanto presenciales como on-line.
  • Realización de cursos, talleres y seminarios relacionados con la formación en métodos y técnicas de investigación, documentación y escritura científica, gestión de proyectos de investigación, etc.
  • Asistencia a seminarios de ciberseguridad del grupo de investigación, el departamento y la Escuela.
  • Desarrollo de herramientas, pruebas de concepto, etc. relacionadas con nuestros proyectos de investigación.
  • Planificación, escritura y publicación de artículos científicos.
  • Participación en congresos científicos nacionales e internacionales.
  • Participación en propuestas y en proyectos de investigación ya en marcha con distintas fuentes de financiación.
  • Estancias cortas de investigación (permitirá que el contratado aprenda a desarrollar su actividad investigadora en un contexto diferente al de su equipo de trabajo habitual).

Todo ello en alguna de las líneas de investigación del Cybersecurity Cluster de la URJC, se escogerán los temas concretos de acuerdo con la persona contratada entre varias alternativas dependiendo de su formación, experiencia y preferencias. Buscamos una persona creativa, con ganas de aprender y a la que le apasione la ciberseguridad.

Si crees que encajas, la convocatoria está en este enlace (referencia M1730-241) , al igual que el link a la plataforma de envío de CVs, que estará abierta hasta el próximo 19 de Marzo. Si te queda cualquier duda, puedes escribir un email directamente a Marta Beltrán.