The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Jan. 08, 2013
Filed:
Dec. 08, 2009
Richard John Black, Cambridge, GB;
Paul Barham, Cambridge, GB;
Manuel Costa, Cambridge, GB;
Marcus Peinado, Bellevue, WA (US);
Jean-philippe Martin, Mountain view, WA (US);
Periklis Akritidis, Cambridge, GB;
Austin Donnelly, Cambridge, GB;
Miguel Castro, Cambridge, GB;
Richard John Black, Cambridge, GB;
Paul Barham, Cambridge, GB;
Manuel Costa, Cambridge, GB;
Marcus Peinado, Bellevue, WA (US);
Jean-Philippe Martin, Mountain view, WA (US);
Periklis Akritidis, Cambridge, GB;
Austin Donnelly, Cambridge, GB;
Miguel Castro, Cambridge, GB;
Microsoft Corporation, Redmond, WA (US);
Abstract
Software fault isolation methods using byte-granularity memory protection are described. In an embodiment, untrusted drivers or other extensions to a software system are run in a separate domain from the host portion of the software system, but share the same address space as the host portion. Calls between domains are mediated using an interposition library and access control data is maintained for substantially each byte of relevant virtual address space. Instrumentation added to the untrusted extension at compile-time, before load-time, or at runtime and added by the interposition library enforces the isolation between domains, for example by adding access right checks before any writes or indirect calls and by redirecting function calls to call wrappers in the interposition library. The instrumentation also updates the access control data to grant and revoke access rights on a fine granularity according to the semantics of the operation being invoked.