透過模擬 Thunderbolt 設備,可以存取受保護的記憶體區域。在某些情況下,這種稱為 Thunderclap 的攻擊允許您讀取加密的網路流量並以管理員權限執行任意程式碼。
如果您的電腦上有 Thunderbolt 端口,則可能會遇到問題。一組研究人員剛剛發表了一項研究,該研究表明這些日益流行的介面可以提供對電腦 RAM 的存取。受洗《雷霆一擊》,這些漏洞「允許對Thunderbolt 連接埠進行實體存取的攻擊者在幾秒鐘內危害目標計算機,以最高權限等級執行任意程式碼,並可能獲得對密碼、銀行識別碼、加密金鑰、機密文件、瀏覽數據和其他數據的存取權限»。所有系統都會受到影響,包括 Windows、macOS、Linux 和 FreeBSD。簡而言之,它很重。
Thunderclap 攻擊依賴於這樣一個事實:為了效能(DMA,直接記憶體存取),外圍裝置(例如網卡或顯示卡)歷史上可以完全存取電腦的記憶體。因此,損壞的周邊設備可以完全放心地存取系統的私密部分。隨後,供應商採用了一種稱為輸入輸出記憶體管理單元(IOMMU)的保護設備,它允許限制對記憶體的存取。
但事實證明這種保護並不總是存在。例如,微軟最初只開始為 Windows 10 企業版啟用它。對於所有其他版本的 Windows,記憶體存取是開業的酒吧適用於所有 Thunderbolt 裝置。經過研究人員的努力,所有搭載 Windows 10 April 2018(版本 1803)的電腦現在都配備了 IOMMU。請注意,更新到 Windows 10 v1803 是不夠的:製造商也必須更新其韌體。此外,為了使設備真正工作,設備製造商必須更新其驅動程式。當然,還不是每個人都是這樣。
無論如何,啟用IOMMU並不能真正解決問題,因為這種保護不夠有效。為了證明這一點,研究人員在 FPGA 可編程卡上創建了一個硬體平台,能夠完美模擬不同的周邊,這使他們能夠探索週邊裝置、其驅動程式、RAM 和應用程式進程之間的不同互動。“結果是災難性的,儘管明確使用了 IOMMU,但在更複雜的攻擊者面前暴露了普遍存在的漏洞”,研究人員在他們的文章中寫道。
在具有 IOMMU 保護的 macOS 上,研究人員模擬了網卡,並成功地從 VPN 流量中存取了清晰的資料。他們還設法獲得了“root shell”,即以管理員權限運行任何程式碼。從版本 10.12.4 開始,最後一個缺陷已修復。但在任何 Mac 上仍然可以存取交通數據。也可以透過以下方式存取擊鍵並顯示數據幀緩衝。
在 Linux 上,研究人員也能夠讀取 VPN 流量。他們還透過修改 PCI Express 通訊層的參數來完全繞過 IOMMU。這使他們能夠存取記憶體中的所有資料。此駭客攻擊僅適用於支援 PCI Express 的「位址轉換服務」選項的電腦。研究人員能夠在運行 Ubuntu、RHEL 和 Fedora 的筆記型電腦和伺服器上驗證這一點。好消息是英特爾已經開發了補丁可以防止這種短路。它們將被整合到 Linux 核心版本 5 中,該版本應該很快就會發布。
其他攻擊也是可能的。這完全取決於驅動程式如何與進程互動。因此,這項研究還遠遠沒有結束。最終,隨著通常整合 Thunderbolt 的 USB Type C 的普及,這種風險將會增加。為了保護自己,用戶可以嘗試在韌體層級(BIOS/UEFI)停用Thunderbolt接口,但這可能不太實用。無論如何,建議不要將電腦放在公共場所,並避免使用使用 USB Type C 的公共充電站。