Verifying RISC-V Privilege Transition Integrity Through Symbolic Execution

被引:0
作者
Tang, Shibo [1 ]
Zhu, Jiacheng [1 ]
Gao, Yifei [1 ]
Zhou, Jing [2 ]
Mu, Dejun [1 ]
Hu, Wei [1 ]
机构
[1] Northwestern Polytech Univ, Xian, Peoples R China
[2] Beijing Microelect Technol Inst, Beijing, Peoples R China
来源
2023 IEEE 32ND ASIAN TEST SYMPOSIUM, ATS | 2023年
基金
国家重点研发计划;
关键词
Privilege validity; privilege transition integrity; formal verification; symbolic execution; RISC-V; VERIFICATION;
D O I
10.1109/ATS59501.2023.10317946
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Ensuring privilege transition integrity during execution context switch is crucial for protecting the processor from unauthorized access and malicious actions. However, existing methods fall short in covering potential attack paths and vectors in a complete manner. In this work, we propose a method for formal verification of privilege correctness targeting privilege escalation attacks, where the program processes on non-privileged mode may access the sensitive information stored in Special purpose registers (SPRs). We specify assertion property and utilize the Klee symbolic execution engine to formally check the consistency in privilege when accessing contents in critical registers. The formal solver performs state space exploration through heuristic search to identify the possible integrity violation test cases that can trigger an illegal privilege escalation, which further allows creating a minimal simulation system consisting of the CPU and Quick Memory (QMEM) modules to replay the privilege violation process. Experimental results have demonstrated that our method can systematically verify the privilege validity to protect the system from privilege escalation attacks on a RISC-V processor.
引用
收藏
页码:189 / 194
页数:6
相关论文
共 21 条
[1]  
Bilzor M., 2012, Proceedings 2012 IEEE International Symposium on Hardware-Oriented Security and Trust (HOST 2012), P49, DOI 10.1109/HST.2012.6224318
[2]   Processor Verification using Symbolic Execution: A RISC-V Case-Study [J].
Bruns, Niklas ;
Herdt, Vladimir ;
Drechsler, Rolf .
2023 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION, DATE, 2023,
[3]  
Cadar Cristian, 2008, P 8 USENIX C OP SYST, P209
[4]  
Cheang K, 2022, Arxiv, DOI arXiv:2211.02179
[5]  
Dimitrov Martin, 2007, 2007 16th International Conference on Parallel Architectures and Compilation Techniques, P73
[6]  
Domas Christopher., 2018, Hardware Backdoors in x86 CPUs
[7]  
Duflot Loic., 2006, CANSECWESTCORE06
[8]  
Ferraiuolo A, 2017, TWENTY-SECOND INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS (ASPLOS XXII), P555, DOI 10.1145/3037697.3037739
[9]   A Verilog to C compiler [J].
Greaves, DJ .
11TH IEEE INTERNATIONAL WORKSHOP ON RAPID SYSTEM PROTOTYPING, PROCEEDINGS, 2000, :122-127
[10]   SPECUSYM: Speculative Symbolic Execution for Cache Timing Leak Detection [J].
Guo, Shengjian ;
Chen, Yueqi ;
Li, Peng ;
Cheng, Yueqiang ;
Wang, Huibo ;
Wu, Meng ;
Zuo, Zhiqiang .
2020 ACM/IEEE 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2020), 2020, :1235-1247