• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

SafeDrive: Safe and recoverable extensions using language-based techniques (2006)

Cached

  • Download as a PDF

Download Links

  • [www.usenix.org]
  • [www.ssrc.ucsc.edu]
  • [www.cs.berkeley.edu]
  • [research.microsoft.com]
  • [deputy.cs.berkeley.edu]
  • [research.microsoft.com]
  • [www.cs.berkeley.edu]
  • [ivy.cs.berkeley.edu]
  • [berkeley.intel-research.net]
  • [www.cs.berkeley.edu]
  • [www.cs.utah.edu]

  • Other Repositories/Bibliography

  • DBLP
  • Save to List
  • Add to Collection
  • Correct Errors
  • Monitor Changes
by Feng Zhou , Jeremy Condit , Zachary Anderson , Ilya Bagrak
Venue:In OSDI’06
Citations:58 - 4 self
  • Summary
  • Active Bibliography
  • Co-citation
  • Clustered Documents
  • Version History

BibTeX

@INPROCEEDINGS{Zhou06safedrive:safe,
    author = {Feng Zhou and Jeremy Condit and Zachary Anderson and Ilya Bagrak},
    title = {SafeDrive: Safe and recoverable extensions using language-based techniques},
    booktitle = {In OSDI’06},
    year = {2006},
    pages = {45--60}
}

Years of Citing Articles

Bookmark

citeulike Connotea Bibsonomy Del.icio.us Digg Reddit

OpenURL

 

Abstract

We present SafeDrive, a system for detecting and recovering from type safety violations in software extensions. SafeDrive has low overhead and requires minimal changes to existing source code. To achieve this result, SafeDrive uses a novel type system that provides finegrained isolation for existing extensions written in C. In addition, SafeDrive tracks invariants using simple wrappers for the host system API and restores them when recovering from a violation. This approach achieves finegrained memory error detection and recovery with few code changes and at a significantly lower performance cost than existing solutions based on hardware-enforced domains, such as Nooks [33], L4 [21], and Xen [13], or software-enforced domains, such as SFI [35]. The principles used in SafeDrive can be applied to any large system with loadable, error-prone extension modules. In this paper we describe our experience using SafeDrive for protection and recovery of a variety of Linux device drivers. In order to apply SafeDrive to these device drivers, we had to change less than 4 % of the source code. SafeDrive recovered from all 44 crashes due to injected faults in a network card driver. In experiments with 6 different drivers, we observed increases in kernel CPU utilization of 4–23 % with no noticeable degradation in end-to-end performance. 1

Citations

990 Xen and the Art of Virtualization - Barham, Dragovic, et al. - 2003
627 Efficient software-based fault isolation - Wahbe, Lucco, et al. - 1993
348 S.K.: Automatic predicate abstraction of C programs 36(5 - Ball, Majumdar, et al. - 2001
331 Cil: Intermediate language and tools for analysis and transformation of c programs - Necula, McPeak - 2002
322 Flow-insensitive type qualifiers - Foster, Johnson, et al.
274 Cyclone: A Safe Dialect - Jim, Morrisett, et al. - 2002
242 Lightweight remote procedure call - Bershad, Anderson, et al. - 1990
238 Dealing with disaster: Surviving misbehaved kernel extensions - Seltzer, Endo, et al. - 1996
199 An Empirical Study of Operating Systems Errors - Chou, Yang, et al. - 2001
192 Improving the Reliability of Commodity Operating Systems - Swift, Bershad, et al. - 2003
134 Software Defects and their Impact on System Availability – A Study of Field Failures in Operating Systems - Sullivan, Chillarege - 1991
94 Microreboot – A Technique for Cheap Recovery - Candea, Kawamoto, et al.
91 CCured: Type-Safe Retrofitting of Legacy Software - Necula, Condit, et al. - 2005
90 Recovering device drivers - Swift, Annamalai, et al. - 2006
83 Safe Hardware Access with the Xen Virtual Machine Monitor - Fraser, Hand, et al. - 2004
82 Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines - LeVasseur, Uhlig, et al. - 2004
69 Diagnosing performance overheads in the xen virtual machine environment - Menon, Santos, et al. - 2005
62 MiSFIT: A tool for constructing safe extensible C++ systems - SMALL - 1997
59 XFI: Software Guards for System Address Spaces - ERLINGSSON, ABADI, et al.
57 Privtrans: Automatically partitioning programs for privilege separation - Brumley, Song - 2004
56 An overview of the Singularity project - Hunt, Larus, et al. - 2005
49 Finding user/kernel pointer bugs with type inference - Johnson, Wagner - 2004
47 Semantic type qualifiers - Chin, Markstrum, et al. - 2005
44 Finding and preventing run-time error handling mistakes - Weimer, Necula
40 Protecting C Programs From Attacks via Invalid Pointer Dereferences - Yong, Horwitz - 2003
36 Modular Checking for Buffer Overflows in the Large - Hackett, Das, et al. - 2006
30 Upgrading transport protocols using untrusted mobile code - Patel, Whitaker, et al. - 2003
27 Generation of an error set that emulates software faults - mansson, Chillarege - 1996
27 Formal objects in type theory using very dependent types - Hickey - 1996
26 Safe kernel programming in the OKE - Bos, Samwel - 2002
20 The Systematic Improvement of Fault Tolerance in the Rio File Cache - Ng, Chen - 1999
14 Open packet monitoring on FLAME: Safety, performance and applications - Anagnostakis, Greenwald, et al. - 2002
5 Netperf: A network performance benchmark. http://www.netperf.org - Division
4 Using dependent types to certify the safety of assembly code - HARREN, NECULA
2 JavaOS: Back to the future (abstract - MITCHELL - 1996
2 Imperative programming with dependent types - unknown authors - 2000
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University