文章

安全笔记:终极安全计算机打造心得

经历了长达一个学期利用空闲时间的学习和实操,我终于打造出了一台最接近我心中完美的随身机形态的电脑。

安全笔记:终极安全计算机打造心得

当前并非最终版本,在未来可能发生合并或更改,届时链接或发生变化。

本文面向理论探究而非实操。目前无更新实操教程的计划,若有,将另行撰写文章。

写在前面

作为一个受迫害妄想者/技术极客/开发者/服务器使用者,在某天查看我自己的服务器安全日志并发现数量可观的攻击记录后,我就下决心全面提升我身边所有设备的安全等级。

但是我看了一圈身边的主要设备,发现它们似乎都不再有提升空间了:

品牌型号安全等级归类原因主要用途
AppleMacbook Pro 2022 14’’协处理器加密主力携带电脑
AppleiPhone 13协处理器加密主力手机
自组装台式-极低未启用加密主力电脑
ValveSteam Deck LCD极低未启用加密游戏机

对于我目前使用的设备来说,数据的可访问性更重要,所以我关闭了BitLocker。我可不想在临近期末交图的时候跑去渐山1,或是在想玩游戏的时候看见LUKS密码框。此外,日常使用的设备上软件众多,攻击面太大,无论怎么加固,都不可能达到什么像样的安全水平。

另外,我也一直想有一个独立出来的设备,让我能够进行大刀阔斧的改造,而不必考虑需要兼容的软件。这刚好是一个契机——如果不计成本2,我能否在我的独立电脑上实现“终极安全”?

“终极”的程度

对我来说,这种安全级别的设备完全没有使用场景(除非我有一天决定转行去做调查记者或更高危的职业)。所以这更偏向一次安全实验。我给这台笔记本电脑的目标是:

可抵御国家/实验室级别的取证和持久化后门注入

这里我们只考虑设备本身在当下的能力,对于:

  • 不妥善设置密钥
  • 主动将密钥移交他人
  • 先镜像存档,再等待量子计算机进行密码爆破(HNDL)

诸如以上的情况,则不在本次考虑范围之内。

我并非认为量子计算不构成威胁,相反,量子计算正成为我们面临的最大威胁。

在传统计算时代,数学对每个人的保护都是平等的,任何人都可以自由地部署加密系统,确保自己不受监听。但在量子时代,这个平衡将被打破。钟摆将被极大推向拥有更充足资源的一侧,加剧不平等的现象。

量子计算的发展过程中很可能出现一个真空期,无力迁移到后量子加密的第三世界国家,其通信将单向暴露于拥有量子解密能力的国家;缺乏技术能力使用后量子加密的普通公民,其通信将暴露在政府和大公司监控之下。

法律只能对滥用进行事后追责,不可替代事前防御。唯一的出路是尽快降低后量子加密基础设施和算法迁移的成本,使加密技术的发展速度比解密技术更快。

根据NIST IR 8547的标准,美国预期于2030年弃用112位以下的加密算法,于2035年后完全转变为后量子加密。参考此标准,我们这次打造的安全设备最多有效至2035年,随后必须放弃。

什么是不安全

安全加固是个系统的工程

在网上,有大批营销号在做一些所谓的教程:搜索“黑客教学”这种关键词,就会出现一大堆带有夸张标题的视频(比如“你敢学我就敢教”、“千万不要XXX”、“一招让你XXX”),打开它们,你会看到一个顶着盖伊·福克斯面具、穿着嘉豪衣服的家伙用夸张的变声器教你如何“私密通信”或“提高安全性”,但是细看下来无非就是用些他们推荐的软件/插件,好一点的可能会教你调整两个看起来很重要,实则无关紧要的设置,最后再向观众推销他们的付费课程。

真正的黑客在外观上应与Alan Walker有着较为明显的区别。

这种散装“安全”简直就是闹着玩,加固方案四处漏风,完全经不起推敲,一个半吊子黑客,甚至刚装好Kali的脚本小子都能轻松渗入。

网上的一些技术帖,类似Arch Wiki和各种个人博客才是有用的。在前期学习阶段,这些帖子也确实帮助到我很多,但他们往往专注于实操层面,聚焦某些特定包的使用方法,或许足够应对网络攻击,但是对于物理攻击,这些软件层面的防护有时也可能会像马奇诺防线一样失效。

