某些软件会物理损坏硬件吗?


91

我知道有人问过与此类似的问题,但这是关于在64位笔记本电脑上安装32位操作系统的问题。我的问题更多是关于损坏硬件。

我想知道是否存在一种与操作系统或终端层的硬件接口的方式,以使其无法修复而损坏(实际物理损坏,而不仅仅是故障硬件)。

  • 您能绕过安全措施而使CPU如此努力地运行,以至于陶瓷实际上会破裂吗?
  • 您能否以对盘片造成物理损坏的方式写入或与HDD交互?
  • 您能摆弄内存和炒RAM吗?
  • 可以吹网卡吗?

在了解整个系统时,软件可以达到的极限非常有趣。


23
我对所有这些事情都说是的,尽管这并非微不足道。您是否了解过关于stuxnet的信息-arstechnica.com/tech-policy/news/2011/07/…– 2011
Nate



4
我的朋友有一台Magnavox CRT显示器,当设置为1280 x 1024时,它会冒烟而死。他不小心对几个显示器做了此操作,所幸它仍在保修期内。
杰克B尼姆布尔

2
@dmckee我认为,这不是一个确切的重复,因为它有点更普遍的-不是专门熔化CPU,但只是关于软件是如何导致的任何物理伤害。
nhinkle

Answers:


61

在实际运行程序时,CPU上的负载可能导致核心温度升高。尽管较新的技术具有一定的作用(动态频率和电压缩放),但这仍然主要是因为某些指令在微处理器中使用了不同的电气路径(与处理器仅处于空闲或低功耗状态时相反)。过去已经编写了各种强大的病毒,利用这一事实来重复执行消耗最大功率并因此产生最多热量的特定机器代码(有关详细信息,请参阅问题病毒会熔化CPU吗?)。


尽管您也可以将此想法扩展到系统中的其他硬件(我将在下面介绍),但另一个有趣的是存储设备。你也可以写一个病毒不断地读写文件的驱动器,这将穿着它出了很多快(包括机械硬盘和固态硬盘)。您将增加HDD发生机械故障的可能性,并降低SSD的驱动器寿命。如果用户不知道这些持续的读写周期,那么很可能在一周左右的时间内损坏了他们的磁盘(如果正确实施了此操作)。

另外,某些Apple笔记本电脑的电池中嵌入了一个微控制器。没什么特别的,但是在过去,他们发布了一个用于升级固件的补丁-反过来,现在电池本身也容易受到固件攻击


现在,回到高温破坏。一些新主板包括在Windows下修改BIOS设置的选项。从理论上讲,您可以编写一种病毒,该病毒会将系统中的电压提高到人为的上限,从而可能损坏组件(RAM,CPU,北桥/南桥)。升高电压和/或对PCIe总线进行超频也可能损坏其中的某些组件。

我想解决的一个特别是PCIe / AGP总线上的组件是视频卡。这是因为大多数制造商都提供超频工具来提高其核心速度和电压。更进一步,您还可以编写一种病毒来使用这些工具将这两种东西都提高到危险的水平,因此您可以将其烧毁,过压直至其降解,或者同时使用两者!

请注意,大多数计算机硬件都具有过热保护功能,在发生任何损坏之前将达到“热关机”状态。至于过压保护,这是可能的,但很少见。


要点:可以编写利用任何计算机系统的病毒。但是,如果目标系统无法访问外部(或什至是其自己的)硬件,则不会造成太大的损失。这里最好的类比就像是试图黑客入侵那些将其以太网电缆拔出墙面的人-您实际上无法访问该系统。

话虽如此,我们现代计算机系统中的大多数设备确实可以修改物理硬件参数,即电压和核心速度。因为这些东西可以被修改,这是可能的病毒利用并可能破坏或完全摧毁它们的操作。


19
-1我不同意硬盘驱动器。服务器硬盘驱动器持续运行,一周之内不会磨损。static.googleusercontent.com/external_content/untrusted_dlcp/…–
拜伦·惠特洛克

