999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

針對USB接口的安全測試方法研究*

2020-03-25 07:35:10肖,黃鐘,余
通信技術 2020年1期
關鍵詞:功能設備檢測

陳 肖,黃 鐘,余 靜

(成都國信安信息產業基地有限公司,四川 成都 610041)

0 引 言

通用串行總線(Universal Serial Bus,USB)是一種具備熱插拔、體積小、成本低、擴展性好等優點的總線接口技術,其應用包括鼠標鍵盤、打印機、智能手機及網卡等多種設備,經過多年的發展已經升級為3.0版本,理論速度可達5.0 Gb/s[1]。

USB提供了多種設備協議規范,包括USB MSC(大容量存儲)、USB HID(人機接口設備)、USB Power Delivery(快速充電規范)以及USB OTG(On-The-Go)等。USB接口具備跨平臺的特性,各個系統平臺都遵循一致的USB標準,因此一旦遭受到惡意攻擊,將影響大量設備的正常運行。USB接口面臨著不同層次的惡意攻擊方向,部分敏感數據在通信過程中存在著信息泄露的風險,相關協議和驅動也存在著安全隱患。

1 USB接口的數據通信

USB總線接口由USB主機、USB設備和兩者之間的互連組成[2]。USB通信過程中,通過調用Windows API函數,系統I/O管理器將主機請求構造成一個I/O請求包(I/O Request Packet,IRP),并把它傳遞給USB功能驅動。USB功能驅動接收到IRP以后,根據數據載荷包含的操作指令構造出相應的URB請求塊(USB Request Block),并將此URB放入一個新的IRP中,然后把這個IRP向下傳遞給USB總線驅動。USB總線驅動根據該IRP中URB的數據執行相應的操作,操作完成后把結果返還給USB功能驅動[3]。USB功能驅動將包含結果數據的IRP返還給I/O管理器,最后I/O管理器將此IRP操作結果返還給應用程序。USB接口的數據通信流程如圖1所示。

圖1 USB接口設備數據通信流程

USB主機和USB設備之間的通信是由USB控制器控制的。主機側和設備側的USB控制器分別稱為主機控制器和設備控制器。主機控制器驅動和USB設備驅動構成了USB總線驅動,其中前者用于控制插入接口中的USB設備,后者用于控制USB設備與主機之間通信,從而實現具體的業務[4]。USB的驅動結構如圖2所示。

USB主機控制器驅動由USB核心驅動(USB Core Driver,USBD)和USB主機控制器驅動(USB Host Controller Driver,HCD)組成,協議相關的操作由兩部分共同處理完成。其中,HCD實現了主機控制器的硬件抽象,向下管理和檢測主控制器硬件的各種行為,向上接受USBD的調用和管理,主要功能包括主機控制器初始化、根HUB設備配置、相應接口函數提供以及完成數據傳輸等。

圖2 USB接口驅動結構

USBD是USB主機驅動的核心,是USB設備驅動與HCD通信的唯一通道。USBD一方面接收來自上層驅動傳遞的非USB格式數據流,按協議進行數據處理后傳遞給HCD,另一方面處理來自下層的HCD數據,傳遞給上層的設備驅動程序。

根據USB接口協議規范,USB總線上的所有數據傳輸都是由USB主機發起的。當USB設備連接到集線器時,集線器會將狀態變化信息傳遞給USB主機,此后USB主機通過根集線器向USB設備發送命令、獲取USB設備的各種信息,包括USB設備傳輸類型、USB速度及設備ID號等。

USB事務是USB主機和USB設備之間數據傳輸的基本單位,每次事務過程以2~3個數據包的形式進行USB總線傳輸[5]。每個數據包均包含以下2~3個步驟:

(1)USB主機控制器向USB設備發出相應操作指令;

(2)USB主機控制器和USB設備之間傳遞讀寫請求,其方向取決于第一部分的命令是讀還是寫;

(3)數據的接收方向發送方報告此次數據是否傳輸成功。

2 針對USB接口的攻擊測試方法

通過對USB接口通信過程的分析,可以從交互數據的產生、分發及處理等途徑對USB接口開展攻擊測試。

