題 某些軟件會對硬件造成物理損壞


我知道之前有一個類似於這個的問題,但它是關於在64位筆記本電腦上安裝32位操作系統。我的問題更多的是破壞硬件。

我想知道是否有一種方法可以與操作系統或終端層的硬件連接,以免損壞它而無法修復(實際的物理損壞,而不僅僅是有缺陷的硬件)。

  • 您是否可以繞過安全措施並運行CPU以致陶瓷實際斷裂?
  • 你能否以一種會對盤片造成物理損壞的方式編寫或與硬盤接口?
  • 你可以亂用內存和炒RAM嗎?
  • 你能吹一個網卡嗎?

我很有興趣知道在查看整個系統時軟件可以達到的極限。


89
2017-07-22 16:50


起源


我會對所有這些事情說“是”,儘管這不會是微不足道的。你讀過關於stuxnet的文章 - arstechnica.com/tech-policy/news/2011/07/... - Nate
可能重複 病毒可以融化CPU嗎? - dmckee
IBM的黑隊: penzba.co.uk/GreybeardStories/TheBlackTeam.html - jftuga
我的朋友有一台Magnavox CRT顯示器,當設置為1280 x 1024時會死在一團煙霧中。他不小心對幾台顯示器做了這件事,幸運的是它還在保修期內。 - Jack B Nimble
@dmckee我認為這不是一個完全重複,因為它有點更普遍 - 不是專門融化CPU,而是關於軟件如何導致 任何 物理傷害。 - nhinkle♦


答案:


實際運行程序時,CPU上的負載會導致核心溫度上升。雖然較新的技術具有一些影響(動態頻率和電壓縮放),但這仍然主要是因為某些指令在微處理器中使用不同的電路徑(而不是當處理器處於空閒或低功率狀態時)。有各種各樣的 電力病毒 過去寫的,利用這個事實反复執行特定的機器代碼,從而產生最大的熱量,從而產生最多的熱量(見問題) 病毒可以融化CPU嗎? 詳情)。


雖然你也可以將這個想法擴展到系統中的其他硬件(我將在下面介紹),另一個有趣的是存儲設備。您還可以編寫一個病毒來不斷地將文件讀寫到驅動器中,這會將其磨損掉 批量 更快(機械硬盤和固態硬盤)。您將增加HDD中機械故障的可能性,並降低SSD的驅動器壽命。如果用戶不知道這些持續的讀寫週期,如果你正確實現了這一點,你很可能會在一周左右的時間內損壞他們的磁盤。

此外,一些Apple筆記本電腦中嵌入了一個微控制器。沒什麼特別的,但在過去他們發布了一個升級固件的補丁 - 反過來,現在 電池本身容易受到固件黑客攻擊


現在,回到熱損傷。一些新主板包括在Windows下修改BIOS設置的選項。理論上你可以編寫一種病毒,將系統中的電壓增加到人為的極限,可能會損壞組件(RAM,CPU,北/南橋)。提高電壓和/或超頻PCIe總線也可能會損壞其中一些組件。

特別是在我想要解決的PCIe / AGP總線上的一個組件是視頻卡。這是因為大多數製造商都提供超頻工具來提高它的核心速度和電壓。更進一步,您還可以編寫病毒來使用這些工具將這些工具提升到危險水平,這樣您就可以將其燒毀,過度使用直至其降級,或者兩者兼而有之!

請注意,大多數計算機硬件都具有過熱保護功能,並且在發生任何損壞之前都會達到“熱關機”狀態。至於過壓保護,它可能但不太常見。


重點:可以編寫利用任何計算機系統的病毒。但是,如果目標系統無法訪問外部(甚至是自己的)硬件,則可以進行太多損壞。這裡最好的比喻就是試圖破解將以太網電纜從牆上拉出來的人 - 你實際上無法訪問該系統。

話雖如此,我們現代計算機系統中的大多數設備  有權修改物理硬件參數 - 即電壓和核心速度。既然這些東西 能夠 它被修改了 是可能的 使病毒利用並可能完全破壞或破壞其操作。


60
2017-07-22 17:04



