Answers are grounded in this paper and cite their sources.
Formal analysis demonstrates conditional noninterference in low-level program execution, indicating its significance for secure information flow.
Program analyses based on Instruction Set Architecture (ISA) abstractions can be circumvented using microarchitectural vulnerabilities, permitting unwanted program information flows even when proven ISA-level properties ostensibly rule them out.However, the low abstraction levels found below ISAs, e.g., in microarchitectures defined in hardware description languages, may obscure information flow and hinder analysis tool development.We present a machine-checked formalization in the HOL4 theorem prover of a language, MIL, that abstractly describes microarchitectural in-order and out-of-order program execution and enables reasoning about low-level program information flows.In particular, MIL programs can exhibit information flow side channels when executed out-of-order, as compared to a reference in-order execution.We prove memory consistency between MIL's out-of-order and in-order dynamic semantics in HOL4, and define a notion of conditional noninterference for MIL programs which rules out trace-driven cache side channels.We then demonstrate how to establish conditional noninterference for programs via a novel semi-automated bisimulation based verification strategy inside HOL4 that we apply to several examples.Based on our results, we believe MIL is suitable as a translation target for ISA code to enable information flow analyses.
No takes yet. Share an insight, caveat, or question.
Palmskog et al. (2022) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: