“They’re not that hard to mitigate”: What Cryptographic Library Developers Think About Timing Attacks [IEEE S&P 2022]

   Authors: Jan Jancar, Marcel Fourné, Daniel De Almeida Braga, Mohamed Sabt, Peter Schwabe, Gilles Barthe, Pierre-Alain Fouque, Yasemin Acar

 Primary contact: Jan Jancar <j08ny@mail.muni.cz>

 Conference: IEEE Symposium on Security & Privacy 2022

PRE-PRINT PDF   BiBTeX

@InProceedings{2022-sp-jancar,
  author = {Jan Jancar and Marcel Fourné and Daniel De Almeida Braga and Mohamed Sabt and Peter Schwabe and Gilles Barthe and Pierre-Alain Fouque and Yasemin Acar},
  address = {San Francisco},
  booktitle = {43rd IEEE Symposium on Security and Privacy},
  keywords = {constant-time, cryptoimplementations, usablesec, libraries, side-channel},
  language = {eng},
  location = {San Francisco},
  publisher = {IEEE},
  title = {“They’re not that hard to mitigate”: What Cryptographic Library Developers Think About Timing Attacks},
  year = {2022}
}

Abstract

Timing attacks are among the most devastating side-channel attacks, allowing remote attackers to retrieve secret material, including cryptographic keys, with relative ease. In principle, “these attacks are not that hard to mitigate”: the basic intuition, captured by the constant-time criterion, is that control-flow and memory accesses should be independent from secrets.Furthermore, there is a broad range of tools for automatically checking adherence to this intuition. Yet, these attacks still plague popular cryptographic libraries twenty-five years after their discovery, reflecting a dangerous gap between academic research and cryptographic engineering. This gap can potentially undermine the emerging shift towards high-assurance, formally verified cryptographic libraries. However, the causes for this gap remain uninvestigated.

To understand the causes of this gap, we conducted a survey with 44 developers of 27 prominent open-source cryptographic libraries. The goal of the survey was to analyze if and how the developers ensure that their code executes in constant time.Our main findings are that developers are aware of timing attacks and of their potentially dramatic consequences and yet often prioritize other issues over the perceived huge investment of time and resources currently needed to make their code resistant to timing attacks. Based on the survey, we identify several shortcomings in existing analysis tools for constant-time,and issue recommendations that can make writing constant-time libraries less difficult. Our recommendations can inform future development of analysis tools, security-aware compilers,and cryptographic libraries, not only for constant-timeness, but in the broader context of side-channel attacks, in particular for micro-architectural side-channel attacks, which are a still young and too recent as focus for this survey.