UEFI BIOS和SEC阶段

3
我的bios知识很基础,但每次我阅读关于UEFI的文件时,我都不理解为什么SEC阶段是UEFI bios过程的信任根源。
SEC阶段执行PEI的验证,但我不明白SEC阶段是由谁或以哪种方式进行认证和验证的。有人能给我解释一下吗?
1个回答

2
当CPU启动时,它只在一个非常特定的地址执行几个非常具体的指令。此时没有任何初始化,南/北桥、内存本身(DRAM)都没有初始化,因此没有足够的资源来启动任何代码,只有Sec阶段才能完成初始化。只有这样,你才有足够的资源来执行代码。
另外,为了从操作系统或UEFI shell更新UEFI固件(BIOS),胶囊必须签名。所以在这个阶段没有篡改的可能。
你可以拆下芯片并用篡改后的固件重新编程,但这是另一回事,编写自己的BIOS并不是一项微不足道的任务。
所以,这就是为什么Sec Phase是ROT的原因。

忘记澄清:这些指令将加载并在CPU的缓存中执行sec。然后sec初始化DRAM和其他内容。 ;) - undefined
所以,SEC是信任的根源,只因为它很难替换BIOS芯片。 - undefined
从理论上讲是可以的!不是芯片-固件内部。从理论上讲,安全根本就不存在!即使RSA2056也可能在100多年后被破解!如果黑客能够获取到特定系统的BIOS源代码、进行修改并重新刷新目标机器,那么你将无法保护它。但实际上,在现实世界中,一个黑客甚至一群黑客完全重写整个BIOS几乎是不可能的。在制造商组装主板时,即使在生产线上也存在一些安全问题和关注点,比如如何建立起信任链。 - undefined
嗯,我的板子有点不一样,在CPU和BIOS闪存之间还有一个FPGA,用于对BIOS进行HMAC-SHA1身份验证。但是我明白你的意思。 - undefined
实际上,我认为在某些芯片上有一个固件部分,一个小型的RISC处理器,它是安全的(难以逆向工程),可以执行固件中的代码。此外,这个处理器中还有保险丝,供应商可以设置一次,可能用于签名验证第一个固件代码或者整个BIOS上的固件。因此,如果你在SPI EEPROM上运行自己的安全程序,它会注意到并且可能只能以有限模式运行。前提是供应商选择使用这样的功能。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接