#1 楼
现代计算机没有BIOS,但是具有UEFI。从正在运行的操作系统更新UEFI固件是一个标准过程,因此,任何设法以足够的特权在操作系统上执行的恶意软件都可以尝试执行此操作。但是,大多数UEFI不会接受未经制造商数字签名的更新。这意味着不可能用任意代码覆盖它。但是,这假定:
主板制造商设法保留其私钥秘密
UEFI没有任何意外的安全漏洞,这些漏洞允许用任意代码覆盖它,或者可以被利用来造成损害。
这两个假设不一定成立。
关于泄露的密钥:如果UEFI签名密钥将为公众所熟知,那么您可以假设将会有大量的媒体报告和歇斯底里的补丁在发生。如果您关注一些IT新闻,则可能会看到很多“如果您有[品牌]主板,请立即更新UEFI !!!! 1111oneone”的标题。但是另一种可能性是对秘密泄露给国家行为者的密钥进行签名。因此,如果您的工作可能会引起工业间谍活动的兴趣,那么这可能对您也是一个可靠的威胁。
关于错误:UEFI获得越来越多的功能,而隐藏错误的可能性也越来越大。它们还缺少启动“真实”操作系统后所拥有的大多数内部安全功能。
评论
评论不作进一步讨论;此对话已移至聊天。
–Rory Alsop♦
19年4月5日在8:03
#2 楼
是的,绝对有可能。如今,随着UEFI的广泛使用,人们甚至更加担心:UEFI的攻击面比传统BIOS大得多,并且UEFI中的(潜在)缺陷可能会被利用来获得对计算机的访问而无需可以进行任何形式的访问(如去年在黑帽会议上的极乐世界的人们所展示的那样。)
#3 楼
实际上,病毒是一种软件,因此可以做任何其他软件可以做的任何事情。是问“软件当前可以X吗?”这样的问题可能包括“病毒可以a狗吗?” (并非没有dog狗机器人); “病毒能给我披萨吗?” (是的,遗憾的是,这并不是大多数病毒作者的主要关注点。)
BIOS(UEFI)当前是否正在使用软件更新?答案是,是的。我昨晚重新启动时更新了矿井。
所以答案是肯定的。
按照同样的逻辑,病毒也可能导致(历史上一直造成)CPU,硬盘驱动器和打印机的物理损坏。
家庭自动化系统和无人驾驶车辆也是可能造成人身伤害的目标,但我知道没有这样做的病毒。
评论
如果我的个人信息被恶意软件开发人员用来订购我免费的比萨饼,我什么都不介意。 (+1为有用的推理)
– Marc.2377
19-4-2在23:23
@ Marc.2377,如果您使用您的个人信息为我订购免费披萨,我也不会在意... :-)
–sleblanc
19年4月3日,下午3:54
现代病毒将很难造成物理损坏。最多,他们可能会通过真正热运行CPU来稍微磨损硬件,这会缩短使用寿命,但会造成损坏的情况并不常见。过去情况并非如此。参见“死亡戳”。
–森林
19年4月3日在7:33
@forest这些天风扇和冷却系统软件不受控制吗?我不确定,但是我敢打赌,您可能会以某种方式使软件的CPU或GPU风扇受污染。俄罗斯通过以共振频率打开和关闭发电机来远程摧毁发电机。我敢打赌,有类似的技巧可能很快杀死您的显示器。通过反复上下旋转它们,可以肯定会损坏盘片硬盘驱动器,固态驱动器很容易受到重复的读/写循环的影响。我敢打赌,一个有动机的黑客可以做很多事情。
– Bill K
19年4月3日在17:55
我认为,在确定是否可能/合理之前,我们需要定义“造成物理损坏”的范围。如果将定义限制为从字面上损害运行代码的计算机,则范围非常狭窄,我认为@forest是正确的。如果从广义上讲包括物理损坏,则更容易想象这样的情况:受感染的计算机在控制其他内容(发电厂,交通信号灯,公共交通系统,水处理厂等)时很容易造成严重的物理损坏。
– dwizum
19年4月4日在16:00
#4 楼
是的,绝对有可能。以下是使用制造商的私钥欺诈性签名的恶意软件操作系统更新的示例:
https://www.theregister.co.uk/2019/ 03/25 / asus_software_update_utility_backdoor /
据卡巴斯基实验室(Kaspersky Labs)称,约有100万台Asus笔记本电脑被
Shadowhammer
感染,并且该更新似乎已正确签名。尚不清楚这是否更改了固件,但肯定可以。#5 楼
您的问题暗示了一个更深层次的主题,即操作系统上的代码环和权限。在MS DOS上,代码可以执行所需的任何操作。如果代码想要将所有0x00都写入硬盘驱动器,则可以将奇怪的输出发送到硬件,也可以阻止用户的代码。在现代操作系统上,有一个环的概念(由CPU强制执行)。内核在零环上运行,并且可以执行所需的任何操作。另一方面,用户代码不能。它在称为环3的东西上运行,并且拥有自己的一小块内存,并且在内存内部它可以执行所需的任何操作,但不能直接与硬件对话。如果用户代码尝试与硬件对话,则内核会立即终止程序。这意味着常规病毒极有可能无法杀死硬件,因为它无法直接与硬件对话。如果内核被黑客入侵,那么游戏基本上就结束了。内核可以做任何想做的事情,并且可能发生很多坏事,例如将CPU超频到硬件不稳定的地步,擦拭硬盘驱动器(例如用零填充)或几乎其他任何可能的攻击。
评论
“如果用户的代码试图与硬件对话,那么内核会立即杀死程序”-真的吗?您可以为此提供引用吗?我认为受保护的指令只会失败,这取决于程序是否能够合理地处理它或崩溃。
– Marc.2377
19年4月2日在23:21
@ Marc.2377是正确的。如果用户代码尝试在需要CPL0特权的CPL3中执行一条指令,它将抛出#GP(0)(一般保护错误或GPF)。这导致代码跳入内核,以查看为该事件设置了什么信号处理程序。默认情况下,内核将终止该进程,尽管该进程在技术上可以为SIGSEGV设置信号处理程序,在这种情况下,内核将在该信号处理程序的位置恢复该进程的执行。尽管这通常不是一个好主意,因为一个过程被认为处于...
–森林
19-4-3在7:20
...如果在引发SIGSEGV之后(不是来自raise()的情况下)恢复执行,则根据POSIX处于未定义状态。它会从失败的指令处恢复执行,而该指令将再次运行,并在忽略信号时导致进程锁定。因此,如果它为SIGSEGV设置了信号处理程序,则取决于程序来处理它,但是几乎从来没有任何情况可以做到(尽管我认为Dolphin仿真器会捕获段错误以进行某种hacky优化)因此它不必模拟某些怪异的分页行为,而可以依赖MMU)。
–森林
19-4-3在7:20
请参阅此示例,以了解何时由程序决定。或者只是阅读PoC || GTFO 6:3。
–森林
19-4-3在7:26
#6 楼
潜在地。但是,这样做很难,因为随着合法BIOS更新的进行,它很有可能不得不伪装。这样做的方法将根据您的主板而有所不同,但是可能会涉及到私人或硬件密钥或其他机密的泄漏。#7 楼
是。它是特定于硬件的,但是这是一种情况,用户不小心从操作系统级别破坏了主板固件https://github.com/systemd/systemd/issues/2402MSI笔记本电脑意味着清除efi变量会导致笔记本电脑无法使用。由于这些变量已公开给操作系统并已作为文件挂载,因此从操作系统级别删除每个文件都会导致该问题,病毒可以利用该问题专门针对这些变量。
#8 楼
有很多方法,其中一些令人不安。例如,Computrace似乎是永久的后门,它不仅可以绕过操作系统,甚至可以绕过BIOS。更一般而言,英特尔管理引擎可以完全控制您的计算机,并且有可能被利用。这些可以修改您的BIOS,但甚至不需要。仅在2017年,安全研究人员就想出了如何通过USB利用Intel IME运行未签名的代码。重点是,即使您具有完全安全的操作系统,也不会下载任何不安全或恶意的文件。软件,通过恶意软件利用硬件中的安全漏洞绕过所有恶意软件的可能性仍然可以忽略不计(即使您的计算机已关闭电源)。
#9 楼
我在这里未曾看到的东西:如果攻击者获得了足够的许可以安装甚至由系统制造商正确签名的正式UEFI固件,他们仍然有可能通过强制将计算机置于无法启动的状态。在此过程中的适当时间关闭计算机的电源。
现代固件中的更新代码通常会尝试最大程度地减少计算机在电源故障会导致固件损坏的状态下花费的时间。 ,甚至某些固件都具有在这种情况下会激活的恢复模式。
但是,其中许多系统并不完全防弹。尽管它们提供了很好的保护,可以防止随机电源故障,但是如果固件没有强大的自动恢复功能,那么定时关机还可以将其击倒。
此外,甚至可能不需要攻击主系统固件。现代PC中的几乎每个设备都具有某种固件,并且其中许多可以通过软件进行更新。这些设备通常也不太安全。它们可能会完全接受未签名的固件,或者至少在更新过程中无法抵抗恶意关机。
如果销毁电源控制器,存储控制器,存储设备,视频设备或输入上的固件控制器,该系统可能变得就像攻击UEFI一样无法使用。
评论
是的,但从攻击者的角度来看,这是浪费或资源...下面是有关UEFI的rootkit的更多信息,例如下面的示例... welivesecurity.com/wp-content/uploads/2018/09/ESET-LoJax。 pdf评论不作进一步讨论;此对话已移至聊天。
某些(或大多数?)台式机主板具有ROM,用于从某种形式的介质中恢复BIOS(在过去,软盘是现今的USB棒,也许是CD-ROM)。 ROM无法修改,但是恢复通常需要打开机箱并移动跳线以进入BIOS恢复模式。我不知道笔记本电脑是如何处理的。
相关:security.stackexchange.com/q/13105/165253