-1我不同意硬盤問題。服務器硬盤不斷運行,一周內不會磨損。 static.googleusercontent.com/external_content/untrusted_dlcp/... - Byron Whitlock
雖然在CPU問題上,任何現代電路板都會有熱熔斷路器,在CPU面臨人身傷害的危險之前很久就會耗盡電源。 - Phoshi
@Bryon Whitlock我認為這取決於使用模式。大多數服務器緩存它們檢索的信息並按順序執行回寫。您可以創建一種病毒,在盤片的最邊緣和非常內邊緣處寫入信息,非常快速地造成過度磨損 很多 快點。最後,如果您可以繼續寫入選定的一組扇區,您可能會比平時更快地導致一些不好的扇區。 - Breakthrough
@Breakthrough:恩......不。不斷寫入相同的部門對這些部門絕對沒有任何意義。磁性盤片不會“因過度彎曲而磨損”。我有點困惑,為什麼你認為這會導致問題。如果您的驅動器在盤片邊緣之間尋找問題,那麼您的驅動器就會變壞......再一次,該接口是電磁的,而不是機械的。要在那裡遇到問題,您必須逐漸磨損將臂組件固定到位的密封軸承。 - user11934
硬盤驅動器可能會受到病毒的破壞,但不會因任何手臂和盤片相關的愚蠢而受損。最脆弱的一點是主軸電機。啟動驅動器,關閉它,啟動它,關閉它等等。這對組件來說(相對)很難。這是除了物理衝擊之外的主要原因,筆記本電腦驅動器的使用時間不如台式機驅動器,電源要求可以盡可能地降低速度。因此,病毒理論上可以縮短桌面驅動器的使用壽命,使其看起來更像筆記本電腦驅動器。 - user11934


一直有警告說,一些較舊的CRT監視器,如果給出超出其可處理頻率的視頻信號,可能會受到損害。我不知道哪些,但在調整刷新率或手動分辨率設置時,這是一個常見的免責聲明。

基本上除非系統沒有安裝適當的冷卻或適當的電源,否則你不能通過過度工作來破壞CPU。安裝的冷卻和電源應保持100%的使用率。

然而 所有現代CPU都是微碼更新。英特爾一直要求他們的微碼加密,但AMD沒有(不知道是否改變了)。可能會將一個微代碼上傳到一個令人討厭的CPU。

閃存可能會因重複寫入而耗盡。使用這種方法可能會“燒壞”BIOS閃存芯片。

我確信硬盤驅動器製造商設計的設備具有硬件互鎖功能,並且沒有調整電機速度的能力,因為真正的硬盤驅動器電機只是以恆定的速度旋轉。然而,旋轉和旋轉HDD會導致壓力和過早磨損,這可以通過軟件完成。此外,有可能通過重複虛假更新或反複寫入內部可訪問閃存或EEPROM的黑客固件“燒毀”硬盤驅動器的固件閃存/ EEPROM。同樣適用於CD-ROM驅動器。

可以通過軟件禁用風扇,但是當達到過高的溫度時,許多現代CPU將自動關閉。較舊的CPU沒有這種保護,但這樣的主板也沒有風扇控制。


15
2017-07-22 17:32



關於CRT:我認為有可能與舊的。我已經將我的一些設置為屏幕純粹混亂的水平。我總是關掉屏幕,因為我害怕打破它。較新的只是顯示“超出範圍”的錯誤。 - sinni800
驢子幾年前我編寫了控制(單聲道)顯示器電子槍的低級代碼。我擔心如果我弄錯了,光束掃描將被限制在屏幕中間的一個小點,相對於玻璃的其餘部分會過熱,並且會破碎。它從來沒有,但我出汗了一點! - FumbleFingers
在舊的gameboy和gameboy顏色上,如果你將第7位歸零 FF40 (LCD啟用)在除了vblank之外的任何時期都會永久性地打破gameboy的液晶屏幕。 - Callum Rogers
這是90年代中期/晚期在使用某些視頻卡和顯示器組合併輸出特定分辨率/顏色深度/頻率更新的Linux機器上配置X時的問題。 - ivanivan


如果電源爆炸,你的電源將不會像Die Hard那樣造成相同的損壞。抱歉讓人失望。

一篇引人注目的文章突出了軟件的變體,最近出現了硬件損壞 關於Stuxnet病毒的有線。軟件導致命令和控制軟件物理損壞核離心機。這真是太棒了。


10
2017-07-22 17:06