2.1 通過監聽USB接口獲取敏感數據信息

USB接口設備與主機進行交互時,攻擊者可以通過監聽USB接口的方式,將線路中的數據流旁路出來,然后按照USB總線協議格式解析數據包,以此獲取USB接口設備與主機的交互數據。部分具有身份認證功能的設備如認證key、加密U盤等,在使用過程中需要輸入賬號密碼等敏感信息,如果在交互過程中沒有對數據進行保護,則可能導致關鍵信息的泄露。

USB功能驅動由開發者編寫,實現了USB設備與主機之間通信的基本操作。由圖2可知,在USB驅動結構層次中,USB功能驅動位于HCD上方,不與實際的硬件打交道,而USB功能驅動實現對硬件設備的控制是通過向USBD發送包含URB的IRP來實現的。

URB作為描述與USB設備通信所用的基本載體和核心數據結構,根據驅動的需要發送或接受的數據。USB設備中的每個端點都會處理一個URB隊列,當URB被USB設備驅動創建后,承載了主機與USB接口產品的指令數據,會被安排給USB設備的特定端點。

因此,實現監聽USB接口的一種方式是在設備進行敏感數據操作時,采用軟件或硬件的方式旁路出操作系統發送給驅動程序的IPR包,然后解析IRP包中承載的URB數據,根據上下文即可獲得所需的敏感數據。

2.2 通過反編譯USB設備的驅動等文件得到敏感代碼信息

反編譯技術通過對低級語言代碼進行分析轉化,可以得到等價的高級語言代碼。通過反編譯可以實現對USB接口設備重要功能函數的定位和分析,從而獲取相關的敏感代碼信息。

在USB驅動體系中,設備功能驅動主要負責處理I/O請求,用戶模式下所有驅動程序的I/O請求全部由操作系統化為IRP類型的數據結構,而大部分請求是在派遣函數(DispatchFunction)中處理的。

IRP的基本屬性包括MajorFunction和MinorFunction,分別記錄了IRP的主類型和子類型。驅動程序在接收到不同類型的IRP后,操作系統會根據MajorFunction將IRP分發到不同的派遣函數中。在派遣函數中IRP得到處理,同時也可以確定這個IRP屬于哪種MinorFunction。

對具有認證、加密及交互等功能函數的USB接口設備,可以采用反編譯軟件對驅動和dll等文件進行反編譯,通過分析反編譯后的源代碼或偽代碼,以此獲得目標程序中派遣函數或關鍵處理函數的信息如函數名、參數值、處理邏輯及輸入輸出路徑等,為后續的數據讀取、權限控制等做準備。

2.3 通過掛載過濾驅動對USB接口的交互信息進行篡改

當USB接口設備與主機進行通信時,通過攔截交互的數據包并對數據包進行篡改,可能會破壞設備的正常功能;或者采用構造異常數據、重放指令數據包的方式,使USB接口產品接收到錯誤的指令,則可能返回部分敏感信息,從而實現對USB接口設備的攻擊。

IRP傳輸時首先會被傳遞到設備棧最頂層的地方,然后逐步傳遞到下面的驅動程序。操作系統在構造設備棧時,I/O管理器可以使一個設備對象附加到另一個初始驅動程序創建的設備對象上,與初始設備對象相關的驅動程序決定的IRP,也將被發送到附加的設備對象相關的驅動程序上,這個被附加的驅動程序稱為過濾驅動程序。

過濾驅動可以在設備棧的任何層次中插入,過濾驅動創建的關鍵代碼為Device類。其中,AddDevice函數構造過濾器的實例,將創建的設備通過IoAttachDeviceToDeviceStack綁定到被過濾的設備上。對應不同的過濾功能,需要攔截的IRP也不同。在這個類里通過把過濾器插入設備棧實現IRP的攔截功能,進而可以使用自定義的完成例程來實現特定的功能。

因此,可以通過在USB接口設備的功能驅動上添加過濾驅動,使用過濾驅動程序來檢查、修改和完成它接收到的IRP,或者構造自己的IRP,從而達到修改數據的目的,實現對USB接口產品的有效攻擊測試。

2.4 通過USB HID攻擊獲取設備權限

