我假设出于某种原因,您不能在多个国家或地区使用十几台不同的笔记本电脑来执行相同的活动以提供极高的冗余(正如对该问题的评论中所指出的那样)。如果任何一台笔记本电脑的结果不同,则可以假设其中至少一台受到损害,并且可以启动事件响应。可以扩展独立计算的数量以满足您的要求。这当然假设在笔记本电脑上完成的活动是确定性的,并且只有一个“正确答案”,允许任何诚实和不妥协的一方提出完全相同的结果。
假设您需要最大限度地提高单台笔记本电脑的完整性,您的计划似乎很可靠。但是,我会对您的提案进行一些更改和补充:
切换到 Linux,以便在修补之前不会将漏洞提供给民族国家。
要求处理笔记本电脑的人提供全面的监管链。
不要只是禁用未使用的外围设备,用防篡改环氧树脂覆盖它们。
禁止使用任何不受信任的外围设备。甚至 VGA/HDMI 也可能容易受到攻击!
不要使用自定义软件来散列二进制文件。安全软件已经存在。
需要智能卡来识别设备。沙米尔的秘密分享很有用。
在安全区域工作或使用屏蔽设备注意 EMSEC。
相互认证
计算机的用户能够对其进行身份验证非常重要。通常,是用户向计算机进行身份验证,但在高风险环境中,计算机可能也需要向用户进行身份验证。这可以使用各种实验性的相互身份验证技术来完成,例如MARK,它使用有源 USB 设备。
每个使用笔记本电脑的人都应该使用智能卡作为身份验证过程的一部分。此卡应妥善保管。根据您的威胁模型,它甚至可能需要在人身上隐藏。可以使用秘密共享算法来确保需要一定阈值的授权个人才能对系统进行完全身份验证。可以这样设置,例如,五个人拥有密钥,并且其中至少三个人必须同时使用他们的密钥进行身份验证。这将防止最多两个人成为流氓,同时即使最多两个人失去访问权限,仍然允许身份验证。可以随意调整确切的参数,包括每个人的体重,以匹配您的威胁模型。
固件和软件完整性
假设 TPM 用于SRTM,它将能够检测到对引导加载程序和相关软件以及某些固件甚至 BIOS 本身的任何修改,假设 BIOS 包含只读引导块(CRTM)。如果还使用加密,这将提供更高级别的防篡改。不幸的是,大多数块模式都是可延展的(即使不知道密钥也可以智能地修改明文),因此即使在启动后也有必要让操作系统验证系统的所有组件,例如通过使用IMA,完整性测量架构,可用在 Linux 上。* IMA 可能会通过中断需求分页来降低 I/O 性能。
通常,即使操作系统忽略 NIC 或 USB 控制器,它们仍将处于活动状态。易受攻击的 BIOS 可能会通过此类接口受到损害。大多数系统的 BIOS 非常不安全,允许本地攻击者(机器上运行的恶意进程)和物理攻击者获得更高的权限。您可以使用CHIPSEC框架对 BIOS 安全性进行一些有限的分析。该框架旨在验证平台固件的某些安全属性。重要信息可在他们的 wiki 上找到。该框架主要是为 BIOS 供应商和 OEM 设计的,他们希望寻找允许在运行时覆盖固件的漏洞,尽管标准软件写入锁定已到位。
* 我对 Windows 几乎没有经验,但我相信该操作系统可以支持这种完整性。但是,重要的是要记住,民族国家通常会在 Windows 中的漏洞被公开披露甚至修补之前得到事先通知。出于这个原因,Windows 可能不是最好的使用平台。
物理攻击
如果有人可以不受限制地物理访问笔记本电脑,那么它就不再是您的笔记本电脑了。有许多不同的物理攻击是一个可以进行。其中一些可以缓解,而另一些则需要您对笔记本电脑进行物理修改以缓解:
DMA 攻击- 许多外设支持内部和外部的直接内存访问。外部 GPU、Thunderbolt、Firewire 以及内部 PCI 和 PCIe 端口都支持 DMA。这种支持允许将设备连接到这些接口的任何人对任意内存位置执行读写操作。缓解措施要求您的笔记本电脑具有适当的DMAR表和现代 IOMMU(英特尔的 VT-d2)。您还必须在启用 IOMMU 的情况下启动,例如通过传递intel_iommu=on
到 Linux 上的启动命令行。
冷启动攻击——通过移除内存模块并将它们放在不同的设备中进行读取,可以被动地检索内存。这允许他们读取敏感数据,但不允许篡改,因为这是一个高度侵入性的过程,必然需要关闭目标机器。全内存加密可以缓解这种情况,使用 ECC 内存也会使攻击复杂化(ECC 通常需要在初始化期间将内存模块重置为已知状态)。
冷启动攻击只会损害内存中数据的机密性,而不是完整性。如果您只需要完整性,那么冷启动攻击与您的威胁模型无关。
JTAG - JTAG是主板上的调试协议和接口,适用于许多设备,从简单的CPLD到复杂的企业 x86 处理器。将JTAG 探针插入接口允许对芯片组进行完全、绝对的控制,允许它们停止机器、读写寄存器和内存,并与外围设备交互。如果攻击者设法使用 JTAG 连接到目标,那么所有的赌注都将失败。您需要确保设备没有 JTAG 接头,或者接头已损坏或涂有环氧树脂。
此外,物理攻击可能涉及连接到易受攻击的外围设备。几乎所有东西都可能容易受到攻击,甚至VGA 和 HDMI也可以通过滥用 EDID 之类的东西来加以利用。USB 设备可能支持DCI,并且一些无法在其 BIOS 中禁用它。这些系统可以看到滥用USB来传递 JTAG 命令,而无需打开机器并将探针连接到主板。网络接口可能容易受到攻击,并且已经发现了漏洞。有时仅仅禁用软件中的端口是不够的,正如各种 DCI 漏洞所显示的那样。您可能需要使用强环氧树脂物理阻塞端口。
物理篡改证据
有几种方法可以检测对设备的物理篡改。所有这些方法都需要您从多个角度拍摄机器的高分辨率照片,以便您可以随时将它们与您的实际机器进行比较,您怀疑它可能已被修改。任何检测物理篡改的解决方案都将显示为照片与实际设备之间的差异。一般的想法是在设备的敏感区域放置一些东西,如果该区域被侵入,这些区域会明显损坏或移动。几个例子:
安全胶带- 标准方法是使用防篡改安全胶带。这些是贴纸或胶带条,如果它们被移除,它们会在表面留下独特的标记,并且它们的设计是为了抵抗蒸汽或其他用于轻轻地将它们拉下的技术。这些可以得到相当昂贵的支持功能,例如全息标签和独特的标记。
环氧树脂- 环氧树脂是一种强力胶状物质,它会在不破坏其涂层的任何东西的情况下凝固并且不能轻易去除。有许多类型的环氧树脂具有不同的强度和性能。您可能需要一种设计为抗篡改(例如设计为不易用溶剂或细钻去除),以及非导电和非热绝缘的,以防止短路和过热。如果使用得当,环氧树脂既可以抵抗物理攻击(防篡改),又可以使成功的攻击可见(防篡改)。
指甲油- 有很多闪光的指甲油实际上非常非常有用,作为贫民窟安全封条的一种形式。当放置在系统的接头周围时,在不移动闪光的情况下打开它变得非常困难。一旦闪光受到干扰,几乎不可能将其恢复原状,从而为防守者留下宝贵的证据。
排放安全 (EMSEC)
当你有民族国家作为对手时,对电磁信号的秘密监测是一种非常现实的可能性。这些信号可用于读取20 米或更远的击键。它可用于执行Van Eck Phreaking以通过墙壁查看计算机显示器。它可用于通过在处理加密材料时监听处理器来破解加密。缓解这种情况需要一个大而安全的周界(几百米),或使用TEMPEST 认证的设备。这些认证确实来自政府(例如 NATO SDIP-27 和美国 NSTISSAM),但它们允许设备被认证为对 EMI/RFI 泄漏具有免疫危险性。
除非您在一个安全的屏蔽室或有一个大而安全的周边,否则您必须确保您的设备在用于敏感操作时受到屏蔽。虽然与电磁学不严格相关,但在没有窗户的房间内使用该设备也很重要,就像高度安全的政府设施一样。这可以防止使用激光麦克风恢复音频(来自对话和键盘)。如果您的预算或环境使这一切成为不可能,您必须依靠标准的 OPSEC 来防止您的对手在关键时刻足够接近以记录敏感排放。