关机时擦除 RAM 以防止冷启动攻击

Jam*_*tch 20 memory security encryption

我的系统使用全盘加密进行加密,即除了 /boot 之外的所有内容都使用 dmcrypt/luks 加密。我很担心冷启动攻击,研究人员证明,可以在大约 5 分钟内提取内容

能否请您提供有关以下方面的说明:

  • 如何在关机/重启过程的最后一步触发 kexec 进入新内核(确保干净卸载,防止文件系统损坏,确保旧内核被覆盖)
  • 如何创建擦除所有内存的内核

即你能解释一下,如何在 Ubuntu 上做同样的事情?

如何检测关机?如何启动 RAM 擦除?当用户单击“关闭”或启动“紧急脚本”时,应擦除 RAM。

感谢您的努力!

之前的工作:

如果您想看到该功能成为现实,请为 Ubuntu 头脑风暴投票!

http://brainstorm.ubuntu.com/idea/30076/

mnm*_*mnc 17

如果您不使用像 DDR2、512 MB 或 1024 MB 这样的旧 RAM,那么您不必担心 CBA。

此处查看原始研究(PDF)。

如果仔细阅读,您会发现只有 DDR2 及更早版本才容易受到这种攻击。DDR3 掉电压太快,无法让电脑机箱拆卸和冻结程序。因此,只需在开门前拔掉插头即可。

此外,本文证实 DDR3 不易受到 CBA 的影响。如果实际上您想保护自己,因为您有 DDR2 RAM,请在 BIOS 中启用:

  1. 断电后自动启动
  2. 启动时检查 RAM

并与 DDR3 执行相同的操作,但在拔下插头后,将其重新插入。您的计算机将自行启动并通过检查来擦拭内存。如果擦除效率不够高,引导过程将再次将系统加载到 RAM。允许CBA来得太快了。

从您在评论中提供的链接

因此,总而言之,冷启动攻击不应被视为获取可​​疑计算机系统内存的主要方法。相反,在对所述系统执行冷启动攻击之前,应尝试其他技术,包括基于软件和硬件的获取(即 FireWire)。但是,如果出现上述技术不可用(即缺少 FireWire 连接或系统登录控制台或远程内存获取不可能)或无效的情况,则可以执行冷启动攻击,前提是调查人员了解两者问题可能出现和出错的方式和地点。
正如这项研究表明的那样,冷启动攻击不能被确定为特别可靠或可靠,因为在此处进行的大多数实验中,无法始终如一地找到或提取内存驻留加密密钥,尽管它们本来应该是。对于各种字符串和关键字搜索也可以这样说,这些搜索应该比大多数实验发现的字符串和关键字多得多。此外,正如已经证明的那样,仅闪存冻结计算机内存的行为并不能保证成功获取所述内存。已经研究过的其他因素和变量已经充分研究了这些问题及其根本原因。因此,
最后,即使是几乎没有退化的成功获取也可能无法在法庭上作为可靠的证据站稳可以理解的方法论。搜索继续建立一种更适当和可靠的方式来获取嫌疑人的计算机内存......

此外,如果您检查实验结果,您会发现它们仅在系统 2 和 6 中成功提取了 AES 密钥,当您查看系统 2 的规格时,这些是热启动攻击 - 1024 MB RAM 533 MHz - 这是旧的东西。另一个系统 - 具有 256 RAM / 128 RAM 的系统 6 - 我想这是不言自明的。

这就是为什么他们的结论是:

搜索继续建立一种更适当和可靠的方式来获取嫌疑人的计算机内存......

实际上,我相信如果您有非常非常重要的数据,您不仅应该使用完全驱动器加密,还应该将其保存在单独的加密文件中。使用级联算法和与磁盘加密期间使用的密码不同的密码进行加密。您想要一种安全的方式来关闭 PC?这里是:

  1. 将安全数据保存在 True Crypt 级联算法加密文件中
  2. 使用蛇
  3. 创建一个脚本来处理关机:

对于 Windows:

truecrypt.exe /wipecache
shutdown -s -f -t 1
Run Code Online (Sandbox Code Playgroud)

对于 Linux:

truecrypt /wipecache
shutdown -h now
Run Code Online (Sandbox Code Playgroud)

擦除缓存可确保关机后 RAM 中没有易受攻击的数据。如果有人执行冷启动攻击,他们最多只能访问您的系统。他们不会将数据存储在单独加密的文件中。

  • 我不同意这个结论。这个问题不是关于逃避执法。事实上,如果问题是关于逃避执法,它就会扼杀讨论。我们不谈执法。让我们谈谈工业间谍活动。有人拥有 4 或 16 GB RAM 或更多,并且正在处理一些昂贵的、重要的文档、草图、源代码等。如果无法提取加密密钥但仍然可以松动,他会很高兴如果他的文件从 RAM 中被盗,他会赚很多钱。 (2认同)
  • 虽然我不想澄清用例......信息不是关于在法庭上被接受作为证据与否。其他人也有合法的理由擦除他们的 RAM。执法部门希望隐藏证人保护计划。特勤局想隐藏他们的情报。业界想要隐藏他们的商业秘密。如果加密密钥是安全的,那很好。其余的数据仍然希望是安全的,即使是其中的一小部分。我原来的问题仍然悬而未决。 (2认同)

all*_*tic 5

彼得·彼得森AH加州大学洛杉矶分校写道概念技术的证明和发展的理论与安全加密的RAM运行系统,并解决方案明确旨在防止冷启动攻击。他的论文的名字是 Cryptkeeper。我不知道他是否提供了可供下载的软件,或者是否可以从加州大学洛杉矶分校获得许可。然而,显然有可能,至少在原则上,为 RAM 设计一个即使公开 RAM 的全部内容也是安全的密码系统。

此解决方案的测量性能影响介于 9% 的开销和9倍的减速之间,具体取决于场景的“病态”程度。9% 的数字被认为适用于使用 Firefox 浏览网页,但他们没有说明什么用例会使性能降低 9 倍。

Peterson 的解决方案不会像您建议的那样“擦除”RAM。相反,它使用“安全密钥隐藏机制”来防止仅凭借获取 RAM 的内容就泄露解密密钥。我不确定实现的细节,但我认为它在论文中得到了解释。

该论文发表于 2010 年。

它可以在 IEEE 的 ieeexplore 网站上购买。也可以从某人的网站免费以 PDF 格式直接下载;它在“cryptkeeper RAM”的谷歌搜索结果中......但我不确定这个结果会在那里停留多久。

我很想把它作为评论而不是答案,因为这个解决方案不会像你问的那样“擦除”RAM。但是,我相信,如果 Peterson 的研究在技术上是正确的,那么这将具有与擦除 RAM 相同的实际效果——甚至可能是“更好”的效果。原因是熟练的物理攻击者可能会中断您的系统程序擦除 RAM 的尝试,如果他们预计会发生这样的操作——例如,在操作之前将电池从设备中取出或按住电源按钮完全的。Peterson 的解决方案更安全,因为它不基于允许计算机继续执行指令以完成擦除的必要时间窗口。相反,记忆是不断的 受到保护,即使 CPU 本身在您甚至有机会对攻击者做出反应之前就被一些令人难以置信的技术瞬间杀死。

我所说的“令人难以置信的技术壮举”是指 Stuxnet 之类的东西。