安全加固受木桶效应的影响。在你的威胁模型范围内,只要有一个地方是不安全的,其他的地方无论有多安全,都无法消除风险。所以从硬件选择阶段,就必须开始注意安全了。

虚假的安全感比不安全更可怕

在进行安全加固的时候,有时用了最新的技术,换上了最强的加密,它就会给你带来一种“我已经足够安全了”的错觉。但是实际上,安全与否取决于你防御的方向是否匹配威胁模型。

新≠安全,加密≠安全,隐匿≠安全,承诺≠安全。

有的人不停更换新设备、更新工具,仿佛只要它们够新,自己就是安全的。实际上,安全的程度取决于你有没有正确地配置这些工具,比如你安装了防火墙3,但没有正确配置规则。

给文件多层上锁也未必有用,可疑的加密程序、错误的密钥保存方式都会导致漏洞。有些时候加密本身或许没有问题,但你的加密可以被绕过或者很轻易地被提取密钥。

永远不要使用私有的、未经审计的加密算法。现代密码学并不依赖隐匿性确保安全,你给自己留下的后门,攻击者找到也只是时间问题。

有些人盲目相信特定国家或是品牌,比如瑞士,比如苹果。把未加密文件存储在阿尔卑斯山中的机房里并不能让它变得更安全。

人永远是最弱的环节

不要相信自己,而是要确保打造一个零信任的系统,用验证取代信任。

假设现在你决定构建一个安全设备,目标是防篡改。你的验证方案是在电脑长时间离开视线后,插入LiveUSB验证各部分哈希和自己上次记录的是否一致。

这个方案能够确保你的电脑没有遭到篡改吗?当然能。但是实际上你不能保证自己在着急用电脑的时候不会跳过验证;不能保证自己会不会看错数字。

假设为了彻底消除痕迹,你将Tails LiveCD系统装载到了硬盘里。但是实际上你不能保证随后你会不会因为麻烦而降低这台设备的使用频率;对于一些可用可不用的任务,你不能保证自己会优先考虑这台加固后的设备。

我一直觉得我们有必要在麻烦与安全之间找到一个自己能接受的平衡——如果安全设备麻烦到你不想用,或是忽略了重要的安全步骤,又或是直接去用了其他设备,那我们所做的一切安全加固就都失去了意义。

永远不要相信自己一定会遵守流程。安全下车可以有无数次,疏忽翻车只需一次。

从硬件开始

开源的安全基础是使用规模

作为d/acc,我当然希望大家都用上开源的、去中戏化的技术。我首先想到的是一众安全计算机品牌,比如Purism或者NovaCustom。但是实际上开源的安全是有附加条件的。

我们不是在谈供应链投毒这种攻击,比如2015年的XcodeGhost风波,你要知道,如果用于研发的IDE都遭到投毒了,那无论开源还是闭源,都不能幸免。

开源是自由的,是去中心化的,是可审计的……问题就在这里——需要有人审计才行。

Purism和NovaCustom很好,我也同样很愿意相信他们的研发团队都在很努力把产品做到一级棒,但它们的用户太少。

它们的设备未必没有漏洞,反而可能是因为进行审计的人少,漏洞没能被及时发现。另外由于这些设备本就是为安全需求高的人量身定制,简直就像把“我是高价值目标,快点来攻击我”写在电脑的A面4一样,积极挖掘漏洞的人,其目的更有可能是自行保留备用。

不会引人注意的设备才是最好的,在咖啡厅掏出一台常见的轻薄电脑,周边顾客只会认为这是一个命苦的打工人在加班。

善用地缘博弈

没有绝对的安全。安全实际上是一场永恒的抬价博弈,攻击方不断押上筹码,试图从你手里窃取某些有价值的东西,与此同时,你也不断押注,将攻击成本抬高到一个荒唐的、不可接受的范围,让攻击者无法从中获得任何好处,甚至还会亏损,那你就是安全的。

也就是说,其实安全加固的两个思路是“增加安全性”和“增加攻击者的成本”。

在安全性已经拉满的前提下,跨国与地缘政治博弈就成了增加成本的好方法。

对比了苹果、戴尔、惠普等多种品牌后,我把目标放在了ThinkPad上。表面上看,联想是一家中国大陆企业,并购IBM ThinkPad后,它的总部移到了美国,在香港上市,在全球各地建厂。ThinkPad的研发和供应链被拆分于多个国家和地区,以符合全球各个地区的风控策略(他们都在这样做,我们还有什么理由不考虑地缘因素呢)。

