Detecting speculative information flows on large code-bases

Sánchez Marín, Andrés (2019). Detecting speculative information flows on large code-bases. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S. de Ingenieros Informáticos (UPM), Madrid, España.

Description

Title: Detecting speculative information flows on large code-bases
Author/s:
  • Sánchez Marín, Andrés
Contributor/s:
  • Carro Liñares, Manuel
Item Type: Final Project
Degree: Grado en Matemáticas e Informática
Date: June 2019
Subjects:
Faculty: E.T.S. de Ingenieros Informáticos (UPM)
Department: Lenguajes y Sistemas Informáticos e Ingeniería del Software
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (925kB) | Preview

Abstract

Cuando programamos, esperamos que el código sea ejecutado en el orden en el que está escrito, debido a las optimizaciones en la microarquitectura como el pipelining y la ejecución fuera de orden, ese principio no se sostiene, haciendo que los resultados obtenidos de la ejecución sean los mismos y obteniendo un mayor rendimiento aunque el procesador ejecute tareas adicionales. Los microprocesadores mdoernos están afectados por SPECTRE v1, una vulnerabilidad que permite explotar las optimizaciones hardware de la microarquitectura. Es difícil detectar el código explotable en todas sus posibilidades por la gran cantidad de patrones que pueden explotarla. Partiendo del trabajo de la herramienta SPECTECTOR, hemos conseguido aumentar la detección de los posibles flujos de memoria explotables por SPECTRE v1, extendiendo el dominio de programas analizados. Se han desarrollado nuevas técnicas para realizar este trabajo, como un analizador de las dependencias internas de los proyectos, una traducción más consistente o la recolección de estadísticas. Se ha demostrado el funcionamento de estos métodos en un proyecto tal como Xen hypervisor.---ABSTRACT---When programming, we hope that the code is executed in the order it’s written, due to the optimizations on the microarchitecture such as pipelining and out of order execution, that principle doesn’t hold, making the results being the same and getting a higher performance although the processor executes additional tasks. Modern microprocessors are affected by SPECTRE v1, a vulnerability that let to exploit the hardware optimizations on the microarchitecture. It’s difficult to detect the exploitable code on all its possibilities due to the so large different patterns that can exploit it. Based on the work that SPECTECTOR does, we’ve leveraged the detection of the possible exploitable memory leaks by SPECTRE v1, extending the domain of analyzed programs. New techniques for doing this work have been developed such as an analyzer for the projects internal dependencies, a more consistent parsing or the collection of statistics. We demonstrate the behavior of these methods with the Xen hypervisor project.

More information

Item ID: 55598
DC Identifier: http://oa.upm.es/55598/
OAI Identifier: oai:oa.upm.es:55598
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 26 Jun 2019 11:07
Last Modified: 26 Jun 2019 11:07
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM