Formally Verified Isolation of DMA

被引:0
|
作者
Haglund, Jonas [1 ]
Guanciale, Roberto [1 ]
机构
[1] KTH Royal Inst Technol, Dept TCS, Stockholm, Sweden
关键词
formal verification; interactive theorem proving; DMA; I/O security; memory isolation; VERIFICATION; MODEL;
D O I
10.34727/2022/isbn.978-3-85448-053-2_18
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Every computer having a network, USB or disk controller has a Direct Memory Access Controller (DMAC) which is configured by a driver to transfer data between the device and main memory. The DMAC, if wrongly configured, can therefore potentially leak sensitive data and overwrite critical memory to overtake the system. Since DMAC drivers tend to be buggy (due to their complexity), these attacks are a serious threat. This paper presents a general formal framework for modeling DMACs and verifying under which conditions they are isolated. These conditions can be used as a specification for guaranteeing that a driver configures the DMAC correctly. The framework provides general isolation theorems that are common to all DMACs, leaving to the user only the task of verifying proof obligations that are DMAC specific. This provides a reusable verification infrastructure that reduces the verification effort of DMACs. Models and proofs have been developed in the HOL4 interactive theorem prover. To demonstrate the usefulness of the framework, we instantiate it with a DMAC of a USB.
引用
收藏
页码:118 / 128
页数:11
相关论文
共 50 条
  • [21] TRX: A Formally Verified Parser Interpreter
    Koprowski, Adam
    Binsztok, Henri
    PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2010, 6012 : 345 - 365
  • [22] Formally Verified Native Code Generation in an Effectful JIT: Turning the CompCert Backend into a Formally Verified JIT Compiler
    Barrière A.
    Blazy S.
    Pichardie D.
    Proceedings of the ACM on Programming Languages, 2023, 7
  • [23] TRX: A FORMALLY VERIFIED PARSER INTERPRETER
    Koprowski, Adam
    Binsztok, Henri
    LOGICAL METHODS IN COMPUTER SCIENCE, 2011, 7 (02)
  • [24] Formally Verified Software in the Real World
    Klein, Gerwin
    Andronick, June
    Fernandez, Matthew
    Kuz, Ihor
    Murray, Toby
    Heiser, Gernot
    COMMUNICATIONS OF THE ACM, 2018, 61 (10) : 68 - 77
  • [25] Formally verified on-line diagnosis
    Walter, CJ
    Lincoln, P
    Suri, N
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1997, 23 (11) : 684 - 721
  • [26] A Formally Verified Mechanism for Countering SPIT
    Soupionis, Yannis
    Basagiannis, Stylianos
    Katsaros, Panagiotis
    Gritzalis, Dimitris
    CRITICAL INFORMATION INFRASTRUCTURES SECURITY, (CRITIS 2010), 2010, 6712 : 128 - 139
  • [27] Formally verified asymptotic consensus in robust networks
    Tekriwal, Mohit
    Tachna-Fram, Avi
    Jeannin, Jean-Baptiste
    Kapritsos, Manos
    Panagou, Dimitra
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PT I, TACAS 2024, 2024, 14570 : 248 - 267
  • [28] A Formally Verified Compiler Back-end
    Xavier Leroy
    Journal of Automated Reasoning, 2009, 43 : 363 - 446
  • [29] Engineering a Formally Verified Automated Bug Finder
    Correnson, Arthur
    Steinhoefel, Dominic
    PROCEEDINGS OF THE 31ST ACM JOINT MEETING EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, ESEC/FSE 2023, 2023, : 1165 - 1176
  • [30] Code Optimizations Using Formally Verified Properties
    Shi, Yao
    Blackham, Bernard
    Heiser, Gernot
    ACM SIGPLAN NOTICES, 2013, 48 (10) : 427 - 441