假设设备一定留有后门,让来自不同国家、尤其是互相敌对的国家的诸多供应商互相开放后门也几乎是不可能的事情,哪怕是对于国家级/实验室级的攻击者来说,成本也高到不可接受。

此外,因Linux驱动完善,在极客圈子里,ThinkPad的热度一直是最高的。对于一些用户数量较多的经典型号,如X200系列,其内部硬件早就被全世界的爱好者进行过无数次的拆解分析,已经彻底摸清了每一个可能藏有漏洞的角落。我也进行了BIOS和驱动抽查。对于同一款电脑型号,使用代理时,于ThinkPad各地区官网上下载的包的哈希一致,没有地区专用的现象出现。

所以,最终我决定采用ThinkPad作为进行安全加固的品牌。

按威胁模型打造信任链

浏览网页时,你看见https旁有一把小锁,这代表X.509证书正在保护你的连接安全,这张证书则由一家声望显赫的CA公司签发,所以你觉得可信;

在使用OpenPGP时,你的邮件会被公钥加密,这个公钥是朋友亲手用U盘交给你的,所以你觉得可信;

一个可信的东西向你证明另一个东西可信——这种一环扣一环验证的机制就是信任链,而最开始那一节让你决定无条件相信的东西,就是信任根。

请回顾一下我们本此的威胁:取证和植入后门。这个威胁模型从分类上来看是“来自外部的主动物理攻击”。针对这个模型,我是这样考虑信任链的硬件选择的:

TPM

计算机的信任根是TPM。

TPM位于总线上,有两种类型,一类是fTPM,基于运行在处理器里的固件模拟出来的TPM,成本低廉,通常用于家用计算机;另一类是dTPM,这种TPM通常采用主板上的一块独立芯片,可以更有地效防御软件攻击和CPU漏洞。

然而这次我们需要采用“看起来没那么安全”的fTPM,因为我们的威胁模型包含物理攻击。有时候dTPM看起来确实更安全,但它不符合我们本次的威胁模型。对于需要重点抵御物理攻击的设备来说,采用集成式TPM可以减少外部TPM总线暴露。

尽管很多现代dTPM已经针对LPC和SPI总线进行保护,但它的适用场景是放在办公楼里的电脑和机房里的服务器。一旦攻击者能够物理接触设备,那么他就有机会拆机植入监听硬件,或是使用夹具将逻辑分析仪连接到TPM芯片进行总线嗅探。如果碰巧设备疏于防护(比如使用了缺乏保护的dTPM或未设置TPM PIN),那攻击者便有希望得手。

如果我们将楼门口的保安大爷也看作是一种计算机外设,那么在这种情况下,他们才是保护设备免遭物理攻击的信任根。

攻击种类时间典型场景
网络攻击短时拒绝服务
 持续病毒、持久化后门
物理攻击短时商业对手潜入、边境检查
 持续失窃、扣押

我最开始进行尝试的时候,我使用了Pixel Slate。这是一台搭载ChromeOS的x86电脑,我在这台设备上刷入了MrChromebox的Coreboot,在安全启动中使用了自签的证书,并采用了统一内核镜像。尽管它有搭载CR50芯片作为TPM,但当我实际进入系统后,我意外发现Coreboot无法正常驱动这枚芯片,TPM无法进行正常度量5。攻击者完全可以开展Evil Maid攻击,刷入一个恶意BIOS,让设备显示一模一样的输入LUKS密钥的钓鱼页面,系统启动后再将密钥悄悄上传至服务器。

虽然我可以采用手动验证方案,但正如前文所述,我完全不相信自己会认真验证。幸好,我那时正需要一个可以画图的设备,同样在寻觅平板电脑,我就顺势将它作为了日常画图用的设备,采购费用也得到了一对善良的中年夫妇6的报销。

随后,我开始考虑经典的T480s,但是在详细调查后,我发现这台设备也不合适。

它使用dTPM,并且存在一个漏洞,导致GPIO无法被正确锁定7,使得通过硬件或软件重置PCR变得轻而易举。最初这个漏洞由Coreboot的工程师Mate Kukri在Kaby Lake架构上披露。据他的推测,漏洞可能存在于任何Meteor Lake以前的电脑上,无论是否使用Coreboot。随后,他在自己的Youtube频道上完整地展示了攻击发动的过程

早期的平台的确会存在一些无法解决的问题,在选择设备型号的时候,我会建议你地毯式排查所选型号的每一个硬件部分。

