普通用户如何轻松验证Mac固件的完整性?


9

普通用户如何轻松验证Mac固件的完整性?

在您否决这个问题或向我讲解我如何偏执并且没有人需要这样做之前,请阅读以下内容。

2015年7月,CVE-2015-3692揭示了Mac的EFI固件可能被远程攻击者入侵。(可用于此的向量在其他CVE中,但可以假设是任何东西,包括恶意的虚假Flash更新安装程序之类的东西。)

在苹果公司于7月30日使用EFI固件安全更新2015-001为OS X 10.8、10.9和10.10对其进行修补之前,此漏洞至少已发布四个星期。

宣布此漏洞的同一位安全研究人员还声称,在一次会议上看到了无法删除或覆盖的固件黑客攻击的演示。

因此,一旦一个Mac的EFI至今已拥有,如果攻击者这样做是正确的,那么用来刷新与有效的Apple固件EFI的唯一方法是直接连线了reflasher对逻辑板本身的EFI芯片(千万不能尝试这个在家)。

报道此漏洞的新闻文章对此轻描淡写,说大多数用户不要担心,为了保护自己,您所要做的就是永远不要让Mac进入睡眠模式,并且禁用root用户,或者永远不要对您进行的任何身份验证不要100%信任。这些文章的评论线程概括起来是这样的:如果所有的应用程序来自可信来源,如官方的App Store,你永远不会运行任何东西,不是由开发商知道苹果的代码签名,那么你应该没有什么后顾之忧。

但是后来在2015年9月,我们了解了XCodeGhost漏洞,据悉,该漏洞已导致许多感染了恶意软件的应用程序出现在官方的iOS App Store中-但是OS X应用程序如何?在链接的文章中,Malwarebytes写道:

Wardle在三月份曾指出Xcode容易受到此类攻击,但令人恐惧的是,它也将矛头指向了许多其他OS X应用程序。这些应用中的任何一个都可能容易受到类似攻击。

他们还写道,“普通用户不应该惊慌” —我经常在Apple支持论坛和其他地方看到这样的口头禅,无论何时用户发布有关他们所遇到的大量奇怪问题的线索。我们被告知:“只需重新格式化驱动器并执行系统的全新安装。问题可能出在第三方系统的修改上。” 如果仍不能解决问题,人们会被告知这一定是硬件问题,例如硬盘故障,GPU故障或RAM不足。我见过人们在其中替换掉Mac中每个组件的线程,问题总是会再次出现。

现在,我们知道用户的EFI固件有可能被黑客入侵了-因此,即使更换了主板,当他们重新安装应用程序时,该固件也可能会再次被恶意软件刷新!而且,如果不更换主板,则无论如何都将用软管固定。

这使我回到了主要问题。

普通用户如何轻松验证Mac固件的完整性?即,您如何检查以确保Mac的固件从未受到恶意软件的破坏?我找不到不需要禁用SIP的与El Capitan兼容的任何方法。对于以前的OS版本,有一个名为DarwinDumper的复杂第三方工具可以将您的EFI内容转储到文本文件,但是您仍然需要有效的Apple固件与之进行比较-这不是普通用户使用的方法有能力做。

告诉人们不要担心自己很好的事情可能是受害者,而无法检查自己是否是事实,这是使这类漏洞利用对于自满和缺乏警惕性的黑客有利可图的原因。部分用户。

==

编辑:我在Apple支持网站上找到了最新的官方Apple固件安装程序。奇怪的是,安装程序无法在10.10或10.11上运行。使用Pacifist,我为Macbook Pro 9,1提取了.scap文件。我将HexFiend中的二进制文件与重新启动到恢复模式并csrutil disable在终端上运行以禁用无根并启用运行未签名的kexts的能力后使用DarwinDump提取的biosdump 进行了比较。我恢复了此BIOS标头:

   $IBIOSI$   MBP91.88Z.00D3.B0B.1506081214Copyright (c) 2005-2015 Apple Inc.  All rights reserved.ˇˇˆ´5µ}ñÚC¥î°Îé!¢é_i@Ÿ¯¡Apple ROM Version
   BIOS ID:      MBP91
   Built by:     root@saumon
   Date:         Mon Jun  8 12:14:35 PDT 2015
   Revision:     svn 39254 (B&I)
   Buildcave ID: 6
   ROM Version:  00D3_B0B

Apple头中的官方BIOS:

   $IBIOSI$   MBP91.88Z.00D3.B0B.1506081214Copyright (c) 2005-2015 Apple Inc.  All rights reserved.ˇˇˆ´5µ}ñÚC¥î°Îé!¢é_i@Ÿ¯¡Apple ROM Version
   BIOS ID:      MBP91
   Built by:     root@saumon
   Date:         Mon Jun  8 12:14:35 PDT 2015
   Revision:     svn 39254 (B&I)
   Buildcave ID: 6
   ROM Version:  00D3_B0B

除此之外,这些文件看起来非常不同,但是我猜测.scap文件具有某种压缩方式。至少这告诉我,我安装了最新的固件,该固件是在宣布黑客入侵后发布的。我很好。能够通过某种校验和验证来确认我很好会很好!看着你,苹果!


2
这是(经过充分研究)的问题还是功能请求?如果有问题,可以请您将其精简一下,以便将更多的精力放在您要寻找的内容上(“最终用户如何验证固件完整性”)?
nohillside

题。我要查找的部分以粗体显示,并重复了两次,即标题。我依靠读者在他们的大脑中安装更多的RAM或如果支持的细节是一个“问题”,则服用ritalin。
CommaToast

