Title:
Finding race conditions in kernels: The symbolic way and the fuzzy way

dc.contributor.advisor Kim, Taesoo
dc.contributor.author Xu, Meng
dc.contributor.committeeMember Lee, Wenke
dc.contributor.committeeMember Orso, Alessandro
dc.contributor.committeeMember Saltaformaggio, Brendan D.
dc.contributor.committeeMember Peinado, Marcus
dc.contributor.department Computer Science
dc.date.accessioned 2020-09-08T12:47:57Z
dc.date.available 2020-09-08T12:47:57Z
dc.date.created 2020-08
dc.date.issued 2020-07-28
dc.date.submitted August 2020
dc.date.updated 2020-09-08T12:47:57Z
dc.description.abstract The scale and pervasiveness of concurrent software pose challenges for security researchers: race conditions are more prevalent than ever, and the growing software complexity keeps exacerbating the situation -- expanding the arms race between security practitioners and attackers beyond memory errors. As a consequence, we need a new generation of bug hunting tools that not only scale well with increasingly larger codebases but also catch up with the growing importance of race conditions. In this thesis, two complementary race detection frameworks for OS kernels are presented: multi-dimensional fuzz testing and symbolic checking. Fuzz testing turns bug finding into a probabilistic search, but current practices restrict themselves to one dimension only (sequential executions). This thesis illustrates how to explore the concurrency dimension and extend the bug scope beyond memory errors to the broad spectrum of concurrency bugs. On the other hand, conventional symbolic executors face challenges when applied to OS kernels, such as path explosions due to branching and loops. They also lack a systematic way of modeling and tracking constraints in the concurrency dimension (e.g., to enforce a particular schedule for thread interleavings) The gap can be partially filled with novel techniques for symbolic execution in this thesis.
dc.description.degree Ph.D.
dc.format.mimetype application/pdf
dc.identifier.uri http://hdl.handle.net/1853/63668
dc.language.iso en_US
dc.publisher Georgia Institute of Technology
dc.subject Race condition
dc.subject Fuzz testing
dc.subject Symbolic execution
dc.subject Bug finding
dc.subject OS kernel
dc.title Finding race conditions in kernels: The symbolic way and the fuzzy way
dc.type Text
dc.type.genre Dissertation
dspace.entity.type Publication
local.contributor.advisor Kim, Taesoo
local.contributor.corporatename College of Computing
local.contributor.corporatename School of Computer Science
relation.isAdvisorOfPublication e96debb0-758f-49d4-8ed9-307227ecad78
relation.isOrgUnitOfPublication c8892b3c-8db6-4b7b-a33a-1b67f7db2021
relation.isOrgUnitOfPublication 6b42174a-e0e1-40e3-a581-47bed0470a1e
thesis.degree.level Doctoral
Files
Original bundle
Now showing 1 - 1 of 1
Thumbnail Image
Name:
XU-DISSERTATION-2020.pdf
Size:
2.61 MB
Format:
Adobe Portable Document Format
Description:
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
LICENSE.txt
Size:
3.86 KB
Format:
Plain Text
Description: