我知道有人问过与此类似的问题,但这是关于在64位笔记本电脑上安装32位操作系统的问题。我的问题更多是关于损坏硬件。
我想知道是否存在一种与操作系统或终端层的硬件接口的方式,以使其无法修复而损坏(实际物理损坏,而不仅仅是故障硬件)。
- 您能绕过安全措施而使CPU如此努力地运行,以至于陶瓷实际上会破裂吗?
- 您能否以对盘片造成物理损坏的方式写入或与HDD交互?
- 您能摆弄内存和炒RAM吗?
- 可以吹网卡吗?
在了解整个系统时,软件可以达到的极限非常有趣。
我知道有人问过与此类似的问题,但这是关于在64位笔记本电脑上安装32位操作系统的问题。我的问题更多是关于损坏硬件。
我想知道是否存在一种与操作系统或终端层的硬件接口的方式,以使其无法修复而损坏(实际物理损坏,而不仅仅是故障硬件)。
在了解整个系统时,软件可以达到的极限非常有趣。
Answers:
在实际运行程序时,CPU上的负载可能导致核心温度升高。尽管较新的技术具有一定的作用(动态频率和电压缩放),但这仍然主要是因为某些指令在微处理器中使用了不同的电气路径(与处理器仅处于空闲或低功耗状态时相反)。过去已经编写了各种强大的病毒,利用这一事实来重复执行消耗最大功率并因此产生最多热量的特定机器代码(有关详细信息,请参阅问题病毒会熔化CPU吗?)。
尽管您也可以将此想法扩展到系统中的其他硬件(我将在下面介绍),但另一个有趣的是存储设备。你也可以写一个病毒不断地读写文件的驱动器,这将穿着它出了很多快(包括机械硬盘和固态硬盘)。您将增加HDD发生机械故障的可能性,并降低SSD的驱动器寿命。如果用户不知道这些持续的读写周期,那么很可能在一周左右的时间内损坏了他们的磁盘(如果正确实施了此操作)。
另外,某些Apple笔记本电脑的电池中嵌入了一个微控制器。没什么特别的,但是在过去,他们发布了一个用于升级固件的补丁-反过来,现在电池本身也容易受到固件攻击。
现在,回到高温破坏。一些新主板包括在Windows下修改BIOS设置的选项。从理论上讲,您可以编写一种病毒,该病毒会将系统中的电压提高到人为的上限,从而可能损坏组件(RAM,CPU,北桥/南桥)。升高电压和/或对PCIe总线进行超频也可能损坏其中的某些组件。
我想解决的一个特别是PCIe / AGP总线上的组件是视频卡。这是因为大多数制造商都提供超频工具来提高其核心速度和电压。更进一步,您还可以编写一种病毒来使用这些工具将这两种东西都提高到危险的水平,因此您可以将其烧毁,过压直至其降解,或者同时使用两者!
请注意,大多数计算机硬件都具有过热保护功能,在发生任何损坏之前将达到“热关机”状态。至于过压保护,这是可能的,但很少见。
要点:可以编写利用任何计算机系统的病毒。但是,如果目标系统无法访问外部(或什至是其自己的)硬件,则不会造成太大的损失。这里最好的类比就像是试图黑客入侵那些将其以太网电缆拔出墙面的人-您实际上无法访问该系统。
话虽如此,我们现代计算机系统中的大多数设备确实可以修改物理硬件参数,即电压和核心速度。因为这些东西可以被修改,这是可能的病毒利用并可能破坏或完全摧毁它们的操作。
总是有这样的警告:一些旧的CRT监视器,如果提供超出其处理能力的视频信号,可能会受到损害。我不知道是哪一个,但这是在调整刷新率或手动分辨率设置时的常见免责声明。
基本上,除非系统没有适当的冷却或正确的电源安装,否则您不能通过过度努力来破坏CPU。所安装的散热和电源应将其维持在100%使用状态。
但是,所有现代CPU都更新了微代码。英特尔一直要求对他们的微代码进行加密,但AMD尚未(不知道是否已更改)。可能会将微码上载到执行某些令人讨厌的操作的CPU。
重复写入会损坏闪存。用这种方法可能“烧毁” BIOS闪存芯片。
我敢肯定,硬盘驱动器制造商设计的设备具有硬件互锁功能,并且没有调节电动机速度的能力,因为实际上HDD电动机只是以恒定速度旋转。但是,向上旋转和向下旋转HDD会导致其应力和过早磨损,这可以在软件中完成。同样,有可能通过反复的虚假更新或反复写入内部访问的闪存或EEPROM的被入侵的固件来“烧毁”硬盘的固件闪存/ EEPROM。对于CD-ROM驱动器也是如此。
可以通过软件禁用风扇,但是当温度过高时,许多现代CPU会自动关闭。较早的CPU没有这种保护,但是这类主板也没有风扇控制。
FF40
在除vblank之外的任何时间段内将(LCD Enable)的第7位清零,它将永久破坏游戏机的LCD屏幕。
如果电源爆炸,将不会造成与《虎胆龙威》相同的损坏。对不起,很失望。
一篇引人入胜的文章着重介绍了一种软件变体,该文章引起了Wired最近关于Stuxnet病毒的硬件损坏。导致命令和控制软件物理损坏核离心机的软件。真是太神奇了。
从历史上看,在某些情况下,硬件设计缺陷使直接和立即损坏机器成为可能。在一种情况下,单行指令可能会导致计算机短路并着火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中使用,所以也许就是这样我隐约记得。
除了使硬件承受过大的压力外,还有一些固件病毒,它们可能不会破坏硬件而不是物理损坏它,而只是使它无法运行(这可能是“物理的”,因为硬件不能再用于任何系统中)。
如此努力地运行CPU,以至于陶瓷实际上会破裂
不,不可能对软件中的CPU进行任何操作以导致“陶瓷破裂”。尽管在某些CPU上可以更改频率或功率控制模式,以使芯片过热,或者可以更改输出,以使晶体管吸收或提供过多电流(这取决于外部组件的连接方式);这些都会损坏硅或焊盘。陶瓷将不受影响。
在具有EEPROM配置寄存器(有时称为“保险丝”)的CPU上,也有可能使CPU变砖。例如,带有内部闪存的嵌入式处理器(不是原始问题中的x86类)提供了代码保护选项或其他选项(例如Microchip PIC),如果设置不当,可能会导致代码中断(如果打开了代码保护功能) ,并且软件正在尝试读取程序存储器,它将返回全零而不是实际值。这将使系统“变砖”,并可能需要使用外部芯片编程器进行重新编程(甚至可以从电路板上移除以实现此目的)。
一旦您摆脱了常规台式机的影响,即使是非恶意软件错误也可能导致严重的硬件故障:
该火星气候探测者号 -超过5亿$花在企业使命,通过度量到英制转换错误销毁。
阿丽亚娜5航班501-被一个整数溢出错误摧毁,造成火箭和机载航天器损失,损失超过3.7亿美元。
两架价值1.5亿美元的F-22 Raptor飞机因各种错误坠毁。
奇努克直升机的FADEC软件中的错误至少部分归咎于ZD576坠机和29人死亡。
*
IIRC。
Mandrake Linux年前在LG CDROM上有一个bug,http://www.linux.com/archive/feed/32318。该错误此刻很出名。
当然,如果您可以进入BIOS级别的控件,则可能会损坏许多系统。简单地关闭风扇,然后运行计算密集型程序将对许多系统造成损害(尽管有些系统包含硬接线的热限制器)。在某些系统中,您可以通过程序等来调整电压,而在少数系统中,您可以调整处理器的占空比等。(对于笔记本电脑尤其如此,因为笔记本电脑通常具有广泛的电源控制逻辑。)
当然,对于较旧的显示器,也可以通过提供错误的刷新率甚至完全关闭视频来损坏它们。(大多数现代显示器都包含自我保护逻辑。)而且,正如有人提到的那样,在某些软盘驱动器上,驱动磁头超出其极限可能会造成损坏。(我遇到了这个问题。)
我有一部诺基亚n97mini手机,当CPU陷入死机并过热时,其显示器因过热而损坏。热量导致显示器各层分离。我猜想其他手机也有类似的危害。
多年前,我读了一本关于计算机病毒的书,最引起我注意的一本书是《土耳其病毒》,它实际上可以杀死硬件。
该病毒的一种变体会将光束聚焦在CRT监视器中,从而将其烧尽。通过燃烧,我不仅仅意味着磷光体的老化,尽管这是一个副作用,但是电子枪会失效,从而使显示器完全死机。
该病毒的另一种变体将执行数学计算,从而使协处理器超负荷并导致其耗尽。
当然,这是在较早的硬件时代容易受到这种攻击的日子。值得庆幸的是,现代硬件通常是为了防止这种情况而设计的,但这可能不会阻止有足够决心的人。
而且,病毒杀死BIOS相对容易。有一个原因是BIOS刷新程序始终会警告您不要在刷新过程中关闭或重置系统。这是因为写操作不完整会导致BIOS损坏,并且由于BIOS是计算机的基本输入输出系统,因此损坏它会使系统无法运行。曾几何时,BIOS只能从纯DOS模式刷新,但是Windows刷新器已经存在了一段时间。没有什么可以阻止病毒将某些不良内容写入BIOS从而杀死系统的。CIH /切尔诺贝利在1999年完全做到了这一点。
幸运的是,有些主板带有双BIOS,因此可以在主主板损坏的情况下使用备份,而另一些主板则可以重置或重新刷新损坏的BIOS,但并非所有主板都能做到。
与此相关的术语是“杀手戳”,它描述了将硬件无法容忍的值放入寄存器(“戳”指令)中。在对“杀手戳”维基百科页面列出了几个例子。
早期的硬盘驱动器可能会遭受各种损坏。有时读/写头可能会移动到盘片之外,以至于碰到主轴或外壳。这可能会损坏读/写头或导致它们不对齐。
现代的墨水打印机和扫描仪通常仅在其打印头或CCD条轨道的一侧有一个限位开关。只有固件才能保护它们,使其不会超出预期范围(并撞入东西)。从理论上讲,可以设计一种固件更新程序,这种更新程序不仅会阻塞此类设备,还会造成物理损坏。
也有轻柔的“杀手戳”。通过最大程度地增加压力和热量,可以大大缩短硬盘的使用寿命。顺便说一句,Windows附带了这样的“功能”-如果您在HDD上创建多个软件RAID分区,那么当需要同步RAID(例如,意外重启后)时,所有分区将同时同步,因为在这种状态下的吞吐量很小,所以以最大速度在极端位置之间来回移动驱动器磁头可能会持续几天。另一方面,SSD将需要持续的最大写入量以尽早失败。
较旧的BBC微型计算机配备了一个继电器,用于启动和停止磁带机。通常,您将在加载程序之前通过命令启用中继,然后再禁用中继。
当启用或禁用继电器时,外壳内部会发出喀哒声,并且快速切换继电器状态会产生嗡嗡声。启用和禁用的频率不同会产生不同的蜂鸣声。然后,您可以使用它来播放音乐。
该继电器并非设计用于那么多的电源循环,这样做可能会并最终损坏继电器,导致无法维修,这将使计算机的所有者外出购买新的继电器,该继电器必须物理焊接到主板上才能更换。旧的。
我通过个人经验中学到了这一点,但是由于我有一个基于磁盘的系统,因此从未更换过损坏的继电器,并且切换继电器纯粹是为了娱乐。
如果我还记得的话,BBC Micro随附的程序员参考手册中甚至对此有警告...