對于具備USB接口的主機類設備,可以通過控制用戶的鍵盤獲取操作權限。采用人機接口設備(Human Interface Device,HID)攻擊可以將一個USB接口設備模擬成為鍵盤,讓主機將其識別為鍵盤類型,然后可以對主機進行腳本模擬按鍵攻擊[6]。

HID攻擊屬于物理層面攻擊。在驅動程序中,所有HID定義的設備驅動程序提供了對應數據類型和格式的自我描述包,計算機上的HID驅動程序可以解析數據和實現數據I/O與應用程序功能的動態關聯。

由于一般主機對HID設備缺少嚴格的檢測措施,只是簡單識別設備類型(HID設備標識符),計算機無法區分哪些是合法用戶設備,哪些是惡意設備。通過插入帶有攻擊代碼的USB設備,隨著惡意代碼的加載執行,便可實現HID攻擊。所以,通過修改設備反饋信息讓電腦將其他設備誤認為HID設備,就可以利用計算機和用戶輸入的外圍設備之間的基本信任實現攻擊,從而獲取控制權限。

3 針對USB接口的安全檢測方法

結合針對USB接口的多種攻擊測試手段,相應的安全檢測方法可以從以下幾個方面開展。

3.1 檢測USB接口的數據傳輸過程是否加密

檢測數據傳輸過程是否加密的方法可以通過采用Bushound、Usbtrace等USB接口監聽軟件,或者USB協議分析儀等硬件設備捕獲USB設備與USB主機之間的交互信息。

開展安全測試時,首先開啟監聽工具,插入被測設備。待主機上的應用程序輸入賬號密碼等敏感信息時,監聽工具旁路線路上的通信數據包,然后將數據進行分析比對,若發現旁路數據與輸入數據一致,則說明該USB設備存在明文數據傳輸的隱患。

3.2 檢測USB接口設備的數據存儲是否加密

檢測數據存儲過程是否加密的方法可以通過讀寫USB接口設備的存儲空間驗證。首先讀取USB產品的存儲空間數據,寫入特定數據后再次讀取存儲空間,最后比對前后存儲空間數據列表,驗證是否存在可識別的輸入指令。若發現一致的數據,則說明該USB接口設備存在敏感數據明文存儲的隱患。

3.3 檢測USB接口設備的敏感文件保護措施

檢測敏感文件保護可以通過查看設備軟件是否采取了反逆向工程技術,防范攻擊者對設備文件的反編譯分析。測試過程中可以采用IDA等反編譯軟件對驅動和dll等文件進行反編譯,通過分析反編譯的文件代碼,查看是否可以獲取到如加密函數、數據存儲位置、參數設置等一些敏感代碼的信息。若未進行反編譯處理,則說明該USB接口設備存在敏感數據泄露的隱患。

3.4 檢測USB接口設備對錯誤信息的處理

檢測USB接口設備能否正確應對錯誤的指令數據。開展測試時,通過采用過濾驅動掛載的方式篡改USB接口設備的通信數據,并觀察該設備的反應。若篡改數據可導致設備產生不正常的響應,則說明該設備未對錯誤信息進行有效處理。

3.5 檢測USB接口產品對重放信息的處理

檢測USB接口設備能否正確應對重放的指令數據。采用過濾驅動軟件對USB接口設備的通信數據進行捕獲和重放,并觀察該設備的反應。若重放數據能導致USB接口設備再次返回相同的敏感數據,則說明該USB設備未對重放信息進行有效處理。

3.6 檢測USB接口設備能否識別惡意設備

檢測USB接口設備能否識別并阻止惡意設備。當插入外部設備時,查看被測設備能否通過在系統的安全事件日志中收集相應事件,并通過分析設備名稱和ID識別惡意設備。若未對外部設備的信息進行判斷,則說明該USB接口設備不能識別惡意設備。

4 針對USB接口的安全防御方法

具有敏感數據傳輸需求的USB接口設備應在傳輸過程中對數據進行加密處理。采用認證協議或者加密算法對需要傳輸的關鍵信息進行處理,保證數據包即使被攻擊方捕獲也無法從中獲取敏感數據。

