Seminar: High-performance, Cross-platform Vetting of the Closed-source Software Ecosystem
When: 10:30 am Wednesday April 26th, 2023 |
Where: Room 1263 Patrick F. Taylor Hall |
ABSTRACT |
The root cause of over 90% of cyberattacks is security vulnerabilities. At 25 bugs
for every 1,000 lines of code, the discovery of security flaws is vital to mitigating
cyberattacks. The go-to method of vulnerability discovery is the developer-derived
test case: a developer encodes their understanding of program behavior in a set of
test cases, then executes those test cases to verify that the program behaves as expected.
Unfortunately, the programmer’s mental model of the program is often incomplete and
over-constrained. These limitations cause programmers to miss many security vulnerabilities
that stem from seemingly impossible test cases. Coverage-guided mutational fuzz testing
(i.e., fuzzing) fills in the gaps in testing that developers leave by being underconstrained,
i.e., testing with an “anything is possible” mindset. Being underconstrained will
find vulnerabilities that developers miss but requires throwing millions of test cases
at the program, as being underconstrained means that most test cases will be uninteresting
from a program behavior perspective. This results in test case execution rate as the
critical metric of fuzzing effectiveness. |
Matthew Hicks |