李斯祺 李艷斐
摘 要:伴隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)環(huán)境充斥著各種不安全因素,面對層出不窮的網(wǎng)絡(luò)攻擊,出現(xiàn)了針對各項(xiàng)攻擊進(jìn)行預(yù)防的安全技術(shù),例如病毒掃描、防火墻、入侵檢測等。然而,當(dāng)前高級持續(xù)性威脅(Advance Persistent Threat,以下簡稱APT攻擊)已經(jīng)成為各類網(wǎng)絡(luò)面臨的主要安全威脅。論文結(jié)合APT攻擊探測分析和圖的生成算法,提出一個能夠有效提高APT攻擊檢測效率的系統(tǒng)。
關(guān)鍵詞:APT攻擊;網(wǎng)絡(luò)攻擊;圖算法;全流量審計;攻擊檢測
中圖分類號:TP393.0 文獻(xiàn)標(biāo)識碼:A
Abstract: Network environment filled with all kinds of threats with the development of network technology. And advanced persistent threats (aka “APT”) have become the major cybersecurity threats in all kinds of networks. In the face of endless cyber attacks and intrusions, the common prevention methods, such as virus scanners, firewalls, intrusion detection systems lack the ability to detect the APT attack. This paper proposes a method to improve the efficiency of APT attack detection system by using graph generation algorithm in full flow auditing in attack detection.
Key words: APT attacks; network attacks; graph algorithms; full flow audit; attack detection
1 引言
高級持續(xù)威脅(APT)攻擊不斷發(fā)生,現(xiàn)已成為一個社會問題。APT攻擊不同于傳統(tǒng)的網(wǎng)絡(luò)攻擊,以滲透到特定公司或組織并獲取重要的敏感數(shù)據(jù)信息為目的,并利用復(fù)雜的攻擊技術(shù)提高攻擊的成功率,這種攻擊行為首先具有極強(qiáng)的隱蔽能力和針對性,通常是利用企業(yè)或機(jī)構(gòu)網(wǎng)絡(luò)中受信的應(yīng)用程序漏洞來形成攻擊者受控網(wǎng)絡(luò)。通過長期盯稍、定點(diǎn)侵入、持續(xù)滲透等方式,可以讓用戶網(wǎng)絡(luò)環(huán)境中傳統(tǒng)的IPS/IDS、防火墻等安全網(wǎng)關(guān)失去應(yīng)有的防御能力,無論是0day或者精心構(gòu)造的惡意程序,傳統(tǒng)的基于特征庫的被動防御體系都無法抵御定向攻擊的入侵。APT攻擊已經(jīng)成為世界范圍內(nèi)的重大威脅,APT防范成為熱點(diǎn)議題。
2 APT攻擊技術(shù)分析
高級持續(xù)威脅(APT)普遍認(rèn)可的定義是,利用各種先進(jìn)的攻擊手段,對高價值目標(biāo)進(jìn)行的有組織、長期持續(xù)性網(wǎng)絡(luò)攻擊行為。APT不只是某個攻擊手段,更是一系列為了達(dá)成目標(biāo)而使用的攻擊手段的集合,其攻擊特點(diǎn)導(dǎo)致傳統(tǒng)針對單一網(wǎng)絡(luò)攻擊的安全技術(shù)無法對APT攻擊進(jìn)行有效預(yù)防。
2.1 攻擊特點(diǎn)
APT攻擊具有很強(qiáng)的針對性,攻擊者會收集目標(biāo)對象網(wǎng)絡(luò)環(huán)境或應(yīng)用系統(tǒng)的相關(guān)精確信息,通過詳盡、系統(tǒng)化的分析和總結(jié),發(fā)現(xiàn)漏洞并構(gòu)造相應(yīng)的攻擊方法。其次,APT攻擊的成本很高,攻擊者會對收集的信息進(jìn)行長時間的分析,數(shù)據(jù)挖掘。最后,APT攻擊是持續(xù)的,攻擊和防御體系時刻處于對抗之中,一次完整的APT攻擊往往包含多個步驟。最重要的兩個特點(diǎn)為“A”和“P”,其中“A”為Advanced代表攻擊方式的多變性與高階性,APT攻擊最常用的手段為使用0day或社會工程學(xué)繞過防護(hù)邊界,同時利用多種攻擊手段達(dá)到目標(biāo),基于特征匹配的防護(hù)措施難以應(yīng)對該攻擊;“P”為Persistent代表攻擊的長持續(xù)性,APT攻擊往往都是由攻擊者長期進(jìn)行滲透攻擊,對目標(biāo)系統(tǒng)的掃描、探測、攻擊均維持在一個相當(dāng)長的時間跨度內(nèi),該特點(diǎn)可能增加檢測完整攻擊鏈的難度。
2.2 攻擊對象
被攻擊的對象主要分為三類:政府、企業(yè)及個人。其攻擊的核心是入侵系統(tǒng)后進(jìn)行信息竊密和行為干擾。對于APT攻擊,發(fā)起者是人,利用了大量的社會工程學(xué)手段,從不同角度利用多種業(yè)務(wù)進(jìn)行滲透,通過網(wǎng)絡(luò)進(jìn)行連接,而作用點(diǎn)在終端,不同的終端,在APT攻擊中表現(xiàn)也不一樣,例如移動終端, APT 可以通過移動終端進(jìn)行信息收集,而智能終端上的各種信息往往比 PC 終端要豐富得多; BYOD模式(Bring Your Own Device,允許員工自帶智能設(shè)備使用企業(yè)內(nèi)部應(yīng)用)在提高員工工作效率、降低企業(yè)的成本和投入的同時,也為系統(tǒng)數(shù)據(jù)的安全帶來了更多的風(fēng)險。目前,很多業(yè)務(wù)系統(tǒng)都允許用戶的移動終端接入,終端的類型也呈多樣化(如 iPhone、安卓、iWatch等),任何終端上安裝了存在安全風(fēng)險的應(yīng)用軟件都會導(dǎo)致整個系統(tǒng)的防御體系出現(xiàn)問題。智能機(jī)上的終端軟件,如手機(jī)郵箱、辦公系統(tǒng)等都會成為 APT 攻擊的跳板,甚至直接導(dǎo)致企業(yè)關(guān)鍵業(yè)務(wù)信息的泄漏[1]。
2.3 攻擊過程
APT攻擊指攻擊者在未經(jīng)允許訪問某組織的內(nèi)部網(wǎng)絡(luò),并長時間停留且不被發(fā)現(xiàn)的攻擊形式,并實(shí)現(xiàn)幾個目的。
長期潛伏在該單位網(wǎng)絡(luò)中,并伺機(jī)竊取機(jī)密數(shù)據(jù);策劃攻擊方案并實(shí)施攻擊,使該組織網(wǎng)絡(luò)部分癱瘓或完全失效;為后續(xù)攻擊打開后門,為未來的攻擊做準(zhǔn)備,達(dá)到長期利用的目的。攻擊者可能會持續(xù)多年并重復(fù)采取各種攻方式,以保證一直可以以高權(quán)限在該組織的網(wǎng)絡(luò)來投放惡意程序,以實(shí)現(xiàn)長期利用的目的。
高級持續(xù)威脅攻擊可以分為四步:準(zhǔn)備、試探性攻擊、內(nèi)網(wǎng)活動和實(shí)現(xiàn)最終攻擊目標(biāo)。
在初始階段,攻擊者會從多方面收集信息來尋找被攻擊者的弱點(diǎn)。有經(jīng)驗(yàn)的攻擊者一般可能從公司官方網(wǎng)站、社交媒體和其他各種渠道,來了解目標(biāo)個人或公司的方方面面并伺機(jī)尋找弱點(diǎn)。在攻擊者做好準(zhǔn)備后,在第二階段,攻擊者會嘗試在目標(biāo)網(wǎng)絡(luò)中建立立足點(diǎn)。
一般攻擊者會利用社會工程學(xué),使惡意軟件得以植入到目標(biāo)系統(tǒng)中[8,9]。內(nèi)網(wǎng)活動這一步中,攻擊者會以上一步被感染的主機(jī)作為跳板,收集被攻擊者內(nèi)部網(wǎng)絡(luò)的基礎(chǔ)架構(gòu)信息,找到目標(biāo)以實(shí)現(xiàn)最終目的。一旦攻擊者進(jìn)入目標(biāo)組織內(nèi)部,會通過遠(yuǎn)程控制的方式,實(shí)現(xiàn)對目標(biāo)被滲透系統(tǒng)的控制,這就是高級持續(xù)威脅的常見控制方式[5]。
最后一步,攻擊者會攻擊最終目標(biāo),在在對方網(wǎng)絡(luò)執(zhí)行惡意程序或操作后,即從目標(biāo)網(wǎng)絡(luò)中竊取機(jī)密信息,或者破壞對方IT基礎(chǔ)設(shè)施等惡意行為。同時,攻擊者還可能在目標(biāo)網(wǎng)絡(luò)中植入更強(qiáng)大的后門,以便長期訪問受害者網(wǎng)絡(luò),在未來繼續(xù)竊取信息或采取惡意行動。
3 當(dāng)前業(yè)內(nèi)常用檢測方案
3.1 沙盒方案
針對攻擊者使用0day漏洞而致使基于特征的掃描技術(shù)失效的情況,提出沙盒技術(shù)方案識別異常行為,其原理是在實(shí)時流量進(jìn)入受保護(hù)系統(tǒng)之前就先將其引入沙箱之中,通過對沙箱的文件系統(tǒng)、進(jìn)程、注冊表、網(wǎng)絡(luò)行為實(shí)施監(jiān)控,判斷流量中是否包含惡意代碼。沙盒方案最大的困難點(diǎn)在于測試環(huán)境的多樣性,由于沙盒對操作系統(tǒng)類型,瀏覽器版本和相關(guān)插件都有關(guān)系,如果缺乏合適的測試環(huán)境,可能會導(dǎo)致流量中的惡意代碼無法被檢測,造成漏報的情況。
3.2 基于異常的檢測方案
該方案首先對受保護(hù)系統(tǒng)的正常狀態(tài)進(jìn)行建模,形成規(guī)則,通過對比識別異常情況,其核心技術(shù)是元數(shù)據(jù)提取技術(shù)、基于連接特征的惡意代碼檢測規(guī)則,以及基于行為模式的異常檢測算法。其中,元數(shù)據(jù)提取技術(shù)是指利用少量的元數(shù)據(jù)信息,檢測整體網(wǎng)絡(luò)流量的異常?;谶B接特征的惡意代碼檢測規(guī)則,是檢測已知僵尸網(wǎng)絡(luò)、木馬通信的行為。而基于行為模式的異常檢測算法包括檢測隧道通信,可疑加密文件傳輸?shù)取?/p>
3.3 全流量審計方案
這種方案具備強(qiáng)大的事后溯源能力和實(shí)時檢測能力,是將安全人員的分析能力、計算機(jī)強(qiáng)大的存儲能力和運(yùn)算能力相結(jié)合的完整解決方案。其核心思想是通過對全流量進(jìn)行深層次的解析和還原,檢測異常行為,在檢測到異常行為后,回溯分析相關(guān)流量,確認(rèn)攻擊的完整過程。全流量審計方案核心技術(shù)包括大數(shù)據(jù)存儲及處理、應(yīng)用識別、文件還原等。
通常來講,以上三種檢測方案需要面臨的數(shù)據(jù)量和計算量是相當(dāng)大的。針對一個普通的百兆網(wǎng)絡(luò),一天內(nèi)需要處理的數(shù)據(jù)已經(jīng)達(dá)到TP級別,因此提高對攻擊行為的分析能力將會對整個檢測效率的提升起到至關(guān)重要的作用[2]。
4 基于圖算法的檢測方案
基于圖算法的APT攻擊檢測方案,由兩個部分組成,對APT攻擊行為進(jìn)行探測分析的框架和用于生成圖算法的生成方法。
4.1 攻擊分析框架
該框架首先包含了七個因素,其中三個用于描述攻擊的相關(guān)特性,相當(dāng)于提供了攻擊的一些細(xì)節(jié)。第一個特性包含了每一個攻擊的攻擊步驟,不同攻擊的具體攻擊步驟與數(shù)量也是不同的。第二個特性是用于描述完成整個攻擊的每一個步驟中需要實(shí)現(xiàn)的方法,例如獲取系統(tǒng)權(quán)限,就可能會用到密碼爆破攻擊。第三個特性是用于描述攻擊方法,例如在密碼爆破攻擊中,有嘗試的次數(shù)和頻率。針對一些使用0day漏洞的攻擊,該特性可用于描述攻擊導(dǎo)致的系統(tǒng)預(yù)期改變。第四個特性用于描述攻擊可能發(fā)生的位置,可能在日志服務(wù)器中、也可能在工作站中,被探測的攻擊位置可以更加清晰的描述APT攻擊的思路。第五個特性和第六個特性因素則是探測攻擊的方法與分析攻擊的方法,探測攻擊的方法包括基于網(wǎng)絡(luò)的探測,基于主機(jī)的探測和基于日志分析的探測。分析方法即使用數(shù)據(jù)智能分析,通過智能分析才可以獲取攻擊的具體特性和攻擊位置。第七個特性是攻擊對象具體的業(yè)務(wù)屬性,可以判斷攻擊者的目的是什么,可能獲取的信息是什么[3]。
以上七種特性分別回答了四個問題:攻擊需要在哪里探測(第四個特性),如何將其探測出來(第五個特性和第六個特性),需要探測哪些攻擊(第一個特性、第二個特性和第三個特性),為什么需要探測這些攻擊(第七個特性)。這些特性有助于對單一攻擊進(jìn)行分析并為建立攻擊鏈創(chuàng)造良好的數(shù)據(jù)基礎(chǔ)。例如,在某服務(wù)器中探測到密碼爆破攻擊,該攻擊探測的位置即在服務(wù)器上,服務(wù)器中用戶的權(quán)限為這次攻擊的目標(biāo),針對服務(wù)器中的數(shù)據(jù)可以判別攻擊者需要獲知的情況,同時也可以通過攻擊鏈判斷出攻擊者使用的跳板或下一個的方向,針對分析后指定的攻擊進(jìn)行探測,做到有的放矢。
4.2 圖的生成方法
攻擊鏈中一個節(jié)點(diǎn)代表的是APT攻擊的某一個階段,如已經(jīng)攻陷的服務(wù)器、獲得的權(quán)限或是一次木馬的布置,每一個節(jié)點(diǎn)上的攻擊都具備著上一節(jié)中所有的特性,攻擊鏈可以依據(jù)目標(biāo)狀態(tài)數(shù)目、生成引擎實(shí)現(xiàn)方法、搜索策略、規(guī)模約束方法等進(jìn)行分類。這些分類依據(jù)中最關(guān)鍵就是生成引擎,據(jù)此可以將生成方法大致分為基于模型檢測,基于規(guī)則推理。
基于模型檢測的生成方法是對整個網(wǎng)絡(luò)進(jìn)行建模,分別將網(wǎng)絡(luò)中各個元素進(jìn)行編碼,然后將攻擊者的起始點(diǎn)指向攻擊者當(dāng)前所在的主機(jī),攻擊者可利用的攻擊是指網(wǎng)絡(luò)中的漏洞,在模型完成后,利用已有的漏洞攻擊信息從攻擊者的初始權(quán)限開始,用一個有限狀態(tài)機(jī)模型表示網(wǎng)絡(luò)狀態(tài)的變化,通過檢測工具在網(wǎng)絡(luò)中尋找是否有違反安全設(shè)置的狀態(tài),若有這可以以此生成一個攻擊鏈[4]。
基于規(guī)則推理的圖算法生成方法主要思想是運(yùn)用邏輯學(xué)的理論來建立和分析圖算法,當(dāng)前常用的邏輯編程語言成為 Prolog,這種語言于 1972 年正式誕生。Datalog在語法構(gòu)成上是 Prolog 的一個子集,是一種針對演繹式數(shù)據(jù)庫的查詢和規(guī)則語言。
4.3 APT攻擊分析
APT攻擊雖然有多種攻擊路徑,但針對每一種攻擊路徑中具體每一種攻擊行為,攻擊者都是有一個相對固定的攻擊模式,例如攻擊者若試圖獲取或提升自己在目標(biāo)系統(tǒng)中的權(quán)限,可能會使用社會工程攻擊或密碼探測攻擊以及一些漏洞探測;攻擊者若試圖竊取目標(biāo)系統(tǒng)核心數(shù)據(jù)時,則可能使用數(shù)據(jù)庫遍歷;在獲取到部分權(quán)限時,攻擊者會進(jìn)行權(quán)限的測試,進(jìn)而嘗試進(jìn)行權(quán)限的提升等。同樣,在一個網(wǎng)絡(luò)中,總是存在著某些關(guān)鍵的節(jié)點(diǎn),攻擊者的攻擊必須經(jīng)過這些節(jié)點(diǎn),而作為有經(jīng)驗(yàn)的網(wǎng)絡(luò)管理者,這些關(guān)鍵的節(jié)點(diǎn)是可以確定出來的。如果從這些關(guān)鍵的節(jié)點(diǎn)出發(fā)生成圖算法,那么可以消除不必要的冗余,以及大大簡化圖算法的復(fù)雜程度,并且也有利于圖算法的分析。
該系統(tǒng)的主要思想是即通過對關(guān)鍵節(jié)點(diǎn)的探測分析,當(dāng)檢測到異常攻擊時,對攻擊行為進(jìn)行分析,并使用圖算法生成中的攻擊路徑生成算法計算出攻擊路徑,在攻擊路徑中會出現(xiàn)于該攻擊相關(guān)的攻擊作為其前提條件或結(jié)果,針對這些攻擊進(jìn)行探測可有效地判斷系統(tǒng)中是否正發(fā)生攻擊。
攻擊路徑指的是由一系列相互關(guān)聯(lián)的攻擊構(gòu)成的從攻擊起點(diǎn)到攻擊目標(biāo)的一條攻擊序列。一條有效的攻擊路徑必須滿足幾個條件。
(1)起始的攻擊前提必須是攻擊者的初始狀態(tài)。
(2)最后的攻擊結(jié)果必須是攻擊者的目標(biāo)。
(3)中間的攻擊的前提必須是前一個攻擊的攻擊結(jié)果,攻擊結(jié)果是后一個攻擊的前提條件。
(4)攻擊路徑不包含圈?;趩握{(diào)性假設(shè),攻擊者不會通過攻擊獲取一個已經(jīng)得到的權(quán)限,假設(shè)攻擊路徑包含圈,那么就意味著攻擊者的某次攻擊的攻擊結(jié)果是先前某次攻擊的前提條件。而這次原子攻擊的前提條件顯然曾經(jīng)達(dá)到過,因此這條攻擊路徑是沒有意義的。
(5)有效的攻擊路徑的長度應(yīng)該是有限的,以往的圖算法生成工具分析真實(shí)的大規(guī)模網(wǎng)絡(luò)時,常常出現(xiàn)很長的攻擊路徑,但實(shí)際上攻擊者采用的攻擊路徑往往很短。因此,針對網(wǎng)絡(luò)的實(shí)際情況應(yīng)當(dāng)限定攻擊路徑的長度,這對于識別分析攻擊者的真實(shí)攻擊路線是有意義的。
系統(tǒng)工作流程如圖3所示。
4.4 案例
以Windows服務(wù)器為例,攻擊者在獲取webshell后,一般會進(jìn)行本地網(wǎng)卡信息查看,并運(yùn)行:ifconfig;然后進(jìn)行權(quán)限探測,運(yùn)行命令:whoami、query user、net user等;接著檢查服務(wù)器的網(wǎng)絡(luò)連接信息,運(yùn)行:netstat;最后查看服務(wù)器的補(bǔ)丁修補(bǔ)情況,運(yùn)行命令systeminfo。以這些命令為圖元素節(jié)點(diǎn),生成圖模型,符合此模型的行為疑似為攻擊者已經(jīng)獲取到服務(wù)器的部分權(quán)限,正在進(jìn)行信息收集并進(jìn)而嘗試提權(quán)的行為。
4.5 實(shí)驗(yàn)效果
與傳統(tǒng)的APT檢測系統(tǒng)相比,該系統(tǒng)有效地提高了APT攻擊檢測的工作效率。有效降低整個網(wǎng)絡(luò)檢測的數(shù)據(jù)量,針對特定的攻擊進(jìn)行探測,探測系統(tǒng)可使用全流量審計方案,攻擊路徑生成系統(tǒng)以攻擊探測系統(tǒng)得到的攻擊為基礎(chǔ),分析出該攻擊的七大特性,并利用網(wǎng)絡(luò)拓?fù)涞玫秸麄€網(wǎng)絡(luò)的關(guān)鍵節(jié)點(diǎn)。生成在該關(guān)鍵節(jié)點(diǎn)發(fā)起的攻擊所可能的攻擊路徑,針對攻擊路徑中的攻擊使用攻擊探測系統(tǒng)進(jìn)行逐一排查,該系統(tǒng)并未對整個系統(tǒng)的所有流量進(jìn)行全審計,而只是對可疑的位置進(jìn)行探測。
5 結(jié)束語
APT攻擊是一個全新的,更具備復(fù)雜性的攻擊方式,目前APT之所以難以被探測是因?yàn)锳PT攻擊不具有特定的特征點(diǎn),APT攻擊更多的使用一些從未用的攻擊組合或漏洞,該系統(tǒng)通過分析系統(tǒng)內(nèi)發(fā)生的某一個異常攻擊,并通過圖算法生成技術(shù)由后向前的對攻擊進(jìn)行探測,可有效地防御APT攻擊。
參考文獻(xiàn)
[1] 翟立東,李躍,賈召鵬,郭莉.融合網(wǎng)絡(luò)空間的APT威脅檢測與防護(hù)[J].技術(shù)研究,2013.03(58-60).
[2] 周濤.大數(shù)據(jù)與APT攻擊檢測[J].信息安全與通信保密 2012.7(23).
[3] Johannes De Vries,Hans Hoogstraaten.Systems for Detecting Advanced Persistent Threats[C].2012 International Conference on Cyber Security.
[4] 是灝.基于專家知識的網(wǎng)絡(luò)攻擊圖生成方法[D].上海交通大學(xué),2011.
[5] Junho Choi,Htet Myet Lynn.Ontology based APT Attack Behavior Analysis in Cloud Computing[C].2015 10th International Conference on Broadband and Wireless Computing, Communication and Applications.
[6] Mathew Nicho, Shafaq Naheed Khan.A Decision Matrix Model to Identify and Evaluate APT Vulnerabilities at the User Plane [C].2018 MIPRO 2018, May 21-25, 2018, Opatija Croatia.