H51

硬件安全

点击正文段落选定收藏或划线位置;未选定时使用屏幕内第一段。

课内目录

1 硬件安全要回答什么

1台服务器能够开机、通过内存测试、跑满网络带宽,并不说明它会按所有者的意图工作。硬件安全关心的是:谁能决定设备最早执行什么代码,谁能读取运行中的数据,谁能改写持久配置,以及设备交到别人手里后还留下什么。它与可靠性有关,但目标不同。DIMM损坏导致随机报错,首先是可靠性问题;有人借助开放的维护接口改写固件,则涉及权限和信任边界。真实故障中,两类问题可能表现相似,不能只凭“重启好了”判断原因。

本课用1台2U机架服务器贯穿讨论。它有2颗CPU、256 GB内存、2块1.92 TB NVMe系统盘、1块双端口25 GbE网卡,以及负责远程管理的BMC。CPU负责执行指令,DIMM保存运行中的内容,NVMe保存系统和业务数据,PCIe连接高速外设。BMC是具有独立处理能力的管理控制器,常能远程开关机、查看传感器和提供控制台;具体功能与供电方式依机型而定。双系统盘能改善部分磁盘故障下的可用性,却不能保证被篡改的软件不会同时写入这2块盘。

同样的安全问题也存在于笔记本、塔式工作站和边缘小主机,只是接触条件不同。笔记本可能被带离办公室,边缘设备可能安装在无人值守机柜,机架服务器则经常依赖远程管理。讨论风险时,要写明攻击者能做什么:只有普通系统账户,持有管理员凭证,进入管理网络,还是能够打开机箱。不同前提决定了哪些防护真正有效。将“攻击者无所不能”作为默认条件,会让所有配置失去比较意义。

CPU、内存、存储与管理控制器的安全边界
CPU、内存、存储与管理控制器的安全边界

需要保护的资产也不只是硬盘文件。固件中的启动策略、磁盘解锁所需的密钥、远程管理账户,以及服务能够持续运行的能力,都属于资产。1块经过加密的NVMe盘被取走,可能没有直接泄露明文;但整台设备连同能够解锁它的环境被接管,结果可能不同。应当把“数据放在哪里”和“谁能让数据被解密”分别写清楚。硬件安全的入门目标,是给这些边界找到控制措施和可检查的证据,不是给整机贴上永久安全的标签。

2 可信根、测与机密计算

可信根是后续判断所依赖的起点。例如,平台可能用受保护的起始代码和写入硬件的信任材料,检查下一阶段固件是否获准运行。后续组件再检查后面的组件,形成信任链。链条的可信程度受起点、验证实现和策略配置共同影响。如果起点本身可以被同样的攻击者随意替换,仅增加后续签名检查并不能补回这个缺口。具体平台是否具有硬件支持的固件验证,需要查对应机型的能力和配置,不能从CPU型号直接推断整机结论。

安全启动关注“允许什么执行”。常见的UEFI Secure Boot依据签名及信任策略检查启动程序,并结合撤销信息拒绝已不再被允许的组件。启动程序、内核和模块之间是否继续验证,要看实际链路与系统配置。它并不天然验证机内所有固件,更不意味着签名代码绝无漏洞。合法签名表达的是授权关系;某个已签名旧版本仍可能存在已知缺陷,因此更新撤销信息、限制不安全回退,也是维护信任策略的工作。

度量启动关注“发生了什么”。平台把选定组件或配置的摘要纳入度量,通常由TPM中的平台配置寄存器PCR累计反映相应状态,并保留可解释这些结果的事件日志。PCR不是完整固件副本,也不是可随意改写的普通清单。只有度量、没有执行阻断策略时,发生变化的组件仍可能继续运行。标题中的“测”在这里指度量;理解时要将“记录差异”和“拒绝差异”分开,否则很容易把可观察能力误认为防护已经生效。

验证执行链与度量记录的不同职责
验证执行链与度量记录的不同职责

远程证明进一步让核验方检查设备提供的状态证据。核验方通常需要新鲜挑战、可信的证明身份、TPM签名结果、事件日志以及批准基线,不能只接受设备自报的“正常”文本。度量值发生变化也不自动说明遭到入侵:批准的固件更新、启动配置改变都可能造成变化。核验方应结合变更记录解释差异。证明覆盖的是选定状态与时点,不是对整台服务器未来行为的保证,也不能替代业务权限和持续监控。

