有关预引导程序的两个新闻

它们是James Bottomley在其博客上撰写的两篇文章的翻译。 第一篇文章发表于1月2013日,名为“ LCAXNUMX和重组安全启动”

我沉默了片刻,因此该是对Linux Foundation的Secure Boot Loader(特别是LCA2013的功能)进行更新的时候了。 (链接到幻灯片)

问题的实质是GregKH(内核开发人员Greg Kroah-Hartman)在XNUMX月初发现,建议的Pre-BootLoader无法在Gummiboot的当前形式下运行。 这有点令人生畏,因为这意味着它没有完成Linux Foundation激活所有引导加载程序的任务。 在研究中,原因很简单:创建Gummiboot是为了演示您可以制作一个小型且简单的Bootloader,该Bootloader可以利用UEFI平台上的所有服务,而无需像GRUB这样的大型链接加载器。 不幸的是,这意味着您使用BootServices-> LoadImage()函数来引导内核,这意味着要引导的内核必须通过UEFI平台上的安全引导检查。 最初是Pre-BootLoader,例如 垫片 (Mathew Garrett的引导程序)被编写为使用PE / Coff链接加载来击败安全引导检查。 不幸的是,这意味着由Pre-BootLoader运行的某些事物还必须使用链接加载来击败对其想要加载的任何内容的安全启动检查,因此,故意不是链接加载器的Gummiboot在此方案下将无法工作。

因此,我不得不进行重组和重写:现在的问题从“如何创建由Microsoft遵守其策略的签名的链接加载器”到“如何使启动加载器的所有子级都能使用BootServices-> LoadImage()函数”服从政策的方式。 幸运的是,有一种方法可以通过安装您自己的体系结构安全协议来拦截UEFI平台签名基础结构。 不幸的是,平台初始化规范实际上并不是UEFI规范的一部分,但值得庆幸的是,它可以由您可以找到的每个Windows 8系统实现。 新架构拦截了该协议并添加了自己的安全检查。 但是,还有第二个问题:虽然我们处于体系结构安全协议回调中,但不一定拥有UEFI系统屏幕,因此完全不可能进行用户测试来授权二进制文件的执行。 幸运的是,有一种非交互方式可以做到这一点,这就是SUSE计算机所有者密钥(MOK)机制。 因此,Linux Foundation Pre-BootLoader现在演变为使用标准MOK变量来存储授权的二进制哈希。

所有这些的结果是,Pre-BootLoader现在可以与Gummiboot一起使用(就像在LCA2013的演示中所做的一样)。 要启动,您必须添加2个哈希:一个用于Gummiboot本身,另一个用于您要启动的内核,但这实际上是一件好事,因为现在您有一个安全策略来控制整个启动顺序。 还对Gummiboot本身进行了修补,以识别由于安全启动而导致的崩溃,并显示一条消息,告诉您要注册哪个哈希。

我将在另一篇文章中解释新架构的工作原理,但是我认为最好解释一下上个月发生的事情。

他昨天做的第二篇文章被称为“启动了Linux Foundation安全启动系统”

如所承诺的,这是Linux Foundation安全启动系统。 它实际上是由Microsoft在6月XNUMX日发布给我们的,但是在旅行,会议和开会之前,直到今天我才有时间验证所有内容。 这些文件是:

预加载程序 (md5sum 4f7a4f566781869d252a09dc84923a82)
哈希工具文件 (md5sum 45639d23aa5f2a394b03a65fc732acf2)
还创建可引导的微型USB映像; (您必须使用dd将其安装在USB上;该映像具有GPT分区,因此它将使用整个磁盘)。 它具有内核应位于的EFI Shell,并使用gummiboot进行加载。 你可以在这里找到它 (md5sum 7971231d133e41dd667a184c255b599f).

要使用mini-USB映像,必须输入loader.efi(在\ EFI \ BOOT文件夹中)和shell.efi(在根文件夹中)的哈希值。 它还包含KeyTool.efi的副本,您必须输入哈希才能运行。

KeyTool.efi发生了什么? 它原本将成为我们签名套件的一部分。 但是,在测试过程中,Microsoft发现,由于其中一个UEFI平台存在错误,可用于以编程方式删除平台密钥,这将破坏UEFI安全系统。 在我们解决此问题之前(尽管有私人供应商参与其中),他们拒绝签署KeyTool.efi,尽管您可以通过运行MOK变量来授权它。

让我知道这是怎么回事,因为我有兴趣收集有关哪些有效和哪些无效的反馈。 特别是,我担心安全协议覆盖可能不适用于某些平台,因此我特别想知道它是否不适用于它们。

来源:

http://blog.hansenpartnership.com/lca2013-and-rearchitecting-secure-boot/

http://blog.hansenpartnership.com/linux-foundation-secure-boot-system-released/

确定是好消息还是坏消息。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   阿尔夫

    好吧,我看不到长期影响,但是对我来说,获得其中一项是我的目标 http://blog.linuxmint.com/?p=2055

    1.    吉卡德

      我认为它们非常昂贵。

    2.    卡洛斯·Xfce

      有一些公司出售没有预装操作系统的计算机。 其他允许您在Ubuntu或其他之间进行选择,并将其发送到您的家中。 您也可以购买零件并自己组装,然后放入所需的操作系统。

      在您的城市(GDL)中,有一连串的计算机商店,出售没有预装操作系统的计算机。 您可以在它们上面安装Linux。

      总有选择。 在这种情况下,它们远离普通用户,并且非常“隐蔽”。 但是对于那些想要Linux的人来说,确实存在。

      1.    彩虹飞

        拉丁美洲的用户没有太多选择,因为那些“特殊”公司通常不会达到这种程度🙁

        1.    比比91

          awwnnn难过,难过……。 该死的UEFI是一个真正的问题

          1.    比比91

            报告错误…。 发生了什么? 为什么我的评论中出现了苹果徽标? 我正在使用midori,但使用的是Ubuntu,而不是Mac:/

          2.    潘德夫92

            好吧,非常简单,您必须更改用户代理。

  2.   达米安里维拉

    这些插件基于搜索字符串(文本字符串),在这种情况下,它们会在用户代理中查找您的系统,而midori用户代理的文本字符串也具有MacOS X,我不记得是intel还是Mac OSX或两个,但首先找到此字符串并将其与Mac关联。前段时间,我在php和另一个javascript中编写了一个类似的脚本,并通过脚本解决了这一问题,因为在Mac OS X之后它不需要任何东西并将结果发送到midori变量,因为这是唯一可以区分midori和Mac使用的用户代理的东西,或者我们也可以更改它。

    使用Midori来查看此网站

    http://whatsmyuseragent.com/

    而且用户代理与Linux无关

    问候

  3.   阿尔夫

    «卡洛斯-Xfce
    在您的城市(GDL)中,有一连串的计算机商店,出售没有预装操作系统的计算机。 您可以在它们上面安装Linux。”

    当时我没有发现,只有批发商向我出售了没有操作系统的上网本,但没有电脑或笔记本电脑,只有上网本。

    您能说出连锁店的名字吗?

    1.    阿尔夫

      如果发布链的名称可能被误解并被视为垃圾邮件,那么最好等待管理员对此发表意见。