内存

有一种攻击手法叫做冷启动攻击(Cold Boot Attack)。设备启动后,硬盘密钥就从TPM中释放到了内存中,这时候将内存移除并丢进液氮,里面的密钥就可以多保持一段时间,趁着这个时候提取密钥,这是一种听起来很离谱并且难以实际开展的攻击手段——但是既然有人成功过8,我们就不能够忽视这种风险。

在这种情况下,可扩展性就需要为安全性让路,所以我决定采用板载内存——内存颗粒被焊死在主板上,若要取下,则必须进行加热,这将极大地增加攻击成本。可是如果攻击者足够有耐心,将内存事先取下后飞线,进行内存总线监听攻击呢?所以,在CPU上,我们还要继续加固。

CPU

ThinkPad的一些型号可以自行选配Intel或AMD的芯片,其中的部分机型,如果选择AMD,则会搭载一块Ryzen PRO。这是AMD的一种企业级处理器,相较于普通的Ryzen处理器,它多了很多企业级安全功能,比如在制造时会进行额外的供应链透明度报告,搭载TSME(透明内存加解密),在安装Windows系统时,还可以启用安全性更高的Microsoft Pluton作为TPM。

其中TSME正是我们本次所需的功能,它可以有效缓解通过监听内存总线获取明文数据的攻击。即使进行中间人监听,也完全无法从加密的数据流中提取硬盘密钥了。

底盖防篡改监测

使用封条贴住螺丝孔是识别设备内部是否遭到篡改的方式之一,但不幸的是,如果你假设你的对手拥有极高的化学水平,那对方大概率可以无痕移除你的封条。并且就算你能发现自己的封条被移除,你的电脑也不会对此作出任何响应。

所以,我们最好选购一台拥有底盖防篡改监测的设备。一旦有人打开底盖,电脑就会拒绝启动,直至输入BIOS管理员密码。

其实有的时候篡改是无法防护的。我们不妨逆转思路,不去想怎么防止篡改,而是去想怎么能让我们立刻发现篡改9。这里的逻辑是这样的:

  1. 攻击者打开后盖 → 尝试直接攻击TPM/内存/总线获取硬盘密钥 → 开机显示篡改警报,设备拒绝启动 → 篡改被发现
  2. 攻击者打开后盖 → 安装后门硬件 → 开机显示篡改警报,设备拒绝启动 → 篡改被发现
  3. 攻击者打开后盖 → 向BIOS/NVRAM等位置植入后门软件 → 开机显示篡改警报,设备拒绝启动 → 篡改被发现
  4. 攻击者打开后盖 → 尝试植入软硬件后门 → 攻击者使用编程器刷入恶意BIOS,隐藏篡改警报并清除BIOS密码 → TPM的PCR校验不通过,拒绝释放硬盘密钥 → 篡改被发现

所以底盖篡改监测比单纯贴封条更可靠。如果两种手段都采用效果更佳,因为在一些环境中,比如你的电脑放在宾馆,在你离开时有人潜入,尝试植入后门,那么封条会显著延长对方开展攻击的速度,进而迫使对方放弃使用此方式开展攻击。

ThinkPad系列中,符合这几点特征的设备并不少,如果你也打算打造类似的设备,不妨在符合条件的设备中自行选择一个自己喜欢的。我个人更喜欢小尺寸、轻便、长续航的电脑,因为携带更方便。最终,我选择了ThinkPad X13 Gen 3 AMD。

软件改造

统一内核镜像

统一内核镜像 (UKI) 是一个单一的efi文件,可以直接由UEFI固件进行引导。你可以使用ukify生成UKI。只需要在efibootmgr中配置好启动顺序即可。

我使用Fedora,它默认使用shim+GRUB引导,且不对/boot分区加密。这个环境中最薄弱的一点在grub.cfg。这是GRUB2的启动配置文件,如果攻击者在其中植入了后门,或者修改了某些设置以削弱加密,我们就可能中招。

UKI很好地规避了这一点,使用UKI,你可以直接绕过GRUB,将内核、initramfs、UEFI存根以及cmdline放在一起合成大引导。这样可以很大程度地减少攻击面,只需要对UKI进行签名就可以保护众多零散地部分。

安全启动证书

安全启动(Secure Boot)可以确保在启动时只有签名验证过的软件和驱动能够被加载,这个签名验证一般由微软完成。微软会用保密的私钥签名,而BIOS中则含有对应的公钥。