机密计算则主要处理运行中数据的保护问题。某些CPU与平台组合能够提供受硬件支持的隔离执行环境,使选定工作负载的内存受到额外保护,并可配合证明机制决定是否释放密钥。普通内存加密与面向机密计算的隔离能力不能简单画等号;完整性、管理程序权限、设备访问和证明支持都要核实。它也不会自动加密所有网卡流量、替应用修复漏洞,或消除断电风险。本课只要求判断保护对象、可信参与者和证据来源,具体隔离实现与内部攻击技术留待后续专题。

3 供应链与固件边界

固件是设备内部承担控制工作的软件,可能位于主板SPI闪存、网卡、NVMe控制器或BMC中。操作系统更新成功,不能推出这些组件也已更新。网卡通过PCIe接入并可能使用直接内存访问DMA;这意味着设备可以在授权范围内搬运内存数据。IOMMU能够帮助限制设备的DMA地址范围,但其作用取决于平台、启动阶段和配置,不能替代设备固件可信性检查。先列出组件及其更新入口,才知道哪些部分处于系统工具的视野之外。

供应链边界从采购前就开始了。采购清单应包括可支持的启动验证、TPM能力、固件签名更新、恢复方式和维护期限,而不仅是CPU核数与内存容量。到货时核对机型、序列号、网卡及存储部件、固件版本和交接记录。外包装完好是物流证据,不能独立证明内部代码可信;镜像有摘要也只说明能与某个参考文件比较。摘要所对应的参考值若来自同样不可信的渠道,就不能建立可靠来源判断。

固件更新至少要回答来源、授权和版本这3类问题。来源应指向批准渠道;授权通常依靠设备能够验证的数字签名与更新策略;版本则涉及兼容性、撤销状态和回退限制。签名验证成功不表示可以忽略版本公告。允许退回存在已知缺陷的老版本,可能重新打开已经修复的入口;但完全不考虑恢复的限制,也可能让更新失败的机器难以救援。方案需要同时规定正常更新路径和受控恢复路径,并确认恢复不会绕过关键授权要求。

硬件供应链与返修、退役的连续交接
硬件供应链与返修、退役的连续交接

BMC尤其需要单独管理。主机操作系统关机时,BMC在有待机电源的机型上仍可能运行;重装系统通常也不会重置它的固件或账户。它应接入受控的管理网络,使用独立、可撤销的管理凭证,并保留访问和更新记录。将管理端口插进业务网络,或让管理服务直接暴露到不受信任网络,会把原本依赖机房接触条件的操作变成远程入口。即便采用共享物理网口的设计,也需要核对逻辑隔离与访问策略是否成立。

返修与替换同样是边界变化。送修前需要判断磁盘是否保留、密钥如何处理、BMC配置是否含有敏感信息,并按支持流程执行数据保护。换回主板后,TPM身份、启动配置或磁盘解锁条件可能改变;不能把“同型号备件”理解为“原信任状态自然延续”。退役时,应按介质能力执行适当的安全擦除或密码擦除并核验结果,同时撤销相关凭证。文件系统删除、重新分区、恢复默认设置分别作用于不同对象,任何1种操作都不能凭名称推定覆盖整机。

4 动手:检查一次安全启动链路

本次检查针对获准查看的Linux测试服务器,采用只读操作。先记录机型、主板固件版本、系统版本、检查时间,以及当前使用的启动路径。确认该设备是否以UEFI模式启动;若是传统兼容模式,后续命令无法证明同样的Secure Boot链路。检查前还要知道恢复介质和存储恢复密钥由谁保管。虽然本次不改配置,这些信息能帮助解释现状,并为后续维护划清责任。

可以在已安装对应工具、权限允许的环境中运行下面的查询。它们分别查看UEFI环境、启动验证状态、TPM设备节点和内核日志,不应因为某条命令缺失就临时更改生产启动设置。

test -d /sys/firmware/efi && echo UEFI || echo no-UEFI-directory
mokutil --sb-state
test -c /dev/tpmrm0 && echo TPM-resource-manager-present
journalctl -k -b --no-pager

存在UEFI目录,说明当前系统暴露了UEFI启动环境的相关接口;它本身不等于安全启动开启。mokutil --sb-state的结果需要结合系统实现解释;命令未安装、权限不足或在容器内运行,都可能让输出缺失或不适用。TPM资源管理设备节点存在,说明系统看到了相应接口,不等于设备已经完成可信登记,更不等于远程证明已通过。内核日志可能包含Secure Boot、TPM或完整性相关信息,但日志关键词不能替代对策略和组件的核实。

从设备身份到状态结论的只读检查路径
从设备身份到状态结论的只读检查路径

