本文,我將主要通過上圖的分類方式來探討針對USB的攻擊向量問題。最上層涉及到更多關于人類應用、業務的基本交互場景。傳輸層包括設備的固件、協議棧等。物理層則主要描述USB總線上的通信問題。
USB介質也為內部攻擊者泄露機密信息提供了便利途徑。2010年,二等兵Chelsea Manning違反《反間諜法》被捕,原因是泄露了美國軍方的私人視頻。曼寧使用了便攜式存儲設備,因為出口管制很松,為了突破軍隊網絡的空擋,向外界泄露信息。Edward Snowden(斯諾登)使用類似的技術從位于夏威夷的軍事基地竊取了美國國家安全局的絕密數據。當然國內的黃*事件也是很典型的案例(下圖)。USB設備的普遍性和可移植性既是挑戰也是機遇。一方面,它們的易用性極大地幫助了消費者和公司完成日常任務。另一方面,USB設備本身實際上是超越技術范疇的行政安全道德領域,可能會對組織造成巨大的影響。
二、應用層
應用層攻擊涉及主機用戶空間進程及其與設備功能的交互。這一層的攻擊通常分為兩類:代碼注入攻擊和數據過濾攻擊。
1. 代碼注入
USB存儲已被多個惡意軟件利用。據本人知道的案例,Duqu病毒使用應用層rootkit來隱藏USB存儲設備上的惡意文件。Conficker、Flame病毒則使用了0day攻擊和惡意autorun。當U盤連接到主機時,inf文件自動執行惡意軟件。盡管自動運行功能在成為Windows平臺的主要威脅之一后受到了限制,但由于操作系統的漏洞(Bad-USB等),類似的功能仍然可用。
2. 數據過濾
由于USB設備通常不會對主機上正在通信的應用程序進行身份驗證,因此應用程序可能會對USB設備寫入或者讀取數據。例如,網絡攝像頭本地的數據的存儲,USB設備本地日志的保存、usb應用層存在的各種安全漏洞都可能會成為關鍵的因素。
三、傳輸層
1. 協議偽造
USB設備利用主機對任何連接設備的完全信任,它們往往為終端操作系統提供附加的驅動層接口。像USB橡皮鴨或USBdriveby(http://samy.pl/usbdriveby/)這樣的設備連接到主機系統時,它驅動層協議棧所有的回調接口(包括用戶不知道的)都會被枚舉。這種功能可以通過將惡意代碼嵌入到其他正常的設備(例如,藍牙耳機中的網絡適配器)來隱藏。
TURNIPSCHOOL項目(http://www.nsaplayset.org/turnipschool)是一個改進的USB電纜,該設備具有4層PCB板、內置芯片的接口擴展 USB HUB、來自德州儀器的內置射頻收發器單片機和一個3D打印的塑料模具。設備連接到主機后,主機上運行的軟件可以通過RF接口提取數據或接收命令。使得USB傳輸層變成可二次編程,可以用于USB設備的安全過濾產品的開發。
識別和減輕這些惡意的接口在傳統上是困難的。因為對手可以簡單地重新編程任何USB基本數據(VID、PID)來規避操作系統中的設備白名單或黑名單規則。此外,由于惡意人員可以合理地使用了音頻耳機等組合設備,攻擊面廣、隱藏率高,降低了攻擊的成本。
2. 協議漏洞
主機的USB協議棧只要符合USB標準就可以了,第三方完全可以自由擴展,所以肯定會有大量的傳輸協議層漏洞。使用FaceDancer進行Fuzzing技術(筆者未來會寫個Facedancer使用教程),我們會發現了許多內核層的任意代碼執行漏洞,在2017年,谷歌研究員也在不同的Linux內核USB驅動中發現了超過40個漏洞。在某些情況下,這些漏洞可能在主機的設備枚舉期間被利用。也可能作為一個中間人設備進行數據的嗅探。
四、物理層
物理層攻擊包括對USB總線通信中的機密性和完整性的攻擊。
1. 物理竊聽
無論數據是否敏感,傳輸的過程中總是需要暴露在管道一段時間。排除透明加密的情況,大部分流量一定會滿足USB底層傳輸標準,我們使用硬件鍵盤記錄器,來進行一次大流量審計,提取USB存儲、甚至USB鍵盤的重要信息。鍵盤記錄器都是小型設備,放置在主機端口和外設間抓包。在usb3.0之前,惡意外設可以竊聽所有連接設備的下行流量。
(A transparent defense againstUSB eavesdropping attacks)M.Neugschwandtner
我們甚至可以通過USB電流嗅探,示波器信道采集等方式進行攻擊,從信道數據可以獲得當前主機的重要特征信息,惡意智能手機可以使用該信息來組成攻擊目標的提權shellcode。(Android安全研究綜述)蔣紹林
Usb嗅探的另一種方法是使用USB協議分析儀提取總線狀態的時序特征,并使用機器學習分類來推斷主機的操作系統,獲取具體信息。Betas提出了一種基于時間間隔的指紋打印方案,該方案可以從商用智能電話啟動。他們表明,特定的操作系統版本和型號可以以高達90%的準確度通過設備之間發送數據包的間隔來檢測。盡管基于時序的指紋顯著提高了規避漏洞的門檻,但是經驗豐富的木馬設計者可以修改其時序特征來逃避檢測。
2. 側信道攻擊(電磁、電源攻擊)
近年來,研究人員研究攻擊者如何使用植入射頻發射器的從普通的終端中竊取數據。這種方法需要一個硬改的USB插頭或設備,還要有一個專用嵌入式的射頻發射機。USBee是一款作為射頻發射器發射電磁輻射的設備,對敏感數據進行編碼/抓取等操作。當然如果無法接觸到目標機器的時候,黑客可以用一根普通的電線觸摸目標機器暴露的金屬部分,得到的信號可以用來提取重要的密鑰信息。Oswald等人展示了如何基于功耗和電磁輻射從Yubikey 2中提取AES 128位密鑰。(Side-channel attacks on the yubikey2one-time password generator) Oswald
-
usb
+關注
關注
60文章
7976瀏覽量
265520 -
總線
+關注
關注
10文章
2899瀏覽量
88273
發布評論請先 登錄
相關推薦
評論