<< Volver atrás

Tesis:

Analysis and design of microarchitectural side-channel attacks and countermeasures


  • Autor: BRIONGOS HERRERO, Samira

  • Título: Analysis and design of microarchitectural side-channel attacks and countermeasures

  • Fecha: 2019

  • Materia: Sin materia definida

  • Escuela: E.T.S. DE INGENIEROS DE TELECOMUNICACION

  • Departamentos: INGENIERIA ELECTRONICA

  • Acceso electrónico: http://oa.upm.es/57557/

  • Director/a 1º: MOYA FERNÁNDEZ, José Manuel
  • Director/a 2º: MALAGÓN MARZO, Pedro José

  • Resumen: Hoy en día, los sistemas informáticos están altamente optimizados para conseguir el máximo rendimiento de las tecnologías de fabricación existentes. Cada procesador incluye múltiples núcleos e incluso múltiples subprocesos por núcleo, componentes que le permiten predecir la ruta de ejecución antes de que se tome realmente, recursos compartidos que se gestionan eficientemente, etc. De hecho, estos sistemas optimizados han permitido el desarrollo de una serie de tecnologías que facilitan nuestras tareas diarias, como el la computación en la nube (Cloud Computing). Sin embargo, los diseñadores de los procesadores no han considerado el hardware una puerta trasera para agentes maliciosos. Como resultado, estos componentes que mejoran el rendimiento introducen, al mismo tiempo, efectos secundarios medibles en el sistema, que pueden ser explotados por un adversario para recuperar información privada de los procesos que se ejecutan en el sistema. Como se ha demostrado, el hardware puede socavar la seguridad de todo el sistema. Los ataques que aprovechan los efectos secundarios antes mencionados, se conocen como ataques de canal auxiliar; en particular, como ataques microarquitectural de canal auxiliar. En los últimos años, estos ataques han atraído cada vez más la atención de la comunidad investigadora debido a su capacidad para extraer información privada de sus víctimas en un tiempo relativamente corto. Además, estos ataques no dañan el hardware en el que se ejecutan, ni requieren ningún privilegio especial para tener éxito y ni siquiera son identificados como maliciosos por la mayoría de los antivirus. Los investigadores han utilizado canales auxiliares microarquitectural para recuperar claves criptográficas de algoritmos como AES, RSA, ECDSA entre otra información privada explotando el hardware compartido, incluso a través de máquinas virtuales (VMs) asignadas al mismo host. Esta investigación contempla el análisis de los mecanismos de fuga de información en microprocesadores actuales que ejecutan diferentes procesos en paralelo. Específicamente nos centramos en la caché de último nivel, que es compartida por todos los núcleos. En consecuencia, un proceso malicioso o VM que se ejecuta en un núcleo, puede utilizar la caché para influir en el comportamiento de un proceso o VM diferente, para inferir información sobre él. El objetivo principal de esta tesis doctoral es mejorar la seguridad de los sistemas ciberfísicos que manipulan y almacenan información privada. Para diseñar las contramedidas adecuadas que eviten o minimicen las fugas, se requiere un conocimiento completo de los mecanismos de fuga de información y sus causas fundamentales. En este trabajo demostramos que estos ataques cambian el comportamiento normal de un sistema. Basándonos en esta idea, desarrollamos contramedidas altamente fiables, que tienen como objetivo la detección de los ataques y que introducen una sobrecarga insignificante en el sistema y, además, pueden ser utilizadas por cualquier usuario a voluntad. Adicionalmente, este trabajo considera y evalúa otras fuentes de información como los efectos en el desempeño de un proceso para determinar la CPU del sistema. Exploramos los ataques conocidos y demostramos que han sido subestimados al reducir significativamente el número de muestras requeridas para completar un ataque. Nos adentramos en los detalles de la arquitectura de la caché y recuperamos con éxito la política de reemplazo implementada en los procesadores Intel. Además, utilizamos el conocimiento adquirido para diseñar nuevos ataques que eluden algunas contramedidas propuestas, como contramedidas que intentan detectarlos o que precargan los datos en memoria. Por último, este trabajo incluye una propuesta seminal de una política de asignación consciente de la seguridad para implementar un planificador de tareas de un entorno Cloud. La estrategia de asignación considera los conocimientos adquiridos durante esta tesis doctoral, incluidos los mecanismos de detección, en el algoritmo de consolidación de máquinas virtuales. La política incluye los conceptos de confianza y reputación, tanto en clientes como en las máquinas virtuales, para reducir los conflictos al asignar máquinas virtuales a servidores físicos. De este modo, se reduce el riesgo de sufrir un ataque de canal lateral y se actúa cuando se detecta un ataque. ----------ABSTRACT---------- Nowadays, computer systems are highly optimized to achieve the maximum performance for the existing fabrication technologies. Each processor includes multiple cores and even multiple threads per core, components that allow it to predict the execution path before it is actually taken, shared resources that are efficiently managed, etc. Indeed, these optimized systems have brought a number of technologies that facilitate our daily tasks such as cloud computing. However, computer designers have not considered that these microarchitectural improvements can open a back door for malicious agents. Actually, these components that enhance performance introduce, at the same time, measurable side-effects on the system that can be exploited by an adversary to retrieve secret from the processes running in the system. As it has been demonstrated, the hardware can undermine the security of a system. The attacks that exploit the aforementioned side-effects are known as side-channel attacks; in particular, as microarchitectural side-channel attacks. In the last years, these attacks have gained increasing attention from the research community due to their ability to extract private information from their victims with great resolution in a relatively short time. Besides, these attacks do not damage the hardware in which they run, nor require any special privilege to succeed and are not identified as malicious by most anti-viruses. Researchers have used microarchitectural side-channels to retrieve AES, RSA, ECDSA cryptographic keys among other private information exploiting the shared hardware, even across Virtual Machines (VMs) allocated in the same host. This research contemplates the analysis of leakage mechanisms in current microprocessors that run different processes in parallel. Specifically, we mainly focus on the Last Level Cache, which is shared across all the cores. Consequently, a malicious process or VM that runs in a core, can use the cache to influence the behavior of any different process or VM running in the same machine to infer information about it. The main goal of this Ph.D. Thesis is to improve the security of the cyberphysical systems that manipulate and store private information. In order to design proper countermeasures that avoid or minimize the leakage, a complete understanding of the leaking mechanisms and its root causes is required. Thus, in this work, we dive into the details of the cache architecture and successfully retrieve the replacement policy implemented in Intel processors. We analyze state of the art cache attacks and demonstrate that they alter the normal behavior of a system. Based on this idea, we develop highly reliable detection-based countermeasures that introduce negligible overhead in the system and that can be utilized by any user at will. Additionally, this work considers and evaluates other sources of information. For instance, we show how the variations in the performance of a test process can be exploited to determine the total CPU load of the system. We also demonstrate that known attacks have been underestimated by signi_cantly reducing the number of samples required for an attack to succeed. Furthermore, we use the acquired knowledge to design new attacks that circumvent some proposed countermeasures, as detection countermeasures or data prefetching. Last, this work includes a seminal proposal of a security-aware allocation policy to implement a cloud computing task scheduler. The allocation strategy considers the knowledge acquired during this Ph.D. Thesis, including detection mechanisms, in the consolidation algorithm of Virtual Machines. The policy includes con_dence and reputation of the clients and the Virtual Machines to reduce conflicts when collocating them, reducing the risk of suffering a side-channel attack, and acting when an attack is detected.