雖然這是一個非常有趣的病毒,它的影響非常大,但我認為Stuxnet是 不 @MaxMackie正在尋找什麼。在那種情況下,軟件 對可能造成傷害的物理設備進行物理控制。我認為他所說的只是一個導致傷害的基本計算機系統 本身,而不是任何它可以直接控制的設備。話雖如此,Stuxnet病毒 它做了什麼真是太神奇了  - +1。 - Breakthrough
當我讀到那篇文章時,我一直在搖頭。我知道這不是他所要求的,但顯然我不是唯一一個認為它至少與這個話題有理論關係的人。 - music2myear


從歷史上看,在一些情況下,硬件設計缺陷使得直接和立即損壞機器成為可能。在一種情況下,單線指令可能導致計算機短路並著火,IIRC。但我聽說的情況是舊的8位微處理器。

顯然,這個詞是“Killer Poke”,但我只是在一個快速的谷歌中提到了這一點。

如果這些事情發生在具有錯誤的硬件驅動程序的嵌入式系統中,我不會感到驚訝,但在最常見的硬件平台上應該很難實現 - 首先是因為直接訪問硬件是受控制的,其次是因為這些問題應該是不尋常的,非常特定於確切的硬件平台。例如,爆炸你的圖形卡戳可能只適用於特定的圖形卡。

見 - http://en.wikipedia.org/wiki/Killer_poke

編輯  - 我還沒有找到任何關於8位微型短路的消息,也沒有找到一個殺手捅的火 - 也許這只是我在某處找到的城市神話。但有關HCG(停止和捕獲火災)CPU指令的說明( http://en.wikipedia.org/wiki/Halt_and_Catch_Fire 很有趣......摩托羅拉6809處理器用於Dragon 32,IIRC,所以也許這就是我模仿的東西。


8
2017-07-22 17:18



AFAIK“Killer Poke”作為Commodore 64(8位)的複制保護是真實的。 - Peter Kofler
@Peter - 如果有辦法用代碼對C64硬件造成永久性損壞,可能會在Raeto West“權威指南”一書中提到 - 我什麼都不記得,但這並不意味著什麼。我會在那裡下注 是 如何對軟盤驅動器造成永久性損壞,但我從未擁有過其中一種。 - Steve314


除了 過度緊固硬件, 有 固件病毒,這可能會破壞硬件而不是通過物理損壞硬件,而只是使其無法運行 (也可能是“物理的”,因為硬件不能再使用了 任何 系統)


8
2017-07-22 18:23





我損壞了一個軟盤驅動器,編寫了一個彙編代碼,使磁頭移出了通常的限制。驅動器停止工作,我可以用另外兩個驅動器做到這一點。

但很多人當時都懷疑它,我再也沒有關注過這個話題。

有一些討論是否重寫BIOS(就像舊病毒一樣)是物理損壞,但許多人(包括我自己)從你提到的問題中解決了這個問題。


6
2017-07-22 20:32





如此努力地運行CPU以使陶瓷實際上斷裂

不,不可能對軟件中的CPU做任何事情來導致“陶瓷破壞”。雖然在某些CPU上可以改變頻率或功率控制模式 模具過熱,或改變這樣的輸出 晶體管 吸收或輸出過多電流(這取決於外部元件的接口方式);這些中的任何一個都會損壞矽或焊盤。陶瓷不受影響。

在具有EEPROM配置寄存器(有時稱為“熔絲”)的CPU上也可以阻塞CPU。例如嵌入式處理器(不是原始問題中的x86類)內部閃存提供代碼保護選項或其他選項(例如,Microchip PIC),如果設置不正確,可能導致代碼中斷(如果代碼保護已打開,並且軟件正在嘗試讀取程序存儲器,則會返回全零而不是實際值)。這將“阻塞”系統並且使用外部芯片編程器進行重新編程可能是必要的(甚至可能從電路板上移除以實現此目的)。


5
2017-07-22 22:07





我們大多數人只是為簡單的小型計算機編寫代碼而且不太可能發生這種情況。當您與機械機器連接時,它變得更有可能。

最近,蠕蟲Stuxnet被用來攻擊控制氣體離心機的西門子軟件,該離心機用於濃縮鈾的過程。它會使離心機以設計用於損壞它們的速度旋轉。


3
2017-07-22 20:34