學術堂首頁 | 文獻求助論文范文 | 論文題目 | 參考文獻 | 開題報告 | 論文格式 | 摘要提綱 | 論文致謝 | 論文查重 | 論文答辯 | 論文發表 | 期刊雜志 | 論文寫作 | 論文PPT
學術堂專業論文學習平臺您當前的位置:學術堂 > 法學論文 > 法律論文 > 刑事偵查學論文

BadUSB攻擊原理、類型及其偵查防范措施

時間:2020-03-31 來源:警察技術 作者:郭永帥,王勝和,滿超 本文字數:4579字

  摘    要: BadUSB是2014年黑帽大會提出的惡意硬件攻擊技術,其利用USB設備固件漏洞入侵計算機系統,現有的安全系統無法防御,嚴重威脅了用戶的安全。為防范BadUSB入侵及偵查此類案件,研究其發展歷史,以BadUSB攻擊原理、攻擊類型為基礎制作BadUSB,分析BadUSB的偵查及防范措施,為公民和公安機關了解BadUSB提供參考。

  關鍵詞: BadUSB; 攻擊原理; 攻擊類型; 偵查防范;

  引言

  隨著硬件技術的飛速發展,USB設備以其靈活性高、兼容性廣深受人們的喜愛,USB接口是計算機系統上使用最多、最通用的接口,這也因此受到黑客們的關注,從早期的在USB設備根目錄存放autorun.inf文件傳播病毒,到HID攻擊及現在的BadUSB,USB設備一直都是黑客們研究的重點對象。USB設備的低成本、低門檻已經使得HID攻擊隨處可見,不難預見Bad USB亦會飛速發展,所以對Bad USB的研究十分有必要。

  一、BadUSB的發展

  (一)USB自動運行攻擊

  在早期的互聯網發展中,計算機之間的數據交換受限于網絡帶寬和存儲介質容量,為了方便應用,在可移動存儲介質(軟盤、U盤等)中加入自動運行的功能,在可移動存儲介質根目錄下添加autorun.inf和setup.exe文件,實現自動播放的功能。基于此,將正常的autorun.inf文件和setup.exe的病毒文件存放在USB根目錄,實現對計算機系統的入侵。2011年,微軟發布補丁修復,阻斷USB自動運行功能,而后USB自動運行攻擊進化為USB偽裝光盤自動運行入侵。制作方法是將USB量產偽裝為CD-ROM光驅,將autorun.inf文件和病毒文件制作成ISO文件寫入U盤,這即是Bad USB的雛形。

  (二)USB HID攻擊

  隨著信息技術的發展,自動播放功能逐漸退出歷史舞臺,可移動存儲介質飛速發展,HID協議成為USB設備常用的協議,HID協議是一種計算機協議,約定了計算機在完成通訊過程時所要遵守的規則,HID協議使得設備之間無需安裝驅動就能進行交互。USB HID(Human Interface Device,人機交互設備,如鍵盤、鼠標等)攻擊即是將U盤模擬成鼠標或者鍵盤,并通過虛擬鍵盤輸入集成到U盤固件中的指令和代碼進行攻擊,插入U盤后便有一個無形的鍵盤輸入指令進行惡意操作。USB HID攻擊最大的特點就是惡意代碼隱藏在固件之中,且具有固定的設備,如Arduino、USB RUBBER DUCKY和Teensy USB。
 

