BliMe Linter

Outsourced computation presents a risk to the confidentiality of clients’ sensitive data since they have to trust that the service providers will not mishandle this data. Blinded Memory (BliMe) [1] is a set of hardware extensions that addresses this problem by using hardware-based taint tracking to keep track of sensitive client data and enforce a security policy that prevents software from leaking this data, either directly or through side channels. Since programs can leak sensitive data through timing channels and memory access patterns when this data is used in control-flow or memory access instructions, BliMe prohibits such unsafe operations and only allows constant-time code to operate on sensitive data. The question is how a developer can confirm that their code will run correctly on BliMe. While a program can be manually checked to see if it is constant-time, this process is tedious and error-prone.In this paper, we introduce the BliMe linter, a set of compiler extensions built on top of SVF [2] that analyze LLVM bitcode to identify possible BliMe violations. We evaluate the BliMe linter analytically and empirically and show that it is sound.

Authors

Institutions

Publication Details

Published
2024-10-07
DOI
https://doi.org/10.1109/secdev61143.2024.00011
Citations
2
Primary Topic
Security and Verification in Computing
Type
article
Field-Weighted Citation Impact
0.69
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

BliMe Linter

N. Asokan, Hossam ElAtali, Hans Liljestrand, Meng Xu et al.
2 citations
Security and Verification in Computing
0.69
article

BliMe Linter

N. Asokan, Hossam ElAtali, Hans Liljestrand, Meng Xu, Xiaohe Duan
article en
2 citations

Abstract

Outsourced computation presents a risk to the confidentiality of clients’ sensitive data since they have to trust that the service providers will not mishandle this data. Blinded Memory (BliMe) [1] is a set of hardware extensions that addresses this problem by using hardware-based taint tracking to keep track of sensitive client data and enforce a security policy that prevents software from leaking this data, either directly or through side channels. Since programs can leak sensitive data through timing channels and memory access patterns when this data is used in control-flow or memory access instructions, BliMe prohibits such unsafe operations and only allows constant-time code to operate on sensitive data. The question is how a developer can confirm that their code will run correctly on BliMe. While a program can be manually checked to see if it is constant-time, this process is tedious and error-prone.In this paper, we introduce the BliMe linter, a set of compiler extensions built on top of SVF [2] that analyze LLVM bitcode to identify possible BliMe violations. We evaluate the BliMe linter analytically and empirically and show that it is sound.

Intel (United States) (US), University of Waterloo (CA)
Openalex Percentile: Top 23%
Security and Verification in Computing
0.69
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.