◆任艷 李旭 張蕾
APT檢測防御系統(tǒng)的設(shè)計與實現(xiàn)
◆任艷 李旭 張蕾
(新疆財經(jīng)大學(xué) 信息管理學(xué)院 新疆 830012)
針對目前高級持續(xù)性威脅(Advanced Persistent Threat,APT)的攻擊給各大企業(yè)帶來的威脅,本文提出了APT的檢測防御系統(tǒng)的設(shè)計與實現(xiàn)。本文采用惡意代碼檢測和入侵檢測相結(jié)合的模式進(jìn)行設(shè)計和實現(xiàn),APT檢測包括傳統(tǒng)的IPS檢測、靜態(tài)檢測和動態(tài)檢測三個部分。傳統(tǒng)的IPS檢測包括特征匹配、av檢測等;靜態(tài)檢測包括Yara檢測、暴力破解等;動態(tài)檢測是APT防御系統(tǒng)的關(guān)鍵,從虛擬機(jī)的選型到檢測系統(tǒng)的分析,本文給出了詳細(xì)的說明,動態(tài)檢測即通過虛擬機(jī)模擬運(yùn)行來判斷文件是否安全,并可以導(dǎo)出結(jié)果進(jìn)行分析。
APT;入侵檢測;動態(tài)檢測;靜態(tài)檢測
高級持續(xù)性威脅(Advanced Persistent Threat,APT),是以盜取核心資料和數(shù)據(jù)為目的發(fā)起的網(wǎng)絡(luò)侵襲行為,利用先進(jìn)的復(fù)合式攻擊手段經(jīng)過策劃對特定的目標(biāo)數(shù)據(jù)進(jìn)行長期持續(xù)性網(wǎng)絡(luò)攻擊的形式[1]。APT其攻擊途徑跟其他攻擊方式相比更具有隱蔽性,是一種高級持續(xù)的攻擊,具有檢測難、持續(xù)時間長和攻擊目標(biāo)明確等特征。在發(fā)動APT攻擊前,會搜索攻擊對象受信系統(tǒng)和應(yīng)用程序的漏洞以對攻擊對象和目標(biāo)進(jìn)行精確的數(shù)據(jù)收集。因此傳統(tǒng)基于攻擊特征的入侵檢測和防御方法在檢測和防御APT方面效果很不理想。
縱觀整個APT攻擊過程發(fā)現(xiàn),有幾個步驟是APT攻擊目標(biāo)時實施的重點(diǎn):首先就是信息的非法收集,攻擊者通過將惡意代碼植入私人電腦,進(jìn)行單點(diǎn)攻破,使用網(wǎng)絡(luò)和社會工程學(xué)收集關(guān)于系統(tǒng)和使用者等關(guān)鍵信息,通過網(wǎng)絡(luò)流量特點(diǎn)、軟件版本缺陷、網(wǎng)絡(luò)端口等信息的整理并分析出系統(tǒng)可能存在的安全缺口。第二步,入侵目標(biāo),內(nèi)部橫向滲透,通過構(gòu)建的控制通道獲取攻擊者指令,一般采用較多的誘騙手段是釣魚網(wǎng)站,電子郵件病毒,以欺騙手段遠(yuǎn)程在后臺運(yùn)行木馬程序,或者直接進(jìn)行SQL注入攻擊等。第三步,潛伏及敏感數(shù)據(jù)外傳,攻擊者成功入侵后,可能會先隱藏自身進(jìn)一步尋找最佳時機(jī)。也可能直接通過跳板電腦訪問目標(biāo)服務(wù)器,再利用0day漏洞等方式,竊取有用信息。然后將竊取的數(shù)據(jù)重新分割成細(xì)小的碎片分時段逐步回傳。第四步,清理痕跡,以竊取信息為目的APT類攻擊一旦完成任務(wù),需要對其網(wǎng)絡(luò)中存留的各類痕跡進(jìn)行銷毀。根據(jù)入侵對象之前所收集的各類系統(tǒng)個人數(shù)據(jù),將入侵對象訪問過的機(jī)器進(jìn)行還原,恢復(fù)各種系統(tǒng)配置及個人用戶參數(shù),清除系統(tǒng)及安全軟件日志數(shù)據(jù)[2]。
當(dāng)前的APT攻擊檢測和防御方案其實都是圍繞這些步驟展開,根據(jù)對APT攻擊發(fā)生的不同,大致分以下四類[3]:
(1)利用惡意代碼檢測的防御方案:此類防御方案主要應(yīng)用于APT攻擊過程中的單點(diǎn)攻擊突破階段。由于APT攻擊多為利用惡意代碼攻擊個人電腦,以此為突破口,繼而橫向攻擊主機(jī)所在網(wǎng)絡(luò)的整個防御系統(tǒng)的。因此對惡意代碼的檢查和及時攔截是對APT攻擊的防御前哨,至關(guān)重要。
(3)網(wǎng)絡(luò)入侵檢測類方案:此類方案主要針對APT攻擊過程中的控制通道構(gòu)建階段的防御需求。根據(jù)對以往大量案例分析可知,攻擊者控制通信通道的方法相似性較大,特征較單一,易被識別。因此可以采用傳統(tǒng)的入侵檢測方法來檢測APT攻擊中對通道的控制命令和方法的特征。此方案的重點(diǎn)在于及時獲取并建立相關(guān)的攻擊特征庫。
(4)大數(shù)據(jù)分析檢測類方案:此類方案主要針對網(wǎng)絡(luò)流量以及終端和服務(wù)器上的日志文件進(jìn)行特征提取和分析,發(fā)現(xiàn)異常數(shù)據(jù)并進(jìn)一步分析其行為的合法性,而非針對APT攻擊的某一特定環(huán)節(jié)進(jìn)行。該方案可以通過學(xué)習(xí)海量正常數(shù)據(jù)和異常數(shù)據(jù),并建立正常行為特征庫和異常行為特征庫,并利用大數(shù)據(jù)分析方法,對海量實時流量和日志數(shù)據(jù)進(jìn)行深入分析。
本文是根據(jù)第1方案和第3方案制定APT攻擊及防御方案的。
APT檢測分為傳統(tǒng)的IPS檢測、靜態(tài)檢測和動態(tài)檢測。IPS進(jìn)程是一個包含了各種基于特征檢測相關(guān)功能及文件還原功能的進(jìn)程;APT進(jìn)程是一個包含了各種靜態(tài)檢測相關(guān)功能及文件識別和解析的進(jìn)程;Vm進(jìn)程是一個用于調(diào)度虛擬機(jī)進(jìn)行動態(tài)檢測的進(jìn)程。
特征檢測子系統(tǒng)包括報文重組、協(xié)議解析、特征檢測、文件還原、網(wǎng)絡(luò)異常行為檢測、av檢測等模塊。
圖1 IPS檢測
進(jìn)程初始化:進(jìn)程啟動的時候,通過從配置文件獲取相關(guān)配置信息,進(jìn)行進(jìn)程的初始化。
配置的更新:當(dāng)進(jìn)程的配置發(fā)生變化時,由配置線程通過負(fù)責(zé)接收配置命令并更新本進(jìn)程的相關(guān)信息。
4.落實收入分配的改革措施,促進(jìn)經(jīng)濟(jì)社會發(fā)展更加協(xié)調(diào)。東營工業(yè)化進(jìn)程的推進(jìn),最終的目標(biāo)是進(jìn)入到后工業(yè)社會和現(xiàn)代社會,這不僅意味著工業(yè)發(fā)展階段的提升,更重要的是發(fā)展成果為社會公眾所共享,市民都過上富裕文明的幸福生活。這就需要針對當(dāng)前收入分配中的突出矛盾,落實十八屆三中全會的精神,努力推進(jìn)收入分配改革,努力做到“兩個同步”。
進(jìn)程的執(zhí)行:進(jìn)程內(nèi)的業(yè)務(wù)線程循環(huán)處理報文并根據(jù)會話緩存文件,url信息,判斷網(wǎng)絡(luò)異常行為。
靜態(tài)檢測能夠?qū)ξ募葘ο筮M(jìn)行類型識別、文件解析、特征匹配、模擬執(zhí)行等工作。靜態(tài)檢測主要是基于特征匹配的。
圖2 靜態(tài)檢測
靜態(tài)檢測首先會對文件類型進(jìn)行識別,做解壓縮等預(yù)處理。識別結(jié)果是后續(xù)檢測的依據(jù),也是動態(tài)檢測的輸入模塊。解壓縮支持zip、rar、7zip等格式,文件解析支持pdf、rtf、doc、docx、exl、swf、ppt等格式。
文件的解析是一個遞歸循環(huán)解析,并把解析出的片段進(jìn)行模塊檢測的過程。Yara是基于特征的,在加殼的情況下,Yara是發(fā)揮不了威力的,PEid可以快速識別程序使用的加殼軟件。分析文件的PE結(jié)構(gòu),PE文件內(nèi)包含的已知的特征碼,PE文件各個段,導(dǎo)入導(dǎo)出信息等。
動態(tài)檢測是本系統(tǒng)的主要模塊,是判斷未知文件是否惡意的有效手段,但執(zhí)行效率比較低。動態(tài)檢測需要選取合適的虛擬機(jī),然后再通過虛擬機(jī)管理模塊進(jìn)行調(diào)度檢測。
3.3.1虛擬機(jī)的選取
VMware是商業(yè)化最成功的虛擬化方案,被各大廠商應(yīng)用、收費(fèi),不予考慮。
KVM[4]是基于內(nèi)核的虛擬機(jī)(英語:Kernel-based Virtual Machine,簡稱KVM),是一種用于Linux內(nèi)核中的虛擬化基礎(chǔ)設(shè)施。KVM目前支持Intel VT及AMD-V的原生虛擬技術(shù)。
優(yōu)點(diǎn):1)開源;2)KVM是內(nèi)核的一部分,與內(nèi)核結(jié)合的最好;3)目前最火的linux平臺虛擬化方案,redhat,ibm主推
缺點(diǎn):圖形處理方面不是很好。
Xen是一個開放源代碼虛擬機(jī)監(jiān)視器。可在單個計算機(jī)上運(yùn)行多達(dá)128個有完全功能的操作系統(tǒng)。
優(yōu)點(diǎn):1)開源;2)可移植性強(qiáng);3)獨(dú)特類虛擬化支持,提供接近于物理機(jī)的性能
缺點(diǎn):1)需要改內(nèi)核,易用性差
VirtualBox[5]是一款開源虛擬機(jī)軟件。使用者可以在VirtualBox上安裝并且執(zhí)行Solaris、Windows、DOS、Linux、OS/2 Warp、BSD等系統(tǒng)作為客戶端操作系統(tǒng)。
優(yōu)點(diǎn):1)使用方便;2)圖形處理突出
缺點(diǎn):1)版權(quán)受限;2)沒有商業(yè)案例
Linux平臺下,虛擬化方案選擇不多,入圍的只有Xen、KVM、VBOX。性能上,Xen的類虛擬化速度接近裸機(jī)。類虛擬化只使用linux主機(jī)上運(yùn)行l(wèi)inux虛擬機(jī)。全虛擬化環(huán)境下,Xen、KVM、VirtualBox性能是沒有太大差別。KVM本身就是內(nèi)核的一部分,可以直接使用內(nèi)核的進(jìn)程調(diào)度,內(nèi)存管理,IO等模塊,而Xen需要修改內(nèi)核;KVM有商業(yè)案例很多,背后有OVA支持,開源免費(fèi),而VBOX沒有任何的商業(yè)案例,且其版權(quán)受限。所以經(jīng)對比可以看出KVM是最佳選擇。
3.3.2檢測過程
虛擬機(jī)調(diào)度從磁盤中循環(huán)讀取文件,并根據(jù)靜態(tài)檢測中的檢測結(jié)果和文件類型識別結(jié)果準(zhǔn)備每個文件的執(zhí)行環(huán)境和執(zhí)行優(yōu)先順序。Win虛擬機(jī)是預(yù)先安裝了特定版本的軟件和Check檢測工具的操作系統(tǒng)的快照。虛擬機(jī)調(diào)度和通訊模塊在準(zhǔn)備好執(zhí)行環(huán)境后通過文件共享的方式把樣本文件共享給虛擬機(jī)內(nèi)的Check檢測程序。Check的檢測結(jié)果通過文件共享的方式返回給虛擬機(jī)調(diào)度模塊。通過Check判斷出惡意軟件以后需要調(diào)用cockoo[6]一次檢測,得到這個軟件的行為分析結(jié)果。
文件黑白名單檢查時,使用Ssdeep模糊哈希相似度檢查,模糊哈希用于計算上下文相關(guān)的分段哈希值,可檢測相似的或者自修改的惡意文件。
圖3 動態(tài)檢測
虛擬機(jī)的管理包括啟動、暫停、恢復(fù)、關(guān)閉等,使用libvirt實現(xiàn)。Libvirt庫的目的是為各種虛擬化工具提供一套方便可靠的編程接口。目前主流linux平臺的虛擬化管理工具都是基于libvirt開發(fā),算是虛擬機(jī)管理標(biāo)準(zhǔn)化api。
虛擬機(jī)啟動:查找虛擬鏡像的最近快照,然后恢復(fù)最近快照。啟動快照??煺諉?,比正常啟動要快得多。每次恢復(fù)快照是為了清除上次運(yùn)行對環(huán)境的污染。程序啟動后,會根據(jù)配置文件確定虛擬機(jī)使用的是xen/kvm/vbox,以及配置了多少臺可用的虛擬機(jī)。虛擬機(jī)的具體情況會使用數(shù)據(jù)庫來記錄。
提交分析數(shù)據(jù)使用了單獨(dú)的程序。程序的功能非常簡單:分析參數(shù),將任務(wù)加入數(shù)據(jù)庫。主程序會到數(shù)據(jù)庫task表中提取任務(wù)。任務(wù)提交程序只負(fù)責(zé)提交任務(wù),后續(xù)的分析有主程序去調(diào)度。主程序沒有啟動的情況下也可以提交任務(wù),因為任務(wù)是保存在數(shù)據(jù)庫中的,待主程序啟動后再分析任務(wù)。
主程序是一個死循環(huán)。
本方案也具有一定的局限性:APT攻擊檢測和防御方案不能覆蓋到APT攻擊的各個階段,因此可能會導(dǎo)致漏報。理想的APT安全解決方案應(yīng)該覆蓋APT攻擊的所有攻擊階段,事前階段可通過沙箱技術(shù)對可疑程序進(jìn)行模擬,對可疑程序的反常行為進(jìn)行分析和評估判斷出系統(tǒng)未知文件是否存在威脅;事中階段采用黑白名單技術(shù)在系統(tǒng)終端上檢測所有進(jìn)程和訪問;事后階段通過大數(shù)據(jù)分析、網(wǎng)絡(luò)鏈路取證,將系統(tǒng)大數(shù)據(jù)分析技術(shù)和沙箱檢測技術(shù)相結(jié)合,全方位分析APT攻擊。通過三個處置階段,深挖網(wǎng)絡(luò)安全隱患,建立立體化檢測手段,最大可能全面的檢測和抵御APT攻擊,維護(hù)網(wǎng)絡(luò)安全。
[1]曾瑋琳,李貴華,陳錦偉.APT入侵的網(wǎng)絡(luò)安全防護(hù)系統(tǒng)模型及其關(guān)鍵技術(shù)研究[J].現(xiàn)代電子技術(shù),2013(17):78-80.
[2]陳煒. 關(guān)于等級保護(hù)APT攻擊檢測技術(shù)的研究[J]. 警察技術(shù),2014(S1).
[3]孫天一.APT攻擊的特征分析與防御策略[J].電子技術(shù)與軟件工程,2015(06):222.
[4]孫琳程.虛擬機(jī)KVM和XEN的性能分析[J].電腦知識與技術(shù),2013(10).
[5]魚泳.VirtualBox虛擬機(jī)的隱形加載探討[J].數(shù)字技術(shù)與應(yīng)用,2013(9).
[6]揚(yáng)凱.病毒行為自動分析與特征庫生成技術(shù)研究[D].南開大學(xué),2011.
[7]李靜軒,朱俊虎,邱菡,等.基于非零和隨機(jī)博弈的APT攻擊主動防御策略選取[J].計算機(jī)應(yīng)用研究,2020(04).
新疆維吾爾自治區(qū)高校科研計劃項目:人工智能背景下的網(wǎng)絡(luò)攻擊與檢測技術(shù)研究(XJEDU2019Y036);新疆社科基金項目:大數(shù)據(jù)視域下南疆貧困地區(qū)精準(zhǔn)脫貧監(jiān)測與評估研究(No.19BTJ037);新疆財經(jīng)大學(xué)校級科研項目:基于深度學(xué)習(xí)的網(wǎng)絡(luò)攻擊檢測技術(shù)研究(2020XYB004)
網(wǎng)絡(luò)安全技術(shù)與應(yīng)用2021年11期