Per-input control-flow integrity

B Niu, G Tan - Proceedings of the 22nd ACM SIGSAC Conference on …, 2015 - dl.acm.org
Control-Flow Integrity (CFI) is an effective approach to mitigating control-flow hijacking
attacks. Conventional CFI techniques statically extract a control-flow graph (CFG) from a …

Where does it go? refining indirect-call targets with multi-layer type analysis

K Lu, H Hu - Proceedings of the 2019 ACM SIGSAC Conference on …, 2019 - dl.acm.org
System software commonly uses indirect calls to realize dynamic program behaviors.
However, indirect-calls also bring challenges to constructing a precise control-flow graph …

Bugram: bug detection with n-gram language models

S Wang, D Chollak, D Movshovitz-Attias… - Proceedings of the 31st …, 2016 - dl.acm.org
To improve software reliability, many rule-based techniques have been proposed to infer
programming rules and detect violations of these rules as bugs. These rule-based …

Detecting {Missing-Check} bugs via semantic-and {Context-Aware} criticalness and constraints inferences

K Lu, A Pakki, Q Wu - … USENIX Security Symposium (USENIX Security 19 …, 2019 - usenix.org
Missing a security check is a class of semantic bugs in software programs where erroneous
execution states are not validated. Missing-check bugs are particularly common in OS …

Cogent: Verifying high-assurance file system implementations

S Amani, A Hixon, Z Chen, C Rizkallah… - ACM SIGARCH …, 2016 - dl.acm.org
We present an approach to writing and formally verifying high-assurance file-system code in
a restricted language called Cogent, supported by a certifying compiler that produces C …

Path-based function embedding and its application to error-handling specification mining

D DeFreez, AV Thakur, C Rubio-González - … of the 2018 26th ACM Joint …, 2018 - dl.acm.org
Identifying relationships among program elements is useful for program understanding,
debugging, and analysis. One such kind of relationship is synonymy. Function synonyms are …

Automatically diagnosing and repairing error handling bugs in C

Y Tian, B Ray - Proceedings of the 2017 11th joint meeting on …, 2017 - dl.acm.org
Correct error handling is essential for building reliable and secure systems. Unfortunately,
low-level languages like C often do not support any error handling primitives and leave it up …

Effective static analysis of concurrency {Use-After-Free} bugs in linux device drivers

JJ Bai, J Lawall, QL Chen, SM Hu - 2019 USENIX Annual Technical …, 2019 - usenix.org
In Linux device drivers, use-after-free (UAF) bugs can cause system crashes and serious
security problems. According to our study of Linux kernel commits, 42% of the driver commits …

[PDF][PDF] On the feasibility of stealthily introducing vulnerabilities in open-source software via hypocrite commits

Q Wu, K Lu - Proc. Oakland, 2021 - coding-guidelines.com
Open source software (OSS) has thrived since the forming of Open Source Initiative in 1998.
A prominent example is the Linux kernel, which has been used by numerous major software …

Static detection of unsafe {DMA} accesses in device drivers

JJ Bai, T Li, K Lu, SM Hu - 30th USENIX Security Symposium (USENIX …, 2021 - usenix.org
Direct Memory Access (DMA) is a popular mechanism for improving hardware I/O
performance, and it has been widely used by many existing device drivers. However, DMA …