Abstract
La ejecución especulativa es una técnica de optimización presente en los procesadores modernos. Como se demostró en el reciente ataque Spectre, un atacante puede extraer información confidencial a través de los efectos secundarios producidos por instrucciones ejecutadas especulativamente. Spectector es una herramienta que estudia estas filtraciones causadas por ejecución especulativa y sus contramedidas. En esta tesis, Spectector es extendido para detectar nuevos tipos de filtraciones de información causadas por ejecución especulativa, más concretamente, por predicción de saltos. La tesis proporciona el contexto necesario sobre la materia, explica las modificaciones a Spectector y muestra resultados prácticos.---ABSTRACT---Speculative execution is an optimization technique used in modern processors. As illustrated by the recent Spectre attack, attackers can extract sensitive data from the microarchitectural side-effects left behind by speculatively executed instructions. Spectector is a tool to study these speculative leaks and their countermeasures. In this thesis, Spectector is extended to detect new kinds of leaks produced by speculative execution, more concretely, by branch prediction. This thesis provides the necessary background on the topic, explains the modifications to the Spectector tool, and showcases practical results.