我刚刚在计算机上下载并执行了一个恶意软件。

我现在没有很多时间,所以我关闭了电源(通过“开始”菜单将其关闭),希望直到我可以从轨道上对其进行核弹之前,它才能窃取任何数据或进行恶意活动。


足以防止恶意软件继续进行恶意
/>活动吗?
恶意软件可以打开计算机的电源吗?
我还应该拔掉电源并取出电池吗?


评论

我很困惑,如果您打算从轨道上对其进行核弹,那么它会做什么呢?更重要的一点是切断网络。

(戴上锡箔纸帽子,并指出我不是该领域的专家)恶意软件是否有可能改变为BIOS,使其在特定时间唤醒?

我认为您需要更高的权限来安排rtc唤醒或为WOL配置BIOS ...

@dandavis并有一些方法可以获取提升的特权,包括绕过整个操作系统。在DefCon演示中,恶意软件设法绕过所有窗口,修改ROM​​,然后执行并完全保留在操作系统无法访问的内存中。因此,即使您启动到Linux,它仍然存在并且可以访问内存中的任何数据。简而言之,这不一定是权宜之计。虽然,我不知道OP收到了什么恶意软件。

有BIOS唤醒时间功能,恶意软件可以对其进行编程。取决于您的硬件如何避免它们。拔下电源肯定会有帮助。

#1 楼

TL; DR是的,但是不太可能。只是要确保拔出PC或确保它无法连接任何东西。
几个操作系统-特别是Windows 10-可以使用适当的驱动程序以及相关的复杂硬件管理来设置“自动唤醒” 。
结果是,如果某个恶意软件程序(如果足够的话,这真是个大问题!)已经获得了足够的访问权限,可以让操作系统对其进行出价,因此它可以简单地要求系统本身代表它执行此操作。
在某些系统上(恶意软件必须能够识别并计划),这也意味着“真正的关机”:其他电路将在板载实时时钟的预选时间开启计算机。在某些台式机BIOS中,该软件以较少的软件访问方式可用(在BIOS设置中,“自动开机:[]永不; []断电后; []在给定时间的每一天::”或类似内容)。
然后,系统会在一段时间后自动启动,例如在您可能处于睡眠状态时。
所以:

有RTC通电硬件支持或更多(集成的管理系统,在企业计算机上常见)

恶意软件必须已经控制了系统,因为RTC功能通常需要管理员/根级别的访问权限。


不存在或未使用RTC通电硬件支持:

如果恶意软件控制了系统,则只需进入睡眠状态即可替换关机程序,然后设置事情会在以后退出睡眠模式。



但是这些选择中有没有发生?可能不会。大多数恶意软件都依靠不知不觉地运行并能够在一段时间内未被检测到而运行。 “关闭电源模拟”仅在非常特定的情况下有用(并且硬件选项仅在相对较少的系统上可用),而且我认为恶意软件编写者不必为它们担心而已。它们通常带有第三个也是最简单的选项:

颠覆了一些通常的自动开机或登录序列(autoexec,启动脚本,计划任务,运行服务等),以便附加代码

对于“目标”恶意软件,它在设计时考虑了某些特定的受害者,并针对特定目标的功能进行了量身定制,而不是普通受感染计算机上可用的子集,则上述所有资格都不会发挥作用。

评论


如果该病毒感染了您的BMC,您将遇到类似的问题(它可以使用IPMI来打开系统电源)。但是,对于消费类机器而言,这并不是很大的风险。 BMC硬件通常仅在服务器上可见。

– bta
19年2月12日在23:05

@bta台式机系统上的Intel ME和AMD PSP具有与高级BMC基本相同的功能。

–user71659
19年2月13日在0:37

“这要求恶意软件已经(…)只用进入睡眠状态就替换了关机程序。”对于现代x86而言并非如此,请参见Matija Nalis的回答。

–梅勒比乌斯
19年2月13日在13:10

Windows任务计划程序可以访问ACPI RTC唤醒功能,并将使用它。通常,它仅从S3和S4唤醒,但是有些系统无法在acpi级别上区分S4和S5进行唤醒。我曾经有一台非常好的(vista)机器,它将在半夜启动以检查Windows更新...

– PlasmaHH
19年2月14日在10:12

“局域网唤醒” / IME与Windows 10无关,它是硬件功能,而不是软件功能

–user1067003
19年2月14日在11:03

#2 楼

正如其他人提到的那样,尽管目前不太可能(尽管绝大多数恶意软件都不会打扰),但在大多数PC硬件上还是有可能的。

其他人所说的不可能是错误的。软件实际上可以唤醒通过“关机”或“关机”命令(GNU / Linux)或单击“开始”按钮,然后单击“关机”(MS Windows),或通过手动按电源按钮。

此功能称为RTC唤醒,它允许软件安排在一天的特定时间进行唤醒。它由实时时钟芯片(该芯片可在计算机关闭时跟踪时间并使用其自己的CR2032电池)进行控制。

如果运行GNU / Linux系统,则控制该功能由rtcwake(8)系统命令提供。