这个安全成立的逻辑是: 攻击者篡改efi → 攻击者不持有微软私钥 → BIOS发现efi未签名或签名不对 → 拒绝启动

如你所见,Secure Boot的安全性高度依赖“微软的私钥只有他们自己持有”这一无法验证的前提。而我在这里需要重申一遍之前的原则——要确保打造一个零信任的系统,用验证取代信任。

在美国,某些类型的执法和情报请求带有附带的命令,禁止接收命令者披露他们收到过有关命令。

信任根应掌握在自己手中,任何基于承诺而不是数学的安全,都不算真正的安全。微软是否已经应官方的命令,被迫交出私钥并保持缄默,我们不得而知。

如果攻击者意外获取到微软的私钥,他们就可以签名一个恶意的efi文件,同时设法植入后门跳过PCR验证,对电脑实施组合式的Evil Maid攻击。下次启动时,这个efi文件就可能骗过BIOS的安全启动。

所以,我建议采用自签的证书。你可以使用sbctl签名自己打包的efi,配合安全启动的Custom Mode,清除BIOS中微软的证书,导入自己的证书。

这样安全就变成了: 攻击者篡改efi → 攻击者不持有你的私钥 → BIOS发现efi未签名或签名不对 → 拒绝启动

如果你决定备份自己的私钥,请务必离线保存。请勿将其与你的电脑同放在住处,如果你遭遇了有针对的攻击,则攻击者盗走电脑的同时很可能一并带走这个私钥。

最后,若要让安全启动针对生效,你需要设置BIOS密码才可以,并且不要忘记锁定启动位置。

TPM配置

启用PIN

ThinkPad X13 Gen 3 AMD发布于2022年,搭载了Ryzen 7 PRO 6850U,采用Zen 3+架构。不幸的是,Zen 1 - Zen 3架构的所有fTPM均受到CVE-2023-20589的影响(看,我就说不该买太早期的平台)。这是一个高危漏洞,攻击者可以通过向CPU注入不稳定的电压,迫使TPM释放密封的信息。尽管开展这种攻击的条件较为苛刻,但如果有所准备,攻击者可以在2-3小时得手。

万幸的是,根据原始论文10,这种攻击只对TPM-only的无人值守解锁起效。对于有PIN的TPM,保护效果会视PIN的长短变化。

实际上,无论TPM是否有漏洞,我都会建议你加上一层TPM PIN,这是因为LUKS加密中,TPM保存的是一个sealed secret。启动过程中,TPM释放密封的secret,随后与PIN共同恢复LUKS keyslot,最终解出Volume Key。

也就是说,设置PIN后,只在PIN与TPM secret准备齐全,才能恢复keyslot。即便TPM中封存的secret被获取,攻击者仍需破解PIN才能恢复解锁LUKS所需的信息。

即使未来发现了存在其他漏洞,PIN也能提供一层额外的安全。

建议使用至少7~8位、包含大小写字母、数字的随机PIN。

PCR度量值的选取

关于更多关于PCR值的内容,请前往Arch Wiki

每一个PCR值都对应着电脑的一部分。在启动阶段,如果任一度量值发生变化,则TPM会拒绝释放密钥。呈现在屏幕上的结果就是你输入了正确的PIN,但是电脑没有像往常一样进入系统,而是继续要求你输入LUKS的密钥。

在配置PCR值的时候,如果你使用了统一内核启动,我会建议你选取PCR0-PCR7。