6
尽管在CPU问题上,任何现代主板都将具有热熔断路器,该热熔断路器会在CPU受到物理伤害的危险之前很长时间就切断电源。
Phoshi 2011年

5
@Bryon Whitlock我认为这取决于使用模式。大多数服务器缓存它们检索的信息并顺序执行写回。您可能会创建一种病毒,以非常迅速地在盘片的背面和第四面的边缘和内部边缘写入信息,从而导致过度磨损速度大大加快。最后,如果您可以连续地写入选定的一组扇区,则可能会比平时更快地导致一些坏扇区。
突破

1
@突破:嗯...不。连续写入相同的扇区对这些扇区完全没有任何作用。磁片不会“过度弯曲而磨损”。关于您为什么认为这会引起问题,我有些困惑。如果驱动器在盘片边缘之间寻找问题时遇到问题,则说明驱动器性能很差……再次说明该接口是电磁的,而不是机械的。要在那里出现问题,您将不得不磨损将臂组件固定到位的密封轴承。
2011年

5
硬盘驱动器可能会被病毒损坏,但不会因与手臂和盘子相关的任何愚蠢行为而损坏。最容易受到伤害的是主轴电机。启动驱动器,关闭驱动器,启动,关闭驱动器等,等等。(相对)这对组件来说比较困难。这是主要原因(除了物理震动之外),笔记本电脑驱动器的使用寿命不会长于台式机驱动器,而电源需求则使这些问题尽可能地减少了。因此,从理论上讲,病毒可以缩短台式机驱动器的使用寿命,使其看上去更像笔记本电脑驱动器。
user11934 2011年

15

总是有这样的警告:一些旧的CRT监视器,如果提供超出其处理能力的视频信号,可能会受到损害。我不知道是哪一个,但这是在调整刷新率或手动分辨率设置时的常见免责声明。

基本上,除非系统没有适当的冷却或正确的电源安装,否则您不能通过过度努力来破坏CPU。所安装的散热和电源应将其维持在100%使用状态。

但是,所有现代CPU都更新了微代码。英特尔一直要求对他们的微代码进行加密,但AMD尚未(不知道是否已更改)。可能会将微码上载到执行某些令人讨厌的操作的CPU。

重复写入会损坏闪存。用这种方法可能“烧毁” BIOS闪存芯片。

我敢肯定,硬盘驱动器制造商设计的设备具有硬件互锁功能,并且没有调节电动机速度的能力,因为实际上HDD电动机只是以恒定速度旋转。但是,向上旋转和向下旋转HDD会导致其应力和过早磨损,这可以在软件中完成。同样,有可能通过反复的虚假更新或反复写入内部访问的闪存或EEPROM的被入侵的固件来“烧毁”硬盘的固件闪存/ EEPROM。对于CD-ROM驱动器也是如此。

可以通过软件禁用风扇,但是当温度过高时,许多现代CPU会自动关闭。较早的CPU没有这种保护,但是这类主板也没有风扇控制。


2
关于CRT:我认为较老的CRT是可能的。我已经将一些我的屏幕设置为纯乱的水平。我总是关闭屏幕,因为我担心会损坏它。较新的版本仅显示“超出范围”错误。
sinni800 2011年

2
驴的年前,我写了控制(单)监视器电子枪的低级代码。我担心如果我弄错了,光束扫描将被限制在屏幕中间的一个小点上,这可能相对于玻璃的其余部分过热并碎裂。从来没有,但是我有点出汗!
FumbleFingers

5
在旧的游戏机和游戏机颜色上,如果您FF40在除vblank之外的任何时间段内将(LCD Enable)的第7位清零,它将永久破坏游戏机的LCD屏幕。
卡勒姆·罗杰斯

在90年代中期末期,当在具有某些显卡和显示器组合的Linux机器上配置X并输出特定的分辨率/色深/频率更新时,这是一个问题。
ivanivan

10

如果电源爆炸,将不会造成与《虎胆龙威》相同的损坏。对不起,很失望。

