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 条
  • [1] Compiling Sandboxes: Formally Verified Software Fault Isolation
    Besson, Frederic
    Blazy, Sandrine
    Dang, Alexandre
    Jensen, Thomas
    Wilke, Pierre
    PROGRAMMING LANGUAGES AND SYSTEMS, ESOP 2019: 28TH EUROPEAN SYMPOSIUM ON PROGRAMMING, 2019, 11423 : 499 - 524
  • [2] A Formally Verified NAT
    Zaostrovnykh, Arseniy
    Pirelli, Solal
    Pedrosa, Luis
    Argyraki, Katerina
    Candea, George
    SIGCOMM '17: PROCEEDINGS OF THE 2017 CONFERENCE OF THE ACM SPECIAL INTEREST GROUP ON DATA COMMUNICATION, 2017, : 141 - 154
  • [3] Formally Verified Mathematics
    Avigad, Jeremy
    Harison, John
    COMMUNICATIONS OF THE ACM, 2014, 57 (04) : 66 - 75
  • [4] Pragmatics of formally verified yet efficient static analysis, in particular, for formally verified compilers
    Monniaux, David
    INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2024, 26 (04) : 463 - 477
  • [5] Formally Verified Montgomery Multiplication
    Walther, Christoph
    COMPUTER AIDED VERIFICATION, CAV 2018, PT II, 2018, 10982 : 505 - 522
  • [6] UTC Time, Formally Verified
    de Almeida Borges, Ana
    Gonzalez Bedmar, Mireia
    Conejero Rodriguez, Juan
    Hermo Reyes, Eduardo
    Casals Bunuel, Joaquim
    Joosten, Joost J.
    PROCEEDINGS OF THE 13TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON CERTIFIED PROGRAMS AND PROOFS, CPP 2024, 2024, : 2 - 13
  • [7] Formally Verified System Initialisation
    Boyton, Andrew
    Andronick, June
    Bannister, Callum
    Fernandez, Matthew
    Gao, Xin
    Greenaway, David
    Klein, Gerwin
    Lewis, Corey
    Sewell, Thomas
    FORMAL METHODS AND SOFTWARE ENGINEERING, 2013, 8144 : 70 - 85
  • [8] Formally verified redundancy removal
    Hendricx, S
    Claesen, L
    DESIGN, AUTOMATION AND TEST IN EUROPE CONFERENCE AND EXHIBITION 1999, PROCEEDINGS, 1999, : 150 - 155
  • [9] Formally Verified Superblock Scheduling
    Six, Cyril
    Gourdin, Leo
    Boulme, Sylvain
    Monniaux, David
    Fasse, Justus
    Nardino, Nicolas
    PROCEEDINGS OF THE 11TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON CERTIFIED PROGRAMS AND PROOFS (CPP '22), 2022, : 40 - 54
  • [10] Plotting in a Formally Verified Way
    Melquiond, Guillaume
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2021, (338): : 39 - 45