File Download

There are no files associated with this item.

  Links for fulltext
     (May Require Subscription)
Supplementary

Conference Paper: Precise and Scalable Detection of Double-Fetch Bugs in OS Kernels

TitlePrecise and Scalable Detection of Double-Fetch Bugs in OS Kernels
Authors
Keywordsbug
kernel
detection
Issue Date2018
Citation
Proceedings - IEEE Symposium on Security and Privacy, 2018, v. 2018-May, p. 661-678 How to Cite?
AbstractDuring system call execution, it is common for operating system kernels to read userspace memory multiple times (multi-reads). A critical bug may exist if the fetched userspace memory is subject to change across these reads, i.e., a race condition, which is known as a double-fetch bug. Prior works have attempted to detect these bugs both statically and dynamically. However, due to their improper assumptions and imprecise definitions regarding double-fetch bugs, their multi-read detection is inherently limited and suffers from significant false positives and false negatives. For example, their approach is unable to support device emulation, inter-procedural analysis, loop handling, etc. More importantly, they completely leave the task of finding real double-fetch bugs from the haystack of multi-reads to manual verification, which is expensive if possible at all. In this paper, we first present a formal and precise definition of double-fetch bugs and then implement a static analysis system-Deadline-to automatically detect double-fetch bugs in OS kernels. Deadline uses static program analysis techniques to systematically find multi-reads throughout the kernel and employs specialized symbolic checking to vet each multi-read for double-fetch bugs. We apply Deadline to Linux and FreeBSD kernels and find 23 new bugs in Linux and one new bug in FreeBSD. We further propose four generic strategies to patch and prevent double-fetch bugs based on our study and the discussion with kernel maintainers.
Persistent Identifierhttp://hdl.handle.net/10722/303569
ISSN
2020 SCImago Journal Rankings: 2.407
ISI Accession Number ID

 

DC FieldValueLanguage
dc.contributor.authorXu, Meng-
dc.contributor.authorQian, Chenxiong-
dc.contributor.authorLu, Kangjie-
dc.contributor.authorBackes, Michael-
dc.contributor.authorKim, Taesoo-
dc.date.accessioned2021-09-15T08:25:35Z-
dc.date.available2021-09-15T08:25:35Z-
dc.date.issued2018-
dc.identifier.citationProceedings - IEEE Symposium on Security and Privacy, 2018, v. 2018-May, p. 661-678-
dc.identifier.issn1081-6011-
dc.identifier.urihttp://hdl.handle.net/10722/303569-
dc.description.abstractDuring system call execution, it is common for operating system kernels to read userspace memory multiple times (multi-reads). A critical bug may exist if the fetched userspace memory is subject to change across these reads, i.e., a race condition, which is known as a double-fetch bug. Prior works have attempted to detect these bugs both statically and dynamically. However, due to their improper assumptions and imprecise definitions regarding double-fetch bugs, their multi-read detection is inherently limited and suffers from significant false positives and false negatives. For example, their approach is unable to support device emulation, inter-procedural analysis, loop handling, etc. More importantly, they completely leave the task of finding real double-fetch bugs from the haystack of multi-reads to manual verification, which is expensive if possible at all. In this paper, we first present a formal and precise definition of double-fetch bugs and then implement a static analysis system-Deadline-to automatically detect double-fetch bugs in OS kernels. Deadline uses static program analysis techniques to systematically find multi-reads throughout the kernel and employs specialized symbolic checking to vet each multi-read for double-fetch bugs. We apply Deadline to Linux and FreeBSD kernels and find 23 new bugs in Linux and one new bug in FreeBSD. We further propose four generic strategies to patch and prevent double-fetch bugs based on our study and the discussion with kernel maintainers.-
dc.languageeng-
dc.relation.ispartofProceedings - IEEE Symposium on Security and Privacy-
dc.subjectbug-
dc.subjectkernel-
dc.subjectdetection-
dc.titlePrecise and Scalable Detection of Double-Fetch Bugs in OS Kernels-
dc.typeConference_Paper-
dc.description.naturelink_to_OA_fulltext-
dc.identifier.doi10.1109/SP.2018.00017-
dc.identifier.scopuseid_2-s2.0-85049196407-
dc.identifier.volume2018-May-
dc.identifier.spage661-
dc.identifier.epage678-
dc.identifier.isiWOS:000442163200039-

Export via OAI-PMH Interface in XML Formats


OR


Export to Other Non-XML Formats