Skip to main navigation Skip to search Skip to main content

A Formal Approach to Confidentiality Verification in SoCs at the Register Transfer Level

Johannes Muller, Mohammad Rahmani Fadiheh, Anna Lena Duque Anton, Thomas Eisenbarth, Dominik Stoffel, Wolfgang Kunz

Abstract

We propose a formal verification methodology to detect security-critical bugs in the hardware (HW) and in the hardware/firmware interface of SoCs. Our approach extends Unique Program Execution Checking (UPEC), originally proposed for detecting transient execution side channels, to also detect all functional design bugs that cause confidentiality violations, and to cover not only the processor but also its peripherals. The proposed methodology is particularly effective in capturing security vulnerabilities that are introduced based on cross-modular effects (integration and communication issues) or poorly understood hardware/firmware interaction. Such bugs are known to be hard to detect by previous methods.We demonstrate a compositional approach where vulnerabilities discovered by our method can be used to create restrictions for the software (SW). This supports design fixes not only at the HW but also at the SW level. We present experiments for the Pulpissimo platform (v4.0) where several security-critical bugs were identified (and confirmed), as well as for RocketChip.

Original languageEnglish
Title of host publication2021 58th ACM/IEEE Design Automation Conference (DAC)
Publication date05.12.2021
Pages991-996
DOIs
Publication statusPublished - 05.12.2021

UN SDGs

This output contributes to the following UN Sustainable Development Goals (SDGs)

  1. SDG 9 - Industry, Innovation, and Infrastructure
    SDG 9 Industry, Innovation, and Infrastructure
  2. SDG 11 - Sustainable Cities and Communities
    SDG 11 Sustainable Cities and Communities
  3. SDG 12 - Responsible Consumption and Production
    SDG 12 Responsible Consumption and Production

Fingerprint

Dive into the research topics of 'A Formal Approach to Confidentiality Verification in SoCs at the Register Transfer Level'. Together they form a unique fingerprint.

Cite this