作为一项相关功能,许多计算机还具有称为“局域网唤醒”的功能,该功能允许其他计算机和路由器通过有线以太网络为计算机供电(请注意,必须在计算机上启用此功能)。计算机,以及它是否默认为on取决于您的BIOS)。

评论


我告诉人们,就像《公主新娘》中的韦斯特利一样,“关机”的计算机并没有完全关闭。大部分时间都关闭了。主板的一小部分正在监视机箱正面的“电源开关”(通过@Matija Nails通过电源进行布线),键盘输出的“电源”信号,并且可能还在观察与众不同的信号。数据包打到NIC ...

– Monty Harder
19年2月12日在20:33

@MontyHarder:这些是不同的部分,实际上,电源开关逻辑很可能全部在硬件中。 WOL部分可能是在固件中实现的,因此是软件。

– MSalters
19年2月12日在20:47

另请注意,自ACA电源在cca 1995年问世以来,大多数PC计算机不再具有物理关闭开关(您可以拉出电缆,或者很少通过ATX PSU背面靠近交流电缆的机械开关) 。因此,如果您可以通过软件“关闭”计算机(通过单击“关机”按钮),则几乎也可以通过软件将其打开。因此,实际上现代计算机永远不会关闭,我们所谓的“关闭”实际上是ACPI G2 / S5“软关闭”状态

– Matija Nalis
19年2月12日在21:25

@MatijaNalis-我相信在英国销售的所有电源在法律上都必须具有物理开关,尽管在正常情况下没有人会使用它。这可能在整个欧盟范围内。

–xorsyst
19年2月13日在15:50

@MSalters不能全部用硬件完成,因为如果在计算机运行时按“电源开关”,它将启动正常关机(刷新磁盘缓冲区,停放读/写磁头等),然后再输入“大部分处于关闭状态”。我记得那不是真的(ATX之前)。可能有一个硬件组件可以跟踪该状态并在没有任何软件的情况下启用“加电”功能,但是正因为主板具有需要某种底层处理的Wake on LAN(通常是Wake on Modem),所以这很合理假设它们的操作类似。

– Monty Harder
19年2月13日在16:16

#3 楼

编辑:是的,可以做到的。正如Majita Nalis给出的一个很好的答案所示,现代系统具有内置功能,可让您从软件设置启动“警报”。

可能存在的现实情况是,恶意软件在另一台设备。假设您的路由器具有默认凭据或漏洞,则该恶意软件可能已经传播。如果启用了局域网唤醒功能,则有人可以打开计算机的电源。大多数恶意软件将在环3中运行,如果您真的不太幸运在环0中作为内核模块或系统驱动程序运行,则大多数恶意软件都将在环3中运行。当系统实际关闭时,它们都不会运行,并且如果未设置时钟,则它们从根本上将无法再对机器进行控制。

但是在环0下方有执行模式,例如SMM。以及其他进行电源管理的固件。但是滥用这种恶意软件的情况极为罕见,我能在野外唯一提到的例子就是NSA代号DEITYBOUNCE类恶意软件,而LoJax可能是由Fancy Bear传播的。 。

https://security.stackexchange.com/a/180107/121894

您是否拥有有关恶意软件的信息,例如哈希或姓氏?这样可以得到更详细的答案。

#4 楼

WOL数据包具有特定的结构;并不是说它可以在Internet上发送或在Intranet上路由以达到目标。
断开或连接饮食电缆时关闭计算机电源。
RTC唤醒功能不错,但我想它只能在睡眠模式下使用。
我个人认为,某些SMM固件功能,如果配置不当且其中某些功能被默认禁用,可能会对远程管理造成危险。
最好的选择是拔掉Internet电缆或禁用无线网卡,直到您不确定是否已通过病毒感染对PC进行了消毒。

评论


在特殊条件下,WOL帧可以作为定向IP广播通过Internet发送,也可以从被黑路由器或LAN上的其他设备发送。 --- ATX计算机上的RTC警报(于1995年推出,后来被广泛采用)旨在使计算机能够从完全关闭的状态打开电源。即使关闭,ATX电源也可以提供5伏待机电压。这是为了允许诸如WOL,通过键盘加电等功能。--- SMM用于APM功能,但是从理论上讲,没有必要实现上述两个唤醒功能。

– pabouk
19年2月13日在21:13



#5 楼

Root Kit恶意软件可以做到这一点,甚至更多。但是,rootkit通常用作间谍软件,以从系统中收集信息,而无法检测到系统已被感染。从间谍软件的角度来看,打开系统电源,进行一些错误操作然后再关闭电源都没有用,因为它不知道并且很难预测您的计算机使用时间表。

没有同样出色的书面反恶意软件保护的系统将无法检测到书面root kit。就您而言,已检测到恶意软件。认为自己很幸运。要保护您的系统免受Root Kit恶意软件的侵害:


永远不要以root用户或管理员身份登录!如果需要在系统范围内执行某些操作,请始终使用“ sudo”(Linux)或“ run as”(Windows)。
请确保您具有非常强的root用户(管理员)密码,并经常更改此密码。切实可行。