Security through amnesia: a software-based solution to the cold boot attack on disk encryption

Patrick Simmons
{"title":"Security through amnesia: a software-based solution to the cold boot attack on disk encryption","authors":"Patrick Simmons","doi":"10.1145/2076732.2076743","DOIUrl":null,"url":null,"abstract":"Disk encryption has become an important security measure for a multitude of clients, including governments, corporations, activists, security-conscious professionals, and privacy-conscious individuals. Unfortunately, recent research has discovered an effective side channel attack against any disk mounted by a running machine [23]. This attack, known as the cold boot attack, is effective against any mounted volume using state-of-the-art disk encryption, is relatively simple to perform for an attacker with even rudimentary technical knowledge and training, and is applicable to exactly the scenario against which disk encryption is primarily supposed to defend: an adversary with physical access.\n While there has been some previous work in defending against this attack [27], the only currently available solution suffers from the twin problems of disabling access to the SSE registers and supporting only a single encrypted volume, hindering its usefulness for such common encryption scenarios as data and swap partitions encrypted with different keys (the swap key being a randomly generated throw-away key). We present Loop-Amnesia, a kernel-based disk encryption mechanism implementing a novel technique to eliminate vulnerability to the cold boot attack. We contribute a novel technique for shielding multiple encryption keys from RAM and a mechanism for storing encryption keys inside the CPU that does not interfere with the use of SSE. We offer theoretical justification of Loop-Amnesia's invulnerability to the attack, verify that our implementation is not vulnerable in practice, and present measurements showing our impact on I/O accesses to the encrypted disk is limited to a slowdown of approximately 2x. Loop-Amnesia is written for x86-64, but our technique is applicable to other register-based architectures. We base our work on loop-AES, a state-of-the-art open source disk encryption package for Linux.","PeriodicalId":397003,"journal":{"name":"Asia-Pacific Computer Systems Architecture Conference","volume":"2 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-04-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"115","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Asia-Pacific Computer Systems Architecture Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2076732.2076743","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 115

Abstract

Disk encryption has become an important security measure for a multitude of clients, including governments, corporations, activists, security-conscious professionals, and privacy-conscious individuals. Unfortunately, recent research has discovered an effective side channel attack against any disk mounted by a running machine [23]. This attack, known as the cold boot attack, is effective against any mounted volume using state-of-the-art disk encryption, is relatively simple to perform for an attacker with even rudimentary technical knowledge and training, and is applicable to exactly the scenario against which disk encryption is primarily supposed to defend: an adversary with physical access. While there has been some previous work in defending against this attack [27], the only currently available solution suffers from the twin problems of disabling access to the SSE registers and supporting only a single encrypted volume, hindering its usefulness for such common encryption scenarios as data and swap partitions encrypted with different keys (the swap key being a randomly generated throw-away key). We present Loop-Amnesia, a kernel-based disk encryption mechanism implementing a novel technique to eliminate vulnerability to the cold boot attack. We contribute a novel technique for shielding multiple encryption keys from RAM and a mechanism for storing encryption keys inside the CPU that does not interfere with the use of SSE. We offer theoretical justification of Loop-Amnesia's invulnerability to the attack, verify that our implementation is not vulnerable in practice, and present measurements showing our impact on I/O accesses to the encrypted disk is limited to a slowdown of approximately 2x. Loop-Amnesia is written for x86-64, but our technique is applicable to other register-based architectures. We base our work on loop-AES, a state-of-the-art open source disk encryption package for Linux.
通过遗忘实现安全:针对磁盘加密的冷启动攻击的基于软件的解决方案
磁盘加密已经成为众多客户的重要安全措施,包括政府、公司、活动家、具有安全意识的专业人员和具有隐私意识的个人。不幸的是,最近的研究发现了一种针对运行中的机器[23]安装的任何磁盘的有效侧通道攻击。这种攻击称为冷引导攻击,可以有效地攻击使用最先进的磁盘加密的任何挂载卷,对于具有基本技术知识和训练的攻击者来说,执行起来相对简单,并且适用于磁盘加密主要应该防御的场景:具有物理访问权限的攻击者。虽然之前在防御这种攻击[27]方面已经做了一些工作,但目前唯一可用的解决方案存在双重问题,即禁用对SSE寄存器的访问,并且只支持单个加密卷,这阻碍了它在使用不同密钥加密的数据和交换分区(交换密钥是随机生成的一次性密钥)等常见加密场景中的用处。我们提出了一种基于内核的磁盘加密机制Loop-Amnesia,它实现了一种新的技术来消除对冷启动攻击的脆弱性。我们提供了一种新的技术来屏蔽RAM中的多个加密密钥,并提供了一种在CPU内部存储加密密钥的机制,这种机制不会干扰SSE的使用。我们提供了Loop-Amnesia不受攻击的理论依据,验证了我们的实现在实践中不容易受到攻击,并且目前的测量显示我们对加密磁盘的I/O访问的影响被限制在大约2倍的减速。Loop-Amnesia是为x86-64编写的,但我们的技术也适用于其他基于寄存器的体系结构。我们的工作基于loop-AES,这是一种用于Linux的最先进的开源磁盘加密包。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信