接着对照UEFI管理界面或批准的配置导出,核实Secure Boot是否开启、密钥是否已经配置、信任策略是否与组织要求一致,以及系统是否处于预期启动模式。不要为了获取截图进入修改或清除密钥流程。若平台使用自定义信任密钥,还需确认持有者、更新流程和撤销办法;“安装了密钥”与“安装了正确且仍获批准的密钥”是不同结论。测试记录可以引用受控配置版本,避免无必要地公开设备身份、网络地址或敏感启动参数。

若环境已有TPM度量采集工具,再按批准流程取得PCR结果和事件日志,交由能够解析日志的核验工具与基线比较。不要从互联网上找1组PCR数值直接套用,因为固件、配置和启动组件不同,结果也可能不同。证据表至少应写明对象、观察、来源与局限。例如“本次系统查询显示Secure Boot开启”只确认该项观察;网卡固件是否签名、BMC是否受保护,要另找证据。检查结束时,将结论分成已确认、未覆盖和待处理,避免把信息缺失写成通过。

这次检查不需要提交未签名镜像,也不需要在生产服务器上关闭保护。若要验证拒绝行为,应安排专用测试设备,事先准备批准恢复路径并定义预期结果。拒绝执行要由清晰的错误信息和日志支持;仅仅黑屏,也可能来自显示、供电、DIMM或存储故障。检查的价值在于建立可复核的证据链,而不是通过冒险制造故障来证明设备有防护。

5 便利调试与硬安全取舍

开发阶段常需要观察设备内部状态。UART串口可能输出启动日志,也可能提供交互控制台;JTAG等测试接口可能具有更深的调试能力。具体能力由芯片、板级连线与固件配置决定,看到焊盘不能直接断言能够读取全部内存。USB恢复口、BMC远程控制台也可能承担维护任务,但它们的权限和信任边界不同。评价便利性时,要逐项问接口能执行什么、谁能接触、是否认证、是否留下可用记录。

工程样机为了定位故障而开放串口,并不意味着量产设备应保持相同状态。生产基线通常关闭非必要调试能力,保留经过授权的维护与恢复途径。某些接口状态可由固件配置控制,某些涉及硬件跳线或不可逆的熔丝设置;不能把它们都当作随时可以恢复的开关。在采购或量产决策前,应确认关闭后能否诊断启动失败、能否完成返修,以及谁批准不可逆配置。本课不要求操作熔丝,只要求识别决策发生在哪个阶段。

交互中的等级表示调试开放程度,不是安全评分,也没有“每关闭1个接口就降低固定比例风险”的公式。1台机柜锁闭且维护流程完善的服务器,与放在公共区域的边缘设备,接触机会不同;但锁闭也不能代替接口认证。可行做法是将生产默认状态、授权开放条件、时间限制、操作记录和恢复后的复查组合起来。接口无法记录操作时,应明确依靠什么外部记录,并承认其证据能力有限。

还要把恢复代价纳入设计。关闭启动介质选择、限制远程控制台、启用严格版本限制,都可能让维护流程增加步骤。正确做法是在测试环境验证故障恢复,并准备可用的签名介质、密钥保管和备件,而不是等设备停机后才寻找绕过方式。便利与安全的取舍,最终应转化为明确的维护条件:谁可以在什么情况下做什么,结束后如何证明设备回到批准状态。

6 常见坑:调试接口留在生产

最典型的坑,是把“开发时需要”延续成“交付后默认开放”。例如主板上保留UART控制台,系统登录有严格口令,但启动早期的维护菜单却没有等效认证。此时进入机箱的人可能接触另1个权限入口。将焊盘藏在散热器旁边,只是提高了接触难度;它并不建立授权机制。验收应对照板级接口清单和实际配置,确认日志输出与命令输入是否分离、生产镜像是否关闭调试账户,以及恢复流程是否重新引入相同入口。

另1类坑是只检查操作系统。管理员关闭了系统中的远程服务,却遗漏BMC管理口、旧账户和过期证书。还有设备把测试用凭证写进出厂配置,换了主机口令也没有改变管理控制器的认证。排查时要按组件核对身份与配置,不能把“设备管理员”当作只有1套账户。对于无法轮换凭证或已失去安全更新支持的部件,应记录限制并评估隔离、替换或使用范围,而不是将其悄悄排除在资产表之外。