一篇引人入胜的文章着重介绍了一种软件变体,该文章引起了Wired最近关于Stuxnet病毒的硬件损坏。导致命令和控制软件物理损坏核离心机的软件。真是太神奇了。


2
尽管这是一种非常有趣的病毒,而且影响很大,但我认为Stuxnet 不是 @MaxMackie想要的东西。在那种情况下,该软件对能够造成伤害的物理设备进行物理控制。我认为他所说的只是一种对自身造成伤害的基本计算机系统,而不是对其直接控制的任何设备。话虽这么说,但Stuxnet病毒在其功能方面却非常出色 -+1。
突破

1
阅读那篇文章时,我总是不停地颤抖和摇头。我知道这不是他要的,但显然我并不是唯一认为它至少与该主题具有理论联系的人。
music2myear11年

8

从历史上看,在某些情况下,硬件设计缺陷使直接和立即损坏机器成为可能。在一种情况下,单行指令可能会导致计算机短路并着火IIRC。但是我听说的情况是在旧的8位微控制器上。

显然,该术语是“杀手P”,但我只是在快速的Google上找到了它。

如果这些事情能够在具有硬件驱动程序错误的嵌入式系统中发生,我不会感到惊讶,但是在最常见的硬件平台上应该很难实现-首先是因为直接访问硬件受到控制,其次是因为这些问题应该解决。反正并且非常特定于确切的硬件平台。例如,炸毁您的图形卡戳可能仅适用于特定的图形卡。

参见-http://en.wikipedia.org/wiki/Killer_poke

