Computer Science > Programming Languages
[Submitted on 7 Jan 2025 (v1), last revised 26 Apr 2025 (this version, v2)]
Title:Transparent Transformations for Timing Side-Channel Analysis
View PDFAbstract:Side-channel analysis frameworks often lift programs into an intermediate representation (IR) before analyzing them. IRs are subject to transformations, which we call ex ante (XA) transformations, that improve the efficiency and accuracy of the analysis, thereby directly impacting the validity of analysis results. This paper explores the impact of XA transformations in the setting of timing-based side-channel analysis frameworks, focusing on the constant-time policy that many cryptographic libraries adopt.
We identify two properties of XA transformations that directly impact the soundness and precision of side-channel analysis. The first property, preservation, requires that the transformation does not introduce leakage and is required to avoid false positives, i.e., for precision. The second one, reflection, requires that the transformation does not remove leakage and is required to avoid false negatives, i.e., for soundness. The combination of preservation and reflection, which we call transparency, is essential for sound and precise transformations. While preservation has been studied in the context of secure compilation, there is little work on reflection.
This paper initiates the study of reflection and transparency. We formalize their definitions, propose a general method for proving that a transformation is transparent, and apply our method to different standard transformations. Subsequently, we present a transparent decompiler that combines seven XA transformations and prove that it is sound and precise. Additionally, we review the transparency of five existing tools and unveil violations in popular side-channel analysis frameworks and decompilers. Finally, we extend our approach to the setting of speculative side-channels. We redefine transparency of transformations with respect to Spectre attacks, and reevaluate the XA transformations for transparency w.r.t. Spectre.
Submission history
From: Santiago Arranz Olmos [view email][v1] Tue, 7 Jan 2025 23:29:01 UTC (127 KB)
[v2] Sat, 26 Apr 2025 13:56:34 UTC (111 KB)
References & Citations
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Connected Papers (What is Connected Papers?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
alphaXiv (What is alphaXiv?)
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Hugging Face (What is Huggingface?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.