更新失败时,最危险的惯性是为了尽快开机,永久关闭签名验证。合法的恢复需求确实存在,但临时措施必须有批准条件、期限和回归检查。若新启动程序因签名或撤销策略被拒绝,应先核对镜像与策略兼容性;若系统盘不可见,则还需检查存储控制器、供电与启动配置。频繁重试、清除密钥或恢复出厂设置,可能丢失关键证据,也可能触发磁盘恢复流程,让原本局部的问题扩大。

更新失败时先保留证据,再区分验证问题与硬件故障
更新失败时先保留证据,再区分验证问题与硬件故障

同样需要避免把功能状态当作有效性证据。TPM已安装、IOMMU开关已开启、磁盘支持加密,分别说明能力或配置的一部分;还应检查密钥归属、实际设备约束和数据路径。若网卡更换后配置漂移,或者维护后Secure Boot被保留在关闭状态,最初验收的截图就不再代表当前设备。复查应绑定具体事件,例如主板更换、固件升级、恢复操作和重新入网,让安全状态随设备生命周期更新。

7 案例:固件未签名被植入

设想1批服务器的主板固件更新入口没有强制验证镜像签名。攻击者已经取得能够调用该更新入口的管理权限,并提交了被改动的镜像。设备接受更新后,异常固件在下一次上电时先于操作系统运行。这里必须明确:案例的前提是更新入口缺少有效的镜像授权检查,而不是只要存在某种远程管理功能,就一定能够植入固件。具备受保护验证机制且配置正确的设备,应在相应阶段拒绝未授权镜像。

表面现象可能是启动项异常变化、固件版本记录与变更单不一致,或安全策略在维护后被关闭。但这些都只是调查线索,不能单独证明植入。系统镜像重装成功也不足以排除主板固件问题,因为重装通常只覆盖系统存储。若异常发生在BMC或网卡固件中,主机操作系统里的文件校验同样可能完全正常。调查要先确定被改写的组件,再选择能够覆盖该组件的取证和恢复方法。

处理时先隔离受影响设备及相关管理入口,保留更新日志、维护记录和获准采集的状态证据,再判断同批设备是否使用相同版本与配置。清除日志后再开始调查,会破坏时间线。恢复应依赖批准来源的镜像、可信的恢复机制和既定操作流程;如果负责恢复的根本身也无法建立信任,简单再刷1次并不足以宣布安全。此时可能需要更换主板、使用专门维修流程或升级调查,取决于设备能力和证据情况。

恢复完成后,要重新验证固件版本、启动策略、独立控制器、管理凭证和业务功能;若存在密钥暴露可能,还要按影响范围处理相关密钥。整改也不止增加1项扫描。应补上设备端签名验证、更新入口授权、版本限制、管理网隔离和变更记录,并用受控测试确认拒绝机制有效。案例说明了1个关键边界:Secure Boot状态不能替没有覆盖到的固件更新入口作保证,系统恢复也不能代替整机信任的重新建立。

8 把硬件安全写进基线方案

基线应描述可验收的状态。例如,“服务器支持安全启动”只是能力要求;“以UEFI模式启动,Secure Boot启用,采用批准的信任策略,并保存查询结果与配置记录”才接近可操作要求。每项要求还需关联机型、固件版本、责任人和复查时机。对不适用的能力写明原因,对暂未满足的要求建立例外期限。否则不同人员可能用同1句话验收完全不同的设备状态,后续也无法判断更新是否造成偏离。

对于示例2U服务器,可以按组件列出基线。CPU与主板关注受保护启动能力及固件更新;内存关注工作负载需要的隔离能力,并继续保留容量、兼容性和错误报告要求;NVMe关注静态加密、解锁材料与擦除方法;PCIe网卡关注固件来源、DMA约束和更新支持;BMC关注独立认证、网络边界与日志。内存ECC有助于发现或纠正部分错误,但它不是防止未授权读取的通用机制,不能拿可靠性特性替代保密要求。

从安全要求到验收证据与持续责任
从安全要求到验收证据与持续责任

验收材料不应只有配置截图,还应包括受控恢复演练的结论。更新过程中断电是否能恢复,备用启动介质是否被允许,主板更换后如何重新登记身份,存储恢复密钥能否在授权条件下取得,这些问题都影响可用性。安全策略过严但无法恢复,会诱使值班人员在故障时绕开策略;有明确恢复路径,才容易在压力下保持边界。演练应在适当测试设备和维护窗口进行,生产环境采用经过批准的变更流程。

最后,将安全维护写入日常运营。固件公告由谁评估,哪些机器先测试,变更失败如何回退,回退是否受到版本策略限制,都要有明确安排。更新不是越频繁越好,也不是设备稳定就永远不动;应依据漏洞影响、兼容性和可用性要求确定节奏。每次固件、板卡或关键配置改变后,更新对应基线与证据,使设备当前身份、运行状态和批准状态能够相互对应。

