Verification of serialising instructions for security against transient execution attacks

Abstract Transient execution attacks such as Spectre and Meltdown exploit speculative execution in modern microprocessors to leak information via cache side‐channels. Software solutions to defend against many transient execution attacks employ the lfence serialising instruction, which does not allow...

Full description

Saved in:
Bibliographic Details
Main Authors: Kushal K. Ponugoti, Sudarshan K. Srinivasan, Nimish Mathure
Format: Article
Language:English
Published: Wiley 2023-07-01
Series:IET Computers & Digital Techniques
Subjects:
Online Access:https://doi.org/10.1049/cdt2.12058
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1832547402021601280
author Kushal K. Ponugoti
Sudarshan K. Srinivasan
Nimish Mathure
author_facet Kushal K. Ponugoti
Sudarshan K. Srinivasan
Nimish Mathure
author_sort Kushal K. Ponugoti
collection DOAJ
description Abstract Transient execution attacks such as Spectre and Meltdown exploit speculative execution in modern microprocessors to leak information via cache side‐channels. Software solutions to defend against many transient execution attacks employ the lfence serialising instruction, which does not allow instructions that come after the lfence to execute out‐of‐order with respect to instructions that come before the lfence. However, errors and Trojans in the hardware implementation of lfence can be exploited to compromise the software mitigations that use lfence. The aforementioned security gap has not been identified and addressed previously. The authors provide a formal method solution that addresses the verification of lfence hardware implementation. The authors also show how hardware Trojans can be designed to circumvent lfence and demonstrate that their verification approach will flag such Trojans as well. The authors have demonstrated the efficacy of our approach using RSD, which is an open source RISC‐V based superscalar out‐of‐order processor.
format Article
id doaj-art-fca31bd06a19419382014f733f4f74f0
institution Kabale University
issn 1751-8601
1751-861X
language English
publishDate 2023-07-01
publisher Wiley
record_format Article
series IET Computers & Digital Techniques
spelling doaj-art-fca31bd06a19419382014f733f4f74f02025-02-03T06:45:12ZengWileyIET Computers & Digital Techniques1751-86011751-861X2023-07-01173-412714010.1049/cdt2.12058Verification of serialising instructions for security against transient execution attacksKushal K. Ponugoti0Sudarshan K. Srinivasan1Nimish Mathure2Electrical and Computer Engineering North Dakota State University Fargo North Dakota USAElectrical and Computer Engineering North Dakota State University Fargo North Dakota USAElectrical and Computer Engineering North Dakota State University Fargo North Dakota USAAbstract Transient execution attacks such as Spectre and Meltdown exploit speculative execution in modern microprocessors to leak information via cache side‐channels. Software solutions to defend against many transient execution attacks employ the lfence serialising instruction, which does not allow instructions that come after the lfence to execute out‐of‐order with respect to instructions that come before the lfence. However, errors and Trojans in the hardware implementation of lfence can be exploited to compromise the software mitigations that use lfence. The aforementioned security gap has not been identified and addressed previously. The authors provide a formal method solution that addresses the verification of lfence hardware implementation. The authors also show how hardware Trojans can be designed to circumvent lfence and demonstrate that their verification approach will flag such Trojans as well. The authors have demonstrated the efficacy of our approach using RSD, which is an open source RISC‐V based superscalar out‐of‐order processor.https://doi.org/10.1049/cdt2.12058computer architectureelectronic design automationformal verificationintegrated circuit designlogic designmicrocomputers
spellingShingle Kushal K. Ponugoti
Sudarshan K. Srinivasan
Nimish Mathure
Verification of serialising instructions for security against transient execution attacks
IET Computers & Digital Techniques
computer architecture
electronic design automation
formal verification
integrated circuit design
logic design
microcomputers
title Verification of serialising instructions for security against transient execution attacks
title_full Verification of serialising instructions for security against transient execution attacks
title_fullStr Verification of serialising instructions for security against transient execution attacks
title_full_unstemmed Verification of serialising instructions for security against transient execution attacks
title_short Verification of serialising instructions for security against transient execution attacks
title_sort verification of serialising instructions for security against transient execution attacks
topic computer architecture
electronic design automation
formal verification
integrated circuit design
logic design
microcomputers
url https://doi.org/10.1049/cdt2.12058
work_keys_str_mv AT kushalkponugoti verificationofserialisinginstructionsforsecurityagainsttransientexecutionattacks
AT sudarshanksrinivasan verificationofserialisinginstructionsforsecurityagainsttransientexecutionattacks
AT nimishmathure verificationofserialisinginstructionsforsecurityagainsttransientexecutionattacks