呂志強(qiáng),薛亞楠,張 寧,馮朝雯,金忠峰
1中國科學(xué)院信息工程研究所 北京 中國 100093
2中國科學(xué)院大學(xué)網(wǎng)絡(luò)空間安全學(xué)院 北京 中國 100049
硬件(hardware),指單片機(jī)、計(jì)算機(jī)硬件、軟件程序的載體及交互的接口,手機(jī)、計(jì)算機(jī)、鍵盤等一切具備電子電路的設(shè)備,都可以稱為“硬件”[1]。USB接口是一種被廣泛使用的硬件接口之一,如圖 1所示為USB接口標(biāo)識(shí)。1996年1月,USB (universal serial bus) 1.0版本的正式發(fā)布正式拉開了USB接口的序幕,其定義了1.5Mbps低速和12Mbps全速兩種數(shù)據(jù)速率[2]。
隨著1998年USB 1.1版本的發(fā)布,USB接口開始被廣泛使用。如今,USB已經(jīng)發(fā)展到USB 3.2版本,其最高傳輸速率也高達(dá)20Gbps[3]。
圖1 USBFigure 1 USB
USB接口簡化和改進(jìn)了個(gè)人計(jì)算機(jī)與外圍設(shè)備之間的接口,以多種方式提高了易用性,由于該接口是自配置模式,用戶無需對設(shè)備和接口進(jìn)行任何干預(yù)即可使用。USB接口實(shí)現(xiàn)了數(shù)據(jù)的高速率傳輸,具備多種供電模式,使用靈活,而且可以連接鍵盤、鼠標(biāo)、U盤、攝像頭等多種外設(shè)。USB作為一種輸入輸出接口的技術(shù)規(guī)范,被廣泛應(yīng)用于個(gè)人電腦及手機(jī)等移動(dòng)通信設(shè)備中,而且在攝影器材、數(shù)字電視、游戲機(jī)、工控系統(tǒng)等領(lǐng)域中也廣泛使用。USB閃存盤是一種使用USB接口的數(shù)據(jù)存儲(chǔ)設(shè)備,能夠通過USB接口與任意符合USB傳輸協(xié)議的設(shè)備進(jìn)行數(shù)據(jù)交互[4]。
隨著移動(dòng)互聯(lián)網(wǎng)向物聯(lián)網(wǎng)轉(zhuǎn)移,智能硬件作為承載物聯(lián)網(wǎng)的關(guān)鍵實(shí)體,也逐漸成為攻擊者關(guān)注的焦點(diǎn)。如今,惡意攻擊形式趨于多樣化,過去基于軟件環(huán)境所存在的安全隱患也在逐漸向硬件環(huán)境轉(zhuǎn)移。此外,硬件安全不僅僅局限于整個(gè)硬件實(shí)體本身,其硬件接口中所存在的隱患也愈發(fā)明顯,利用硬件接口發(fā)起惡意攻擊也越來越成為攻擊者的重要目標(biāo)之一,USB接口就是硬件接口攻防中的典型代表。2016年6月,首次被檢測出的震網(wǎng)(stuxnet)病毒是一種專門定向攻擊核電站、水壩、國家電網(wǎng)等基礎(chǔ)設(shè)施的“蠕蟲”病毒?!罢鹁W(wǎng)”病毒經(jīng)U盤傳播,通過修改可編程邏輯控制器(PLC)的控制軟件代碼使PLC向用于分離濃縮軸的離心機(jī)發(fā)出錯(cuò)誤命令完成攻擊,其感染了全球超過20萬臺(tái)電腦,摧毀了伊朗濃縮軸工廠五分之一的離心機(jī),破壞力之大顯而易見[5-7]。2014年甚至出現(xiàn)了通過修改U盤固件加入HID攻擊技術(shù)的BadUSB技術(shù),其中,HID攻擊技術(shù)是指通過將USB設(shè)備枚舉為HID設(shè)備(如鍵盤、鼠標(biāo)等)完成一系列系統(tǒng)級的破壞操作[8]。若攻擊者將設(shè)備枚舉為HID鍵盤,那么攻擊者便獲得了鍵盤權(quán)限,攻擊者利用計(jì)算機(jī)系統(tǒng)本身對HID鍵盤高度可信的特點(diǎn)便可以通過模擬鍵盤操作完成一些惡意操作,破壞目標(biāo)設(shè)備。同樣,攻擊者也可以將設(shè)備枚舉為鼠標(biāo)等進(jìn)行相應(yīng)惡意操作。
然而,目前針對USB攻擊的防護(hù)大都集中于對U盤等可移動(dòng)存儲(chǔ)設(shè)備的文件掃描層面,旨在對USB可移動(dòng)存儲(chǔ)設(shè)備進(jìn)行安全監(jiān)控與訪問控制,以保證此類設(shè)備存儲(chǔ)內(nèi)容安全,是一種軟件層面的惡意文件型檢測技術(shù)。但是對于HID設(shè)備則以硬件沙箱為主,需要對設(shè)備進(jìn)行二次識(shí)別以及預(yù)定義授權(quán)等操作,過程繁瑣,也大大削弱了 HID設(shè)備的便利性。因此,針對 HID攻擊的桌面級防護(hù)手段成為檢測HID攻擊的最佳解決方案之一。
基于以上問題本文做了以下2個(gè)方面貢獻(xiàn):
(1) 分析了USB協(xié)議存在的漏洞以及USB HID攻擊特點(diǎn),提出了USB HID攻擊模型,生成了USB HID攻擊數(shù)據(jù)流,為研究人員從事相關(guān)研究提供理論基礎(chǔ)及攻擊數(shù)據(jù)。
(2) 提出了新型的針對USB HID攻擊的檢測防護(hù)思想及安全防護(hù)框架,設(shè)計(jì)了基于 Windows平臺(tái)的惡意USB HID攻擊檢測防護(hù)平臺(tái),并通過實(shí)驗(yàn)驗(yàn)證了該平臺(tái)的功能和性能指標(biāo)。同時(shí),為研究人員研究USB HID攻擊檢測防護(hù)方案提供了實(shí)驗(yàn)驗(yàn)證平臺(tái)和依據(jù)。
本文后續(xù)章節(jié)安排如下: 第 2部分介紹了近來USB攻擊技術(shù)及惡意USB攻擊檢測防護(hù)技術(shù)的發(fā)展情況及特點(diǎn); 第3部分對USB HID脆弱性進(jìn)行了分析,提出了USB HID脆弱性模型; 第4部分重點(diǎn)介紹了惡意USB HID攻擊檢測防護(hù)平臺(tái)的設(shè)計(jì)思想及各模塊的具體細(xì)節(jié); 第5部分是本文的實(shí)驗(yàn)部分,通過利用 3種攻擊工具/平臺(tái)產(chǎn)生的攻擊數(shù)據(jù)流對第 4部分的檢測防護(hù)平臺(tái)進(jìn)行了實(shí)驗(yàn)驗(yàn)證,進(jìn)一步說明平臺(tái)在功能和性能方面的優(yōu)勢; 第6部分為結(jié)論,對本文取得的進(jìn)展和未來工作進(jìn)行總結(jié)。
本節(jié)對近年來出現(xiàn)的USB攻擊技術(shù)和惡意USB攻擊檢測防護(hù)技術(shù)的主要思路和研究進(jìn)展進(jìn)行簡要總結(jié)。
自 USB接口廣泛使用以來,針對 USB接口或USB設(shè)備的攻擊從未停止。相比以惡意軟件為主的攻擊技術(shù),USB攻擊充分利用了社會(huì)工程學(xué)和硬件隱患難檢測、易忽略的特點(diǎn),破壞性更強(qiáng)。
文獻(xiàn)[9]對典型的 USB攻擊進(jìn)行了全面的綜述,介紹和分析了29種USB攻擊技術(shù)。本文結(jié)合該分類方法對近年來出現(xiàn)的USB攻擊技術(shù)進(jìn)行整理如下:
(1) 對USB設(shè)備內(nèi)部主控芯片重新編程的USB攻擊技術(shù): 攻擊者通過重新改寫USB設(shè)備內(nèi)部主控芯片中的程序,使其具備惡意功能,然后通過 USB枚舉等方式使惡意USB設(shè)備具備與其外形不符的功能或者通過USB設(shè)備植入目標(biāo)設(shè)備時(shí)自動(dòng)執(zhí)行某些特定的惡意操作,典型的攻擊技術(shù)有 USB Rubber Ducky[10-11]、USBdriverby[12]等。其中,USB Rubber Ducky誕生于2010年,是最早的按鍵注入攻擊工具,后發(fā)展成為一個(gè)商業(yè)化的按鍵注入攻擊平臺(tái)。其外形類似于U盤,具備代碼注入、運(yùn)行程序和竊取數(shù)據(jù)等強(qiáng)大功能,支持通過 Micro SD進(jìn)行內(nèi)存擴(kuò)展,并且板載有效載荷重放按鈕,攻擊力強(qiáng),破壞性大,如圖2所示為USB Rubber Ducky。
圖2 USB Rubber DuckyFigure 2 USB Rubber Ducky
(2) 惡意修改 USB設(shè)備固件的 USB攻擊技術(shù):攻擊者對USB設(shè)備固件進(jìn)行重新編程,寫入惡意程序,從而使其執(zhí)行如下載惡意軟件、泄露數(shù)據(jù)等惡意操作。典型的攻擊技術(shù)有Virtual machine breakout[13]、Hidden Partition Patch[14]等。其中,Hidden Partition Patch技術(shù)是通過使用Windows系統(tǒng)中“安全移除硬件”選項(xiàng)對 USB閃存驅(qū)動(dòng)重新編程,在其中創(chuàng)建一個(gè)無法被格式化的隱藏分區(qū),實(shí)現(xiàn)數(shù)據(jù)滲漏等惡意操作。
(3) 利用USB固有漏洞的USB攻擊技術(shù): 攻擊者利用操作系統(tǒng)與USB協(xié)議交互時(shí)的漏洞對目標(biāo)計(jì)算機(jī)發(fā)起攻擊,典型的攻擊技術(shù)有 USB Backdoor into Air-Gapped Hosts[15]、 AutoRun Exploits[16]、USBee[17]等。其中,Air-Gapped Hosts通常搭配Fanny惡意軟件一起完成攻擊操作。其通過USB隱藏存儲(chǔ)區(qū)存儲(chǔ)預(yù)置命令,將計(jì)算機(jī)映射至 Air-Gapped網(wǎng)絡(luò)中,該網(wǎng)絡(luò)上的信息將會(huì)被存儲(chǔ)到 U盤的隱藏存儲(chǔ)區(qū)中。
(4) USB電力攻擊: 攻擊者通過USB設(shè)備觸發(fā)電力超載,從而永久性地破壞目標(biāo)設(shè)備,典型的攻擊技術(shù)有USB Killer[18]等。USB Killer攻擊造成的危害是毀滅性的,該技術(shù)以毀壞目標(biāo)設(shè)備為目的,如圖 3所示為 USB Killer。其插入目標(biāo)設(shè)備后會(huì)積蓄電容,然后快速釋放大量電能損傷目標(biāo)設(shè)備主板。該攻擊只能從物理層面進(jìn)行防護(hù)。
圖3 USB KillerFigure 3 USB Killer
此外,2018年還出現(xiàn)了一種新型的BadUSB攻擊——USBHarpoon[19]。該技術(shù)將惡意芯片植入到USB數(shù)據(jù)線中,當(dāng)數(shù)據(jù)線連入目標(biāo)計(jì)算機(jī)后,被枚舉為人體工程學(xué)設(shè)備(HID)進(jìn)行按鍵注入攻擊等操作。
這些利用USB設(shè)備或接口發(fā)起的攻擊具有極大危害,其經(jīng)由 HID接口完成惡意程序注入或惡意按鍵操作,并通過HID接口或USB大容量存儲(chǔ)設(shè)備本身完成數(shù)據(jù)密取等操作,形成了將USB硬件與惡意軟件相結(jié)合的新型攻擊模式。由于USB接口的快速發(fā)展以及使用廣泛性,通過USB協(xié)議防范USB攻擊已變得不現(xiàn)實(shí),深入分析USB協(xié)議漏洞,掌握USB HID攻擊特點(diǎn),并以此制定完整的防護(hù)策略成為研究惡意USB HID攻擊的主要方向。
惡意 USB攻擊檢測防護(hù)技術(shù)主要有三個(gè)方面,一是針對USB接口枚舉、USB數(shù)據(jù)流等進(jìn)行監(jiān)控以達(dá)到識(shí)別惡意操作的目的; 二是通過軟件或硬件沙箱對USB設(shè)備進(jìn)行驗(yàn)證和數(shù)據(jù)過濾,從而保證目標(biāo)設(shè)備來源的可靠性; 三是利用USB HID攻擊中存在的按鍵注入間隔短的特點(diǎn),利用按鍵間隔識(shí)別是否為惡意自動(dòng)化操作。
(1) USB數(shù)據(jù)監(jiān)控: 該技術(shù)體現(xiàn)在兩方面,一是監(jiān)控USB設(shè)備本身,通過設(shè)定一定的安全規(guī)則實(shí)現(xiàn)設(shè)備監(jiān)管,如果設(shè)備不符合安全規(guī)則則被拒絕使用;二是通過捕獲USB設(shè)備數(shù)據(jù),再將其上傳至服務(wù)器或后臺(tái)直接進(jìn)行分析。如李錦山等人[20]提出的基于驅(qū)動(dòng)層的 USB存儲(chǔ)設(shè)備安全監(jiān)控技術(shù),實(shí)現(xiàn)了對USB數(shù)據(jù)包的截獲功能; 盧志剛等人[21]提出的基于HID的USB監(jiān)控技術(shù)則是對局域網(wǎng)內(nèi)的USB數(shù)據(jù)流進(jìn)行監(jiān)控并上傳至服務(wù)器進(jìn)行分析。以上兩種典型技術(shù)主要集中在數(shù)據(jù)包的截獲與分析方面,對數(shù)據(jù)包的分析力度以及對惡意USB攻擊技術(shù)的檢測力度有限,且難以防范USB HID攻擊。
(2) 軟件或硬件沙箱: 所謂軟件沙箱是指通過軟件層面實(shí)現(xiàn) USB設(shè)備認(rèn)證。如美國喬治梅森大學(xué)Wang等人[22]提出的USBSec協(xié)議增加了主機(jī)與外設(shè)間的身份認(rèn)證機(jī)制,只有認(rèn)證通過才進(jìn)行設(shè)備枚舉。當(dāng)設(shè)備插入主機(jī)時(shí),雙方會(huì)完成一次雙向認(rèn)證,當(dāng)驗(yàn)證通過時(shí)才可以正常使用USB設(shè)備。但該協(xié)議修改了通用的USB協(xié)議,需要定制,推廣難度大、局限性大。而硬件沙箱是通過外置硬件設(shè)備引入安全審計(jì)機(jī)制,只有符合該規(guī)則的設(shè)備才可以通過審計(jì)并啟用。如美國堪薩斯大學(xué) Kang等人[23]提出的USBProxy硬件防火墻以及 Federico等人[24]提出的USBCheckIn工具(如圖4所示)。這兩種工具對于外觀與功能相符的惡意USB設(shè)備則無能為力,且其大大降低了USB設(shè)備的便利性和開放性。綜合分析軟件和硬件沙箱機(jī)制,這兩種機(jī)制在防護(hù)性與易用性方面均未做到良好的均衡。
圖4 USBCheckInFigure 4 USBCheckIn
(3) 按鍵間隔識(shí)別: USB HID攻擊中利用鍵盤發(fā)起按鍵注入操作,由于按鍵注入速度快,該方法通過識(shí)別相鄰按鍵的間隔區(qū)分人機(jī)操作。如實(shí)驗(yàn)室已有的研究成果中,姜建國等人[25]利用SVM分類器對按鍵間隔進(jìn)行識(shí)別,用以區(qū)分用戶和機(jī)器的按鍵行為。但是該方法對于按鍵注入間隔與正常用戶間隔近似的高級別按鍵注入攻擊不適用,且無法防范USB HID攻擊中如信息密取等惡意操作。
因此,還缺少一個(gè)高效的通用的針對 USB HID攻擊的檢測防護(hù)方案,本文將在第 4節(jié)重點(diǎn)介紹桌面級的惡意USB HID攻擊檢測防護(hù)平臺(tái)。
USB HID攻擊技術(shù)是惡意USB攻擊技術(shù)的典型代表,其通過HID進(jìn)行按鍵注入操作,實(shí)現(xiàn)提權(quán),進(jìn)而完成信息密取、控制傳輸、指令下達(dá)甚至系統(tǒng)攻擊等惡意操作。本節(jié)對USB協(xié)議進(jìn)行了詳細(xì)分析,總結(jié)了HID存在的脆弱性,并提出了USB HID脆弱性模型。
通用串行總線(Universal Serial Bus,USB)是連接計(jì)算機(jī)系統(tǒng)與外部設(shè)備的一種串口總線標(biāo)準(zhǔn),也是一種輸入輸出接口的技術(shù)規(guī)范,廣泛應(yīng)用于個(gè)人計(jì)算機(jī)和移動(dòng)設(shè)備等信息通訊產(chǎn)品[26]。當(dāng)USB設(shè)備插入主機(jī)時(shí),主機(jī)會(huì)枚舉該 USB設(shè)備,然后主動(dòng)加載設(shè)備所需的驅(qū)動(dòng)程序。目前,多數(shù)USB設(shè)備,尤其是鍵盤、鼠標(biāo)等通用USB設(shè)備仍以USB 2.0為主。在USB 2.0版本中,共支持高速(Hi-Speed: 480Mbps)、全速(Full Speed: 12Mbps)、低速(Low Speed: 1.5Mbps)三種速率。其中,低速速率主要用于低速率的人機(jī)接口設(shè)備,如鍵盤、鼠標(biāo)、游戲桿等。本文主要研究USB 2.0版本下的USB HID攻擊技術(shù)及相應(yīng)的檢測防護(hù)技術(shù)。
USB設(shè)備插入主機(jī)后的初始化過程稱為USB枚舉,如圖5所示。枚舉過程主要有以下四步:
圖5 USB枚舉過程Figure 5 USB enumeration process
(1) 主機(jī)檢測 USB設(shè)備是否連接: 主機(jī)通過檢測USB數(shù)據(jù)線信號的變化判斷USB設(shè)備是否連接,若檢測到有一根數(shù)據(jù)線是高電平,則認(rèn)為有USB設(shè)備插入。
(2) 主機(jī)確定 USB設(shè)備速度: 主機(jī)通過檢測USB數(shù)據(jù)線信號的變化判斷USB設(shè)備所支持的速度模式,主機(jī)根據(jù)是 D+還是 D-被拉高來判斷目標(biāo)設(shè)備時(shí)全速還是低速設(shè)備。此處僅對枚舉步驟作簡要論述,不對如何區(qū)分全速和高速設(shè)備作詳細(xì)解釋,具體請參見USB 2.0協(xié)議。
(3) 主機(jī)請求 USB設(shè)備描述符: 當(dāng)主機(jī)確定USB設(shè)備已連接以及USB設(shè)備所支持的速度模式后,主機(jī)會(huì)向USB設(shè)備發(fā)起設(shè)備描述符請求,完成設(shè)備識(shí)別操作。首先,主機(jī)向設(shè)備發(fā)起請求讀取設(shè)備的各種描述符,從而獲得設(shè)備類型、端點(diǎn)等信息。然后,主機(jī)向設(shè)備發(fā)起設(shè)置地址請求操作,請求設(shè)備使用指定地址,以便主機(jī)區(qū)分每個(gè)不同的USB設(shè)備。最后,主機(jī)向設(shè)備發(fā)起設(shè)置配置請求操作,確定相應(yīng)配置。
(4) 主機(jī)加載相應(yīng) USB設(shè)備驅(qū)動(dòng)程序: 主機(jī)完成設(shè)備識(shí)別操作后,需要加載相應(yīng)的驅(qū)動(dòng)程序以便與USB設(shè)備進(jìn)行交互。通常,USB設(shè)備使用Windows系統(tǒng)中自帶的標(biāo)準(zhǔn)驅(qū)動(dòng),如設(shè)備為定制化設(shè)備或有特殊功能需求時(shí),主機(jī)需要下載相應(yīng)的驅(qū)動(dòng)以實(shí)現(xiàn)對USB設(shè)備的控制。
通過對USB協(xié)議分析,本文整理了惡意USB設(shè)備所利用的漏洞(適用于USB 3.2及以下版本):
USB組合接口漏洞:在一個(gè)USB設(shè)備上可以實(shí)現(xiàn)多個(gè)設(shè)備并具有多種功能,這種設(shè)備又稱為具有兩種及兩種以上功能的USB設(shè)備。其實(shí)現(xiàn)方法有兩種,一種是幾個(gè)具有不同功能的設(shè)備通過一個(gè) USB HUB形成單一設(shè)備,稱為USB復(fù)合設(shè)備,一種是一個(gè)配置多個(gè)接口實(shí)現(xiàn)不同功能的 USB設(shè)備,稱為USB組合設(shè)備[27]。在USB組合設(shè)備模式下,每個(gè)功能接口共用根 USB設(shè)備的生產(chǎn)廠商 ID(Vendor ID,VID)和產(chǎn)品 ID(Product ID,PID),因此通過將一個(gè)USB設(shè)備組合成具備多種功能的設(shè)備在一定程度上可以提高惡意設(shè)備的隱蔽性。
USB設(shè)備驗(yàn)證漏洞:根據(jù) USB規(guī)范,所有的USB設(shè)備都有VID和PID,主機(jī)通過不同的VID和PID來區(qū)別不同的設(shè)備,其中,VID由供應(yīng)商向USB執(zhí)行論壇(USB IF)申請,每個(gè)供應(yīng)商的 VID 是唯一的,PID由供應(yīng)商自行決定,理論上來說,不同的產(chǎn)品、相同產(chǎn)品的不同型號、相同型號的不同設(shè)計(jì)的產(chǎn)品最好采用不同的 PID,以便區(qū)別相同廠家的不同設(shè)備[28]。但是VID和PID的存在只是為了給設(shè)備打標(biāo)簽,便于迅速定位產(chǎn)品的生產(chǎn)商、型號等信息,并不作為設(shè)備運(yùn)行的依據(jù),因此很多山寨廠商會(huì)直接使用所采購USB芯片本身的ID信息或者根據(jù)自身情況任意賦值。此外,即便是生產(chǎn)USB設(shè)備的大廠,雖然他們的VID信息由USB IF分配,但有時(shí)為了自身需要也會(huì)向同一批次的設(shè)備中寫入相同的PID信息。VID和PID雖然在理論上可以實(shí)現(xiàn)對USB設(shè)備的唯一標(biāo)識(shí),但通過分析以上兩種情況可以看出,實(shí)際生產(chǎn)中存在冒用和誤用VID、PID信息的情況,這也就導(dǎo)致攻擊者在開發(fā)惡意USB設(shè)備時(shí)可以采用與正規(guī)廠家相同的 VID和 PID,從而避免一些安全軟件的定向查殺。
USB權(quán)限許可漏洞:HID設(shè)備是計(jì)算機(jī)直接與人交互的設(shè)備,所有現(xiàn)代主流操作系統(tǒng)都可以識(shí)別標(biāo)準(zhǔn) USB HID設(shè)備(例如鍵盤和鼠標(biāo)),而無需專門的驅(qū)動(dòng)程序。此外,HID接口設(shè)備,如鍵盤、鼠標(biāo)等具有直接操控計(jì)算機(jī)的能力,計(jì)算機(jī)在識(shí)別鍵盤、鼠標(biāo)等高權(quán)限HID設(shè)備時(shí),缺少專門的許可檢查機(jī)制,默認(rèn)此類設(shè)備高度可信。基于以上兩個(gè)特性,一旦攻擊者偽裝成該類設(shè)備即可完成系統(tǒng)級的操作,危害性大。
USB數(shù)據(jù)認(rèn)證漏洞:HID設(shè)備采用報(bào)表(report)結(jié)構(gòu)與主機(jī)進(jìn)行數(shù)據(jù)交互,其要求設(shè)備固件必須支持HID報(bào)表的格式,HID報(bào)表格式靈活,可以處理任何類型的數(shù)據(jù)(如溫度、濕度、地理坐標(biāo)、鍵盤鍵值、鼠標(biāo)坐標(biāo)、普通數(shù)據(jù)……),而且在HID數(shù)據(jù)交互過程中,缺乏數(shù)據(jù)認(rèn)證機(jī)制,只要符合 HID報(bào)表格式的數(shù)據(jù)均會(huì)被主機(jī)接收,攻擊者可以利用這個(gè)漏洞偽造符合HID報(bào)表格式的數(shù)據(jù)達(dá)到欺騙甚至攻擊主機(jī)的目的。
在Windows環(huán)境中,從Windows98操作系統(tǒng)開始,便提供了HID類設(shè)備的通用驅(qū)動(dòng)程序。對于HID類設(shè)備,Windows系統(tǒng)可以自動(dòng)識(shí)別,在開發(fā)相應(yīng)通信軟件時(shí),也省去了復(fù)雜的驅(qū)動(dòng)程序的編寫過程,具備即插即用等優(yōu)點(diǎn)。在進(jìn)行 HID開發(fā)時(shí),只需要調(diào)用自帶的API即可與HID設(shè)備進(jìn)行通信,降低了開發(fā)難度。
在HID事務(wù)傳輸中,不同速率的USB設(shè)備其傳輸能力不同,每筆HID事務(wù)所支持的字節(jié)數(shù)也不同。對于USB低速設(shè)備,每一筆HID事務(wù)最大是8字節(jié),但每10ms內(nèi)不會(huì)超過一筆事務(wù),即低速設(shè)備最大速度為800B/s; 全速設(shè)備最大為64字節(jié),每1ms一筆事務(wù),即最大速度為 64KB/s; 高速設(shè)備最大為 1024字節(jié),每 125μs一筆事務(wù),即最大速度為24.576MB/s[29]。本文采用USB 2.0 High Speed模式,該模式下通過HID進(jìn)行數(shù)據(jù)傳輸可以獲得可觀的傳輸速率。因此,本文充分利用 HID設(shè)備的特點(diǎn)開展研究,具體設(shè)計(jì)目標(biāo)如下:
(1) 以計(jì)算機(jī)認(rèn)可的設(shè)備形式存在,且符合計(jì)算機(jī)常用設(shè)備設(shè)計(jì);
(2) 能夠?qū)崿F(xiàn)多種按鍵注入攻擊,有可編輯的攻擊載荷庫;
(3) 支持USB 2.0高速模式,實(shí)現(xiàn)USB數(shù)據(jù)的高速傳輸;
(4) 具備無線通信功能,能夠與遠(yuǎn)程客戶端聯(lián)動(dòng),實(shí)現(xiàn)遠(yuǎn)程控制;
(5) 設(shè)備小型化,能以鍵盤、鼠標(biāo)等多種形態(tài)存在。
根據(jù)以上功能,本文提出了USB HID攻擊模型——WHID,結(jié)合3.1節(jié)中所述漏洞做以下設(shè)計(jì):
(1) 利用USB復(fù)合接口漏洞和USB權(quán)限許可漏洞將USB設(shè)備枚舉為一個(gè)組合設(shè)備,即“HID鍵盤+HID數(shù)據(jù)口+MSC大容量存儲(chǔ)設(shè)備”的形式,使其具備多種功能。
(2) 利用USB設(shè)備驗(yàn)證漏洞將USB組合設(shè)備的VID和PID設(shè)置為市面上已知的合法設(shè)備的值,以便躲避某些安全軟件對設(shè)備VID和PID的相關(guān)檢測。
(3) 利用USB數(shù)據(jù)認(rèn)證漏洞偽造符合HID報(bào)表格式的合法數(shù)據(jù),并設(shè)計(jì)符合 HID報(bào)表格式的載荷攻擊庫及數(shù)據(jù)傳輸協(xié)議。
(4) 引入設(shè)備認(rèn)證機(jī)制,即被植入惡意軟件的目標(biāo)主機(jī)會(huì)發(fā)送認(rèn)證指令讀取存儲(chǔ)在WHID Flash中的序列號,然后與已知序列號庫進(jìn)行比對,完成認(rèn)證,繼而才實(shí)行后續(xù)攻擊操作。該機(jī)制是為了避免設(shè)備被檢測(通過模擬利用檢測設(shè)備異常等方式),這也大大增強(qiáng)了WHID的健壯性。
如圖6所示為WHID模型系統(tǒng)結(jié)構(gòu)圖。
圖6 WHID模型系統(tǒng)結(jié)構(gòu)圖Figure 6 WHID model system structure diagram
USB設(shè)備中,由于 HID設(shè)備具有高用戶權(quán)限,HID鍵盤具備命令等信息輸入功能,HID數(shù)據(jù)口可用于數(shù)據(jù)傳輸,MSC大容量存儲(chǔ)設(shè)備可用于數(shù)據(jù)存儲(chǔ)等。因此,針對WHID的存在形式,結(jié)合HID高權(quán)限、數(shù)據(jù)報(bào)表格式靈活、免驅(qū)等特點(diǎn),本文將設(shè)備枚舉為“HID鍵盤+HID數(shù)據(jù)口+MSC大容量存儲(chǔ)設(shè)備”的組合形式,如圖7所示。
圖7 WHID模型設(shè)備形態(tài)Figure 7 The device configuration of WHID model
HID鍵盤: HID鍵盤是計(jì)算機(jī)高度可信的設(shè)備,通過鍵盤可以操作設(shè)備運(yùn)行的指令,也可以進(jìn)行數(shù)據(jù)輸入等操作。鍵盤是最常用也是最主要的輸入設(shè)備,通過鍵盤可以將英文字母、數(shù)字、標(biāo)點(diǎn)符號等輸入到計(jì)算機(jī)中,從而向計(jì)算機(jī)發(fā)出命令、輸入數(shù)據(jù)等[30]。利用鍵盤的這一特點(diǎn),本文通過 USB枚舉使得WHID具備 HID鍵盤的功能和特征,從而實(shí)現(xiàn)將由英文字母、數(shù)字、標(biāo)點(diǎn)符號等組成的攻擊載荷注入到目標(biāo)計(jì)算機(jī)中,控制目標(biāo)計(jì)算機(jī),實(shí)現(xiàn)攻擊。
HID數(shù)據(jù)口: 本文所提及的WHID模型設(shè)計(jì)了HID數(shù)據(jù)接口。由于HID設(shè)備在主流操作系統(tǒng)中具有免驅(qū)等特點(diǎn),因此通過 HID數(shù)據(jù)接口進(jìn)行數(shù)據(jù)傳輸更加便捷,同時(shí),免驅(qū)也可以使WHID在進(jìn)行相關(guān)指令或數(shù)據(jù)操作時(shí)更加便捷,不易被目標(biāo)用戶發(fā)現(xiàn)。本模型利用USB 2.0 Hi-Speed協(xié)議的HID數(shù)據(jù)口功能實(shí)現(xiàn)WHID與主機(jī)之間的高速率數(shù)據(jù)交互等功能。
MSC大容量存儲(chǔ)設(shè)備: USB大容量存儲(chǔ)設(shè)備類(The USB mass storage device class)是一種計(jì)算機(jī)和移動(dòng)設(shè)備之間的傳輸協(xié)議,它允許一個(gè)通用串行總線(USB)設(shè)備來訪問主機(jī)的計(jì)算設(shè)備,使兩者之間進(jìn)行文件傳輸[31]。WHID模型通過將設(shè)備枚舉為MSC大容量存儲(chǔ)設(shè)備實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)等功能。
在Bushound數(shù)據(jù)監(jiān)控軟件中,可以查看計(jì)算機(jī)中USB設(shè)備的相關(guān)信息,包括單一USB設(shè)備和組合USB設(shè)備。如圖8所示為單一USB設(shè)備,圖9所示為“HID鍵盤+HID數(shù)據(jù)口+MSC大容量存儲(chǔ)設(shè)備”組合設(shè)備。
圖8 單一USB設(shè)備Figure 8 A single USB device
圖9 USB組合設(shè)備Figure 9 A USB composite device
基于 USB HID脆弱性模型所總結(jié)的主流 USB HID攻擊技術(shù)利用的漏洞和攻擊特點(diǎn),本文提出了一種新型的檢測防護(hù)思想,并設(shè)計(jì)了一個(gè)惡意 USB HID攻擊檢測防護(hù)平臺(tái)——WHID Defense。本節(jié)將從設(shè)計(jì)思想、按鍵注入特征分析及防御、數(shù)據(jù)捕獲與反向干擾、用戶身份管理與訪問控制、風(fēng)險(xiǎn)事件分類與統(tǒng)計(jì)、功能分析等六個(gè)方面進(jìn)行詳細(xì)闡述。
以往關(guān)于檢測防護(hù)技術(shù)的研究一般以檢測與查殺為主,本文根據(jù)USB HID攻擊的特點(diǎn),在檢測與查殺的基礎(chǔ)上引入了反向干擾的思想,形成了新型的檢測防護(hù)思想: “監(jiān)+查+反+審”。
(1) 監(jiān): 能夠?qū)崟r(shí)監(jiān)測惡意工具行為、數(shù)據(jù)流等信息,確保惡意工具的操作均在監(jiān)測范圍內(nèi)。
(2) 查: 能夠?qū)阂庠O(shè)備的惡意數(shù)據(jù)流進(jìn)行鑒別、查殺。
(3) 反: 能夠反向干擾或反向攻擊惡意設(shè)備,干擾其正常通信。
(4) 審: 設(shè)備的行為、數(shù)據(jù)要可審計(jì)。
“監(jiān)+查+反+審”思想可以形成一個(gè)多層級的檢測防護(hù)體系,平臺(tái)可以對目標(biāo)設(shè)備實(shí)時(shí)監(jiān)測,一旦有異常發(fā)生即可發(fā)出報(bào)警,同時(shí)對于惡意數(shù)據(jù)流可以進(jìn)行查殺,該思想中的“審”要求平臺(tái)對目標(biāo)設(shè)備所有數(shù)據(jù)和行為進(jìn)行記錄,為后續(xù)審計(jì)人員進(jìn)行審計(jì)提供了便利。此外,該思想中創(chuàng)新性地引入了反向干擾思想,對惡意設(shè)備實(shí)施反向干擾,擾亂其正常通信。
由于USB HID攻擊一般以硬件的形式存在,如果僅僅對可疑設(shè)備進(jìn)行監(jiān)測可能會(huì)存在誤報(bào)等情況,本文所提出的“監(jiān)+查+反+審”思想更加全面地實(shí)現(xiàn)對USB HID攻擊的檢測與防護(hù),保證個(gè)人計(jì)算機(jī)安全。
基于“監(jiān)+查+反+審”思想,并結(jié)合USB HID脆弱性模型的特點(diǎn),惡意USB HID攻擊檢測防護(hù)平臺(tái)具體設(shè)計(jì)目標(biāo)如下:
(1) 基于 WHID模擬鍵盤進(jìn)行按鍵注入攻擊的特征,通過對鍵盤數(shù)據(jù)信息的監(jiān)控,實(shí)現(xiàn)對按鍵注入攻擊的預(yù)警;
(2) 基于WHID利用HID數(shù)據(jù)口進(jìn)行數(shù)據(jù)通信的特征,通過對 HID設(shè)備進(jìn)行數(shù)據(jù)信息的監(jiān)控,實(shí)現(xiàn)對WHID設(shè)備數(shù)據(jù)的捕獲,并統(tǒng)計(jì)、分析數(shù)據(jù)流量大小實(shí)現(xiàn)可疑信息初步預(yù)警; 此外,通過分析捕獲數(shù)據(jù)包的構(gòu)成特點(diǎn),模擬構(gòu)建數(shù)據(jù)包并發(fā)送給WHID,實(shí)現(xiàn)對WHID通信的干擾;
(3) 基于惡意 USB HID攻擊工具的特點(diǎn),對USB HID設(shè)備進(jìn)行分類,劃定設(shè)備風(fēng)險(xiǎn)等級,實(shí)現(xiàn)風(fēng)險(xiǎn)信息的實(shí)時(shí)顯示; 同時(shí),根據(jù)平臺(tái)監(jiān)控結(jié)果,實(shí)時(shí)動(dòng)態(tài)調(diào)整目標(biāo)設(shè)備分類,使設(shè)備風(fēng)險(xiǎn)等級顯示更科學(xué);
(4) 根據(jù)WHID Defense可能使用的場景和對象,構(gòu)建不同的角色訪問機(jī)制,并制定不同級別的安全風(fēng)險(xiǎn)預(yù)警系統(tǒng);
(5) 為了便于后續(xù)對設(shè)備通信數(shù)據(jù)的審計(jì),構(gòu)建通信數(shù)據(jù)庫,將HID設(shè)備的通信數(shù)據(jù)包以及HID鍵盤的按鍵數(shù)據(jù)保存在數(shù)據(jù)庫中。
如圖10所示為WHID Defense系統(tǒng)結(jié)構(gòu)圖。
圖10 WHID Defense系統(tǒng)結(jié)構(gòu)Figure 10 The system structure of WHID Defense
通過監(jiān)測USB HID設(shè)備可以掌握USB HID設(shè)備的行為,如插入、拔出、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)等,通過可視化界面可以將此類行為一一列出,便于觀察,必要時(shí)可對可疑行為進(jìn)行預(yù)警。為防止按鍵注入攻擊,WHID Defense平臺(tái)引入了按鍵注入攻擊預(yù)警機(jī)制,可以記錄所有按鍵事件并對可疑按鍵流進(jìn)行彈窗提醒。而對USB HID數(shù)據(jù)流的捕獲一來可以監(jiān)控?cái)?shù)據(jù)流量和速度,通過統(tǒng)計(jì)發(fā)現(xiàn)異常; 二來可以用于后續(xù)數(shù)據(jù)包分析及審計(jì)工作。反向干擾則是本文檢測防護(hù)思想的亮點(diǎn)之一,可以實(shí)現(xiàn)對惡意設(shè)備的通信干擾。
4.2.1 按鍵注入特征與分析
惡意USB HID攻擊工具是惡意軟件與惡意硬件相結(jié)合的攻擊技術(shù)的典型代表,具有極強(qiáng)的隱蔽性和破壞性。對于一款惡意軟硬件相結(jié)合的攻擊工具,惡意硬件的植入是攻擊實(shí)施的前提,而惡意軟件的感染則是攻擊實(shí)施的必要路徑。此類攻擊工具利用USB HID協(xié)議脆弱性,將惡意USB HID攻擊工具枚舉為計(jì)算機(jī)高度可信的 HID鍵盤設(shè)備,通過鍵盤路徑可以實(shí)現(xiàn)對目標(biāo)計(jì)算機(jī)“命令提示符”的開啟,以便于將木馬程序植入到目標(biāo)計(jì)算機(jī)或者實(shí)施更高級別的有針對性的攻擊,如文件查找、關(guān)閉計(jì)算機(jī)等。
利用鍵盤高權(quán)限、操作設(shè)備運(yùn)行指令、數(shù)據(jù)輸入等特點(diǎn),結(jié)合主流USB HID攻擊工具功能,本文對標(biāo)準(zhǔn)HID鍵盤的HID報(bào)表格式進(jìn)行分析,掌握攻擊載荷的特點(diǎn),從而實(shí)現(xiàn)對按鍵注入攻擊精準(zhǔn)化識(shí)別。
HID鍵盤輸入報(bào)表的數(shù)據(jù)格式如圖11所示。
圖11 HID輸入報(bào)表數(shù)據(jù)格式Figure 11 HID input report data format
由圖可知,輸入報(bào)表共8個(gè)字節(jié),各字節(jié)具體信息如下:
BYTE0: 特殊按鍵,其中:
(1) bit0表示Left Control是否按下,按下為1,抬起為0;
(2) bit1表示Left Shift是否按下,按下為1,抬起為0;
(3) bit2表示Left Alt是否按下,按下為1,抬起為0;
(4) bit3表示Left GUI(Windows鍵)是否按下,按下為1,抬起為0;
(5) bit4表示Right Control是否按下,按下為1,抬起為0;
(6) bit5表示Right Shift是否按下,按下為1,抬起為0;
(7) bit6表示Right Alt是否按下,按下為1,抬起為0;
(8) bit7表示Right GUI(Windows鍵)是否按下,按下為1,抬起為0。
BYTE1: 保留位。
BYTE2——BYTE7: 普通按鍵。
由于攻擊載荷由按鍵構(gòu)成,因此載荷特征體現(xiàn)在按鍵特征上。通過 HID鍵盤報(bào)表格式可知,每一個(gè)字節(jié)規(guī)定了按鍵類型,常用的按鍵組合一般體現(xiàn)在BYTE0和BYTE2中,二者賦以特定的值即可完成一次按鍵操作。為了達(dá)到按鍵注入攻擊“隱蔽性”的目的,實(shí)施快速的按鍵注入操作成為此類攻擊的最大特點(diǎn),這種特點(diǎn)表現(xiàn)為相鄰按鍵之間的間隔很短(具體間隔可根據(jù)需要自定義)。在設(shè)計(jì)攻擊載荷時(shí),可以將要實(shí)現(xiàn)的惡意操作轉(zhuǎn)換為一條條按鍵輸入指令,然后對每一個(gè)按鍵指令進(jìn)行HID報(bào)表的還原。
基于以上標(biāo)準(zhǔn) HID鍵盤報(bào)表格式,并根據(jù)實(shí)際攻擊場景,本文列出了兩個(gè)攻擊載荷,如表1所示。
表1 攻擊載荷Table 1 Attack payload
綜合分析此類攻擊工具的按鍵注入攻擊特點(diǎn)發(fā)現(xiàn)其均是依托于HID鍵盤模擬用戶進(jìn)行命令注入。因此,調(diào)用“命令提示符”成為此類攻擊的一個(gè)必然選擇,在 Windows操作系統(tǒng)中,通過按鍵形式打開“命令提示符”有以下三種方法:
(1) 通過搜索框直接打開“命令提示符”:
① 按下“Windows”鍵;
② 輸入“cmd”打開“命令提示符”。
(2) 通過搜索框打開“運(yùn)行”窗口,進(jìn)而打開“命令提示符”:
① 按下“Windows”鍵;
② 輸入“運(yùn)行”或“yunxing”,打開“運(yùn)行”窗口;
(3) 通過“Windows+R”組合鍵打開“運(yùn)行”窗口,進(jìn)而打開“命令提示符”:
① 按下“Windows+R”組合按鍵,打開“運(yùn)行”窗口;
② 輸入“cmd”打開“命令提示符”窗口。
通過以上三種方法可以看出,進(jìn)行按鍵注入攻擊時(shí)均有按下“Windows”鍵的過程,為了使攔截準(zhǔn)確,本文對以下三種操作進(jìn)行按鍵注入標(biāo)記,如表2所示。
表2 按鍵注入標(biāo)記Table 2 Key-press injection mark
當(dāng)鍵盤數(shù)據(jù)監(jiān)聽模塊監(jiān)聽到以上按鍵組合時(shí),則發(fā)出警告,提醒用戶當(dāng)前設(shè)備可能存在風(fēng)險(xiǎn)。整個(gè)過程算法實(shí)現(xiàn)如表3所示。
表3 按鍵注入標(biāo)記特征算法Table 3 Key-press injection marking feature algorithm
4.2.2 數(shù)據(jù)捕獲與反向干擾
惡意USB HID攻擊工具利用HID數(shù)據(jù)口完成與目標(biāo)計(jì)算機(jī)的指令傳遞與數(shù)據(jù)交互操作。WHID依托HID數(shù)據(jù)接口可實(shí)現(xiàn)數(shù)據(jù)密取功能。開發(fā)者可以自定義 HID接口,該接口除了用于實(shí)現(xiàn)鍵盤、鼠標(biāo)等功能外,其接口數(shù)據(jù)可以是溫度、濕度、控制指令,甚至是數(shù)據(jù)格式符合HID報(bào)表格式的任意數(shù)據(jù)。實(shí)現(xiàn)HID接口數(shù)據(jù)傳輸需要對HID接口描述符進(jìn)行自定義,HID標(biāo)準(zhǔn)接口描述符結(jié)構(gòu)如表4所示。
表4 HID標(biāo)準(zhǔn)接口描述符Table 4 HID standard interface descriptor
WHID模型通過數(shù)據(jù)密取單元處理遠(yuǎn)程通信單元所接收的控制指令和有效數(shù)據(jù),同時(shí),也接收目標(biāo)機(jī)所發(fā)送的敏感數(shù)據(jù)以及指令反饋等。
此外,WHID模型遠(yuǎn)程通信單元,為WHID系統(tǒng)提供了遠(yuǎn)程指令控制與數(shù)據(jù)透傳功能。遠(yuǎn)程通信單元可以是WIFI模塊、4G/5G移動(dòng)通信模塊、無線射頻模塊等形式,此類模塊使 WHID系統(tǒng)與遠(yuǎn)程控制端實(shí)現(xiàn)互聯(lián)。遠(yuǎn)程控制端可以通過遠(yuǎn)程通信單元將控制指令、校驗(yàn)數(shù)據(jù)等信息下發(fā)至WHID系統(tǒng),同時(shí),WHID系統(tǒng)也可以將收集到的目標(biāo)系統(tǒng)中的敏感數(shù)據(jù)回傳至遠(yuǎn)程控制端,實(shí)現(xiàn)目標(biāo)敏感數(shù)據(jù)遠(yuǎn)程密取功能。但整個(gè)過程均需依托HID數(shù)據(jù)口實(shí)現(xiàn)目標(biāo)機(jī)數(shù)據(jù)獲取后才可進(jìn)行無線透傳。
具備HID數(shù)據(jù)口的惡意USB HID攻擊工具可以通過HID報(bào)表完成上述操作,通過監(jiān)聽USB HID設(shè)備,可以獲取通過該設(shè)備的數(shù)據(jù)流,將其數(shù)據(jù)流捕獲并保存到數(shù)據(jù)庫中,便于后續(xù)對設(shè)備數(shù)據(jù)流的分析與還原。此外,標(biāo)準(zhǔn)HID鍵盤的HID報(bào)表為8字節(jié)/包,標(biāo)準(zhǔn)鼠標(biāo)的HID報(bào)表為4字節(jié)/包,而對于全速USB設(shè)備,其HID報(bào)表為64字節(jié)/包,對于高速USB設(shè)備,其HID報(bào)表為1024字節(jié)/包。由此可以看出,HID數(shù)據(jù)接口的流量遠(yuǎn)大于標(biāo)準(zhǔn)HID鍵盤和鼠標(biāo),通過監(jiān)控 HID數(shù)據(jù)接口的流量并分析,可以對可疑數(shù)據(jù)交互操作進(jìn)行預(yù)警,形成WHID Defense第二層防護(hù)屏障。本文在WHID Defense“數(shù)據(jù)捕獲”功能中加入了實(shí)時(shí)顯示設(shè)計(jì),可以將捕獲的 HID數(shù)據(jù)包實(shí)時(shí)滾動(dòng)顯示在主界面上,便于用戶查看。
如表5所示為WHID Defense數(shù)據(jù)捕獲算法。
表5 數(shù)據(jù)捕獲算法Table 5 Data capture algorithm
在反向干擾設(shè)計(jì)方面,本文結(jié)合了重放攻擊和DoS攻擊的思想。
(1) 重放攻擊: 又稱重播攻擊、回放攻擊,是指攻擊者發(fā)送一個(gè)目的主機(jī)已接收過的包,來達(dá)到欺騙系統(tǒng)的目的,主要用于身份認(rèn)證過程,破壞認(rèn)證的正確性[32]。很多時(shí)候,設(shè)備之間在進(jìn)行雙向通信時(shí)都有一套內(nèi)部的通信協(xié)議或者傳輸經(jīng)過加密的數(shù)據(jù),而攻擊者對攔截?cái)?shù)據(jù)進(jìn)行解析需要耗費(fèi)大量精力,通過重放攻擊,攻擊者只需要了解攔截?cái)?shù)據(jù)的作用即可在一定程度上干擾目標(biāo)設(shè)備正常通信。具體到本文的研究中,由于可疑設(shè)備可能存在通信協(xié)議復(fù)雜、破解難度大的問題,因此,WHID Defense平臺(tái)在對可疑設(shè)備進(jìn)行反向干擾時(shí),結(jié)合數(shù)據(jù)捕獲的結(jié)果將捕獲的數(shù)據(jù)包直接打包下發(fā)至可疑設(shè)備,達(dá)到欺騙可疑設(shè)備并干擾其正常通信的目的。
該設(shè)計(jì)的作用如下:
① 無需了解、分析可疑USB設(shè)備的通信協(xié)議即可對可疑設(shè)備進(jìn)行信息注入操作;
② 通過增加額外的數(shù)據(jù)流干擾可疑 USB設(shè)備正常通信,在一定程度上增加了其正常傳輸?shù)膼阂鈹?shù)據(jù)流的時(shí)延,耗用通信鏈路的帶寬;
③ 可能引起惡意程序進(jìn)行數(shù)據(jù)重傳等操作,從而干擾正常通信。
(2) DoS攻擊: DoS攻擊,又稱拒絕服務(wù)攻擊,通過利用網(wǎng)絡(luò)協(xié)議中存在的脆弱性或系統(tǒng)漏洞使目標(biāo)設(shè)備無法提供正常服務(wù)[33]。USB HID低速設(shè)備的最高數(shù)據(jù)包輪詢時(shí)間為 10ms,全速設(shè)備的最高數(shù)據(jù)包輪詢時(shí)間為 1ms,而高速設(shè)備的最高數(shù)據(jù)包輪詢時(shí)間為125μs[28]。因此,結(jié)合USB HID設(shè)備的輪詢時(shí)間,設(shè)置三檔反向注入模式,即低速模式: 以1包數(shù)據(jù)/10ms的速率將捕獲的數(shù)據(jù)包下發(fā)至目標(biāo)設(shè)備; 全速模式: 以 1包數(shù)據(jù)/1ms的速率將捕獲的數(shù)據(jù)包下發(fā)至目標(biāo)設(shè)備; 高速模式: 以1包數(shù)據(jù)/125μs的速率將捕獲的數(shù)據(jù)包下發(fā)至目標(biāo)設(shè)備。通過長達(dá)半小時(shí)的不間斷信息注入,擾亂目標(biāo)設(shè)備的正常通信,當(dāng)然,也可以自定義注入時(shí)間。
該設(shè)計(jì)的作用如下:
① 利用USB HID設(shè)備的最高數(shù)據(jù)包輪詢時(shí)間,循環(huán)不間斷注入干擾信息,可以干擾可疑設(shè)備正常通信,使其無法正常接收數(shù)據(jù);
② 可能引起可疑USB設(shè)備宕機(jī)等操作,從而干擾其正常通信。
反向干擾流程如圖12所示。
圖12 反向干擾流程Figure 12 Reverse interference process
4.2.3 用戶身份管理與訪問控制
WHID Defense平臺(tái)具備用戶身份管理與訪問控制功能,用戶可以根據(jù)實(shí)際需要選擇對應(yīng)的角色,從而確定相應(yīng)的防護(hù)策略,這種思想增強(qiáng)了 WHID Defense平臺(tái)的多場景適應(yīng)性。
訪問控制(Access Control)指系統(tǒng)對用戶身份及其所屬的預(yù)先定義的策略組限制其使用數(shù)據(jù)資源能力的手段,是系統(tǒng)保密性、完整性、可用性和合法使用性的重要基礎(chǔ),也是主體依據(jù)某些控制策略或權(quán)限對客體本身或其資源進(jìn)行的不同授權(quán)訪問[34]。為了使WHID Defense平臺(tái)更具有普遍適用性,本文結(jié)合實(shí)際使用人員和使用場景對平臺(tái)防護(hù)性能進(jìn)行了劃分。
本課題共設(shè)計(jì)三種用戶角色,分別為開發(fā)者、管理員和普通用戶,其中,開發(fā)者對應(yīng)開發(fā)模式,管理員對應(yīng)增強(qiáng)模式,普通用戶對應(yīng)辦公模式。具體設(shè)計(jì)如下:
開發(fā)模式: 開發(fā)模式主要針對開發(fā)人員。由于開發(fā)者在進(jìn)行軟硬件開發(fā)時(shí),經(jīng)常會(huì)用到鍵盤的許多快捷按鍵或功能,而且為了便于調(diào)試,也會(huì)啟用計(jì)算機(jī)中的很多功能和接口,并設(shè)置為較高權(quán)限?;谶@一特點(diǎn),平臺(tái)在設(shè)計(jì)時(shí)對 HID鍵盤接口只進(jìn)行監(jiān)控和記錄,將其產(chǎn)生的數(shù)據(jù)保存到數(shù)據(jù)庫中,便于后續(xù)審計(jì)時(shí)使用。同時(shí),為了在一定程度上保護(hù)計(jì)算機(jī)免受惡意USB HID攻擊工具攻擊,保留了對USB HID設(shè)備的數(shù)據(jù)捕獲與存儲(chǔ)功能,開發(fā)人員也可以根據(jù)實(shí)際需要自行設(shè)定干擾周期和時(shí)長對可疑設(shè)備進(jìn)行通信干擾。此外,防護(hù)平臺(tái)也會(huì)針對設(shè)備信息為用戶提供可行性建議,如提示開發(fā)人員查看當(dāng)前計(jì)算機(jī)設(shè)備信息等。
增強(qiáng)模式: 增強(qiáng)模式主要針對管理員。實(shí)際環(huán)境中,一些對防護(hù)級別要求較高的計(jì)算機(jī)需要通過專網(wǎng)甚至是物理隔離等手段使計(jì)算機(jī)處于一個(gè)相對安全的狀態(tài),但是面對像惡意USB HID攻擊工具這種類型的惡意軟硬件相結(jié)合的攻擊則有些力不從心。為了保證鍵盤的基本功能、確保計(jì)算機(jī)的正常使用場景,同時(shí),過濾和監(jiān)控可疑按鍵操作,在該模式下,平臺(tái)對 HID鍵盤接口進(jìn)行了監(jiān)視和記錄,并將其產(chǎn)生的數(shù)據(jù)保存到數(shù)據(jù)庫中,便于后續(xù)審計(jì)時(shí)使用。同時(shí),對4.2.1節(jié)中提到的可疑按鍵操作均進(jìn)行了直接過濾,犧牲了一些快捷按鍵操作,在一定程度上減小計(jì)算機(jī)受到按鍵注入攻擊的風(fēng)險(xiǎn)。此外,保留了對USB HID設(shè)備的數(shù)據(jù)捕獲與存儲(chǔ)功能,用戶也可以根據(jù)實(shí)際需要自行設(shè)定干擾周期和時(shí)長對可疑設(shè)備進(jìn)行通信干擾。
辦公模式: 辦公模式主要針對普通用戶。在實(shí)際辦公環(huán)境中,用戶對系統(tǒng)快捷按鍵等有一定需求,如果完全禁用會(huì)大大降低用戶體驗(yàn),降低工作效率。因此,在該模式設(shè)計(jì)中,充分結(jié)合實(shí)際辦公場景,當(dāng)監(jiān)控到可疑指令時(shí),WHID Defense平臺(tái)會(huì)向用戶發(fā)出警告,并詢問用戶是否是可信行為,若是,則放行該指令,否則,過濾該指令并禁用當(dāng)前計(jì)算機(jī)所有鍵盤設(shè)備,同時(shí),向用戶發(fā)出預(yù)警。若用戶更換目標(biāo)設(shè)備為可信設(shè)備或經(jīng)排除風(fēng)險(xiǎn)認(rèn)為目標(biāo)設(shè)備可信,則可通過鍵盤恢復(fù)功能使平臺(tái)自動(dòng)進(jìn)入辦公模式并開啟按鍵監(jiān)控。整個(gè)過程依然保留了對HID鍵盤接口的監(jiān)視和記錄功能,并將其產(chǎn)生的數(shù)據(jù)保存到數(shù)據(jù)庫中,便于后續(xù)審計(jì)時(shí)使用。此外,還保留了對USB HID設(shè)備的數(shù)據(jù)捕獲與存儲(chǔ)功能,用戶也可以根據(jù)實(shí)際需要自行設(shè)定干擾周期和時(shí)長對可疑設(shè)備進(jìn)行通信干擾。
4.2.4 風(fēng)險(xiǎn)事件分類與統(tǒng)計(jì)
WHID Defense平臺(tái)具備對惡意USB HID攻擊工具的風(fēng)險(xiǎn)事件分類與統(tǒng)計(jì)功能,引入了風(fēng)險(xiǎn)定級思想,能夠根據(jù)事件類型和可疑操作對設(shè)備進(jìn)行動(dòng)態(tài)定級,使評判更科學(xué)、直觀。
風(fēng)險(xiǎn)事件分類與統(tǒng)計(jì)的設(shè)計(jì)思想基于外圍設(shè)備持續(xù)不可信原則。首先,依據(jù)設(shè)備類型及特點(diǎn)設(shè)定初始化風(fēng)險(xiǎn)事件等級分類; 在平臺(tái)監(jiān)測過程中,風(fēng)險(xiǎn)等級會(huì)隨設(shè)備狀態(tài)、事件等信息重新設(shè)置,實(shí)時(shí)動(dòng)態(tài)變化。這樣設(shè)計(jì)更有利于動(dòng)態(tài)識(shí)別本地計(jì)算機(jī) USB HID設(shè)備可能存在的風(fēng)險(xiǎn),實(shí)現(xiàn)設(shè)備從插入、使用到拔出這一全生命周期的預(yù)警。
HID類設(shè)備中,HID鍵盤或鼠標(biāo)等設(shè)備為系統(tǒng)獨(dú)占設(shè)備,是現(xiàn)今用戶正常使用計(jì)算機(jī)所必備的工具之一,因此,將其定義為最低風(fēng)險(xiǎn)等級——四級; 而常規(guī)的有標(biāo)識(shí)的HID設(shè)備(如游戲桿等能識(shí)別出的有具體廠商號的HID設(shè)備或者具有雙向數(shù)據(jù)傳輸功能的 HID設(shè)備),將其風(fēng)險(xiǎn)等級定義為三級; 其他未知的沒有標(biāo)識(shí)的 HID設(shè)備,由于不確定具體來源,將其風(fēng)險(xiǎn)等級定義為二級; 如果在監(jiān)測過程中被系統(tǒng)判定為可疑設(shè)備,將其風(fēng)險(xiǎn)等級定義為一級。具體設(shè)備風(fēng)險(xiǎn)分類如表6所示。
表6 設(shè)備風(fēng)險(xiǎn)等級分類Table 6 Device risk classification
4.2.5 功能分析
惡意 USB HID攻擊檢測防護(hù)平臺(tái)——WHID Defense充分利用了USB HID協(xié)議的脆弱點(diǎn)及主流USB HID攻擊技術(shù)的攻擊特點(diǎn),實(shí)現(xiàn)了對惡意USB HID攻擊工具的監(jiān)控與預(yù)警,具備兼容性高、智能化高、交互性強(qiáng)、功能完善等特點(diǎn),具體功能指標(biāo)如下:
(1) 可以獲取本地計(jì)算機(jī)中的所有USB HID設(shè)備,并顯示各設(shè)備VID、PID等詳細(xì)信息;
(2) 實(shí)時(shí)監(jiān)測USB HID設(shè)備流量,獲取HID設(shè)備數(shù)據(jù)報(bào)表,捕獲數(shù)據(jù)包并存入數(shù)據(jù)庫中;
(3) 針對可疑惡意USB HID設(shè)備,結(jié)合重放攻擊和DoS攻擊開啟反向干擾模式,干擾設(shè)備正常通信;
(4) 實(shí)時(shí)監(jiān)控本機(jī)計(jì)算機(jī)所有HID鍵盤,對所有產(chǎn)生的按鍵信息進(jìn)行監(jiān)控并存入數(shù)據(jù)庫中;
(5) 平臺(tái)具備三種使用場景,每種場景所提供的防護(hù)等級不同,用戶可根據(jù)實(shí)際需要進(jìn)行選擇;
(6) 劃定了設(shè)備風(fēng)險(xiǎn)等級,實(shí)現(xiàn)風(fēng)險(xiǎn)信息的實(shí)時(shí)顯示。
如圖13所示為WHID Defense平臺(tái)運(yùn)行圖。如表7所示為WHID Defense平臺(tái)與Curtain[35]及USB HID攻擊檢測算法[25]的功能指標(biāo)對比。
圖13 WHID DefenseFigure 13 WHID Defense
表7 WHID Defense、Curtain、USB HID攻擊檢測算法功能指標(biāo)對比Table 7 Comparison of functional indicators of WHID Defense,Curtain,and USB HID attack detection algorithms
為了驗(yàn)證WHID Defense檢測防護(hù)平臺(tái)的功能及性能,本文開展了實(shí)驗(yàn)驗(yàn)證工作。本文基于BadUSB、HID漏洞測試平臺(tái)及WHID平臺(tái)共三種攻擊工具完成 WHID Defense檢測防護(hù)測試,著重測試了平臺(tái)按鍵注入識(shí)別、數(shù)據(jù)捕獲與干擾通信三個(gè)方面(由于三種身份模式下按鍵注入識(shí)別實(shí)現(xiàn)原理類似,本節(jié)僅測試辦公模式下的按鍵注入識(shí)別用于功能驗(yàn)證)。
結(jié)合第2部分相關(guān)工作中所述惡意USB檢測技術(shù)國內(nèi)外研究現(xiàn)狀,尚未有研究人員將惡意 USB HID攻擊過程中產(chǎn)生的惡意操作進(jìn)行完整識(shí)別,目前,大多數(shù)檢測方案處于研究階段且多為硬件沙箱模式,無市售產(chǎn)品用于對比。為了使測試結(jié)果更科學(xué),具有對比性,本節(jié)通過在PC-0、PC-1和PC-2中分別安裝USB HID攻擊檢測算法軟件、360安全套件和WHID Defense對識(shí)別惡意按鍵注入攻擊、捕獲目標(biāo)設(shè)備數(shù)據(jù)流、干擾目標(biāo)設(shè)備正常通信三方面進(jìn)行了實(shí)驗(yàn)驗(yàn)證對比和結(jié)果分析。(注: PC-0、PC-1、PC-2均只安裝需要測試的軟件,未安裝其他安全軟件)。
WHID Defense平臺(tái)評價(jià)指標(biāo)主要包括識(shí)別惡意按鍵注入攻擊、捕獲目標(biāo)設(shè)備數(shù)據(jù)流、干擾目標(biāo)設(shè)備正常通信三個(gè)方面。
(1) 識(shí)別惡意按鍵注入攻擊
若檢測防護(hù)工具可以嗅探惡意按鍵注入操作或及時(shí)提醒用戶,則認(rèn)為該工具具備識(shí)別惡意按鍵注入攻擊的能力。對于WHID Defense平臺(tái),在辦公模式下,若發(fā)生按鍵注入攻擊,WHID Defense平臺(tái)會(huì)彈窗提醒并詢問用戶是否為用戶行為,如圖 14所示?;谠撎攸c(diǎn),在評價(jià)WHID Defense平臺(tái)按鍵注入識(shí)別時(shí)可以通過記錄按鍵注入攻擊數(shù)以及按鍵注入提醒數(shù)作為識(shí)別結(jié)果的衡量依據(jù)。
圖14 辦公模式按鍵注入攻擊預(yù)警Figure 14 Office mode key-press injection attack warning
假設(shè)攻擊平臺(tái)共發(fā)起N次攻擊,檢測防護(hù)工具成功攔截并實(shí)現(xiàn)預(yù)警M次攻擊,攔截率為,漏報(bào)率為,則:
(2) 捕獲目標(biāo)設(shè)備數(shù)據(jù)流
目標(biāo)設(shè)備通過HID數(shù)據(jù)接口進(jìn)行指令下達(dá)或數(shù)據(jù)交互操作,若檢測防護(hù)工具可以將流經(jīng)目標(biāo)設(shè)備的數(shù)據(jù)流進(jìn)行本地存儲(chǔ)或云端存儲(chǔ),則認(rèn)為該工具具備捕獲目標(biāo)設(shè)備數(shù)據(jù)流的能力。對于 WHID Defense平臺(tái),可以通過查看WHID Defense平臺(tái)數(shù)據(jù)監(jiān)控接口以及數(shù)據(jù)庫數(shù)據(jù)可以作為平臺(tái)是否成功捕獲目標(biāo)設(shè)備數(shù)據(jù)流的衡量依據(jù),如圖 15所示為WHID Defense捕獲的數(shù)據(jù)。
假設(shè)攻擊平臺(tái)共產(chǎn)生P條通信數(shù)據(jù),數(shù)據(jù)庫(或本地存儲(chǔ)/云端存儲(chǔ))中存儲(chǔ)Q條通信數(shù)據(jù),捕獲率為,丟失率為,則:
(3) 干擾目標(biāo)設(shè)備正常通信
通過 BUSHOUND數(shù)據(jù)監(jiān)控軟件可以觀察流經(jīng)設(shè)備的數(shù)據(jù)包,若開啟通信干擾功能后,目標(biāo)設(shè)備開始不斷地流入數(shù)據(jù)而沒有發(fā)生新數(shù)據(jù)發(fā)送或新數(shù)據(jù)接收操作,則認(rèn)為平臺(tái)通信干擾功能正常。如圖16所示為 BUSHOUND監(jiān)控的設(shè)備數(shù)據(jù)流,圖中可以看出設(shè)備在Cmd.Phase為1.1處發(fā)送一包數(shù)據(jù)后,在2.1處接收一包數(shù)據(jù),然后于3.1處發(fā)送一包數(shù)據(jù),此后,平臺(tái)干擾開啟,設(shè)備在4.1處接收223包干擾數(shù)據(jù)且無任何其他新數(shù)據(jù)發(fā)送或接收操作。本實(shí)驗(yàn)規(guī)定,平臺(tái)只需完成 100包重復(fù)數(shù)據(jù)發(fā)送即認(rèn)為成功完成一次通信干擾操作。對于WHID Defense平臺(tái),其通過重放捕獲數(shù)據(jù)包進(jìn)行DoS攻擊實(shí)現(xiàn)干擾目標(biāo)設(shè)備正常通信的功能。
圖15 WHID Defense捕獲數(shù)據(jù)(MySQL數(shù)據(jù)庫)Figure 15 WHID Defense capture data (MySQL database)
圖16 BUSHOUND監(jiān)控干擾數(shù)據(jù)Figure 16 BUSHOUND monitors interference data
本文通過BadUSB、HID漏洞測試平臺(tái)及WHID平臺(tái)共生成27000條數(shù)據(jù)驗(yàn)證了USB HID攻擊檢測算法、360安全套件和WHID Defense的防護(hù)效果,其中,按鍵注入攻擊數(shù)據(jù)9000條,通信數(shù)據(jù)18000條,具體分布如圖17所示。
圖17 攻擊數(shù)據(jù)分布Figure 17 Attack data distribution
按鍵注入攻擊數(shù)據(jù)依據(jù)按鍵注入特征進(jìn)行構(gòu)建,分別通過BadUSB、HID漏洞測試平臺(tái)及WHID平臺(tái)發(fā)起25種各120次、120次、120次按鍵注入攻擊,以此作為平臺(tái)按鍵注入識(shí)別功能的檢測數(shù)據(jù)。
通信數(shù)據(jù)由算法3(如表8所示)生成6000個(gè)不同的數(shù)據(jù)包,然后將各數(shù)據(jù)包下發(fā)至目標(biāo)設(shè)備,并將設(shè)備設(shè)置為數(shù)據(jù)回傳機(jī)制模擬雙向通信,即設(shè)備收到某一數(shù)據(jù)包后會(huì)將數(shù)據(jù)包最后一個(gè)字節(jié)加1,然后進(jìn)行回傳,將以上數(shù)據(jù)作為平臺(tái)捕獲數(shù)據(jù)功能的檢測數(shù)據(jù)。
實(shí)驗(yàn)驗(yàn)證環(huán)節(jié)中所有計(jì)算機(jī)(PC-0、PC-1、PC-2)都符合以下環(huán)境:
表8 通信數(shù)據(jù)生成算法Table 8 Communication data generation algorithm
(1) 計(jì)算機(jī)型號: DELL OptiPlex 7050
(2) 操作系統(tǒng)版本: Windows 10 企業(yè)版(版本號1803)
(3) 系統(tǒng)類型: 64位操作系統(tǒng),基于x64處理器
(4) 處理器: Intel Core i7-6700 CPU 3.40GHz
(5) 運(yùn)行內(nèi)存: 16.0 GB
實(shí)驗(yàn)驗(yàn)證操作步驟如下:
(1) 分別在PC-0、PC-1、PC-2運(yùn)行USB HID攻擊檢測算法軟件、360安全套件和WHID Defense;
(2) 通過BadUSB、HID漏洞測試平臺(tái)及WHID平臺(tái)分別向PC-0、PC-1、PC-2發(fā)起25種各120次、120次、120次按鍵注入攻擊,并記錄各檢測防護(hù)軟件預(yù)警情況;
(3) 通過BadUSB、HID漏洞測試平臺(tái)及WHID平臺(tái)分別向PC-0、PC-1、PC-2各產(chǎn)生6000次數(shù)據(jù)通信(基于表4.8算法 3),并記錄各檢測防護(hù)軟件捕獲數(shù)據(jù)情況;
(4) 通過BadUSB、HID漏洞測試平臺(tái)及WHID平臺(tái)分別向PC-0、PC-1、PC-2各產(chǎn)生100次數(shù)據(jù)通信,查看并記錄 BUSHOUND數(shù)據(jù)監(jiān)控軟件中各設(shè)備的數(shù)據(jù)接收情況。
(5) 實(shí)驗(yàn)數(shù)據(jù)整理與結(jié)果分析。
具體實(shí)驗(yàn)過程及結(jié)果如下所示:
(1) 識(shí)別按鍵注入攻擊實(shí)驗(yàn)過程及結(jié)果分析
① USB HID攻擊檢測算法驗(yàn)證(基于PC-0)
首先,開啟USB HID攻擊檢測算法,進(jìn)入按鍵監(jiān)控狀態(tài),然后通過BadUSB、HID漏洞測試平臺(tái)及WHID平臺(tái)發(fā)起25種各120次、120次、120次按鍵注入攻擊。統(tǒng)計(jì)各個(gè)工具發(fā)起攻擊時(shí)USB HID攻擊檢測算法的預(yù)警次數(shù)。
實(shí)驗(yàn)過程中,BadUSB發(fā)起3000次按鍵注入攻擊,該檢測算法實(shí)現(xiàn)預(yù)警1997次,漏報(bào)1003次,即USB HID攻擊檢測算法對BadUSB發(fā)起的按鍵注入攻擊攔截率約為66.57%,漏報(bào)率約為33.43%。HID漏洞測試平臺(tái)發(fā)起3000次按鍵注入攻擊,該檢測算法實(shí)現(xiàn)預(yù)警2798次,漏報(bào)202次,即USB HID攻擊檢測算法對HID漏洞測試平臺(tái)發(fā)起的按鍵注入攻擊攔截率約為93.27%,漏報(bào)率約為6.73%。WHID平臺(tái)發(fā)起3000次按鍵注入攻擊,該檢測算法實(shí)現(xiàn)預(yù)警1883次,漏報(bào)1117次,即USB HID攻擊檢測算法對WHID平臺(tái)發(fā)起的按鍵注入攻擊攔截率約為 62.77%,漏報(bào)率約為37.23%。如圖18所示為USB HID攻擊檢測算法按鍵注入攔截結(jié)果。
圖18 USB HID攻擊檢測算法按鍵注入攔截結(jié)果Figure 18 USB HID attack detection algorithm key-press injection interception results
首先,在 PC-1開啟 360安全套件,然后通過BadUSB、HID漏洞測試平臺(tái)及WHID平臺(tái)發(fā)起25種各120次、120次、120次按鍵注入攻擊。統(tǒng)計(jì)360安全套件預(yù)警次數(shù)。經(jīng)實(shí)驗(yàn)驗(yàn)證,360安全套件無法對3個(gè)平臺(tái)的按鍵注入攻擊進(jìn)行預(yù)警。
③ WHID Defense平臺(tái)驗(yàn)證(基于PC-2)
首先,WHID Defense平臺(tái)開啟辦公模式,進(jìn)入按鍵監(jiān)控狀態(tài)。然后通過BadUSB、HID漏洞測試平臺(tái)及WHID平臺(tái)發(fā)起25種各120次、120次、120次按鍵注入攻擊。統(tǒng)計(jì)各個(gè)工具發(fā)起攻擊時(shí)平臺(tái)彈窗警告的次數(shù)。
實(shí)驗(yàn)過程中,BadUSB發(fā)起3000次按鍵注入攻擊,平臺(tái)完成了所有按鍵注入數(shù)據(jù)的監(jiān)測,成功攔截攻擊并實(shí)現(xiàn)彈窗警告 2998次,漏報(bào) 2次,即 WHID Defense對 BadUSB發(fā)起的按鍵注入攻擊攔截率為99.93%,漏報(bào)率為 0.07%。HID漏洞測試平臺(tái)發(fā)起3000次按鍵注入攻擊,平臺(tái)完成了所有按鍵注入數(shù)據(jù)的監(jiān)測,成功攔截攻擊并實(shí)現(xiàn)彈窗警告 3000次,漏報(bào)0次,即WHID Defense對BadUSB發(fā)起的按鍵注入攻擊攔截率為 100%,漏報(bào)率為 0。WHID平臺(tái)發(fā)起3000次按鍵注入攻擊,平臺(tái)完成了所有按鍵注入數(shù)據(jù)的監(jiān)測,成功攔截攻擊并實(shí)現(xiàn)彈窗警告 3000次,漏報(bào)0次,即WHID Defense對BadUSB發(fā)起的按鍵注入攻擊攔截率為100%,漏報(bào)率為0。如圖19所示為WHID Defense按鍵注入攔截結(jié)果。
圖19 WHID Defense按鍵注入攔截結(jié)果Figure 19 WHID Defense key-press injects the interception result
綜上,三個(gè)USB HID攻擊平臺(tái)共發(fā)起9000次按鍵注入攻擊,USB HID攻擊檢測算法實(shí)現(xiàn)攻擊預(yù)警6678次,漏報(bào) 2332次,攔截率為 74.2%,漏報(bào)率為25.8%; 360安全套件無法攔截按鍵注入攻擊; WHID Defense平臺(tái)成功監(jiān)測了所有按鍵注入數(shù)據(jù),成功攔截攻擊并實(shí)現(xiàn)彈窗警告8998次,漏報(bào)2次,攔截率約為99.98%,漏報(bào)率約為0.02%。
(2) 捕獲目標(biāo)設(shè)備數(shù)據(jù)流實(shí)驗(yàn)過程及結(jié)果分析
① USB HID攻擊檢測算法驗(yàn)證(基于PC-0)
首先,在PC-0運(yùn)行USB HID攻擊檢測算法,然后通過BadUSB、HID漏洞測試平臺(tái)及WHID平臺(tái)各產(chǎn)生6000次數(shù)據(jù)通信,USB HID攻擊檢測算法無法捕獲3個(gè)平臺(tái)的數(shù)據(jù)流。
② 360安全套件驗(yàn)證(基于PC-1)
首先,在 PC-1開啟 360安全套件,然后通過BadUSB、HID漏洞測試平臺(tái)及 WHID平臺(tái)各產(chǎn)生6000次數(shù)據(jù)通信,360安全套件無法捕獲3個(gè)平臺(tái)的數(shù)據(jù)流。
③ WHID Defense平臺(tái)驗(yàn)證(基于PC-2)
首先,WHID Defense平臺(tái)開啟數(shù)據(jù)監(jiān)控,然后通過BadUSB、HID漏洞測試平臺(tái)及WHID平臺(tái)各產(chǎn)生6000次數(shù)據(jù)通信。統(tǒng)計(jì)數(shù)據(jù)庫中存儲(chǔ)的各攻擊平臺(tái)的通信數(shù)據(jù)量。
實(shí)驗(yàn)過程中,數(shù)據(jù)庫分別存儲(chǔ)BadUSB、HID漏洞測試平臺(tái)及WHID平臺(tái)通信數(shù)據(jù)量為6000、6000、6000,實(shí)現(xiàn)了通信數(shù)據(jù)全監(jiān)控,捕獲率為 100%,丟失率為0。
(3) 干擾目標(biāo)設(shè)備正常通信實(shí)驗(yàn)過程及結(jié)果分析
① USB HID攻擊檢測算法驗(yàn)證(基于PC-0)
首先,在PC-1運(yùn)行USB HID攻擊檢測算法,然后通過BadUSB、HID漏洞測試平臺(tái)及WHID平臺(tái)各產(chǎn)生100次數(shù)據(jù)通信,BUSHOUND監(jiān)控軟件中各平臺(tái)數(shù)據(jù)流向正常,USB HID攻擊檢測算法無法干擾目標(biāo)設(shè)備正常通信。
② 360安全套件驗(yàn)證(基于PC-1)
首先,在 PC-1開啟 360安全套件,然后通過BadUSB、HID漏洞測試平臺(tái)及WHID平臺(tái)各產(chǎn)生100次數(shù)據(jù)通信,BUSHOUND監(jiān)控軟件中各平臺(tái)數(shù)據(jù)流向正常,360安全套件無法干擾目標(biāo)設(shè)備正常通信。
③ WHID Defense平臺(tái)驗(yàn)證(基于PC-2)
首先,WHID Defense平臺(tái)開啟干擾模式,然后通過BadUSB、HID漏洞測試平臺(tái)及WHID平臺(tái)各產(chǎn)生100次數(shù)據(jù)通信,查看BUSHOUND數(shù)據(jù)監(jiān)控軟件中各設(shè)備的數(shù)據(jù)接收結(jié)果。
實(shí)驗(yàn)過程中,BadUSB、HID漏洞測試平臺(tái)及WHID平臺(tái)各產(chǎn)生 100次數(shù)據(jù)通信。其中,WHID Defense成功干擾BadUSB數(shù)據(jù)通信97次,HID漏洞測試平臺(tái)98次,WHID平臺(tái)98次,共成功干擾目標(biāo)設(shè)備293次,成功率為97.7%。
綜合以上三個(gè)實(shí)驗(yàn)結(jié)果表明,WHID Defense平臺(tái)在識(shí)別惡意按鍵注入攻擊、捕獲目標(biāo)設(shè)備數(shù)據(jù)流、干擾目標(biāo)設(shè)備正常通信三方面有著較強(qiáng)的檢測防護(hù)能力,防護(hù)手段完善、防護(hù)面廣。如表9所示為USB HID攻擊檢測算法、360安全套件、WHID Defense功能評價(jià)對比結(jié)果。此外,結(jié)合用戶身份管理與訪問控制、風(fēng)險(xiǎn)事件分類與統(tǒng)計(jì)等功能構(gòu)建了一個(gè)全面的通用USB HID攻擊檢測防護(hù)平臺(tái),為解決USB HID攻擊提供了技術(shù)思路和系統(tǒng)原型。
表9 USB HID攻擊檢測算法、360安全套件、WHID Defense功能評價(jià)對比結(jié)果表
以往人們認(rèn)為惡意攻擊總會(huì)通過軟件或網(wǎng)絡(luò)發(fā)起或傳播,只要保證硬件處于物理隔離環(huán)境便可保護(hù)硬件設(shè)備免受攻擊從而確保數(shù)據(jù)安全,但是隨著“震網(wǎng)”病毒、COTTONMOUTH-I、BadUSB、USB Rubber Ducky等攻擊事件或攻擊工具的曝光,研究人員開始思考硬件層次的安全。隨著USB接口的提出和廣泛使用,越來越多的數(shù)據(jù)存儲(chǔ)在USB設(shè)備中或通過USB設(shè)備完成數(shù)據(jù)的遷移和交互,針對USB接口的USB HID攻擊技術(shù)也逐漸興起,保護(hù)個(gè)人計(jì)算機(jī)免受USB HID攻擊正面臨著嚴(yán)峻挑戰(zhàn)。
USB接口簡化和改進(jìn)了個(gè)人計(jì)算機(jī)與外圍設(shè)備之間的接口,為數(shù)據(jù)傳輸?shù)冉换スぷ魈峁┝吮憷?也提高了人們的工作效率,可以說 USB接口就是為了便利性而生。USB接口在提供便利性的同時(shí),也存在很多脆弱點(diǎn),USB HID攻擊正是利用這些脆弱點(diǎn)展開了通過硬件接口進(jìn)行惡意操作和數(shù)據(jù)密取等一系列破壞性操作。因此,研究USB HID攻擊的攻擊特性,并研究相應(yīng)的檢測防護(hù)技術(shù)迫在眉睫。
本文通過對 USB協(xié)議進(jìn)行研究,提出了 USB協(xié)議中存在的 4個(gè)脆弱點(diǎn)。通過研究國內(nèi)外主流USB HID攻擊工具提出了USB HID攻擊模型,并以此為原型提出了新型的檢測防護(hù)思想,設(shè)計(jì)了惡意USB HID攻擊檢測防護(hù)平臺(tái),為研究人員研究基于HID的USB設(shè)備安全技術(shù)提供了理論模型和實(shí)驗(yàn)驗(yàn)證平臺(tái)。
隨著USB HID攻擊技術(shù)正朝著高隱蔽性、高速率、高集成方向發(fā)展,研究更完善的USB設(shè)備安全技術(shù)還有很長的路要走。以下是針對本文研究內(nèi)容存在的不足以及未來研究構(gòu)想提出的幾點(diǎn)展望,主要概括如下:
(1) 按鍵間隔識(shí)別
由于按鍵注入攻擊具有快速注入的特點(diǎn),與正常用戶按鍵間隔差異明顯,因此,可以通過構(gòu)建“按鍵鍵值間隔索引庫”,引入機(jī)器學(xué)習(xí)的方法構(gòu)建一個(gè)智能檢測比對模型用以區(qū)分按鍵注入攻擊和正常按鍵,同時(shí),隨著用戶按鍵錄入數(shù)據(jù)的增多,該模型可以自主學(xué)習(xí)用戶按鍵習(xí)慣,從而使識(shí)別結(jié)果更科學(xué)。開展本部分工作的前提是收集具有代表性、廣泛性的大量按鍵數(shù)據(jù)。
(2) 多設(shè)備監(jiān)控
目前 WHID Defense平臺(tái)只能實(shí)現(xiàn)單設(shè)備實(shí)時(shí)監(jiān)控,隨著計(jì)算機(jī)功能的增強(qiáng),越來越多的 USB外設(shè)成為日常工作的必要組成設(shè)備,因此,可以研究對多設(shè)備的實(shí)時(shí)監(jiān)控,保證個(gè)人計(jì)算機(jī)安全。
根據(jù)以上分析,基于HID的USB設(shè)備安全技術(shù)在按鍵間隔識(shí)別和多設(shè)備監(jiān)控方面還有很大的研究空間,也有很多問題亟待解決。這需要研究人員不斷深入分析和研究 USB HID技術(shù),借助新興技術(shù),不對完善USB HID攻擊檢測防護(hù)技術(shù),保護(hù)個(gè)人隱私、商業(yè)秘密、政府機(jī)密不受侵害。