Abstract
Indirect function calls are widely used in building system software like OS kernels for their high flexibility and performance. Statically resolving indirect-call targets has been known to be a hard problem, which is a fundamental requirement for various program analysis and protection tasks. The state-of-the-art techniques, which use type analysis, are still imprecise. In this paper, we present a new approach, TFA, that precisely identifies indirect-call targets. The intuition behind TFA is that type-based analysis and data-flow analysis are inherently complementary in resolving indirect-call targets. TFA incorporates a co-analysis system that makes the best use of both type information and data-flow information. The co-analysis keeps refining the global call graph iteratively, allowing us to achieve an optimal indirect call analysis. We have implemented TFA in LLVM and evaluated it against five famous large-scale programs. The experimental results show that TFA eliminates additional 24% to 59% of indirect-call targets compared with the state-of-the-art approaches, without introducing new false negatives. With the precise indirect-call analysis, we further developed a strengthened fine-grained forward-edge control-flow integrity scheme and applied it to the Linux kernel. We have also used the refined indirect-call analysis results in bug detection, where we found 8 deep bugs in the Linux kernel. As a generic technique, the precise indirect-call analysis of TFA can also benefit other applications such as compiler optimization and software debloating.
| Original language | English (US) |
|---|---|
| Title of host publication | Proceedings of the 33rd USENIX Security Symposium |
| Publisher | USENIX Association |
| Pages | 5895-5912 |
| Number of pages | 18 |
| ISBN (Electronic) | 9781939133441 |
| State | Published - 2024 |
| Event | 33rd USENIX Security Symposium, USENIX Security 2024 - Philadelphia, United States Duration: Aug 14 2024 → Aug 16 2024 |
Publication series
| Name | Proceedings of the 33rd USENIX Security Symposium |
|---|
Conference
| Conference | 33rd USENIX Security Symposium, USENIX Security 2024 |
|---|---|
| Country/Territory | United States |
| City | Philadelphia |
| Period | 8/14/24 → 8/16/24 |
Bibliographical note
Publisher Copyright:© USENIX Security Symposium 2024.All rights reserved.
Fingerprint
Dive into the research topics of 'Improving Indirect-Call Analysis in LLVM with Type and Data-Flow Co-Analysis'. Together they form a unique fingerprint.Cite this
- APA
- Standard
- Harvard
- Vancouver
- Author
- BIBTEX
- RIS