具有敏感數據存儲需求的USB接口設備應在存儲過程中對數據進行加密處理。采用加密算法對需要存儲的敏感信息進行加密,使得攻擊方無法通過讀取地址空間的方式獲取敏感數據。

具有敏感信息交互功能的USB接口設備的相關代碼文件應進行安全加固。通過加殼、混淆等技術手段對相關文件進行保護,使得攻擊方無法通過反編譯、脫殼的方式,利用設備文件獲取敏感代碼信息。

USB接口設備應具備判斷并處理異常數據的能力。通過完善USB接口產品對異常指令的處理機制,使得攻擊方在發送異常數據時,產品能夠做出正確的響應,避免進入異常狀態。

USB接口設備應具備判斷并處理重放數據的能力。通過采用時間戳、序列號等方式對數據包進行保護,使得攻擊方在發送相同數據包時,USB接口產品能夠根據標志屏蔽惡意數據包。

5 結 語

隨著USB接口的廣泛應用,相關設備面臨的安全形勢越來越嚴峻。本文分析了針對USB接口的多種攻擊方法及原理,并提出了相應的安全測試手段和防御途徑,可為后續USB接口安全測試工具的研究和測試工作的開展提供指引。

猜你喜歡
功能設備檢測
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
諧響應分析在設備減振中的應用
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
關于非首都功能疏解的幾點思考
小波變換在PCB缺陷檢測中的應用
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
原來他們都是可穿戴設備
消費者報道(2014年7期)2014-07-31 11:23:57
主站蜘蛛池模板: 久久黄色一级视频| 第一页亚洲| 国产精品所毛片视频| 欧美人与牲动交a欧美精品| 青青久视频| 国产拍揄自揄精品视频网站| 亚洲AV永久无码精品古装片| yy6080理论大片一级久久| 久久中文无码精品| 9啪在线视频| 毛片网站在线看| 免费不卡视频| 欧美日本在线一区二区三区| 欧美不卡视频一区发布| 国产日韩欧美在线播放| 一级成人a毛片免费播放| 制服丝袜一区二区三区在线| 国产在线精品香蕉麻豆| 日韩国产精品无码一区二区三区| 精品一区二区无码av| 欧美精品伊人久久| 日韩在线视频网| 91在线国内在线播放老师| 亚洲成人免费在线| 久久夜色精品国产嚕嚕亚洲av| 国产不卡网| 久久久久无码国产精品不卡| 夜夜操天天摸| 亚洲国产理论片在线播放| 91午夜福利在线观看精品| 国产亚洲精久久久久久无码AV | 欧美视频免费一区二区三区| 亚洲av无码人妻| 97se亚洲综合| 在线观看的黄网| 毛片免费网址| 大乳丰满人妻中文字幕日本| 免费全部高H视频无码无遮掩| 国产精品污污在线观看网站| 久久国语对白| 69精品在线观看| 成人午夜久久| 麻豆a级片| 国产乱肥老妇精品视频| 免费看久久精品99| 无码aⅴ精品一区二区三区| 九九精品在线观看| 国产成人精品亚洲日本对白优播| 亚洲乱伦视频| 久久99国产视频| 久久伊人操| 亚洲男人天堂网址| 国产国拍精品视频免费看| a级毛片免费看| 国产精品自在拍首页视频8| 丰满人妻久久中文字幕| 中文字幕日韩丝袜一区| 国产精品亚欧美一区二区| 亚洲激情区| 中文字幕第1页在线播| 久久一级电影| 69综合网| 日韩无码视频播放| 97视频免费在线观看| 国产国模一区二区三区四区| 日韩成人在线一区二区| 国产成人精品一区二区| 欧美一区二区人人喊爽| 亚洲国产高清精品线久久| 亚洲AⅤ综合在线欧美一区| 国产精品毛片在线直播完整版| 日韩午夜福利在线观看| 精品国产污污免费网站| 五月激情婷婷综合| 亚洲swag精品自拍一区| 1024你懂的国产精品| 国产真实二区一区在线亚洲| 再看日本中文字幕在线观看| 精品撒尿视频一区二区三区| 91久久夜色精品| 欧美日在线观看| 久久精品只有这里有|