9 从硬件安全走向数据中心规划(H52)

单机安全要求会直接改变数据中心的选型与布局。若业务需要机密计算,不能只比较CPU价格,还要确认整机固件、内存配置、操作系统和证明服务是否形成可用组合。若1种网卡或加速卡的更新维护能力不足,就需要在性能收益与长期支持之间做明确选择。机型过多也会增加固件基线、恢复介质和备件种类,使同样数量的服务器需要更多维护准备。

管理网络与物理访问也需要在规划阶段落实。BMC连接到哪里,管理交换机如何受控,维护终端通过什么入口访问,机柜门禁与操作记录如何对应,都不是服务器上架后再补1个口令就能解决的。边缘站点与中心机房的条件不同:前者可能缺少常驻人员,后者可能拥有更完整的备件与控制台设施。配置要求必须与实际接触和恢复条件匹配,否则纸面的限制会被现场困难反复打破。

硬件信任要求进入机型、机柜、网络与容量规划
硬件信任要求进入机型、机柜、网络与容量规划

维护还会消耗容量。若需要逐台升级固件并重启,业务应有足够冗余承接迁移后的负载;如果所有副本共享相同问题固件,仅增加机器数量也无法消除共同风险。规划时要考虑分批验证、不同故障域和备件周转,同时将供电、散热与带外访问纳入恢复条件。安全更新窗口与容量余量相互影响,这正是单机硬件知识进入数据中心整体设计的连接点。

到H52时,我们将把这些约束放入服务器数量、机柜空间、电力、散热、网络和运维流程的共同预算。此时应该能够提出具体问题:这批机器的启动信任如何验收,谁维护独立控制器,断电或更新失败后靠什么恢复,以及退役时怎样证明数据和凭证已经妥善处理。带着这些问题规划,安全才会成为设备选择与运行方式的一部分。

放进方案里

本项目采用2U机架服务器,配置2颗CPU、256 GB内存、2块1.92 TB NVMe系统盘及双端口25 GbE网卡。采购验收同时核对主板、存储、网卡和BMC的固件来源、签名更新能力、维护期限与恢复方式;具体能力以对应机型和固件版本为准。交付设备采用UEFI启动并启用Secure Boot,使用批准的信任策略。TPM用于支持既定的度量与密钥保护流程,远程证明仅在核验身份、日志与基线配套完成后列为已交付能力。

生产设备关闭非必要调试入口,BMC接入受控管理网络,采用独立管理身份并记录访问。需要临时开放维护功能时,通过工单限定人员、范围和期限,操作结束后复查接口与启动策略。存储加密同时落实恢复密钥保管、授权取用及退役擦除验证,不以删除文件代替介质处置。对机密计算的需求另行确认CPU、固件、系统与工作负载的兼容性及保护范围。

运维建立按机型和版本管理的基线,保存设备身份、固件清单、启动状态与检查局限。固件更新先在测试设备验证,再安排分批维护;维护容量应允许业务迁移并保留故障恢复余量。主板或关键板卡更换后重新核对身份、配置和密钥关联,不沿用旧验收结论。未满足要求的设备必须明确例外责任人、补救措施和到期时间。

验收提交只读检查记录、批准配置、管理网络访问验证和受控恢复演练结果。发现未授权固件或无法解释的度量变化时,先隔离并保留证据,再按可信恢复流程处理;不能建立可信结论的设备不直接重新入网。以上要求进入机型选型、机柜访问、管理网络、备件和维护窗口规划,由设备负责人和平台运维共同持续维护。

10 小结:下一步数据中心规划(H52)

硬件安全需要同时看执行起点、独立控制器、运行中数据和设备生命周期。安全启动负责按策略约束执行,度量记录帮助解释状态,机密计算保护选定运行环境;它们各有覆盖范围。真正可用的方案,还需要受控更新、接口治理、恢复能力和持续证据。

自测可以围绕3个判断展开:Secure Boot开启是否证明BMC固件可信?系统重装是否覆盖主板固件?主板更换后是否可以沿用旧TPM身份与解锁条件?如果能够分别指出缺失的证据与下一步核查对象,就已掌握本课的基本方法。下一课H52将把单机约束放进数据中心的容量、电力、散热、网络与维护规划。

同阶段相关课

AI 答疑

默认关闭。启用后,只发送本课标题、最近阅读的屏幕内正文摘录(最多 6000 字)与本次问题。

配置自己的服务