眾所周知蘋果Mac電腦很安全,但是隨著惡意軟件的發展,憑借現有Mac安全機制想要完全對抗惡意軟件的感染可能會變得更加艱難。近期一種新型惡意軟件的問世,使得黑客通過短暫的物理接觸,讓2011年以后生產的蘋果Mac電腦感染ROM級惡意程序。
背景
近日,安全研究人員發現一種讓蘋果電腦感染ROM級惡意程序的方法。
這個攻擊由編程專家Trammell Hudson在德國漢堡舉辦的年度混沌計算機大會上展現,他證明這將使重寫蘋果Mac計算機固件成為可能。
這種攻擊被命名為“Thunderstrike(雷擊)”。它實際上利用了一個在ThunderboltOption ROM中有些歷史的漏洞,該漏洞在2012年首次被發現但仍未修補。通過受感染的Thunderbolt設備在蘋果電腦的boot ROM中分配一段惡意程序,Thunderstrike 將可以感染蘋果可擴展固件接口(EFI)。查看更多信息點我
科普(本文涉及的專有名詞解釋)
Thunderbolt(雷電)接口:英特爾在2009年設計完成的某種接口,替代并統一目前電腦上數量繁多性能參差不齊的擴展接口。雷電接口形狀與MiniDisplayport一樣,并且可以對其兼容。其理論最高傳輸速度可達單向10Gbps,是USB 3.0規范的2倍。并且在未來會提供對存儲設備的支持,可以大幅提升傳輸帶寬。
該技術由蘋果和Intel共同開發、推廣,蘋果新款MacBook Pro中便使用了全新的Intel雷電技術。
Option ROM:PCI Option ROM又叫PCI Expansion ROM。 它是用于設備初始化和系統boot的code。有的PCI Option ROM被存放在板卡上,而有的則保存在BIOS的binary里面。
Bootkit:是更高級的Rootkit,該項目通過感染MBR(磁盤主引記錄)的方式,實現繞過內核檢查和啟動隱身。可以認為,所有在開機時比Windows內核更早加載,實現內核劫持的技術,都可以稱之為Bootkit。
循環冗余校驗算法:要計算n位的CRC值,將待CRC的數據左移n位(即在其最右端添加n個0),如果待CRC數據的最高位為0,不進行任何操作,否則將其與事先設定好的除數(divisor)進行異或操作,然后將除數右移一位。重復上述兩個操作直到除數到達待CRC數據的右端。
EFI可擴展固件接口: (英文名Extensible Firmware Interface 或EFI)是由英特爾,一個主導個人電腦技術研發的公司推出的一種在未來的類PC的電腦系統中替代BIOS的升級方案。
UEFI:全稱“統一的可擴展固件接口”(Unified Extensible Firmware Interface), 是一種詳細描述類型接口的標準。這種接口用于操作系統自動從預啟動的操作環境,加載到一種操作系統上。
惡意軟件“雷擊(Thunderstrike)”
原理:
一旦安裝了這種名“雷擊(Thunderstrike)”的惡意軟件,它會替換Mac下的引導固件程序,以高優先級的指令獲得系統控制權限。這款惡意軟件(bootkit)可以繞過固件程序密碼驗證及硬盤密碼驗證,在操作系統啟動時就預裝上后門。
該惡意軟件安裝以后,將獨立于操作系統和硬盤驅動,因此格式化硬盤和重裝操作系統也拿它沒辦法。
原因是該惡意軟件取代了蘋果的數字簽名。本來Mac下運行的固件程序都需要數字簽名進行授權,現在數字簽名被替換了后也就沒有了相應的限制。同時,當前很少有方法可以清理受惡意軟件感染了的引導系統。目前這個概念首次在OS X平臺提出,暫時在真實環境下并沒有發現這樣的攻擊實例,現有的技術也沒法對這類攻擊進行精確檢測。
傳播方式:
該惡意軟件通過連接Mac機器Thunderbolt(雷電)接口的外接設備進行傳播。當攻擊者使用帶有惡意軟件的外接設備插入Mac機器中進行引導時,會把惡意Option ROM注入可擴展固件接口(EFI)。
Option ROM負責啟用Mac系統的管理模式,并在系統加載前激活其他低級指令。它替換了Mac下的RSA密鑰(key),使得不經過授權的固件程序也可以安裝。這樣的話,操控了生殺大權的Thunderbolt外接設備就可以隨意往Mac安裝惡意固件程序,沒有新的key很難將它去除。
如何實施攻擊
從表面上看,這種攻擊行為需要短時間接觸物理機,也許有童鞋會認為這種攻擊實現難度比較高。
但事實未必如此,現實中仍然有很多攻擊機會:比如,某名不懷好意的酒店服務人員可能有機會接觸你的電腦,海關陸卡的人員也有很多機會接觸他人電腦。前NSA員工斯諾登泄密的文檔里也顯示,從事美國情報工作的相關人員會攔截那些運往目標組織的設備硬件,在中途悄悄將修改過的固件程序裝上去。
如何實施Thunderstrike式攻擊呢?將惡意改裝過的Thunderbolt設備插入Mac并將其重啟就行。如果你碰到一臺Mac機器開機后卻發現存在密碼校驗機制,只需要按下電源鍵幾秒鐘對機器進行硬重啟,固件密碼、硬盤密碼,以及用戶密碼等防護手段都將失效,因為Option ROMs在這些保護措施進行檢測之前已經加載了。
“雷擊(Thunderstrike)”的歷史
Thunderstrike在去年12月下旬于混沌通信大會亮相。該漏洞由Trammell Hudson發現,這名安全研究員供職于紐約一家名為Two Sigma Investments的高科技對沖基金公司。當初發現這個漏洞時,他只是試圖對公司的Mac筆記本進行安全加固。Hudson自稱為一名逆向愛好者,以前曾以創建佳能單反相機的開源編程擴展包Magic Lantern而出名。
2012年黑帽大會曾展示了一個繞過OS X FileVault保護,然后安裝rootkit的攻擊案例。Thunderstrike的實現與其比較相似。如Thunderstrike一般,那款2012年黑帽大會的exp也使用了Thunderbolt端口,對引導進程注入了惡意payload。但是,它卻不能對引導ROM本身進行更改。為了繞過這一限制,研究人員寫出了針對EFI系統分區的bootkit。
Thunderstrike的其中一個技術突破點,是其可以通過引導ROM固件卷的驗證。Hudson在常規驗證過程中發現一個未證明的CRC32循環冗余校驗程序,正是從這個里面他得到了啟發。第二次技術突破點,則是Hudson發現Option ROMs會在恢復引導模式進行加載。就是這兩個突破,讓Hudson想出了如何替換蘋果的現有的EFI代碼。
Thunderstrike只是在12月混沌通信大會上演示的基于EFI的攻擊之一,該大會演示了至少演示了兩個以上的同類型攻擊。其中有一個話題單獨剖析了可擴展固件接口(UEFI),討論了如何使用相似的機制用來引導啟動某些Win或者Linux機器。Hudson表示,有一種名為黑暗絕地(Dark Jedi)的技術,黑客不需要進行物理接觸,只需要遠程實施攻擊。
本周早些時候,美國CERT發布了關于使用UEFI的設備的三個漏洞的預警:
http://www.kb.cert.org/vuls/id/976132
http://www.kb.cert.org/vuls/id/766164
http://www.kb.cert.org/vuls/id/533140
此外,安全公司Bromium的某名研究員在關于UEFI討論中,也發布有短篇的writeup。
漏洞作者的建議
Hudson表示蘋果公司只會在局部修補漏洞,正是這個情況造就了“雷擊(Thunderstrike)”漏洞。想要補救該漏洞,就需要禁止Option ROMs在固件更新時進行加載。Hudson指出,這個措施能有效地遏制其目前發現的漏洞影響。蘋果公司已經升級了Mac Mini和iMac Retina 5k,而且打算盡量在短時間內向用戶推廣。
但是Hudson指出,蘋果的這次升級并非一個完美的解決方案。Option ROMs仍然實行的是普通引導模式,所以2012年的那種攻擊手法仍然能夠起效,導致老版Mac在更新固件版本后反而會受到該類攻擊。
在蘋果提出完美修復方案之前,并沒太多防御“雷擊(Thunderstrike)”的可行方案。
也許在Thunderbolt端口澆上大量的環氧樹脂膠確實會增加攻擊難度,這樣的話黑客不得不拆開外殼才能才能接觸到底層的Flash ROM芯片。但是畢竟這是以禁用關鍵的功能為代價的……另一個不靠譜的解決方案,就是讓電腦主人寸步不離機器,不過就算放在酒店保險箱和儲物盒密封,也總會有被人進行物理接觸的可能。、