编辑 -我无法找到任何有关8位微处理器短路并从杀手oke中着火的参考-也许这只是我沿途拾起的都市神话。但是有关HCG(停火和着火)CPU指令的注释(http://en.wikipedia.org/wiki/Halt_and_Catch_Fire)很有趣...摩托罗拉6809处理器已在Dragon 32 IIRC中使用,所以也许就是这样我隐约记得。


作为Commodore 64(8位)上的复制保护的AFAIK“杀手P”是真实的。
彼得·科夫勒

@Peter-如果有一种方法可以用代码永久破坏C64硬件,那么它可能已经在Raeto West的“权威指南”书中提到过-我什么都不记得了,但这并不意味着什么。我的地方,有赌注如何做的软盘驱动器造成永久性损坏,但我从来没有拥有过其中的一个。
Steve314,2011年


6

我曾经损坏过一个软盘驱动器,编写了一个汇编代码以使磁头脱离通常的限制。该驱动器停止工作,我可以用另外两个驱动器来做。

但是当时很多人对此表示怀疑,我再也没有关注这个话题。

有人在讨论重写BIOS(是否像旧病毒一样)是否会造成物理损坏,但是许多人(包括我自己)都将其排除在您提到的问题之外。


5

如此努力地运行CPU,以至于陶瓷实际上会破裂

不,不可能对软件中的CPU进行任何操作以导致“陶瓷破裂”。尽管在某些CPU上可以更改频率或功率控制模式,以使芯片过热,或者可以更改输出,以使晶体管吸收或提供过多电流(这取决于外部组件的连接方式);这些都会损坏硅或焊盘。陶瓷将不受影响。

在具有EEPROM配置寄存器(有时称为“保险丝”)的CPU上,也有可能使CPU变砖。例如,带有内部闪存的嵌入式处理器(不是原始问题中的x86类)提供了代码保护选项或其他选项(例如Microchip PIC),如果设置不当,可能会导致代码中断(如果打开了代码保护功能) ,并且软件正在尝试读取程序存储器,它将返回全零而不是实际值。这将使系统“变砖”,并可能需要使用外部芯片编程器进行重新编程(甚至可以从电路板上移除以实现此目的)。


3

我们大多数人只为简单的小型计算机编写代码,这种情况不太可能发生。当您与机械设备连接时,这种可能性更大。

最近,蠕虫Stuxnet的创建是为了攻击控制气体离心机的Siemens软件,该软件用于富铀过程中。这将使离心机以旨在损坏离心机的速度旋转。


3

许多年前,我将DAT(数字音频磁带)驱动器设置为计算机备份驱动器。您只能通过Retrospect(备份软件)间接写入。然后,我找到了一些软件,可以让您实际安装驱动器-像硬盘驱动器一样使用它。它工作了几个星期,然后磁带驱动器烧坏了。磁带头并不是像硬盘驱动器那样设计用于随机访问的,所有来回撞击都会使它们毁坏。

所以是的,软件会损坏(甚至破坏)硬件。


3

一旦您摆脱了常规台式机的影响,即使是非恶意软件错误也可能导致严重的硬件故障:

  • 火星气候探测者号 -超过5亿$花在企业使命,通过度量到英制转换错误销毁。

  • 阿丽亚娜5航班501-被一个整数溢出错误摧毁,造成火箭和机载航天器损失,损失超过3.7亿美元。

  • 两架价值1.5亿美元的F-22 Raptor飞机因各种错误坠毁。

  • 奇努克直升机的FADEC软件中的错误至少部分归咎于ZD576坠机和29人死亡。


由于nav软件中的编码错误,早期的一次月球射击误入歧途。失踪的*IIRC。
Daniel R Hicks

更不用说当它们从一个半球横越到另一个半球时完全颠倒了的飞机了。
米歇尔·约翰逊


2

它部分取决于设计时对硬件的限制。如果计算机上装有旨在引爆的炸弹,则可能可以用软件相当有效地破坏硬件。但是,禁止直接进入雷管,并且硬件是安全的。

要使用软件损坏硬件,您需要:

  • 会损坏自身的硬件
  • 软件控制该功能的方式(例如:UI,API,低级别访问或访问限制错误)
  • 一种修改/操作/安装/执行软件的方法

2

是的,至少对于设计较差的硬件而言。但是,现代硬件必须遵守各种安全法规,这限制了它们损坏自身的能力。过热时,现代CPU将关闭;现代硬盘/ CD / DVD /蓝光驱动器具有预定的速度等;硬件制造商已采用各种安全机制来防止错误的软件(包括错误的驱动程序和固件)损坏硬件。

尽管这些安全机制绝非万无一失,但仅通过软件来破坏设计良好的硬件是非常困难的。软件可以做的最大事情就是以最佳方式使用硬件的方式来增加其磨损。


2

损坏硬件最直接的方法是在嵌入式系统中,您可以在其中访问微控制器的各个引脚。您可以将输入设置为输出,反之亦然,并引起短路。我可以想象这对损坏PC有用的唯一方法是您是否可以访问,并且能够修改某些硬件组件的固件。


2

当然,如果您可以进入BIOS级别的控件,则可能会损坏许多系统。简单地关闭风扇,然后运行计算密集型程序将对许多系统造成损害(尽管有些系统包含硬接线的热限制器)。在某些系统中,您可以通过程序等来调整电压,而在少数系统中,您可以调整处理器的占空比等。(对于笔记本电脑尤其如此,因为笔记本电脑通常具有广泛的电源控制逻辑。)

当然,对于较旧的显示器,也可以通过提供错误的刷新率甚至完全关闭视频来损坏它们。(大多数现代显示器都包含自我保护逻辑。)而且,正如有人提到的那样,在某些软盘驱动器上,驱动磁头超出其极限可能会造成损坏。(我遇到了这个问题。)

我有一部诺基亚n97mini手机,当CPU陷入死机并过热时,其显示器因过热而损坏。热量导致显示器各层分离。我猜想其他手机也有类似的危害。


1

仅当硬件设计不良时。例如,软件通过改变电压来控制电动机的速度,但是电动机的设计方式是,如果使用最高电压超过1分钟,它将被烧坏。您可以想象软件可以轻松超过此限制。但是,如果电动机的温度达到一定极限,则电动机具有特定的电路切断电流,那么无论软件尝试做什么,电动机都将幸免于难。

回到我的其他帖子,我指责Windows 7 + Dell BIOS能够烘烤硬盘。


1

多年前,我读了一本关于计算机病毒的书,最引起我注意的一本书是《土耳其病毒》,它实际上可以杀死硬件。

该病毒的一种变体会将光束聚焦在CRT监视器中,从而将其烧尽。通过燃烧,我不仅仅意味着磷光体的老化,尽管这是一个副作用,但是电子枪会失效,从而使显示器完全死机。

该病毒的另一种变体将执行数学计算,从而使协处理器超负荷并导致其耗尽。

当然,这是在较早的硬件时代容易受到这种攻击的日子。值得庆幸的是,现代硬件通常是为了防止这种情况而设计的,但这可能不会阻止有足够决心的人。


而且,病毒杀死BIOS相对容易。有一个原因是BIOS刷新程序始终会警告您不要在刷新过程中关闭或重置系统。这是因为写操作不完整会导致BIOS损坏,并且由于BIOS是计算机的基本输入输出系统,因此损坏它会使系统无法运行。曾几何时,BIOS只能从纯DOS模式刷新,但是Windows刷新器已经存在了一段时间。没有什么可以阻止病毒将某些不良内容写入BIOS从而杀死系统的。CIH /切尔诺贝利在1999年完全做到了这一点。

幸运的是,有些主板带有双BIOS,因此可以在主主板损坏的情况下使用备份,而另一些主板则可以重置或重新刷新损坏的BIOS,但并非所有主板都能做到。


0

通常,答案是软件不会损坏硬件。但是,也有例外...。有人记得原始IBM-PC上的软件何时会损坏Monochrome适配器板或显示器吗?那绝对是大开眼界。

现在,在许多情况下,软件都可以对连接的设备进行硬件控制,因此发生故障的软件可能会损坏物理硬件。


0

与此相关的术语是“杀手戳”,它描述了将硬件无法容忍的值放入寄存器(“戳”指令)中。在对“杀手戳”维基百科页面列出了几个例子。

早期的硬盘驱动器可能会遭受各种损坏。有时读/写头可能会移动到盘片之外,以至于碰到主轴或外壳。这可能会损坏读/写头或导致它们不对齐。

现代的墨水打印机和扫描仪通常仅在其打印头或CCD条轨道的一侧有一个限位开关。只有固件才能保护它们,使其不会超出预期范围(并撞入东西)。从理论上讲,可以设计一种固件更新程序,这种更新程序不仅会阻塞此类设备,还会造成物理损坏。

也有轻柔的“杀手戳”。通过最大程度地增加压力和热量,可以大大缩短硬盘的使用寿命。顺便说一句,Windows附带了这样的“功能”-如果您在HDD上创建多个软件RAID分区,那么当需要同步RAID(例如,意外重启后)时,所有分区将同时同步,因为在这种状态下的吞吐量很小,所以以最大速度在极端位置之间来回移动驱动器磁头可能会持续几天。另一方面,SSD将需要持续的最大写入量以尽早失败。


0

较旧的BBC微型计算机配备了一个继电器,用于启动和停止磁带机。通常,您将在加载程序之前通过命令启用中继,然后再禁用中继。

当启用或禁用继电器时,外壳内部会发出喀哒声,并且快速切换继电器状态会产生嗡嗡声。启用和禁用的频率不同会产生不同的蜂鸣声。然后,您可以使用它来播放音乐。

该继电器并非设计用于那么多的电源循环,这样做可能会并最终损坏继电器,导致无法维修,这将使计算机的所有者外出购买新的继电器,该继电器必须物理焊接到主板上才能更换。旧的。

我通过个人经验中学到了这一点,但是由于我有一个基于磁盘的系统,因此从未更换过损坏的继电器,并且切换继电器纯粹是为了娱乐。

如果我还记得的话,BBC Micro随附的程序员参考手册中甚至对此有警告...

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.