PCR描述由…扩展
PCR0核心系统固件可执行代码(又称固件)。如果升级 UEFI,它可能会改变。固件
PCR1核心系统固件数据(又称 UEFI 设置;例如,已配置的启动顺序)固件
PCR2扩展或可插入的可执行代码(又称OpROMs固件
PCR3扩展或可插入的固件数据。在启动设备选择 UEFI 启动阶段设置。固件
PCR4启动管理器代码和启动尝试。测量启动管理器和固件尝试启动的设备。固件
PCR5启动管理器配置和数据。可以测量引导加载程序的配置;包括 GPT 分区表。固件
PCR6从 S4 和 S5 电源状态事件恢复固件
PCR7安全启动状态。包含 PK/KEK/db 的全部内容,以及用于验证每个启动应用程序的特定证书[2]固件,shim (添加 MokList, MokListX 和 MokSBState)

如果没有使用统一内核启动,我会建议使用PCR0-PCR9。

PCR描述由…扩展
PCR8内核命令行哈希GRUB
PCR9initramfs 和 EFI 加载选项的哈希 Linux (测量 initramfs 和 EFI 加载选项,本质上是内核命令行选项)

我强烈建议使用前一种方案,即启用UKI并度量PCR0-PCR7。

PCR8和PCR9的值会跟随Linux内核版本的变化而频繁变化。每更新一次内核,你都需要手动重新将LUKS密钥封装在TPM中,这样一来,你就会经常遇到TPM解锁失败的情况。这正是危险之处——面对某一次电脑真的被篡改的情况,你会放松警惕,误以为是更新内核导致的。

PCR0-PCR7则只对电脑本身的固件进行度量,确认固件可信后,再由安全启动验证efi是否可信,这样更符合“信任链”的概念。

整体逻辑是: TPM根据PCR决定是否释放sealed secret → BIOS安全启动校验efi → 解锁并挂载/home分区 → 启动

改变习惯

警惕BadUSB

这是一种常见的物理攻击手段——有些恶意的线缆会模拟成一个HID设备(键盘或鼠标),插入后会快速在电脑上输入代码,植入恶意后门。我曾使用Arduino进行过类似的安全试验,结果发现它输入的速度极快,快到让人来不及反应。

如果可以的话,请关闭USB接口的功能,即只允许充电,至于外接鼠标和键盘则通过蓝牙连接。

如果你仍需要这些接口,就请务必注意:

  1. 出门在外只使用自己的线缆

  2. 携带一个断开数据引脚的USB套接头。

这里我们仍要践行原则,不要相信自己不会失误。如果你决定保留USB能力,一个折中的方法是使用USBGuard来设置允许连接的白名单。

此外,尽管现代Linux已经内置了IOMMU、Thunderbolt Security Level、DMA Remapping等安全机制,我建议顺手关闭Thunderbolt,以防范可能的DMA攻击。

保持电脑在视线之内

它是我选择轻便电脑的最根本原因。

带走你的电脑——我本来不想提到这件事,因为它有些“投机取巧”,就像在说“重装系统能解决很多问题”一样,但它确实是种能够从根源上解决相当一部分物理攻击的通用解。

即使你不得不暂时离开电脑,哪怕是不到一分钟,也应该进行最低限度的保护:随手锁屏、盒盖。安全习惯的养成需要时间,哪怕你面前是不加密的电脑,也应如此,这样你才能真正改变习惯,减小你在使用安全电脑的时候忘记上锁的概率。

结束语

关于电脑内部使用的软件安全,以及系统层面的配置,由于其不在本文所述之威胁模型范围内,在此便不再赘述。

本文经GPT-5.5进行初步的技术核查,并特别感谢由我的一位朋友@〃八月柒秋叶初凉-ぐ进行的进一步核查——TA是一位真正的信息安全领域专业人士。

@〃八月柒秋叶初凉-ぐ:

我品鉴一下[doge]

同时,也感谢在这一过程中帮助到我的所有博客运营者和Wiki贡献者。

若你发现这篇文章所述之逻辑或技术尚有漏洞,务请必留言指正,不胜感激。

最后,我想把这句GPT对整个过程的精炼总结留在这里,作为结语送给大家:

Don’t trust. Verify.

  1. 一家开在学校附近的数据恢复店,位于教化大楼438 ↩︎

  2. 假的,我没有中彩票,所以其实还是要考虑成本的 ↩︎

  3. 我个人比较喜欢Firewalld ↩︎

  4. 有品牌Logo的一侧,通常在屏幕的背面 ↩︎

  5. PCR值均为0,似乎处于某种工厂状态中,除TPM Only外无法使用任何Policy ↩︎

  6. 指父母。梗出自小红书 ↩︎

  7. 参见TPM GPIO fail: How bad OEM firmware ruins TPM security。遗憾的是,Intel并不打算为此分配CVE编号,因为他们认为网络攻击可以通过其他方式直接窃取文件本身,而物理攻击不在他们负责防护的范围内 ↩︎

  8. FROST: Forensic Recovery Of Scrambled Telephones ↩︎

  9. 此处致敬Capcom经典游戏《逆转裁判》 ↩︎

  10. arXiv:2304.14717 [cs.CR] https://doi.org/10.48550/arXiv.2304.14717 ↩︎

本文由作者按照 CC BY 4.0 进行授权