BadUSB攻擊原理、類型及其偵查防范措施
 

  (三)BadUSB攻擊

  在2014年美國黑帽大會上,BadUSB由安全研究人員Jakob Lell和Karsten Nohl提出,并展示了攻擊方法,可以說現如今幾乎所有USB設備都有成為BadUSB的風險。不同于HID攻擊將惡意代碼寫入Tennsy或者Arduino leonardo U盤芯片,BadUSB則是通過利用USB協議的漏洞,對USB設備的固件反編譯,改寫USB設備的固件系統進行攻擊,并不需要特別定制,只要是可編譯的USB設備都有成為BadUSB的可能,BadUSB與HID攻擊特點的對比如圖1所示。

  二、BadUSB攻擊原理

  (一)USB設備內部結構

  以U盤為例,U盤是由USB端口、主控芯片、FLASH(閃存芯片)、底板及外殼構成。其中主控芯片相當于U盤的大腦,負責管理部件和下達指令,與計算機交互,主控芯片實際上是一個低功耗計算機,它通過從內存芯片加載基本的引導程序來啟動,類似于計算機系統的硬盤驅動器包含一個隱藏的主引導記錄,如圖2所示。

  (二)BadUSB攻擊原理

  USB設備插入計算機系統之后,需要經過枚舉過程才能與計算機進行通信,枚舉過程即是向主機申請端口地址,發送設備描述符的過程。在這個過程中,USB設備的信息是由自己提供的,具有可變性。

  USB設備漏洞原理:(1)由于USB設備枚舉過程中,USB設備信息具有可變性,即存在USB設備具有多個輸入輸出的特征,并可以注銷再次描述為其他的設備。(2)枚舉過程中,有數據通信交換的過程,在USB協議中并沒有校驗過程,這會導致黑客可以隨意的添加惡意數據來攻擊計算機系統,如圖3所示。

  根據USB設備的漏洞原理,黑客將惡意代碼添加至USB設備的固件之中,而安全防護軟件對USB設備的正常通信沒有任何防御,致使黑客可以輕而易舉的入侵計算機系統,造成巨大的損失,如圖4所示。

  三、BadUSB攻擊類型

  Bad USB屬于硬件設施,入侵計算機系統需要對目標進行物理接觸,而這種物理接觸一般都是利用社會工程學的方式,如掃碼贈送BadUSB設備,向目標郵寄BadUSB設備,在目標附近丟棄BadUSB設備誘使其撿到,假裝上門維修等等方式,方式多種多樣,但目的都是和目標計算機接觸,入侵計算機系統。

  (一)鍵盤模擬方式

  利用社會工程學的方式將鍵盤模擬方式的BadUSB設備接入計算機,此時計算機系統會將BadUSB識別成一個鍵盤,從而執行從BadUSB輸入的惡意指令,并免疫病毒查殺,從而在計算機系統內開后門提升權限。

  (二)USB設備篡改Windows系統的DNS設置

  將USB設備偽裝成交換機,包含DNS服務器地址,但沒有默認網關,會使得網絡流量仍然能通過正常的Wi-Fi連接,但是所有的DNS查詢會發送到USB制定的服務器,導致重定向攻擊。

  (三)USB引導扇區病毒

  當U盤被改寫成啟動盤時,在U盤的固件中反編譯一個集成引導扇區病毒的系統鏡像,在使用BIOS啟動U盤的系統時,先啟動固件中隱藏的病毒系統,從而感染引導計算機系統。

  四、BadUSB制作分析

  (一)制作原理

  首先尋找已知的具有BadUSB漏洞的USB型號,重復重置更新USB固件過程,使用抓包軟件獲取其通信過程,獲取USB設備固件命令。其次對USB設備固件進行反編譯得到固件的源代碼。最后將寫好的惡意代碼腳本編譯為二進制文件.bin,使用燒錄器將USB設備鏡像同惡意代碼文件一同燒錄至固件,具體流程如圖5所示。

  (二)制作BadUSB

  所需U盤芯片:Chip 2303、Chip 2307、Chip 2309;U盤類型:東芝TOSHIBA THV3SZK-16G-BK;U盤制作環境:.NET 4.0,編譯工具Visual Studio 2010 Express,SDCC(Small Device C Compiler,U盤單片機編譯器),Psychson項目文件。制作步驟如下:

  1. 編寫腳本

  因已知芯片類型,直接編寫惡意代碼,惡意代碼腳本語言為Ducky Script。Ducky Script腳本語法的每個命令駐留在一個新的行上,命令均為大寫字母,大多數命令調用擊鍵、鍵組合或文本串,而有些則提供延遲或暫停。關鍵代碼如下:

 

  2. 編譯燒錄

  將惡意代碼,寫入自定義鏡像文件,附加正常的鏡像寫入閃存中,關鍵代碼如下:

  3. 實驗驗證

  實驗環境:Windows7操作系統,i3處理器PC電腦兩臺,BadUSB一個。在靶機上插入BadUSB,便獲得管理員賬號Local000,badusb。打開靶機的控制面板-用戶賬戶,發現已有Local000的管理員賬戶,說明BadUSB入侵成功。

  根據BadUSB的制作過程分析,驗證了BadUSB是通過利用USB協議的漏洞,對USB設備的固件反編譯,改寫USB設備的固件系統進行攻擊。同時在攻防練習中,Bad USB拿下目標主機只需要5秒鐘,危害不言而喻。

  五、BadUSB偵查與防范對策

  (一)偵查策略

  1. 追根溯源

  Bad USB的產生必定是人為制作,USB設備的來源可以提供許多有效線索。BadUSB設備以U盤為主,一般在購物網站購買,因BadUSB具有消耗品性質,故并非單個購買,且U盤芯片具有固定的型號,芯片具有可編譯的特性,如Phison 2303(2251-03),由此可根據購物網站的商家調查收貨地址,以犯罪嫌疑人居住地為收貨地址展開調查,鎖定嫌疑人。

  2. 查找痕跡

  Bad USB在受害者計算機系統上使用,必定會安裝相應的USB驅動,可通過查找受害者計算機系統U盤驅動來確定Bad USB驅動型號以及安裝時間,32位的計算機系統USB驅動地址為:C:\Windows\System32\drivers,如圖6所示,并通過右鍵屬性查看時間戳、數字簽名等信息,以此可查找犯罪嫌疑人計算機系統相應的USB驅動及其U盤來固定證據,鎖定嫌疑人。

  3. 日志查看

  Windows日志文件記錄著Windows系統運行的每一個細節,可以此尋找犯罪嫌疑人的信息,從安全日志中尋找管理員賬戶的增加和刪除;在系統日志可查詢計算機系統上傳文件的信息和端口的開啟信息;在FTP日志中尋找上傳FTP的地址信息;在程序日志中尋找郵件發送的地址信息等,可將系統日志導出至日志管理軟件,方便查找線索,同時可從防火墻查看出端口訪問記錄,找出線索。

  4. 取證偵查

  Bad USB入侵計算機系統后,使用取證軟件對計算機系統進行數據恢復、偵查取證。查看郵件程序收發信息、DNS的篡改信息、服務器上傳文件信息等,對之前的偵查措施有查遺補缺的作用,也可對犯罪嫌疑人的計算機系統進行取證,查找網頁歷史記錄、購物軟件等是否存在關于Bad USB的相關信息。

  5. 手印視頻偵查

  Bad USB入侵計算機系統必須要和計算機接觸,顯示器、機箱都容易留下手印痕跡,可使用磁性指紋刷顯現指紋,再進行指紋對比,查找犯罪嫌疑人。同時,調取相應監控,以計算機系統BadUSB驅動安裝時間為基數,核查監控錄像,縮小范圍,尋找嫌疑人線索。

  (二)防范措施

  1. 停用命令提示符

  Bad USB的入侵都是在命令行上運行惡意腳本,停用命令行可以阻斷BadUSB對惡意腳本的調用,從而在根源上防范BadUSB。停用命令提示符步驟如下:打開“運行”窗口,輸入命令“gpedit.msc”并按回車,從打開的“組策略編輯”界面中,依次展開“用戶配置”-“管理模塊”-“系統”項,從右側找到“阻止訪問命令提示符”項,右擊并選擇“編輯”項。從打開的“阻止訪問命令提示符”界面中,勾選“已啟動”項,同時設置“禁用命令提示符腳本處理”,點擊“確定”即可完成設置。

  2. 命令行記錄工具

  Win10下命令行工具PowerShell自帶記錄命令行命令功能,命令行記錄功能雖然不能起到防范作用,但可以做到最大程度的挽回損失,并根據BadUSB腳本反追蹤黑客。由此可以將啟動CMD命令行設置為啟動PowerShell,并輸入命令$MaximumHistoryCount=10000,使其記錄PowerShell輸入的10000行命令,并通過Invoke-History來查看已經輸入的命令,由此實現命令行記錄功能。

  3. USB設備白名單

  USB設備通常沒有唯一的序列號,但可使用市場上的設備防護軟件如Endpoint Protector、USB Block等對USB設備進行授權設置白名單并進行防護。例如USB Block可以針對每一個USB設備進行授權,只有在白名單中的設備才能正常使用。而未經授權的USB存儲設備則無法使用,同時也可以阻止其他USB設備的插入,當其他USB設備插入時,需要手動允許,由此可防范BadUSB的入侵。

  4. 磁盤加密

  磁盤加密可以防止計算機系統上的數據泄露,也可以一定程度上阻止Bad USB的入侵。如Windows自帶的Bit Locker軟件,使用TPM芯片加密保護Windows操作系統和用戶數據,使得計算機系統上的數據無法被上傳以及篡改。

  5. 禁止USB固件更新

  Bad USB就是利用USB設備固件更新的漏洞制作,禁止對USB設備的更新及使用時檢查USB設備的固件可以簡單有效的對BadUSB進行防護。

  6. 安裝安全防護軟件

  安全防護軟件如防火墻、360安全衛士、金山毒霸等能有效的限制計算機軟件權限提升以及DNS的篡改,安裝安全防護軟件非常有必要。

  六、結語

  Bad USB是一種新型的惡意軟硬件結合的USB設備攻擊技術,有多種入侵路徑,比之HID攻擊威脅更大。一旦通過USB外設或其他途徑感染,惡意代碼可以隱藏在外設中,避免被系統清除,危害巨大,但并不是無法防范和偵查的,只要提高安全意識,就能防范于未然。與此同時,BadUSB也有很多積極的用法,如U盾、共享加密U盤等等,更值得去研究。

  參考文獻

  [1] 姜建國,常子敬,呂志強,董晶晶. USB HID攻擊與防護技術綜述[J].信息安全研究, 2017(02):129-138.
  [2] 趙司琦,俞繼偉,王廣田,謝怡寧.基于Arduino的Tennsy Bad USB改良型共享云盾的設計與研究[J].電腦知識與技術,2017(36):36-38+45.
  [3] 呂志強,劉,常子敬,張寧,姜建國.惡意USB設備攻擊與防護技術研究[J].信息安全研究, 2016(02):150-158.
  [4] 唐文譽,王軼駿,薛質.高防護環境下的惡意USB設備攻防研究[J].通信技術, 2017(01):144-150.

    郭永帥,王勝和,滿超.BadUSB的分析與偵查防范[J].警察技術,2020(02):68-71.
      相關內容推薦
    相近分類:
    • 成都網絡警察報警平臺
    • 公共信息安全網絡監察
    • 經營性網站備案信息
    • 不良信息舉報中心
    • 中國文明網傳播文明
    • 學術堂_誠信網站
    电竞竞猜app