Lightweight Capability Domains: Towards Decomposing the Linux Kernel

Charles Jacobsen, Muktesh Khole, Sarah Spall, Scotty Bauer, A. Burtsev
{"title":"Lightweight Capability Domains: Towards Decomposing the Linux Kernel","authors":"Charles Jacobsen, Muktesh Khole, Sarah Spall, Scotty Bauer, A. Burtsev","doi":"10.1145/2883591.2883601","DOIUrl":null,"url":null,"abstract":"Despite a number of radical changes in how computer systems are used, the design principles behind the very core of the systems stack--an operating system kernel--has remained unchanged for decades.We run monolithic kernels developed with a combination ofan unsafe programming language, global sharing of data structures, opaque interfaces, and no explicit knowledge of kernel protocols. Today, the monolithic architecture of a kernel is the main factor undermining its security, and even worse, limiting its evolution towards a safer, more secure environment. Lack of isolation across kernel subsystems allows attackers to take control over the entire machine with a single kernel vulnerability. Furthermore, complex, semantically rich monolithic code with globally shared data structures and no explicit interfaces is not amenable to formal analysis and verification tools. Even after decades of work to make monolithic kernels more secure, over a hundred serious kernel vulnerabilities are still reported every year.\n Modern kernels need decomposition as a practical means of confining the effects of individual attacks. Historically, decomposed kernels were prohibitively slow. Today, the complexity of a modern kernel prevents a trivial decomposition effort. We argue, however, that despite all odds modern kernels can be decomposed. Careful choice of communication abstractions and execution model, a general approach to decomposition, a path for incremental adoption, and automation through proper language tools can address complexity of decomposition and performance overheads of decomposed kernels. Our work on lightweight capability domains (LCDs) develops principles, mechanisms, and tools that enable incremental, practical decomposition of a modern operating system kerne.","PeriodicalId":7046,"journal":{"name":"ACM SIGOPS Oper. Syst. Rev.","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2016-01-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"13","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM SIGOPS Oper. Syst. Rev.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2883591.2883601","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 13

Abstract

Despite a number of radical changes in how computer systems are used, the design principles behind the very core of the systems stack--an operating system kernel--has remained unchanged for decades.We run monolithic kernels developed with a combination ofan unsafe programming language, global sharing of data structures, opaque interfaces, and no explicit knowledge of kernel protocols. Today, the monolithic architecture of a kernel is the main factor undermining its security, and even worse, limiting its evolution towards a safer, more secure environment. Lack of isolation across kernel subsystems allows attackers to take control over the entire machine with a single kernel vulnerability. Furthermore, complex, semantically rich monolithic code with globally shared data structures and no explicit interfaces is not amenable to formal analysis and verification tools. Even after decades of work to make monolithic kernels more secure, over a hundred serious kernel vulnerabilities are still reported every year. Modern kernels need decomposition as a practical means of confining the effects of individual attacks. Historically, decomposed kernels were prohibitively slow. Today, the complexity of a modern kernel prevents a trivial decomposition effort. We argue, however, that despite all odds modern kernels can be decomposed. Careful choice of communication abstractions and execution model, a general approach to decomposition, a path for incremental adoption, and automation through proper language tools can address complexity of decomposition and performance overheads of decomposed kernels. Our work on lightweight capability domains (LCDs) develops principles, mechanisms, and tools that enable incremental, practical decomposition of a modern operating system kerne.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
轻量级能力域:走向分解Linux内核
尽管计算机系统的使用方式发生了一些根本性的变化,但系统堆栈的核心——操作系统内核——背后的设计原则几十年来一直没有改变。我们运行由不安全编程语言、数据结构的全局共享、不透明接口和不明确的内核协议知识组合而成的单片内核。今天,内核的单片架构是破坏其安全性的主要因素,甚至更糟的是,它限制了内核向更安全、更可靠的环境发展。缺乏跨内核子系统的隔离使得攻击者可以通过单个内核漏洞控制整个机器。此外,具有全局共享数据结构且没有显式接口的复杂、语义丰富的单片代码不适合正式的分析和验证工具。即使经过几十年的努力使单片内核更加安全,每年仍有超过100个严重的内核漏洞被报告出来。现代核需要分解作为限制单个攻击影响的实用手段。从历史上看,分解的核非常慢。今天,现代内核的复杂性阻止了琐碎的分解工作。然而,我们认为,尽管有种种困难,现代核是可以分解的。仔细选择通信抽象和执行模型、分解的一般方法、增量采用的路径,以及通过适当的语言工具实现自动化,可以解决分解的复杂性和分解内核的性能开销。我们在轻量级能力域(lcd)上的工作开发了原则、机制和工具,这些原则、机制和工具支持对现代操作系统内核进行增量的、实际的分解。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Protection Bringing Platform Harmony to VMware NSX Extreme Datacenter Specialization for Planet-Scale Computing: ASIC Clouds ARM Virtualization Hardware Translation Coherence for Virtualized Systems
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1