Please use this identifier to cite or link to this item:
https://scholarbank.nus.edu.sg/handle/10635/244802
DC Field | Value | |
---|---|---|
dc.title | Linear-time Temporal Logic guided Greybox Fuzzing | |
dc.contributor.author | Meng, Ruijie | |
dc.contributor.author | Dong, Zhen | |
dc.contributor.author | Li, Jialin | |
dc.contributor.author | Beschastnikh, Ivan | |
dc.contributor.author | Roychoudhury, Abhik | |
dc.date.accessioned | 2023-09-04T00:35:41Z | |
dc.date.available | 2023-09-04T00:35:41Z | |
dc.date.issued | 2021-09-06 | |
dc.identifier.citation | Meng, Ruijie, Dong, Zhen, Li, Jialin, Beschastnikh, Ivan, Roychoudhury, Abhik (2021-09-06). Linear-time Temporal Logic guided Greybox Fuzzing. ICSE '22: Proceedings of the 44th International Conference on Software Engineering. ScholarBank@NUS Repository. | |
dc.identifier.uri | https://scholarbank.nus.edu.sg/handle/10635/244802 | |
dc.description.abstract | Software model checking is a verification technique which is widely used for checking temporal properties of software systems. Even though it is a property verification technique, its common usage in practice is in "bug finding", that is, finding violations of temporal properties. Motivated by this observation and leveraging the recent progress in fuzzing, we build a greybox fuzzing framework to find violations of Linear-time Temporal Logic (LTL) properties. Our framework takes as input a sequential program written in C/C++, and an LTL property. It finds violations, or counterexample traces, of the LTL property in stateful software systems; however, it does not achieve verification. Our work substantially extends directed greybox fuzzing to witness arbitrarily complex event orderings. We note that existing directed greybox fuzzing approaches are limited to witnessing reaching a location or witnessing simple event orderings like use-after-free. At the same time, compared to model checkers, our approach finds the counterexamples faster, thereby finding more counterexamples within a given time budget. Our LTL-Fuzzer tool, built on top of the AFL fuzzer, is shown to be effective in detecting bugs in well-known protocol implementations, such as OpenSSL and Telnet. We use LTL-Fuzzer to reproduce known vulnerabilities (CVEs), to find 15 zero-day bugs by checking properties extracted from RFCs (for which 12 CVEs have been assigned), and to find violations of both safety as well as liveness properties in real-world protocol implementations. Our work represents a practical advance over software model checkers -- while simultaneously representing a conceptual advance over existing greybox fuzzers. Our work thus provides a starting point for understanding the unexplored synergies between software model checking and greybox fuzzing. | |
dc.publisher | Association for Computing Machinery | |
dc.source | Elements | |
dc.subject | cs.SE | |
dc.subject | cs.SE | |
dc.type | Conference Paper | |
dc.date.updated | 2023-09-03T10:35:09Z | |
dc.contributor.department | DEPARTMENT OF COMPUTER SCIENCE | |
dc.description.sourcetitle | ICSE '22: Proceedings of the 44th International Conference on Software Engineering | |
dc.published.state | Published | |
Appears in Collections: | Staff Publications Elements Students Publications |
Show simple item record
Files in This Item:
File | Description | Size | Format | Access Settings | Version | |
---|---|---|---|---|---|---|
2109.02312v3.pdf | 831.26 kB | Adobe PDF | OPEN | Pre-print | View/Download |
Google ScholarTM
Check
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.