En los últimos tiempos, se ha expandido de manera significativa el uso de la arquitectura RISC-V para microprocesadores. Esta tendencia ha sido impulsada por varias razones, siendo una de las más destacadas que su conjunto de instrucciones es libre y abierto. Esto significa que cualquier persona o empresa puede acceder a la especificación de RISC-V sin restricciones, lo que fomenta la innovación y la colaboración en el desarrollo de nuevas tecnologías.
Además, esta arquitectura ha sido diseñada específicamente para ser utilizada en gran cantidad de dispositivos, desde sistemas embebidos hasta computadoras de alto rendimiento. Este factor no solo contribuye a su popularidad, sino que también lo convierte en un hardware extremadamente versátil y accesible para desarrolladores e ingenieros. En consecuencia, RISC-V se está posicionando como una opción preferida en el ámbito del diseño de microprocesadores.
Por contraparte, la arquitectura RISC-V, debido a su notable accesibilidad y su amplia capacidad de personalización, presenta ciertas vulnerabilidades que la hacen más susceptible a ataques de canal lateral en comparación con otras arquitecturas de hardware más tradicionales. Los ataques de canal lateral son técnicas que permiten a un atacante obtener información sensible a través del análisis de datos secundarios, como el consumo de energía o las emisiones electromagnéticas durante el funcionamiento del hardware.
Por lo tanto, al implementar RISC-V en aplicaciones críticas o en entornos donde la seguridad es primordial, es fundamental considerar estas vulnerabilidades. La posibilidad de que un atacante pueda explotar estas debilidades puede comprometer la integridad y la confidencialidad de los datos procesados por el dispositivo. Así, aunque RISC-V ofrece muchas ventajas en términos de innovación y personalización, es esencial que los diseñadores y desarrolladores sean conscientes de estos riesgos y tomen las medidas adecuadas para mitigar posibles amenazas a la seguridad. Debido a esto, en este proyecto se propone llevar un estudio de esta problemática mediante diversos pasos:
1. En primer lugar, se debe escoger un sistema concreto basado en RISC-V que sirva como base sólida para llevar a cabo la implementación de esta arquitectura específica. La elección del sistema es un paso crucial y determinante, ya que influirá directamente en el rendimiento general y la funcionalidad del proyecto en su totalidad. Para ello, se llevará a cabo la lectura de diversos artículos y documentos especializados para comprender el estado del arte de las arquitecturas RISC-V, hasta encontrar el sistema que más se adapte a las necesidades y requisitos particulares de este proyecto en concreto. En este caso particular, el sistema elegido es X-HEEP, que ha demostrado ser una opción robusta y eficiente para las necesidades específicas de este estudio.
2. Una vez se ha elegido el sistema, se procede a su implementación en una placa PYNQ-Z2, que es conocida por su versatilidad y potencia. Previamente será necesario llevar a cabo una simulación de la implementación del sistema X-HEEP en el ordenador mediante un simulador especializado, pudiendo garantizar de esta manera que ciertos aspectos del sistema se comporten como se espera antes de proceder a la implementación real. En este caso particular se usará Verilator, el cual permite convertir el código de descripción de hardware en un modelo para realizar las simulaciones, y también se usará Miniconda para crear el entorno virtual adecuado donde se llevará a cabo todo el trabajo relacionado con las simulaciones. Para llevar a cabo esta implementación de manera efectiva, se utilizará el programa VIVADO de Xilinx, que ofrece un entorno completo y altamente especializado para el desarrollo de sistemas digitales. Este software proporciona las herramientas necesarias para sintetizar y programar la lógica del sistema en la FPGA presente en la placa.
3. Tras lograr con éxito la implementación del sistema, se lleva a cabo un estudio de los distintos ataques de canal lateral que se podrían ejecutar en la placa. Este análisis tiene como objetivo principal identificar las vulnerabilidades presentes en la implementación escogida, así como evaluar el nivel de riesgo asociado a cada una de ellas. Habrá que analizar detenidamente los posibles resultados de cada tipo de canal lateral teniendo en cuenta experiencias previas documentadas en diversas fuentes que han sido seleccionadas específicamente por sus similitudes con el sistema de RISC-V escogido para este estudio. Este paso implica no solo un estudio exhaustivo de la literatura existente, sino una comparación crítica entre las experiencias previamente estudiadas y la implementación actual. Un análisis detallado permitirá comprender mejor los puntos débiles del sistema y cómo pueden ser explotados. Se hará hincapié en dos tipos de ataques de canal lateral, los que explotan el software del sistema mediante la memoria caché y los que explotan el hardware del sistema mediante el consumo de potencia.
4. Por último, se propone una serie de contramedidas que puedan ayudar a la mitigación efectiva de las vulnerabilidades identificadas, teniendo en cuenta las características particulares de cada tipo específico de ataque de canal lateral al que se vea afectado el hardware implementado durante el desarrollo del proyecto. Estas contramedidas permitirán mejorar la resiliencia general del sistema contra posibles amenazas. Adicionalmente, también se mencionarán interesantes desafíos en la línea de investigación del trabajo de cara al futuro.
En resumen, el objetivo principal de este Trabajo de Fin de Grado es desarrollar un análisis detallado que contribuya significativamente a una mejor comprensión de la problemática con respecto a los ataques de canal lateral en arquitecturas RISC-V y facilite el diseño e implementación de contramedidas efectivas contra las amenazas que representan.
En los últimos tiempos, se ha expandido de manera significativa el uso de la arquitectura RISC-V para microprocesadores. Esta tendencia ha sido impulsada por varias razones, siendo una de las más destacadas que su conjunto de instrucciones es libre y abierto. Esto significa que cualquier persona o empresa puede acceder a la especificación de RISC-V sin restricciones, lo que fomenta la innovación y la colaboración en el desarrollo de nuevas tecnologías.
Además, esta arquitectura ha sido diseñada específicamente para ser utilizada en gran cantidad de dispositivos, desde sistemas embebidos hasta computadoras de alto rendimiento. Este factor no solo contribuye a su popularidad, sino que también lo convierte en un hardware extremadamente versátil y accesible para desarrolladores e ingenieros. En consecuencia, RISC-V se está posicionando como una opción preferida en el ámbito del diseño de microprocesadores.
Por contraparte, la arquitectura RISC-V, debido a su notable accesibilidad y su amplia capacidad de personalización, presenta ciertas vulnerabilidades que la hacen más susceptible a ataques de canal lateral en comparación con otras arquitecturas de hardware más tradicionales. Los ataques de canal lateral son técnicas que permiten a un atacante obtener información sensible a través del análisis de datos secundarios, como el consumo de energía o las emisiones electromagnéticas durante el funcionamiento del hardware.
Por lo tanto, al implementar RISC-V en aplicaciones críticas o en entornos donde la seguridad es primordial, es fundamental considerar estas vulnerabilidades. La posibilidad de que un atacante pueda explotar estas debilidades puede comprometer la integridad y la confidencialidad de los datos procesados por el dispositivo. Así, aunque RISC-V ofrece muchas ventajas en términos de innovación y personalización, es esencial que los diseñadores y desarrolladores sean conscientes de estos riesgos y tomen las medidas adecuadas para mitigar posibles amenazas a la seguridad. Debido a esto, en este proyecto se propone llevar un estudio de esta problemática mediante diversos pasos:
1. En primer lugar, se debe escoger un sistema concreto basado en RISC-V que sirva como base sólida para llevar a cabo la implementación de esta arquitectura específica. La elección del sistema es un paso crucial y determinante, ya que influirá directamente en el rendimiento general y la funcionalidad del proyecto en su totalidad. Para ello, se llevará a cabo la lectura de diversos artículos y documentos especializados para comprender el estado del arte de las arquitecturas RISC-V, hasta encontrar el sistema que más se adapte a las necesidades y requisitos particulares de este proyecto en concreto. En este caso particular, el sistema elegido es X-HEEP, que ha demostrado ser una opción robusta y eficiente para las necesidades específicas de este estudio.
2. Una vez se ha elegido el sistema, se procede a su implementación en una placa PYNQ-Z2, que es conocida por su versatilidad y potencia. Previamente será necesario llevar a cabo una simulación de la implementación del sistema X-HEEP en el ordenador mediante un simulador especializado, pudiendo garantizar de esta manera que ciertos aspectos del sistema se comporten como se espera antes de proceder a la implementación real. En este caso particular se usará Verilator, el cual permite convertir el código de descripción de hardware en un modelo para realizar las simulaciones, y también se usará Miniconda para crear el entorno virtual adecuado donde se llevará a cabo todo el trabajo relacionado con las simulaciones. Para llevar a cabo esta implementación de manera efectiva, se utilizará el programa VIVADO de Xilinx, que ofrece un entorno completo y altamente especializado para el desarrollo de sistemas digitales. Este software proporciona las herramientas necesarias para sintetizar y programar la lógica del sistema en la FPGA presente en la placa.
3. Tras lograr con éxito la implementación del sistema, se lleva a cabo un estudio de los distintos ataques de canal lateral que se podrían ejecutar en la placa. Este análisis tiene como objetivo principal identificar las vulnerabilidades presentes en la implementación escogida, así como evaluar el nivel de riesgo asociado a cada una de ellas. Habrá que analizar detenidamente los posibles resultados de cada tipo de canal lateral teniendo en cuenta experiencias previas documentadas en diversas fuentes que han sido seleccionadas específicamente por sus similitudes con el sistema de RISC-V escogido para este estudio. Este paso implica no solo un estudio exhaustivo de la literatura existente, sino una comparación crítica entre las experiencias previamente estudiadas y la implementación actual. Un análisis detallado permitirá comprender mejor los puntos débiles del sistema y cómo pueden ser explotados. Se hará hincapié en dos tipos de ataques de canal lateral, los que explotan el software del sistema mediante la memoria caché y los que explotan el hardware del sistema mediante el consumo de potencia.
4. Por último, se propone una serie de contramedidas que puedan ayudar a la mitigación efectiva de las vulnerabilidades identificadas, teniendo en cuenta las características particulares de cada tipo específico de ataque de canal lateral al que se vea afectado el hardware implementado durante el desarrollo del proyecto. Estas contramedidas permitirán mejorar la resiliencia general del sistema contra posibles amenazas. Adicionalmente, también se mencionarán interesantes desafíos en la línea de investigación del trabajo de cara al futuro.
En resumen, el objetivo principal de este Trabajo de Fin de Grado es desarrollar un análisis detallado que contribuya significativamente a una mejor comprensión de la problemática con respecto a los ataques de canal lateral en arquitecturas RISC-V y facilite el diseño e implementación de contramedidas efectivas contra las amenazas que representan. Read More