A Points-to-Sensitive Model Checker for C Programs in IoT Firmware

Yinbo Yu, Jiajia Liu, Dejun Mu

科研成果: 期刊稿件文章同行评审

2 引用 (Scopus)

摘要

The Internet of Things (IoT) provides convenience for our daily lives via a huge number of devices. However, due to low-resource and poor computing capability, these devices have a high number of firmware vulnerabilities. Software verification is a powerful solution to ensure the correctness and security of IoT firmware programs. Unfortunately, due to the complex semantics and syntax of program languages (typically C), applying software verification in IoT firmware faces the tradeoff between efficiency and accuracy. One of the fundamental reasons is that verification methods cannot support verifying state transitions on the memory space caused by pointer operations well. To this end, by combining sparse value flow (SVF) analysis into model checking and optimizing computational redundancy among them, we design a novel points-to-sensitive model checker, called PCHECKER, which can provide a highly precise and efficient verification for IoT firmware programs. We first design a spatial flow model to effectively describe state behaviors of a C program both on the symbolic and memory space. We then propose a counterexample-guided model checking algorithm that can dynamically refine abstract precisions and update nondeterministic points-to relations. With a set of C benchmarks containing a variety of pointer operations and other complex C features, our experiments have shown that compared with state of the art (SOTA), PCHECKER can achieve outstanding results in the verification tasks of C programs that its verification accuracy is 95.9%, and its average verification time of each line of code is 1.27 ms, which are both better than existing model checkers.

源语言英语
页(从-至)18998-19011
页数14
期刊IEEE Internet of Things Journal
9
19
DOI
出版状态已出版 - 1 10月 2022

指纹

探究 'A Points-to-Sensitive Model Checker for C Programs in IoT Firmware' 的科研主题。它们共同构成独一无二的指纹。

引用此