| dc.contributor.author | Mao, Yandong | |
| dc.contributor.author | Chen, Haogang | |
| dc.contributor.author | Zhou, Dong | |
| dc.contributor.author | Wang, Xi | |
| dc.contributor.author | Zeldovich, Nickolai | |
| dc.contributor.author | Kaashoek, M. Frans | |
| dc.date.accessioned | 2012-09-07T19:00:54Z | |
| dc.date.available | 2012-09-07T19:00:54Z | |
| dc.date.issued | 2011-10 | |
| dc.identifier.isbn | 978-1-4503-0977-6 | |
| dc.identifier.uri | http://hdl.handle.net/1721.1/72580 | |
| dc.description.abstract | The security of many applications relies on the kernel being secure, but history suggests that kernel vulnerabilities are routinely discovered and exploited. In particular, exploitable vulnerabilities in kernel modules are common. This paper proposes LXFI, a system which isolates kernel modules from the core kernel so that vulnerabilities in kernel modules cannot lead to a privilege escalation attack. To safely give kernel modules access to complex kernel APIs, LXFI introduces the notion of API integrity, which captures the set of contracts assumed by an interface. To partition the privileges within a shared module, LXFI introduces module principals. Programmers specify principals and API integrity rules through capabilities and annotations. Using a compiler plugin, LXFI instruments the generated code to grant, check, and transfer capabilities between modules, according to the programmer's annotations. An evaluation with Linux shows that the annotations required on kernel functions to support a new module are moderate, and that LXFI is able to prevent three known privilege-escalation vulnerabilities. Stress tests of a network driver module also show that isolating this module using LXFI does not hurt TCP throughput but reduces UDP throughput by 35%, and increases CPU utilization by 2.2-3.7x. | en_US |
| dc.description.sponsorship | United States. Defense Advanced Research Projects Agency. Clean-slate design of Resilient, Adaptive, Secure Hosts (Contract number N66001-10-2-4089) | en_US |
| dc.description.sponsorship | National Science Foundation (U.S.). (Grant number CNS-1053143) | en_US |
| dc.description.sponsorship | National Basic Research Program of China (973 Program) (2007CB807901) | en_US |
| dc.description.sponsorship | National Natural Science Foundation (China) (61033001) | en_US |
| dc.language.iso | en_US | |
| dc.publisher | Association for Computing Machinery (ACM) | en_US |
| dc.relation.isversionof | http://dx.doi.org/10.1145/2043556.2043568 | en_US |
| dc.rights | Creative Commons Attribution-Noncommercial-Share Alike 3.0 | en_US |
| dc.rights.uri | http://creativecommons.org/licenses/by-nc-sa/3.0/ | en_US |
| dc.source | MIT web domain | en_US |
| dc.title | Software Fault Isolation with Api Integrity and Multi-Principal Modules | en_US |
| dc.type | Article | en_US |
| dc.identifier.citation | Yandong Mao, Haogang Chen, Dong Zhou, Xi Wang, Nickolai Zeldovich, and M. Frans Kaashoek. 2011. Software fault isolation with API integrity and multi-principal modules. In Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles (SOSP '11). ACM, New York, NY, USA, 115-128. | en_US |
| dc.contributor.department | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory | en_US |
| dc.contributor.department | Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science | en_US |
| dc.contributor.approver | Kaashoek, M. Frans | |
| dc.contributor.mitauthor | Mao, Yandong | |
| dc.contributor.mitauthor | Chen, Haogang | |
| dc.contributor.mitauthor | Wang, Xi | |
| dc.contributor.mitauthor | Zeldovich, Nickolai | |
| dc.contributor.mitauthor | Kaashoek, M. Frans | |
| dc.relation.journal | Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles (SOSP '11) | en_US |
| dc.eprint.version | Author's final manuscript | en_US |
| dc.type.uri | http://purl.org/eprint/type/ConferencePaper | en_US |
| dspace.orderedauthors | Mao, Yandong; Chen, Haogang; Zhou, Dong; Wang, Xi; Zeldovich, Nickolai; Kaashoek, M. Frans | en |
| dc.identifier.orcid | https://orcid.org/0000-0003-0238-2703 | |
| dc.identifier.orcid | https://orcid.org/0000-0002-2898-1686 | |
| dc.identifier.orcid | https://orcid.org/0000-0001-7098-586X | |
| mit.license | OPEN_ACCESS_POLICY | en_US |
| mit.metadata.status | Complete | |