2
不过,您可以通过将您的编辑(在问题的末尾)变成第一个答案来改善问题(可能还会提供有关临时用户如何执行必要步骤的更多详细信息)。另外,如果您想让Apple收听(我认为他们应该),功能请求仍然是更好的方法:-)
nohillside

我不希望苹果公司“听”……我希望他们成为一家与他们不同的公司,除非他们聘请我为“
真棒保证人

Answers:


2

要检查诸如Mactel之类的Intel UEFI系统的固件,请启动Intel LUV(Linux UEFI验证)发行版,并且保持激活状态,运行Intel CHIPSEC。它将检查大多数众所周知的固件漏洞。第一次装箱时应该运行CHIPSEC,保存ROM,然后偶尔重新运行CHIPSEC并比较ROM的更改。您可以使用UEFItool,CHIPSECUEFI-Firmware-Parser或其他一些工具来对ROM进行取证检查。

有关该主题和涉及的工具的更多信息,请参阅我的幻灯片以获取最近发表的演示文稿。


此外,还有一个名为Firmware Vault的项目,该项目收集Apple ROM,这对于研究也可能很有用。
Lee Fisher

2

“普通用户如何”的标题有点危险,因为我不认为任何人使用终端平均值-不能通过判断,只是这里的观众远远高于平均值甚至知道他们应该验证固件。希望这个简短的总结对我认为普通的Mac用户应该做的事情不会太自命不凡:

macOS安装程序会在您安装/重新安装操作系统时更新固件,因此只需启动以恢复并重新安装当前版本的macOS,您就不会丢失任何程序,设置,数据,并有机会确保固件是最新的。即使您是几个月前安装的操作系统-如果在准备安装时检查安装程序时仍在使用较新的固件,则将在练习中获得该更新。


如果您不能或不愿意运行安装,那么报告/验证您的最新状态将变得更加棘手。我想这取决于您为什么认为在正常的升级/更新过程中没有得到更新。由于没有对所有固件进行常规检查,我想说普通用户无法验证固件,即使是特殊用户也难以执行所需的分析级别。普通用户为认证和授权之间的差异而苦苦挣扎。专家用户发现,验证校验和以及信任和人性的加密链很繁琐,即使在精心设计,积极性高,支持良好的环境中,我们也无法很好地完成这些活动。

我将为需要验证固件并参加官方Apple Security Notifications邮件列表的每个实例与Apple一起打开支持通知单,以便在情况发生变化时您能及时发现问题。

很抱歉,如果这不是您想要的答案,但是我也觉得这是我对所有看到您的问题并想知道如何开始学习的人的一个小小的入门。随着越来越多的用户向Apple请求支持,最终将撰写知识库文章。在某个转折点,将增加资金,并且将对问题进行设计以使其与用户教育水平相匹配。我们才刚刚起步。


0

作为更新,macOS 10.13 High Sierra会每周一次自动验证Mac固件的完整性。如果发现固件问题,您的Mac将提供向Apple发送报告的功能。Eclectic Light Company的一则文章是关于报告的。

如果您运行的是真实的Mac,而不是“ Hackintosh”,则Kovah要求您同意发送报告。这将允许eficheck从EFI固件发送二进制数据,通过排除存储在NVRAM中的数据来保护您的隐私。苹果随后将能够分析数据以确定其是否已被恶意软件或其他任何因素篡改。

AppleInsider也这样说。

发送给Apple的报告不包括存储在NVRAM中的数据。苹果随后将查看传输的数据以评估是否存在恶意软件攻击

检查此处以了解有关此新功能的更多信息:macOS High Sierra每周自动对EFI固件执行安全检查


0

由于有新程序可用,因此仅是对此问题的更新。

称为eficheck。它位于/ usr / libexec / firmwarecheckers / eficheck目录中,也可能不在您的路径中,因此它比其他一些目录稍微复杂一些,但是有一个手册页记录了它的用法。

重要的是要考虑到任何足以使您进入EFI的适度复杂的东西都可能在某种程度上能够逃避检测。这是防病毒检查无用的很多原因,尽管反驳“防病毒检查是垃圾”的人们不知道为什么,并且重复得出比他们更聪明的结论,那就是防病毒公司往往不知道有能力来正确分析Mac特定的恶意软件,这样他们就不会在其数据库中添加文件的唯一哈希值,因此您的计算机可以计算自己文件的哈希值,然后计算已知恶意软件哈希数据库的哈希值。几乎所有的病毒扫描都不会做任何事情,也不会寻找恶意行为。

归根结底,尽管Apple的EFI是Intel的UEFI,所以您可以信赖Apple正确地做的事情,这确实是复杂和技术性的。Apple甚至无法弄清楚自己的PKI,您见过英特尔处理器的开发人员手册吗?这是数千页的古希腊语。我的意思是,加油,您不认为Apple漂亮聪明,对吗?

安全邮件列表是发布更新时的简单通知,仅此而已。您将不断寻找新的补丁程序,以解决长期以来发现并易于利用的CVE-ID问题,这些问题会影响最新的OS和较旧的OS(即使用中的OS)。没有什么可以阻止更新中的未来漏洞利用的。至少由于他们的政策,他们不会提及此类漏洞。唯一要解决的安全问题是说此更新修复了一个非常特定的问题。

如果他们确实发现了“恶意软件攻击”(此攻击之后是否仍然存在?),那么如果他们确认并向用户报告并违反了一项商业决策,就违反了他们自己的政策,因为许多他们的客户仍然不相信恶意软件。请注意,它并没有说明与用户联系或解决问题的方法。现在可以看到头条新闻。最近所有的坏消息真的在伤害他们的自我,似乎它已经接近了转折点。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.