談誠,鄧入弋,王麗娜,馬婧
(1.武漢大學計算機學院,湖北武漢430072;2.信息保障技術重點實驗室,北京1000172)
摘要:文章針對APT攻擊中的惡意USB存儲設備設計了一套安全防護方案。該方案構
造USB存儲設備的白名單,只允許白名單中的USB存儲設備與計算機系統(tǒng)進行交互,從而防止APT攻擊中定制的惡意USB存儲設備對主機的非授權訪問;將USB存儲設備與單位各級員工綁定,在特定主機對特定的USB存儲設備寫保護,有效阻止了APT攻擊者利用社會工程學的方法誘導內(nèi)部人員對系統(tǒng)中數(shù)據(jù)進行越權訪問:通過監(jiān)控向USB存儲設備復制數(shù)據(jù)的進程行為,防止隱藏的惡意程序暗中竊取系統(tǒng)中的數(shù)據(jù)。文章方案可以很好地防止系統(tǒng)中的數(shù)據(jù)遭到竊取和泄露,具有良好的實用性。文章方案進行了相關的功能測試,測試結果表明該方案可行。
0引言
隨著互聯(lián)網(wǎng)信息技術的發(fā)展,網(wǎng)絡攻擊也在不斷進化。近幾年出現(xiàn)的較為復雜和高級的網(wǎng)絡攻擊是APT(Advanced Persistent Threat,高級可持續(xù)性威脅)攻擊,它主要針對性地攻擊企業(yè)和政府部門。APT攻擊手段難以防范,給當前的諸多防御措施帶來了挑戰(zhàn)。由于APT攻擊常常針對一些工控系統(tǒng)( Industrial Control System,ICS),而這類系統(tǒng)大多跟外部通用網(wǎng)絡相隔離,因此USB(Universal Serial Bus,通用串行總線)存儲設備成為APT攻擊者們鐘愛的攻擊工具。攻擊伊朗核電站的Stuxnet病毒和有能力關閉國家電網(wǎng)的Havex病毒都是通過USB存儲設備侵入目標系統(tǒng)的。
多年來,USB存儲設備因其經(jīng)濟實用、方便快捷的特點得到廣泛使用。根據(jù)Gatner的報告,2009年就已經(jīng)有2億多的USB存儲設備被售賣。雖然USB存儲設備能夠方便地傳輸信息,但它同時也成為傳播惡意程序的攻擊載體。此外,USB存儲設備支持各類數(shù)據(jù)的復制,傳輸也不受限制,在內(nèi)外網(wǎng)還可以交叉使用,這些方便之處給數(shù)據(jù)安全帶來了隱患。在APT攻擊環(huán)境下,攻擊者可能會使用特制的USB存儲設備或者利用社會工程學的方法通過正常的USB存儲設備竊取數(shù)據(jù)。特制的USB存儲設備中的惡意程序難以檢測,而正常的USB存儲設備本身就是無毒的,這使得一些傳統(tǒng)的方法無法奏效。所以應完善現(xiàn)有措施,構建針對性更強的安全防護方案。本文首先研究了USB存儲設備的唯一性標識,提出利用唯一性標識形成USB存儲設備白名單,從而構建USB存儲設備的可信接入策略。當有USB存儲設備連入主機時,防護系統(tǒng)會在白名單中查詢該USB存儲設備的標識信息,若沒有查到,則阻止其訪問。其次本文研究了USB過濾驅動和Windows系統(tǒng)中的進程監(jiān)控。利用過濾驅動實現(xiàn)USB存儲設備的寫保護,并對主機進程在USB存儲設備中的文件操作進行監(jiān)控,構成數(shù)據(jù)防泄露策略。本文針對APT攻擊中的USB存儲設備,使用可信接入和數(shù)據(jù)防泄露策略,提出了一套多層次的USB防護方案。最后,本文對防護方案的功能進行了測試,驗證了方案的可行性。
1 APT攻擊的特點
美國國家標準與技術研究院( NIST)曾經(jīng)給出了一個APT攻擊的定義:“攻擊者擁有豐富的專業(yè)知識和強大的資源,使得其可以使用多種攻擊載體(網(wǎng)絡載體如網(wǎng)頁、郵件,物理載體如USB存儲設備和移動硬盤)創(chuàng)造出達成其目的的機會。這些目的通常包括:在目標組織的信息技術基礎設施中建立和擴展據(jù)點以泄露信息(如將信息從內(nèi)部網(wǎng)絡傳輸?shù)酵獠糠⻊掌鳎瑩p害或者妨礙一個任務、項目或者組織的關鍵環(huán)節(jié);或者為將來實現(xiàn)這些目的做準備。APT攻擊會在很長一段時間內(nèi)反復追求它的目標,適應防御者對它的抵抗,維持為達成目的所需的交互等級。”
這個定義為區(qū)分傳統(tǒng)攻擊和APT攻擊提供了一個良好的基礎。APT攻擊的幾個顯著特點如下:
1)特定的攻擊對象和清晰的目標
APT攻擊是針對性很強的攻擊,總有一個清晰的目標。這個目標通常是擁有大量數(shù)據(jù)資產(chǎn)的政府或者組織。FireEye根據(jù)201 3年的APT攻擊數(shù)量得出結論,APT攻擊針對的10大領域是教育、金融、高科技、政府、咨詢、能源、化學、電信、醫(yī)療保健和航空航天。傳統(tǒng)攻擊往往盡可能地廣泛傳播以提升成功的機會,從而最大化收益,但APT攻擊只關心它預設的目標,自我限制攻擊范圍。
對于攻擊目標,APT攻擊者試圖從中尋找那些能帶來競爭優(yōu)勢或者戰(zhàn)略利益的數(shù)據(jù)資產(chǎn),如國家安全相關數(shù)據(jù)、知識產(chǎn)權、商業(yè)機密信息等。傳統(tǒng)攻擊大多是為尋找一些私人數(shù)據(jù),如信用卡數(shù)據(jù)或者其他能幫助自己獲得經(jīng)濟利益的有價值的信息。
2)高度組織化和擁有良好資源的攻擊者
APT攻擊背后的參與者常是一些熟練的黑客,并_且協(xié)同工作。這些黑客或是在政府部門或者軍事部門工作,或是被私人公司雇傭。他們在經(jīng)濟和技術層面都堪稱實力雄厚,這讓他們能夠長期工作,并且可以使用開發(fā)或者采購的零日漏洞和特定的攻擊工具。
3)為了達成目的會進行長期的活動
APT攻擊是一種長期活動,在目標網(wǎng)絡中能夠幾個月甚至幾年不被發(fā)現(xiàn)。APT攻擊者會持續(xù)攻擊他們的目標,當早先的攻擊失敗時,他們還會反復努力以達成目的。這和傳統(tǒng)攻擊不同,傳統(tǒng)攻擊常常瞄準大范圍的受害者,攻擊者很少會浪費時間在安全措施齊全的攻擊目標上,多是尋找其他相對不那么安全的目標進行攻擊。
4)使用秘密的和逃避檢測的攻擊技術
APT攻擊是隱秘進行的,擁有躲避檢測的能力,只執(zhí)行為達成既定目標所必須的交互。例如,APT攻擊者會使用零日漏洞避免基于特征的檢測,通過加密混淆網(wǎng)絡流量。而傳統(tǒng)攻擊常用的策略與APT攻擊相比簡陋很多,屬于短期的搶劫式的單次嘗試。
2基于惡意USB存儲設備的攻擊場景
APT攻擊的主要目的是竊取機密信息或破壞工業(yè)控制系統(tǒng)。在工業(yè)控制系統(tǒng)這類物理隔離網(wǎng)絡中,攻擊者利用USB存儲設備傳輸惡意程序進入系統(tǒng)進行破壞,或者通過USB存儲設備竊取機密信息。
當前因為移動存儲設備的使用不當或者惡意使用造成的泄露日漸增多。無論是普通公司員工還是政府工作人員都喜歡使用小巧方便的移動設備,利用這些大容量的存儲設備從公司內(nèi)部帶出大量文件和數(shù)據(jù)可謂輕而易舉,且近乎所有的計算機都有USB接口。APT攻擊者正是看準了這一點,大量使用USB存儲設備作為惡意程序的擺渡工具而入侵系統(tǒng)。
在現(xiàn)在的USB標準下,攻擊者需要與系統(tǒng)取得物理連接才能通過USB存儲設備竊取數(shù)據(jù)。如果攻擊者是公司的員工,那么他有很多機會可以悄悄地在系統(tǒng)上接入惡意USB設備。如果攻擊者不是公司員工,他也可以尋找到許多其他方式非直接地將惡意USB設備連入系統(tǒng)。例如,攻擊者可能利用社會工程學方法誘騙有合法物理途徑接入系統(tǒng)的人按攻擊者的指示行事。
3 USB安全防護方案設計
本文提出的針對USB存儲設備的數(shù)據(jù)防泄露方案,旨在防止非法復制主機敏感信息到USB存儲設備中。通過USB過濾驅動和Windows系統(tǒng)的消息機制,可以防止惡意程序往USB存儲設備隱蔽寫入數(shù)據(jù),某些特殊機器直接將USB存儲設備進行寫保護也可以杜絕數(shù)據(jù)泄露。在USB存儲設備的可信接入方面,本文使用USB存儲設備白名單技術,拒絕讀取未授權的USB存儲設備。通過在應用層和驅動層部署本文方案,可以有效防止USB存儲設備的非授權訪問和用戶對USB存儲設備的濫用。
3.1 USB安全防護方案模塊結構
USB安全防護方案的模塊結構如圖l所示,包含了3個部分,分別是USB存儲設備白名單模塊、USB操作監(jiān)控模塊和USB寫保護模塊。其中,USB存儲設備白名單模塊位于白名單服務器或者系統(tǒng)主機上,USB操作監(jiān)控模塊和USB寫保護模塊都位于系統(tǒng)主機上。這3個模塊包含了若干子功能模塊,這些模塊相輔相成,共同完成了對USB存儲設備的安全防護功能。
1) USB存儲設備白名單模塊
USB存儲設備白名單模塊位于白名單服務器或者系統(tǒng)主機上,其主要作用是在USB存儲設備接入系統(tǒng)主機時,根據(jù)該USB存儲設備所擁有的屬性判斷其是否具有訪問主機的權限。USB存儲設備白名單模塊又分為兩個子模塊,分別是授權模塊和訪問控制模塊。
授權模塊用于在白名單建立時提取USB存儲設備的相關參數(shù)。該模塊只在建立或更新白名單時使用,通過將USB存儲設備的VID、PID和序列號信息存儲起來,構成USB存儲設備的白名單。
訪問控制模塊用于在USB存儲設備接入系統(tǒng)主機時,將其信息與USB存儲設備白名單作比對。如果其信息在白名單中,則放行;若不在,則禁止其訪問主機。
2) USB操作監(jiān)控模塊
USB操作監(jiān)控模塊在USB存儲設備白名單模塊的基礎上,對合法的USB存儲設備可能面臨的惡意程序感染做防護。該模塊也由兩個子模塊組成,分別是進程監(jiān)控模塊和事件響應模塊。
進程監(jiān)控模塊主要對系統(tǒng)主機上的進程進行監(jiān)控,防止惡意程序秘密傳輸數(shù)據(jù)到USB存儲設備進而造成數(shù)據(jù)泄露。
事件響應模塊用于對系統(tǒng)主機進程在USB存儲設備
中的文件操作做出響應,通知用戶有這類操作發(fā)生。
3) USB寫保護模塊
USB寫保護模塊用于對USB存儲設備進行寫保護,防止非法復制。利用該模塊可以控制對授權USB存儲設備的濫用。一些密級更高的主機可能不用USB存儲設備復制數(shù)據(jù),而直接禁止USB口的使用會帶來對鍵盤和鼠標口的限制,因此利用該模塊可以對這些主機實施對所有或者特定USB存儲設備(如權限較低的USB存儲設備)的禁止寫入功能。寫保護的功能通過USB過濾驅動實現(xiàn)。
3.2 USB存儲設備白名單
某些機密系統(tǒng)通常只使用一套很固定的USB存儲設備。通過構建USB存儲設備白名單,可以只允許已知的合法USB存儲設備訪問系統(tǒng),實現(xiàn)USB存儲設備的可信接入。白名單的保護可能通過模擬白名單中的設備被繞過,然而,這需要知道白名單中的內(nèi)容,此外每個USB存儲設備都有一個唯一的序列號,通過知道USB存儲設備的序列號來成功模擬設備非常困難。
固件重編程攻擊BadUSB可以改變設備類型,添加一個隱藏的接口到設備中(例如,在USB閃存盤上添加USB鍵盤或者網(wǎng)卡接口)。這些行為會導致設備屬性的變化,使得被改變的USB存儲設備不再匹配白名單。
Windows Vista或者以上版本的操作系統(tǒng)提供了組策略,可以通過它來構建USB存儲設備白名單。但這種方式需要用戶手動去查看USB存儲設備的硬件ID并且輸入到白名單,操作不便。
每個USB存儲設備一般都有VID(Vendor ID,廠商ID),PID(Product ID,產(chǎn)品ID)和SN(Serial Number,序列號)。將這幾個信息組合起來構成了USB存儲沒備的唯一性標識,可以唯一地確定一個USB存儲設備。PID和VID是4個字符的16進制ID。在Windows注冊表的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB下可以看到USB存儲設備的VID和PID,而它們的子鍵則是序列號。在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControISet\Enum\USBSTOR下也有一組類似的值,只是被用更直觀的形式呈現(xiàn)了出來。USBSTOR鍵下的子鍵更少,因為USBSTOR鍵下只針對USB大容量存儲設備(即U盤或移動硬盤),而USB鍵用于所有通過USB連接的設備。圖2展示了同- USB存儲設備在USB鍵和USBSTOR鍵下的形式。
通過編寫程序將合法USB存儲設備的VID、PID和序列號提取出來。為了防止唯一性標識泄露,將這3個數(shù)據(jù)信息利用Hash算法做一個變換,然后保存在數(shù)據(jù)庫中,構成USB存儲設備白名單,如圖3所示。
白名單方案的架構如圖4所示。當USB存儲設備接入主機時,防護系統(tǒng)會監(jiān)聽到該設備插入的消息并提取設備的標識信息,將標識信息的各部分進行Hash變換,并與白名單中的信息進行比對。通過這樣的方式,系統(tǒng)主機可以判斷該USB存儲設備是否合法。如果不是系統(tǒng)中的合法USB存儲設備,則將其彈出。由專人統(tǒng)一管理USB存儲設備白名單的添加、刪除和查改。每當購買新的USB存儲設備,則需要向白名單中添加USB的唯一性標識以提供使用授權。當合法USB存儲設備被感染時,白名單也要及時更新,刪除被感染的USB存儲設備。
白名單檢測有兩種方式:
1)在線檢測。這意味著USB接入的主機是聯(lián)網(wǎng)的。在這種場景下,白名單存于在線白名單服務器上。
2)離線檢測。這種情況下USB接入的主機是網(wǎng)絡隔離的,白名單存于本地系統(tǒng)中,手動維護。
3.3 USB寫保護
系統(tǒng)中有些信息極為機密,合法的USB存儲設備也不能從中復制信息。對于這些信息還需要實現(xiàn)對USB存儲設備的寫保護,以阻止非法復制。對USB存儲設備的寫保護是建立在USB存儲設備可信接入的基礎之上的。USB寫保護的功能通過USB過濾驅動實現(xiàn)。
1) USB過濾驅動
USB過濾驅動的分層架構模型稱為WDM( WindowsDriver Model,視窗驅動程序模塊),如圖5所示。
圖5中左邊一列表示內(nèi)核DEVICE_OBJECT結構的一個向上連接的棧,每一層都與系統(tǒng)管理者如何管理硬件設備有關。中間一列表示設備驅動棧。右邊一列表示IRP通過各個驅動的流程。
許多設備都有過濾驅動。如果過濾驅動被附加在FD0下,也就是說,過濾驅動在FDO和PDO之間,則被稱作下層過濾驅動。如果過濾驅動被附加在FDO之上,則被稱作上層過濾驅動。
2) USB設備訪問控制的實現(xiàn)
USB設備所有的寫操作最終都會轉化成SCSIOP_WRITE請求。因此,為了將USB存儲設備變?yōu)橐粋只讀設備,設置SCSIOP_WRITE為“失敗”可以實現(xiàn)該功能。但是,一旦操作系統(tǒng)發(fā)現(xiàn)SCSIOP- WRITE請求失敗,就會不停地發(fā)送請求直到系統(tǒng)超時。因此,系統(tǒng)需要比較長的一段時間才能知道在USB存儲設備上的寫操作失敗。
鑒于上述方法的不足,我們采用另一個簡單實用的方法。利用過濾驅動攔截操作USB存儲設備的SCSI命令,判斷操作碼是否是SCSIOP_MODE_SENCE。如果是,且當前操作是寫操作,則設置DeviceSpecificParameter的參數(shù)由MODE_PARAMETER_EADER變?yōu)镸ODE_DSP_WRITE_PROTECT。完成上述操作后,就可以設置該USB存儲設備為不可寫。
3) USB過濾驅動的安裝
在準備好USB過濾驅動后,下一步就是安裝USB過濾驅動了。首先,USB過濾驅動被復制到system32\drivers目錄下,然后手動修改注冊表。驅動被成功加載后,系統(tǒng)當試圖寫USB存儲設備時,便會收到一個USB存儲設備被寫保護的提示。
3.4 USB操作監(jiān)控
APT攻擊的主要目的是竊取機密信息,而在物理隔離網(wǎng)絡中,竊取到的數(shù)據(jù)要脫離系統(tǒng)傳出主要通過USB這樣的移動存儲設備。如果USB存儲設備白名單中的USB存儲設備不幸遭到感染,白名單方法便無法奏效了。所以在白名單和USB存儲設備寫保護的基礎上.需要進一步對系統(tǒng)進程在合法USB存儲設備中的操作行為進行監(jiān)控。
系統(tǒng)進程對USB存儲設備內(nèi)文件的操作主要有創(chuàng)建、讀寫、刪除、重命名等,這些操作都由IRP請求來實現(xiàn)。各個操作對應的IRP主功能碼如表1所示。
在驅動程序入口函數(shù)DriverEntry()中注冊相應IRP的派遣函數(shù),截獲相應的IRP請求,進而對其進行處理。在相應的IRP派遣函數(shù)中,可以得到當前操作的類型、操作目標文件名和發(fā)起該操作的進程等信息。
在各個派遣函數(shù)中,通過IRP指針和I/O堆?梢缘玫讲僮黝愋偷南嚓P信息。文件的創(chuàng)建、讀寫、刪除和重命名等操作所對應的IRP主功能碼都可以在派遣函數(shù)中通過I/O堆棧的參數(shù)域進行區(qū)分。
操作的目標文件對象指針是存儲在I/O堆棧的FileObject域中的。Fil。Object是文件對象結構體類型,包含了文件名等信息。在諸多IRP主功能碼中,只有主功能碼是IRP_MJ_CREATE的派遣函數(shù)中的I/O堆棧的FileObject域中才保存了絕對有效的文件名稱。在Windows中,任何程序要操作文件,首先要打開文件,獲得該文件的句柄。在內(nèi)核驅動程序中,我們可以在主功能碼是IRP_MJ_CREATE的派遣函數(shù)中得到所操作的文件名稱,并將文件名稱和文件對象對應起來存儲在鏈表中。這樣當在其他地方需要獲取文件名稱時,就可以利用文件對象查詢鏈表獲得對應的文件名稱。
同樣還需要獲得進程的名稱。當進程操作USB存儲設備中的文件時,I/O管理器將這些操作封裝成IRP請求,并發(fā)送給與之對應的派遣函數(shù)。派遣函數(shù)運行于發(fā)起操作的進程的上下文中,在派遣函數(shù)中使用IoGetCurrentProcess得到指向當前進程的EPROCESS結構體。在操作系統(tǒng)中運行的進程都有EPROCESS結構體,里面包含了進程的各種信息,包括進程名稱和相關結構指針等。通過WinDbg軟件查看可以得知,進程名稱字符串存放在EPROCESS結構體中的一個固定偏移量中,一般認為在Oxl74偏移處存放著進程名稱。對于驅動程序來說,其入口函數(shù)DriverEntry()是由系統(tǒng)進程SysIem加載的,所以可以在DriverEntry()中通過IoGetCurrentProcess獲取System進程的EPROCESS結構體,然后從該結構體地址開始尋找“System.exe”字符串,找到的地方便是EPROCESS結構體存放進程名稱的偏移量。得到了進程名稱在EPROCESS結構體中的偏移量,進程調用驅動時就可以通過該偏移量獲得當前的進程名稱。
獲得了進程名稱、文件名稱和操作類型這幾個信息,就可以設定訪問控制規(guī)則了。在系統(tǒng)中維護著一張表,記錄了對USB存儲設備操作的安全規(guī)則,如表2所示。
當系統(tǒng)中有進程對USB存儲設備進行操作時,防護系統(tǒng)會基于進程名稱對操作進行安全檢查。首先從主功能碼是讀、寫的IRP派遣函數(shù)中得到操作文件的進程名稱,然后在表2中查詢是否有該進程的記錄。如果有記錄,根據(jù)表2中的安全規(guī)則決定當前進程執(zhí)行的操作可否被允許;如果沒有記錄,則人為判斷此進程是否可以執(zhí)行,并將結果添加到安全規(guī)則表中。
4 USB安全防護方案實現(xiàn)
4.1應用場景
設定一個應用場景,該場景中,被保護系統(tǒng)的網(wǎng)絡與外部互聯(lián)網(wǎng)隔絕。該系統(tǒng)中的各個主機中存儲著各種機密數(shù)據(jù),一般通過內(nèi)部人員手中的USB存儲設備進行數(shù)據(jù)轉移,因此存在數(shù)據(jù)通過USB存儲設備泄露的風險。
為了保證數(shù)據(jù)的安全性,本文使用USB存儲設備白名單實現(xiàn)對USB存儲設備的訪問控制。該方案將USB存儲設備的廠商號、產(chǎn)品號和序列號等信息組合起來作為其唯一性標識,創(chuàng)建USB存儲設備白名單。使用過濾驅動技術實現(xiàn)USB存儲設備的寫保護。
本系統(tǒng)具有以下優(yōu)點:
1) USB存儲設備訪問主機首先需要經(jīng)過白名單的驗證,避免了由于USB存儲設備的不可信導致數(shù)據(jù)泄露;
2)使用進程監(jiān)控對復制行為進行管理,防止惡意進程的秘密復制;
3)在驅動層實現(xiàn)USB存儲設備的寫保護,安全機制不易被繞過。
4.2系統(tǒng)架構
該安全防護系統(tǒng)的系統(tǒng)架構如圖6所示。當USB存儲設備插入主機時,防護系統(tǒng)首先提取出該USB存儲設備的屬性,即廠商號、產(chǎn)品號和序列號,然后調用數(shù)據(jù)庫中的USB存儲設備白名單,將這些數(shù)據(jù)的Hash運算結果與白名單中的數(shù)據(jù)進行比對,查找名單中是否有該USB存儲設備的信息。如果系統(tǒng)發(fā)現(xiàn)該USB存儲設備沒有在白名單中,則阻止該設備的使用;否則允許使用。圖6中為實施BadUSB攻擊特制的USBO不在USB存儲設備白名單中,所以它無法接入系統(tǒng);而USBI在白名單中,因此它可以訪問系統(tǒng)中的主機。
驗證通過白名單比對的USB存儲設備可能會從主機中復制數(shù)據(jù)。如果在該主機上事先設置了寫保護的USB存儲設備名單中沒有此時插入的設備,那么用戶就可以復制數(shù)據(jù);否則會得到該USB存儲設備寫保護的提示。圖6中主機2對USB1是寫保護的,所以USB1無法從主機2中復制數(shù)據(jù);主機1提供了USBI的復制權限,USB1可從主機1中復制數(shù)據(jù)。與此同時,防護系統(tǒng)也會監(jiān)控有沒有進程在用戶不知道的情況下復制文件到USB存儲設備中,如果發(fā)現(xiàn)有非法進程進行復制,則會阻止并提醒用戶。
5系統(tǒng)功能測試
本文的USB安全防護方案包括3個模塊,白名單和進程監(jiān)控模塊采用已有開源程序實現(xiàn),本文主要實現(xiàn)了一個基于圖形界面的USB存儲設備寫保護程序。該程序主要包含USBFilter、InstFilters和USBblock三個部分。USBFilter是實現(xiàn)寫保護的過濾驅動,InstFilters用于安裝過濾驅動,USBblock是一個對指定USB存儲設備進行寫保護的圖形界面。首先將USBFilter編譯生成.sys文件,利用Usbinstall.inf安裝USBFilter.sys驅動文件,如圖7所示。
同樣,InstFilters也被編譯生成驅動程序InstFilters.sys,使用驅動加載工具InstDrv.exe選擇InstFilters,sys,單擊“安裝”,再單擊“啟動”,如圖8所示。
USBFilter安裝好后,在USBblock圖形界面中有展示各個USB存儲設備的下拉選框、“開寫保護”按鈕和“關寫保護”按鈕。在下拉選框中選中一個USB存儲設備,單擊“開寫保護”,如圖9所示。
此時若要往該USB存儲設備中寫入數(shù)據(jù)就會得到如圖10所示的無法寫入的提示,說明該USB存儲設備已經(jīng)被寫保護了。若要關閉寫保護,選中USB存儲設備,單擊“關寫保護”即可。
本文中的寫保護模塊是針對特定USB存儲設備進行寫保護。若要對所有USB存儲設備進行寫保護,直接在注冊表HKEY_LOCAL_MACHINE\SYSTE\C urrentC ontroISet\Control\Class\{4D36E967- F325-11CE -BFCl-08002BE10318l位置進行設置就可以了。
6結束語
多年來,USB存儲設備一直得到人們的廣泛使用,然而USB存儲設備方便的數(shù)據(jù)復制能力使它也成為信息泄露的載體,因此安全研究者對其投入了大量精力進行研究,并提出了很多解決辦法,但這些方法沒有引起人們的重視。近年來APT攻擊甚囂塵上,它攻擊的目標多是工控系統(tǒng),這類系統(tǒng)往往與外界互聯(lián)網(wǎng)隔離,所以USB存儲設備成為APT攻擊者用來擺渡惡意程序和泄露信息的絕佳工具。隨著BadUSB攻擊的出現(xiàn),APT攻擊者會更多地利用USB存儲設備進行攻擊。據(jù)調查,社會上的大多數(shù)企業(yè)都沒有對APT攻擊有足夠的認識,防護方案也沒有針對性。本文研究TAPT攻擊的相關特點和防護方法,針對USB存儲載體提出了一套防護方案,并設計實現(xiàn)了一個防護系統(tǒng),實現(xiàn)了對系統(tǒng)主機中機密信息的保護和訪問控制。但該方案僅針對通過USB存儲設備導致的惡意入侵和信息泄露進行討論,在系統(tǒng)的設計實現(xiàn)過程中也存在諸多不足之處,以后的工作中還將對其他階段的防護措施進行研究。此外,USB存儲設備白名單模塊和監(jiān)控模塊采用已有開源軟件,效果不是太好,下一步會對這兩個模塊做完整開發(fā),以實現(xiàn)一個完整的安全防護系統(tǒng)。