Formally Verified Isolation of DMA

被引:0
作者
Haglund, Jonas [1 ]
Guanciale, Roberto [1 ]
机构
[1] KTH Royal Inst Technol, Dept TCS, Stockholm, Sweden
来源
2022 FORMAL METHODS IN COMPUTER-AIDED DESIGN, FMCAD | 2022年 / 3卷
关键词
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
相关论文
共 56 条
  • [1] Alkassar E., 2007, P 4 INT VERIFICATION, P4
  • [2] Alkassar E, 2008, LECT NOTES COMPUT SC, V5295, P225, DOI 10.1007/978-3-540-87873-5_19
  • [3] Altera Corporation, 2004, INCR SYST PERF EFF U, P10
  • [4] AMD Corporation, 2021, AMD I O VIRT TECHN I
  • [5] Amit N., 2010, International Symposium on Computer Architecture, P256
  • [6] ARM Limited, 2016, ARM SYST MEM MAN UN
  • [7] Bai Jia-Ju, 2021, 30 USENIX SEC S USEN
  • [8] Baumann C, 2016, 2016 EUROPEAN CONFERENCE ON NETWORKS AND COMMUNICATIONS (EUCNC), P210, DOI 10.1109/EuCNC.2016.7561034
  • [9] Baumann C, 2009, LECT NOTES COMPUT SC, V5775, P187, DOI 10.1007/978-3-642-04468-7_16
  • [10] Ben-Yehuda M., 2007, Proc. Linux Symp, V1, P9