Guest-transparent instruction authentication for self-patching kernels

Dannie M. Stanley, Zhui Deng, Dongyan Xu, R. Porter, S. Snyder
{"title":"Guest-transparent instruction authentication for self-patching kernels","authors":"Dannie M. Stanley, Zhui Deng, Dongyan Xu, R. Porter, S. Snyder","doi":"10.1109/MILCOM.2012.6415582","DOIUrl":null,"url":null,"abstract":"Attackers can exploit vulnerable programs that are running with elevated permissions to insert kernel rootkits into a system. Security mechanisms have been created to prevent kernel rootkit implantation by relocating the vulnerable physical system to a guest virtual machine and enforcing a W ⊕ KX memory access control policy from the host virtual machine monitor. Such systems must also be able to identify and authorize the introduction of known-good kernel code. Previous works use cryptographic hashes to verify the integrity of kernel code at load-time. The hash creation and verification procedure depends on immutable kernel code. However, some modern kernels contain self-patching kernel code; they may overwrite executable instructions in memory after load-time. Such dynamic patching may occur for a variety of reason including: CPU optimizations, multiprocessor compatibility adjustments, and advanced debugging. The previous hash verification procedure cannot handle such modifications. We describe the design and implementation of a procedure that verifies the integrity of each modified instruction as it is introduced into the guest kernel. Our experiments with a self-patching Linux guest kernel show that our system can correctly detect and verify all valid instruction modifications and reject all invalid ones. In most cases our patch-level verification procedure incurs only nominal performance impact.","PeriodicalId":18720,"journal":{"name":"MILCOM 2012 - 2012 IEEE Military Communications Conference","volume":"18 1","pages":"1-6"},"PeriodicalIF":0.0000,"publicationDate":"2012-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"MILCOM 2012 - 2012 IEEE Military Communications Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/MILCOM.2012.6415582","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6

Abstract

Attackers can exploit vulnerable programs that are running with elevated permissions to insert kernel rootkits into a system. Security mechanisms have been created to prevent kernel rootkit implantation by relocating the vulnerable physical system to a guest virtual machine and enforcing a W ⊕ KX memory access control policy from the host virtual machine monitor. Such systems must also be able to identify and authorize the introduction of known-good kernel code. Previous works use cryptographic hashes to verify the integrity of kernel code at load-time. The hash creation and verification procedure depends on immutable kernel code. However, some modern kernels contain self-patching kernel code; they may overwrite executable instructions in memory after load-time. Such dynamic patching may occur for a variety of reason including: CPU optimizations, multiprocessor compatibility adjustments, and advanced debugging. The previous hash verification procedure cannot handle such modifications. We describe the design and implementation of a procedure that verifies the integrity of each modified instruction as it is introduced into the guest kernel. Our experiments with a self-patching Linux guest kernel show that our system can correctly detect and verify all valid instruction modifications and reject all invalid ones. In most cases our patch-level verification procedure incurs only nominal performance impact.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
自修补内核的客户透明指令认证
攻击者可以利用以更高权限运行的易受攻击的程序将内核rootkit插入系统。通过将易受攻击的物理系统重新定位到客户虚拟机,并从主机虚拟机监视器强制执行W⊕KX内存访问控制策略,创建了安全机制来防止内核rootkit植入。这样的系统还必须能够识别并授权引入已知良好的内核代码。以前的工作使用加密哈希在加载时验证内核代码的完整性。哈希创建和验证过程依赖于不可变的内核代码。然而,一些现代内核包含自修补内核代码;它们可能在加载后覆盖内存中的可执行指令。这种动态补丁可能由于各种原因而发生,包括:CPU优化、多处理器兼容性调整和高级调试。之前的哈希验证过程无法处理此类修改。我们描述了一个过程的设计和实现,该过程在每个被修改的指令被引入客户内核时验证其完整性。我们对一个自修补的Linux客户内核进行的实验表明,我们的系统可以正确地检测和验证所有有效的指令修改,并拒绝所有无效的指令修改。在大多数情况下,我们的补丁级验证过程只会产生名义上的性能影响。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
An Open Standard for Ka-band Interoperable Satellite Antennas An approach to data correlation using JC3IEDM model The U.s. Army and Network-centric Warfare a Thematic Analysis of the Literature Technology diffusion and military users: Perceptions that predict adoption Cooperative Multi-tree Sleep Scheduling for Surveillance in Wireless Sensor Networks
×
引用
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