題:
病毒會破壞現代計算機的BIOS嗎?
user73910
2019-04-02 12:27:28 UTC
view on stackexchange narkive permalink

在1990年代後期,一種稱為CIH的計算機病毒開始感染某些計算機。它的有效負載在被觸發時會覆蓋系統信息並破壞計算機的BIOS,從本質上使受感染的計算機變磚。影響現代操作系統(如Windows 10)的病毒會破壞現代計算機的BIOS並從本質上以同樣的方式對其進行破壞嗎?還是病毒現在無法訪問現代計算機的BIOS?

評論不作進一步討論;此對話已[移至聊天](https://chat.stackexchange.com/rooms/91977/discussion-on-question-by-user73910-can-a-virus-destroy-the-bios-of-a-Modern-com)。
某些(或大多數?)台式機主板具有ROM,用於從某種形式的介質中恢復BIOS(在過去,軟盤是現今的USB棒,也許是CD-ROM)。ROM無法修改,但是恢復通常需要打開機箱並移動跳線以引導進入BIOS恢復模式。我不知道筆記本電腦如何處理這個問題。
是的,但是從攻擊者的角度來看,這是浪費或資源...有關UEFI的rootkit的更多信息,例如以下文章中的示例... https://www.welivesecurity.com/wp-content/uploads/2018/09 / ESET-LoJax.pdf
相關:https://security.stackexchange.com/q/13105/165253
九 答案:
Philipp
2019-04-02 13:42:17 UTC
view on stackexchange narkive permalink

現代計算機沒有BIOS,它們具有 UEFI。從正在運行的操作系統更新UEFI固件是一個標準過程,因此,任何設法以足夠的特權在操作系統上執行的惡意軟件都可以嘗試執行此操作。但是,大多數UEFI不會接受未經製造商數字簽名的更新。這意味著不可能用任意代碼覆蓋它。

但是,這假定:

  1. 主板製造商設法將其私鑰保持秘密
  2. UEFI沒有任何意外的安全漏洞,這些漏洞允許用任意代碼覆蓋它或可以被利用來造成損壞。
  3. ol>

    這兩個假設不一定成立。

    關於洩露的密鑰:如果UEFI簽名密鑰要為公眾所熟知,那麼您可以假設將會有大量的媒體報告和歇斯底里的補丁在發生。如果您關註一些IT新聞,則可能會看到很多驚恐的“如果您有[品牌]主板,請立即更新UEFI!但是另一種可能性是對秘密洩露給國家行為者的密鑰進行簽名。因此,如果您的工作可能對工業間諜活動感興趣,那麼這可能對您也是一個可靠的威脅。它們還缺少啟動“真實”操作系統後所擁有的大多數內部安全功能。

評論不作進一步討論;此對話已[移至聊天](https://chat.stackexchange.com/rooms/92028/discussion-on-answer-by-philipp-can-a-virus-destroy-the-bios-of-a-現代計算)。
Stephane
2019-04-02 13:37:54 UTC
view on stackexchange narkive permalink

是的,絕對有可能。

如今,隨著UEFI的普及,人們更加擔心:UEFI的攻擊面比傳統的BIOS大得多,UEFI中的(潛在)缺陷可能會被利用來獲得對計算機的訪問而無需任何形式的物理訪問(去年在黑帽會議上的極樂世界的人們所展示的)。

Dewi Morgan
2019-04-03 00:39:48 UTC
view on stackexchange narkive permalink

實際上,病毒是一種軟件,因此可以做任何其他軟件可以做的事情。

因此,回答該問題以及其他所有問題的簡單方法類“病毒可以X嗎?”是問“軟件當前是否可以執行X嗎?”

這樣的問題可能包括“病毒可以walk狗嗎?” (並非沒有dog狗機器人); “病毒能給我披薩嗎?” (是的,遺憾的是,這並不是大多數病毒作者的主要關注重點。)

當前是否使用軟件更新了BIOS(UEFI)?答案是,是的。我的昨晚更新了,當我重新啟動時。

所以答案是肯定的。

按照同樣的邏輯,病毒還可能導致(並且歷來造成)CPU,硬盤驅動器和打印機的物理損壞。

家庭自動化系統和無人駕駛車輛也是可能造成物理損壞的目標,但我知道沒有病毒會這樣做。

如果我的個人信息被惡意軟件開發人員用來訂購我免費的比薩餅,我什麼都不介意。(+1為有用的推理)
@Marc.2377,如果您使用*您的*個人信息訂購*我*免費比薩餅,我就不會介意…:-)
現代病毒將很難造成物理損壞。最多來說,通過真正地運行CPU可能會稍微磨損硬件,這會縮短使用壽命,但是它會造成_damage_並不常見。過去情況並非如此。參見“死亡戳”。
我同意@Forest ...儘管“艱難時期”適用於大多數病毒,因為它們依賴其利用的未記錄的,無法預料的行為。我認為隨著設備變得越來越複雜,惡意地使它們變磚變得更加可行(通過熱循環,讀寫循環,振動,過熱,過電壓,超頻,固件...)。我懷疑我們沒有看到更多的破壞設備的攻擊,因為惡意軟件作者對它們不感興趣。他們在黑客大會上做了一個有趣的演示,但是在真正的病毒或攻擊中基本上沒有用。
-1
勒索軟件通過埋在看似免費的披薩中的紙條發出要求。現在有一個主意!
但是我想要翅膀而不是披薩。
我認為,在確定是否可能/合理之前,我們需要定義“造成物理損壞”的範圍。如果將定義限制為從字面上破壞運行代碼的計算機,那將非常狹窄,我認為@forest是正確的。如果從廣義上講包括物理損壞,則更容易想像這樣的情況:受感染的計算機在控制其他內容(電廠,交通信號燈,公共交通系統,水處理廠等)時很容易造成嚴重的物理損壞。
@dwizum在我看來,“森林是對的”是一個可靠的經驗法則,儘管不是完全不言而喻,因為存在極端情況,經驗和解釋的差異等。我在OP中將“破壞”解釋為包括需要專家或替換硬件進行修復的砌塊。但是我同意我們應該更嚴格地解釋“物理損壞”:但是,熱循環,讀寫循環,振動,過熱,過電壓,超頻等仍然會對許多外圍設備造成很大的損害,即使是在普通PC而非國家基礎設施上也是如此。電腦。
@BillK儘管它很大程度上是由軟件控制的,但是您不能完全覆蓋它,因為通常主板上的CPLD將管理風扇控制。它需要這樣做,否則,使計算機崩潰的完整硬鎖可能導致計算機過熱並損壞。但是,即使您以某種方式可以完全關閉風扇(也許通過使風扇脈動以使其損壞電動機?),在溫度超過Tj Max之後,CPU本身也會關閉,這不是軟件可以影響的。
@DewiMorgan當我對此進行更多思考時,我相信它會以某種方式實現,因為現代x86計算機是複雜的野獸,但我認為沒有任何眾所周知的方式。BIOS專家可能會知道更多(也許我應該在Freenode上的#libreboot或#coreboot中詢問!)。
@BillK關於以有害頻率損壞顯示器的問題,這實際上曾經是CRT顯示器的事情,您可以很容易地銷毀它們。即使對於某些較舊的LCD系統(我認為是GBA),也存在通過軟件對其進行物理損壞的方法。參見https://en.wikipedia.org/wiki/Killer_poke#Game_Boy。
@Forest:同意,我聽說過的唯一破壞硬件的攻擊是針對每個系統的特定攻擊:沒有通用的“千篇一律”(甚至“很多”)攻擊來損壞硬件。我能想到的最接近的是壓力測試型程序,如果在周末運行會暴露出有缺陷的硬件中的弱點,但是我不確定這算是“攻擊”,而不僅僅是“暴露廉價硬件的問題”。。
是的,我建議針對某些特定硬件的針對性攻擊仍可能對其造成危害。我敢打賭,您可能會發現某種軟件/共振/頻率攻擊也可能殺死視頻卡(儘管您更有可能只是關閉風扇,關閉安全性並根據實現的方式加熱卡)。似乎沒有人在硬件上不再做任何不必要的事情,在軟件上做更多的趨勢使一切都變得很脆弱。
當然,如果攻擊者可以附加一個JTAG,則所有賭注都關閉了...
@DewiMorgan嗯,JTAG真的會損壞硬件嗎(除了通過TAP發出電湧以外,還可以通過其他方式)?我想不出有什麼辦法,但是它是如此復雜,它不僅可以控制CPU,還可以做更多的事情,如果它會通過邊界掃描引起物理損壞,我也不會感到驚訝。
@forest:不僅如此,使用JTAG,您可以*針對*硬件損壞,繞過板載保護功能,以防止固件更新無法刷新的組件。當然,不是硬件保護:您不能超越保險絲!但是您可以繞過速率限制,電流限制等操作。但是,這不是一個現實的問題:有了完全訪問權限,任何對手只要用錘子敲打木板,就會容易得多。
emrys57
2019-04-03 11:50:42 UTC
view on stackexchange narkive permalink

是的,絕對有可能。

以下是使用製造商的私鑰欺詐性簽名的惡意軟件操作系統更新的示例: https://www.theregister.co.uk/2019 / 03/25 / asus_software_update_utility_backdoor /

根據卡巴斯基實驗室,約有100萬台Asus筆記本電腦受到 Shadowhammer 的感染,並且此更新似乎已正確簽名。尚不清楚這是否更改了固件,但肯定可以。

scifi6546
2019-04-03 03:10:46 UTC
view on stackexchange narkive permalink

您的問題暗示了一個更深層次的主題,即操作系統上的代碼環和權限。在MS DOS上,代碼可以執行所需的任何操作。如果代碼想要將所有0x00都寫入硬盤驅動器,則可以將奇怪的輸出發送到硬件,也可以阻止用戶的代碼。在現代OS上,有一個環的概念(由CPU強制執行)。內核在零環上運行,並且可以執行任何所需的操作。另一方面,用戶代碼不能。它在稱為環3的東西上運行,並且擁有自己的一小塊內存,並且在內存內部它可以執行所需的任何操作,但不能直接與硬件對話。如果用戶代碼嘗試與硬件對話,則內核會立即終止程序。這意味著常規病毒極不可能因為無法直接與硬件對話而殺死硬件。

如果內核被黑客入侵,那麼遊戲基本上就結束了。內核可以做任何想做的事情,並且可能發生很多壞事,例如將CPU超頻到硬件不穩定的地步,擦拭硬盤驅動器(例如用零填充)或幾乎其他任何可能的攻擊。

*“如果用戶的代碼嘗試與硬件對話,那麼內核會立即終止程序” *-真的嗎?您可以為此提供引用嗎?我認為受保護的指令只會失敗,這取決於程序是否能夠合理地處理該指令或崩潰。
@Marc.2377是正確的。如果用戶代碼嘗試在CPL3中執行需要CPL0特權的指令,則會拋出#GP(0)(一般保護錯誤或GPF)。這導致代碼跳入內核,以查看為該事件設置了什麼信號處理程序。默認情況下,內核將終止該進程,儘管該進程在技術上可以為SIGSEGV設置信號處理程序,在這種情況下,內核將在該信號處理程序的位置恢復該進程的執行。儘管這通常不是一個好主意,因為一個過程被認為處於...
...如果引發了SIGSEGV而不是來自`raise()`之後執行恢復,則根據POSIX處於未定義狀態。它會從失敗的指令處恢復執行,該指令將再次運行,並且如果忽略該信號,則會導致進程鎖定。因此,它可以由程序來處理,如果它為SIGSEGV設置了信號處理程序,但是幾乎絕不會發生任何情況(儘管我認為Dolphin仿真器會捕獲段錯誤以進行某種hacky優化)因此,它不必模擬某些怪異的尋呼行為,而可以依靠MMU。
請參閱[this](https://accidentallyquadratic.tumblr.com/post/142829260822/dolphin-emulator-trampoline-generation),以了解(何時)該程序何時運行(很少)。或者只是閱讀[PoC || GTFO](https://www.alchemistowl.org/pocorgtfo/pocorgtfo06.pdf)6:3。
520
2019-04-02 13:13:59 UTC
view on stackexchange narkive permalink

可能。但是,這樣做很難,因為隨著合法BIOS更新的進行,它很有可能不得不偽裝。這樣做的方法將根據您的主板而有所不同,但是可能會涉及到私人或硬件密鑰或其他機密的洩漏。

Qwertie
2019-04-04 09:08:35 UTC
view on stackexchange narkive permalink

是的。它是特定於硬件的,但是這是用戶不小心從操作系統級別破壞主板固件的一種情況 https://github.com/systemd/systemd/issues/2402

A MSI筆記本電腦固件中的錯誤意味著清除efi變量導致筆記本電腦無法使用。由於這些變量已公開給操作系統並已作為文件掛載,因此從操作系統級別刪除每個文件都會導致該問題,病毒可以利用該問題專門針對這些變量。

user21820
2019-04-04 16:45:19 UTC
view on stackexchange narkive permalink

有很多方法,其中一些令人不安。例如, Computrace似乎是永久的後門,它不僅可以繞過操作系統,甚至可以繞過BIOS。而且更普遍的是,英特爾管理引擎對您的計算機具有完全控制權,並且有可能被利用。這些可以修改您的BIOS,但甚至不需要。僅在2017年,安全研究人員就弄清楚了如何通過USB利用英特爾IME運行未簽名的代碼

關鍵是,即使您擁有一個完全安全的操作系統,並且您永遠不會下載任何不安全或惡意的軟件,仍然有一種不可忽略的可能性,那就是,您可能會受到惡意軟件的影響,而這種惡意軟件會利用您硬件中的安全漏洞(即使您的計算機已關閉電源)也繞開了所有漏洞。

Lily Finley
2019-04-05 14:59:29 UTC
view on stackexchange narkive permalink

我在這裡沒有看到的東西:

如果攻擊者獲得足夠的權限安裝甚至由系統製造商正確簽名的正式UEFI固件,他們仍然有可能使計算機處於無法啟動的狀態通過在此過程中的適當時間強行關閉計算機電源。

現代固件中的更新代碼通常會嘗試最大程度地減少計算機在電源故障會導致計算機損壞的狀態下花費的時間。固件,甚至某些固件都具有在這種情況下會激活的恢復模式。

但是,其中許多系統並不完全防彈。儘管它們提供了針對隨機電源故障的良好保護,但如果固件不具有強大的自動恢復功能,那麼定時斷電仍可能使其癱瘓。

此外,甚至不需要攻擊該固件。主系統固件。現代PC中的幾乎所有設備都具有某種固件,並且其中許多可以通過軟件進行更新。這些設備通常也不太安全。它們可能會完全接受未簽名的固件,或者至少在更新過程中無法抵抗惡意關機。

如果銷毀電源控制器,存儲控制器,存儲設備,視頻設備或輸入控制器上的固件,則該系統可能變得像攻擊UEFI一樣無法使用。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 4.0許可。
Loading...