我在寻找加固笔记本电脑的方法时遇到了这篇文章,而且这个指南看起来非常详尽。这可能过于偏执,但如果我进入需要这种级别保护的位置(很可能与工作相关),有一个我可以信任的指南会很好。
我的问题是:上述指南中是否存在作者未提及的允许攻击者访问的漏洞?攻击者必须走多远才能获得访问权限,而不是用扳手殴打你?
我在寻找加固笔记本电脑的方法时遇到了这篇文章,而且这个指南看起来非常详尽。这可能过于偏执,但如果我进入需要这种级别保护的位置(很可能与工作相关),有一个我可以信任的指南会很好。
我的问题是:上述指南中是否存在作者未提及的允许攻击者访问的漏洞?攻击者必须走多远才能获得访问权限,而不是用扳手殴打你?
一些评论:
防御普通小偷
我没有擦除 Windows 7,而是将其保留为蜜罐操作系统。如果小偷偷了笔记本电脑,当他们打开它时,它会自动启动进入 Windows,甚至不会提示输入密码。我安装了一个名为 Prey 的免费应用程序,它可以让我从笔记本电脑中获取大量信息,例如它的位置,以及来自内置网络摄像头的图片。
不太可能。大多数笔记本电脑窃贼在他们生命中的某个时刻都曾入狱,所以他们从狱友那里学到了一两件事。他们对这个把戏很聪明。当他们窃取可以通信的电子产品时,他们会取出电池(如果适用,还会取出 SIM 卡)。大多数手机窃贼都携带 iPhone 的打开工具,因此他们可以快速取出 SIM。然后,他们会将笔记本电脑卖到栅栏上(出售赃物的人),后者将取出驱动器并擦拭它,并在其上安装新的操作系统。通常是盗版的 Windows。
来自专家的辩护
如果你想保护你的笔记本电脑,我认为全盘加密是必不可少的。但是,有几种针对使用全盘加密的机器的攻击;我决定尽可能多地解决它们。
同意全盘加密很好!让我们继续前进...
邪恶的女仆攻击
即使您有一台使用全盘加密的机器,引导分区和引导加载程序也需要存储在未加密的地方。通常,人们将其与加密分区一起存储在硬盘上。这样做的问题是,无论何时你去你的机器,你都不知道是否有人篡改了未加密的数据来安装软件键盘记录器来捕获你的密码。为了解决这个问题,我在 Corsair Survivor USB 记忆棒上安装了我的引导分区和引导加载程序。我想要一个永远不会离开我身边的 U 盘。
这是一个真正的威胁,尽管不太可能。但是,U 盘引导程序并不能保护您。这让坏人的工作变得更加困难,但如果他们遇到篡改硬件的麻烦,他们可以很容易地在你的键盘下安装一个硬件键盘记录器。当笔记本电脑不在您的视线范围内时,请将其锁在机箱中。我总是在酒店这样做,因为它也有助于防止盗窃。我还建议投资一个像样的Kensington 锁,它可以安装在管道和其他各种坚固的固定装置周围。
在具有磁盘加密的典型系统上,加密密钥存储在 RAM 中。如果不是因为具有物理访问权限的攻击者有多种方法可以读取正在运行或最近运行的机器上的 RAM 内容,这将很好。您可能认为您的机器的 RAM 会在断电后立即被擦除,但事实并非如此。断电后,RAM 可能需要几分钟才能完全清除。用空气罐中的喷雾冷却 RAM,可以延长该时间段。
这是误导。在室温下,现代 DDR3 在断电后大约 3 到 15 秒时会失去低于 50% 置信度的完整性。DDR2 往往会在 20-30 秒左右完成。这使得对 DRAM 模块的冷启动攻击非常不可能,即使您几乎立即离开房间并且有人跳进来并将您的笔记本电脑放入方便的液氮桶中。它只是不会发生。但是,您应该避免睡眠模式,这会使系统处于低功耗状态并继续刷新 RAM。在这种情况下,攻击者可以在现场冻结 DRAM 模块并将它们带到实验室进行分析。如果您使用全盘加密,休眠不是问题 - 机器状态存储在磁盘上并且系统完全关闭。
您可以使用密码保护 BIOS 并禁用从硬盘驱动器以外的任何设备启动,但这仍然不能保护您。
它不能防止冷启动攻击,但它可以防止许多其他东西。您还会发现许多 BIOS 实现也提供了启动密码,这将使攻击者或窃贼更加困难,因为机器甚至不会在没有密码的情况下进行 POST。
我使用的第二种防御方法更有趣。我使用一种叫做 TRESOR 的东西。TRESOR 是 AES 作为密码内核模块的实现,它将密钥存储在 CPU 调试寄存器中,并直接在 CPU 上处理所有加密操作,以防止密钥进入 RAM。
这只能防止您的加密密钥被盗。RAM 仍将包含各种其他重要数据,例如文件系统缓存。它还将包含您的 LSA 密钥、LSA 保险库和内存中 SAM(或 Linux 中的等效结构),可用于恢复帐户密码哈希。如果这些被破解,它可能会让攻击者知道你的磁盘加密密码是什么。因此,我强烈建议您使用唯一密码进行磁盘加密。
通过火线攻击
如果一台机器有一个火线端口或一个允许攻击者插入火线卡的卡槽,那么您需要解决其他问题。可以通过火线端口读取 RAM 的内容。
是的,同样可以通过 cardbus 实现。如果您偏执,则需要物理禁用这些接口。
因此,我将 firewire 构建为一组内核模块,并在正常情况下使用
/etc/modprobe.d/blacklist
.
不会工作。如果您禁用支持或删除驱动程序,操作系统将无法与设备交互,但火线设备或 cardbus 模块仍然可以在硬件级别以它喜欢的任何方式运行 - 它不能直接与您的操作系统软件交互。设备仍然可以发送 DMA 请求和中断,从而允许它读取内存。这允许攻击者稍后收集它,或者通过 RF 传输它。
准备磁盘加密
在设置磁盘加密之前,您应该使用随机数据彻底擦除新硬盘。这是为了使某人无法检测到驱动器的哪些部分已写入加密数据。这样做就像在要填充随机数据的空间上创建一个分区一样简单,然后使用“dd”命令将数据直接复制到
/dev/
from中的该分区设备/dev/urandom
。这需要几个小时才能在我的系统上运行。
这是一种愚蠢的做法。作为卷创建向导的一部分,TrueCrypt 会自动用随机数据擦除整个磁盘。它也比直接读取更快/dev/urandom
,因为 TC 在系统提供的基础上生成了自己强大的基于 AES 的随机数据。不要费心手动进行dd
- 你可能会弄错。
我使用我购买的称为 EntropyKey 的东西稍微复杂了这个过程。EntropyKey 提供了更大的“真实”随机数据源,而不是由操作系统生成的更有限的“伪”随机数据。
这也许是个好主意。我没有看到任何关于这个设备的真正技术分析,所以我不能说它是否好。通过各种统计检查并不意味着很多。它使用来自晶体管 PN 结的雪崩噪声,这是已知的良好随机噪声源,因为它是由量子隧道效应的概率效应产生的。然而,噪音并非没有偏见。由于电路的各种电气特性,例如电感和电容,您会看到特定波形的微小偏差,这些偏差与电路板铜通路内的各种电源平面和环路“共振”。这种偏差可以通过称为冯诺依曼白化的软件过滤器来减少,这涉及将位对从 01 转换为 0、10 转换为 1,并丢弃 11 和 00 位对。这将生成器的输出速度降低了至少 1/4(对于一个想法随机源),但消除了偏差。我不知道这是否是在 EntropyKey 中完成的。
有关磁盘加密的更多信息
最初进行安装时,我选择使用密码保护全盘加密密钥。也可以使用密钥文件对其进行保护。使用密钥文件的优点是您可以将其存储在外部设备上。攻击者不能只观察你输入密码,他们还需要掌握密钥文件。蛮力也更难。
只要您同时拥有密钥文件和密码,就可以了。它本质上提供了两因素身份验证。
如果你需要使用交换。确保它也被加密。确保所有内容都加密的最简单方法是创建一个加密设备,然后在其之上使用 LVM,以便您的所有分区和交换最终都位于同一加密设备之上。
明智的话。在 Windows 上,您应该将虚拟内存(交换)配置为仅放置在属于全磁盘加密机制的磁盘上。
我购买的笔记本电脑有一个叫做可信平台模块的东西。这个 TPM 可以自己处理许多加密操作。它还提供了一个类似于 EntropyKey 的随机数生成器。显然,许多现代笔记本电脑都包含其中之一。
由于过去 TPM 和政府后门的问题,我会避免这种情况。虽然我不能引用任何具体的证据,但它让我很紧张,无法避免它。
我使用 Firefox 作为我的网络浏览器。网上冲浪让我害怕;浏览器让我觉得是远程攻击者最有可能的方式。然而,大多数人在与其他程序相同的用户 ID 下运行浏览器。因此,如果浏览器受到威胁,您的用户可以访问的所有文件也会立即受到威胁。如果发生这种情况,为了尽量减少任何损害,我决定在自己的帐户中运行 Firefox。
再次,聪明。将它完全沙箱化并在自己的用户下运行它会更聪明。这对于 Windows 来说更加困难,所以我认为最好的办法是将您的用户帐户设置为大多数任务的受限用户(打开 UAC!),并且仅在您实际需要时才切换到管理员帐户。像Sandboxie这样的东西也可以提供帮助。
我所有收到的电子邮件都使用我的公共 GPG 密钥加密。我在这里详细说明了我是如何做到这一点的。这意味着我需要将我的 GPG 私钥存储在我的笔记本电脑上。它们受密码保护,但这是否足够?如果我的帐户被盗用,攻击者可以记录我的密码,然后窃取我的密钥。幸运的是,当我购买笔记本电脑时,我勾选了“智能卡读卡器”选项。然后我购买了一个 OpenPGP 智能卡。我的加密和签名子密钥已转移到智能卡,主密钥已从我的笔记本电脑中删除。
有用,但这没有考虑到前面提到的“邪恶女仆”攻击。可以嗅探卡的通信,或对其进行篡改,以便存储密钥以供以后检索。
我使用以下 Firefox 插件来最大程度地减少 MITM 攻击对我的浏览的机会,并防止大多数 XSS/CSRF 攻击:Certificate Patrol、Cipherfox、DNSSEC Validator、HTTPS Everywhere、HTTPS Finder、NoScript、Perspectives 和 Request Policy。
好清单!我还包括 Collusion、AdBlock Plus 和 Greasemonkey。Collusion 会捕获各种跟踪 cookie 并允许您阻止它们。AdBlock Plus 可用于消除广告,这可能是从跟踪器 cookie 到恶意软件的各种讨厌的来源。Greasemonkey 是一个用户脚本插件,可让您将自己的 JavaScript 注入选定的站点或页面。它对于禁用特定页面上的各种功能或添加您自己的功能很有用。例如,我有一个脚本,它查找各种 URL 缩短链接并用 JavaScript 弹出框替换它们的目标,让我决定如何处理链接。
我安装了一个名为 blueproximity 的应用程序。它通过蓝牙检测我的手机何时在范围内。如果我的手机超出范围,屏幕会自动锁定。我毫不怀疑这可以通过欺骗我的手机来防止,但它增加了另一层安全性。
很酷的噱头,但很容易被欺骗。蓝牙安全是垃圾。
总而言之,一篇非常简洁的文章。它有缺陷,但也有很多合理的建议。如果您遵循其中的一半,您应该可以抵御除最坚定的攻击者之外的所有攻击者。归根结底,这是您关心的风险与您想要投入的时间/金钱之间的平衡行为。
Polynomial 已经写了一个很好的分析,但是还有一些额外的点值得一提。
案例一:小偷是硬件。他首先要围起来并重新安装操作系统。他启动 Windows 并尝试使用它的可能性很低(不是零:有一个愚蠢的小偷这样的东西)。启动 Windows 的人也可能是因为您丢失了笔记本电脑而试图找出您的身份的人。
案例2:小偷在寻找数据。当然不是为了他自己,而是为了转售:被盗的企业或政府笔记本电脑有市场。那种小偷(或雇佣他的人)知道不引导设备,而是移植磁盘并从外部查看数据。
我认为这里介绍的 Windows 安装纯粹是浪费磁盘空间。
防御这些攻击的范围有限。邪恶的女仆可以植入硬件键盘记录器,或者可以安装固件 rootkit。
“永远不会离开我身边的 USB 记忆棒”的问题在于它实际上很容易丢失。大多数人都容易受到有能力的扒手的攻击。与笨重的笔记本电脑相比,在人群中丢失 USB 记忆棒要容易一些。
建议的防御引入了一个漏洞:当您需要下载新源、重新应用补丁并重新编译时,内核升级需要更长的时间。这通常不是您在旅途中可以方便地做的事情,此时冷启动攻击很重要。
顺便说一句,及时应用安全更新是文章中缺少的基本建议。
为了更好地防止信息泄露,请将加密密钥放入 TPM 或智能卡中。这带来了丢失包含密钥的设备的严重风险。如果您的主板烧毁 (TPM) 或您丢失了卡(智能卡),您将无法再访问您的数据。因此,请确保您已备份密钥。想一想如果您在旅行中丢失了钥匙,您会怎么做。
这里有一个大坏蛋。以单独用户身份运行浏览器只能防止一些漏洞,例如本地文件访问漏洞。为了获得更多好处,请为 Firefox 定义更严格的 AppArmor 策略。但是,如果攻击者可以运行任意代码 as mike.firefox
,他也可以 pwnsmike
帐户。X 服务器并没有提供太多的隔离方式。mike.firefox
可以将输入填充到其他应用程序中并运行键盘记录器。mike.firefox
还可以运行本地攻击,包括利用未修补的本地漏洞(你愿意打赌你没有多少?),以及对任何加密货币的侧通道攻击。至少,Firefox 应该在虚拟机中执行以提供一些实际的隔离。
(参见上面的“可信平台模块”(原文如此))
没有风险和成本评估。花费了多少时间进行额外配置?(迈克在下面回答:“一个月研究”,“一两个星期尝试”。所以,是的,这是一次学习经历,但我不能浪费一个半月的时间买一台新电脑.) 加强的安全性会对完成工作造成多大的阻碍?
另一个不足是除了数据泄漏之外的任何考虑。特别是,每当有人试图“保护”某些东西时,可用性总是会受到一点影响。如果硬件出现故障,加密磁盘和强化身份验证意味着更长的恢复时间。
这并不适用于所有人,但在某些情况下,您无法避免放弃某些东西。如果边防人员说“给我你的笔记本电脑和解密密钥,否则我们不会让你进入这个国家”,你会怎么做?可能不直接透露密码而只输入自己的密码(但考虑到机场到处都有摄像头)。如果您需要进入一家希望您将所有电子产品(包括任何 USB 密钥)留在入口处的科技公司怎么办?(是的,它们存在。你可能不是周围最偏执的人!)如果你真的承担不起泄露数据的责任,请不要随身携带!在家里(在桌面上,在有物理安全的区域内)做你敏感的东西,并且只带上最少量的低价值的东西。
尽管如此,我发现这篇文章很有趣,但我对这部分有一些担忧:
防御普通小偷 当小偷偷你的设备时,他很可能不是为了在上面玩游戏,或者因为他迫切需要检查他的 FB 帐户。他们也不会窃取您的笔记本电脑来阅读您的邮件或其他信息。所以我非常怀疑他会开始启动Windows。很可能(至少在我的国家是这样的)小偷这样做是因为他需要钱,而他的第一步将是试图卖掉它。这个人有知识,他们能够在短时间内以比成本便宜 4-8 倍的价格购买它。在笔记本电脑和手机的情况下,第二个人会在他拿到设备时删除所有内容。
如果他们遇到篡改硬件的麻烦,他们可以很容易地在您的键盘下安装一个硬件键盘记录器。当笔记本电脑不在您的视线范围内时,请将其锁在机箱中。我总是在酒店这样做,因为它也有助于防止盗窃。我还建议投资一个像样的 Kensington 锁,它可以安装在管道和其他各种坚固的固定装置周围。
Kensington 锁无法防止物理安装的键盘记录器(不过这是个好建议)。有时您无法将笔记本电脑锁在箱子内(或者您忘记了,或者不方便等),而且我对大多数箱子/行李上的“锁”不太相信。
试试这个:
现在,您可以根据照片轻松检查闪光漆螺丝。
这种低技术防御大大提高了需要访问笔记本电脑内部组件的攻击的门槛。现在任何攻击者都必须检查你的笔记本电脑,获得匹配的指甲油,清理你的指甲油,安装键盘记录器(在此处插入其他邪恶的“邪恶女仆”活动),重新绘制螺丝,拍摄新的闪光图案,破解您的手机并替换您的照片(所有这些都在您回到笔记本电脑之前)。在那个层面上,我们谈论的是团队运作,或者是一个非常非常敬业和耐心的个人。
额外的偏执奖励计划:使用他们在美甲沙龙拥有的一些紫外线硬化指甲油/透明涂层。它不会因日常活动而消失。现在,任何攻击者还必须携带丙酮(溶解指甲油需要 5-10 分钟)、紫外线灯(使新的指甲油变硬),并且必须站着看着油漆变干……