時(shí)間對抗:防御APT攻擊的新思路
高級持續(xù)性威脅(Advanced Persistent Threat)是當(dāng)前信息安全產(chǎn)業(yè)界的熱點(diǎn)。作為一種有目標(biāo)、有組織的攻擊方式,APT在流程上同普通攻擊行為并無明顯區(qū)別,但在具體攻擊步驟上,APT體現(xiàn)出以下特點(diǎn),使其具備更強(qiáng)的破壞性:
攻擊行為特征難以提?。篈PT普遍采用0day漏洞獲取權(quán)限,通過未知木馬進(jìn)行遠(yuǎn)程控制,而傳統(tǒng)基于特征匹配的檢測設(shè)備總是要先捕獲惡意代碼樣本,才能提取特征并基于特征進(jìn)行攻擊識別,這就存在先天的滯后性。
單點(diǎn)隱蔽能力強(qiáng):為了躲避傳統(tǒng)檢測設(shè)備,APT更加注重動態(tài)行為和靜態(tài)文件的隱蔽性。例如通過隱蔽通道、加密通道避免網(wǎng)絡(luò)行為被檢測,或者通過偽造合法簽名的方式避免惡意代碼文件本身被識別,這就給傳統(tǒng)基于簽名的檢測帶來很大困難。
攻擊渠道多樣化:目前被曝光的知名APT事件中,社交攻擊、0day漏洞利用、物理擺渡等方式層出不窮,而傳統(tǒng)的檢測往往只注重邊界防御,系統(tǒng)邊界一旦被繞過,后續(xù)的攻擊步驟實(shí)施的難度將大大降低。
攻擊持續(xù)時(shí)間長:APT攻擊分為多個(gè)步驟,從最初的信息搜集,到信息竊取并外傳往往要經(jīng)歷幾個(gè)月甚至更長的時(shí)間。而傳統(tǒng)的檢測方式是基于單個(gè)時(shí)間點(diǎn)的實(shí)時(shí)檢測,難以對跨度如此長的攻擊進(jìn)行有效跟蹤。
正是APT攻擊所體現(xiàn)出的上述特點(diǎn),使得傳統(tǒng)以實(shí)時(shí)檢測、實(shí)時(shí)阻斷為主體的防御方式難以有效發(fā)揮作用。在同APT的對抗中,我們也必須轉(zhuǎn)換思路,采取新的檢測方式,以應(yīng)對新挑戰(zhàn)。
基于記憶的APT檢測原理
在探討APT攻擊檢測之前,我們先分析下檢測的內(nèi)涵。從本質(zhì)上講,檢測是將求檢對象從其所依附的環(huán)境中識別出來的過程。為了識別求檢對象,我們需要從檢測環(huán)境中采樣能體現(xiàn)求檢對象特征的數(shù)據(jù),形成被檢測域;需要依賴特定的背景知識,形成判據(jù)庫;需要采取一定的判定算法,形成判定機(jī)制;最終在被檢測域、判據(jù)、判定機(jī)制的共同作用下,做出是否存在求檢對象的論斷,整個(gè)過程如圖1所示。
圖1.檢測邏輯模式
以傳統(tǒng)的入侵檢測系統(tǒng)(IDS)為例,求檢對象是網(wǎng)絡(luò)攻擊行為,檢測環(huán)境就是包含了攻擊行為數(shù)據(jù)的網(wǎng)絡(luò)流量數(shù)據(jù)。為了檢測攻擊,我們需要實(shí)時(shí)采集網(wǎng)絡(luò)流量,形成IDS的被檢測域;需要提取各類攻擊行為的網(wǎng)絡(luò)特征構(gòu)造特征庫,作為IDS的判據(jù)庫;需要采用特征匹配算法,作為IDS判定流量中是否包含攻擊行為的判斷機(jī)制。有了流量數(shù)據(jù)、特征庫、特征匹配算法,我們就能檢測網(wǎng)絡(luò)中是否存在已知攻擊行為。
傳統(tǒng)IDS這種檢測模式,在應(yīng)對常規(guī)攻擊曾發(fā)揮了巨大作用,但對于APT卻顯得無能為力,主要原因在于:
傳統(tǒng)IDS的被檢測域是實(shí)時(shí)網(wǎng)絡(luò)流量,只判斷實(shí)時(shí)網(wǎng)絡(luò)流量中是否包含攻擊行為;而APT整個(gè)過程的時(shí)間跨度很長,從單個(gè)時(shí)間點(diǎn)的角度看APT無法了解全貌,也無法識別攻擊者的真實(shí)意圖,只有將長時(shí)間的可疑行為進(jìn)行關(guān)聯(lián)分析才能實(shí)現(xiàn)APT的有效檢測。
傳統(tǒng)IDS的判斷機(jī)制是特征匹配,只能檢測出提取過攻擊簽名的已知攻擊行為;而APT過程中往往采用0day、特種木馬、隱蔽通道傳輸?shù)任粗?,無法通過誤用檢測的方式進(jìn)行準(zhǔn)確識別,只有通過異常檢測的方式才有可能識別出可疑的攻擊行為。
鑒于上述不足,要有效對抗APT,我們一方面要擴(kuò)大被檢測域,將基于單個(gè)時(shí)間點(diǎn)的實(shí)時(shí)檢測轉(zhuǎn)變?yōu)榛跉v史時(shí)間窗的異步檢測;另一方面要豐富判定機(jī)制,在檢測已知攻擊的同時(shí)能夠兼顧對未知攻擊的檢測。為此我們提出了基于記憶的新檢測模式,共分為四個(gè)步驟:
擴(kuò)大:即拓寬被檢測域,對全流量數(shù)據(jù)進(jìn)行存儲分析。這樣在檢測到可疑行為時(shí),可回溯與攻擊行為相關(guān)的歷史流量數(shù)據(jù)進(jìn)行關(guān)聯(lián)分析,之前已發(fā)生過、未能引起分析人員注意的報(bào)警,有可能隱藏著蓄意攻擊意圖,通過這種回溯關(guān)聯(lián)分析就有可能進(jìn)行有效識別。有了全流量的存儲,就有可能回溯到任意歷史時(shí)刻,采用新的檢測特征和檢測技術(shù),對已發(fā)生的流量進(jìn)行任意粒度的分析,這是本系統(tǒng)最大的特點(diǎn)。
濃縮:對存儲下來的大數(shù)據(jù)進(jìn)行降解操作,刪除與攻擊無關(guān)的數(shù)據(jù)以節(jié)省空間,同時(shí)保留與攻擊相關(guān)的數(shù)據(jù)以備后續(xù)分析。濃縮環(huán)節(jié)需要借助于攻擊檢測模塊,可通過第三方檢測設(shè)備如IDS的報(bào)警進(jìn)行降解,也可直接對全流量數(shù)據(jù)進(jìn)行異常檢測產(chǎn)生可疑報(bào)警,基于報(bào)警事件進(jìn)行降解。
精確:對產(chǎn)生的可疑攻擊數(shù)據(jù)做進(jìn)一步深入分析,產(chǎn)生對攻擊行為的精確報(bào)警??赏ㄟ^多維數(shù)據(jù)可視化分析,定位可疑會話,再進(jìn)一步對流量數(shù)據(jù)進(jìn)行細(xì)粒度協(xié)議解析和應(yīng)用還原,識別異常行為和偽裝成正常業(yè)務(wù)的攻擊行為。本環(huán)節(jié)需要分析人員的參與,通過人機(jī)結(jié)合的方式提升分析效率和準(zhǔn)確度。
場景:對各類攻擊報(bào)警進(jìn)行關(guān)聯(lián),識別報(bào)警之間的攻擊層語義關(guān)系,根據(jù)孤立報(bào)警建立完整攻擊場景。通常的做法是以關(guān)聯(lián)規(guī)則的方式建立攻擊場景知識庫,通過對報(bào)警進(jìn)行匹配和關(guān)聯(lián),完成攻擊場景的構(gòu)建。#p#
系統(tǒng)框架
按照數(shù)據(jù)—信息—知識逐層提煉的模式,基于記憶的APT攻擊檢測系統(tǒng)結(jié)構(gòu)分為三級,系統(tǒng)整體架構(gòu)圖如下:
圖2.基于記憶的檢測系統(tǒng)架構(gòu)圖
1、存儲層
存儲層完成對從互聯(lián)網(wǎng)直接獲取的實(shí)時(shí)數(shù)據(jù)流的預(yù)處理和存儲管理工作。對實(shí)時(shí)數(shù)據(jù)流首先進(jìn)行傳輸層的會話還原,消除因網(wǎng)絡(luò)條件造成的亂序、重傳、延遲等對后續(xù)分析的干擾;然后進(jìn)行應(yīng)用協(xié)議識別,判斷數(shù)據(jù)流上所承載的具體應(yīng)用;最終從非結(jié)構(gòu)化的數(shù)據(jù)流中抽取結(jié)構(gòu)化的元數(shù)據(jù)信息,以便后續(xù)的各類統(tǒng)計(jì)和關(guān)聯(lián)分析。
預(yù)處理后的原始數(shù)據(jù)流,既包括完整的全流量數(shù)據(jù),又包括提取后的元數(shù)據(jù)。考慮到海量數(shù)據(jù)的存儲壓力,可對不同類型的數(shù)據(jù)采取靈活的管理策略:
對于全流量數(shù)據(jù),進(jìn)行窗口長度為星期級的存儲。由于全流量數(shù)據(jù)會占用海量存儲空間,不宜進(jìn)行長期存儲,但全流量數(shù)據(jù)對于后續(xù)的回溯分析又是必須的。為此采用折中的存儲策略:只存儲最近幾周(例如1-2周)的全流量信息,對于超期的數(shù)據(jù)進(jìn)行降解處理。
對于元數(shù)據(jù),進(jìn)行年度級的存儲。提取后的元數(shù)據(jù)只包含應(yīng)用層會話的關(guān)鍵信息,其數(shù)據(jù)量大約相當(dāng)于全流量信息的5%,這類信息對后續(xù)的統(tǒng)計(jì)、關(guān)聯(lián)和數(shù)據(jù)挖掘具有重要的作用,且占用的空間在可接受范圍內(nèi),因此在平臺中進(jìn)行長期存儲。
2、分析層
分析層完成從原始流量數(shù)據(jù)中產(chǎn)生獨(dú)立報(bào)警信息的工作,主要方法包括:
對于能引起網(wǎng)絡(luò)流量顯著異常的攻擊,如DDoS、掃描、蠕蟲傳播等,可通過異常流量檢測和統(tǒng)計(jì)分析的方式進(jìn)行識別。通過建立全面、完整的安全基準(zhǔn)指標(biāo)體系,可以快速識別網(wǎng)絡(luò)流量異常;通過統(tǒng)計(jì)分析,可準(zhǔn)確定位異常的位置和原因。
對于不引起流量異常的未知攻擊,可通過可疑行為建模的方式進(jìn)行識別。例如對于尚未提取特征的木馬,其連接控制端的時(shí)候可能會存在未知的加密傳輸、疑似心跳信號的間歇性連接、惡意域名訪問、異常的上下行流量比等行為,通過對這些可疑行為進(jìn)行關(guān)聯(lián),就有可能檢測到木馬連接行為。
對于通過異常檢測模塊產(chǎn)生的各類報(bào)警,由于缺乏攻擊簽名信息進(jìn)行驗(yàn)證,其準(zhǔn)確度往往低于基于特征匹配的誤用檢測。為此還需要結(jié)合原始報(bào)文,對報(bào)警的有效性進(jìn)一步確認(rèn)。通過報(bào)文所承載的應(yīng)用層對象做細(xì)粒度的協(xié)議解析和還原,可輔助分析人員判定會話內(nèi)容是否包含攻擊數(shù)據(jù),從而進(jìn)一步產(chǎn)生精確報(bào)警。
3、展示層
展示層完成從孤立的攻擊報(bào)警信息生成完整的攻擊場景的關(guān)聯(lián)工作,并提供可視化分析前端工具,幫助分析人員從存儲的海量歷史數(shù)據(jù)中獲取知識。對于攻擊場景關(guān)聯(lián),常見的方法是基于關(guān)聯(lián)規(guī)則匹配攻擊場景。由于APT攻擊手段的復(fù)雜性,在實(shí)際環(huán)境中往往會因?yàn)閳?bào)警事件的缺失導(dǎo)致無法進(jìn)行完整攻擊路徑圖的匹配,進(jìn)而導(dǎo)致建立APT場景失敗,為此要解決基于不完整攻擊路徑的攻擊場景匹配問題。對于多維數(shù)據(jù)可視化分析,要提供給分析人員一套能從地址、端口、協(xié)議類型等維度對數(shù)據(jù)進(jìn)行統(tǒng)計(jì)展示的工具,并支持按照不同的粒度對數(shù)據(jù)進(jìn)行鉆取,方便分析人員在大數(shù)據(jù)中定位可疑行為。#p#
典型應(yīng)用場景
一次典型的APT攻擊過程,通常包括信息搜集、獲取入口點(diǎn)、實(shí)施遠(yuǎn)程控制、攻擊目標(biāo)橫向轉(zhuǎn)移、重要資產(chǎn)數(shù)據(jù)發(fā)現(xiàn)、數(shù)據(jù)泄露等環(huán)節(jié)。對于攻擊防御方而言,由于特征的時(shí)效性和檢測手段的局限性,未必能夠在攻擊的起始階段實(shí)現(xiàn)有效檢測。但對于APT這樣的時(shí)間跨度長、攻擊目標(biāo)明確的攻擊行為,在整個(gè)攻擊過程中總會存在若干個(gè)攻擊暴露點(diǎn),以此為基礎(chǔ)對相關(guān)的流量進(jìn)行回溯關(guān)聯(lián),就有可能獲取攻擊者完整的攻擊意圖。
以某個(gè)攻擊過程為例,攻擊者試圖獲取某信息系統(tǒng)中的重要數(shù)據(jù)。為此,攻擊者先搜集到了該信息系統(tǒng)部分用戶的郵箱地址,然后給這些用戶發(fā)送了郵件,其附件中包含了某個(gè)利用了0day漏洞的文件,導(dǎo)致用戶打開附件時(shí)執(zhí)行了惡意命令并被植入了未知木馬。攻擊者通過加密的命令控制通道,對用戶主機(jī)實(shí)施遠(yuǎn)程控制,獲取了信息系統(tǒng)中的重要數(shù)據(jù)。在這個(gè)攻擊過程中,由于攻擊者所利用的漏洞、植入的木馬都缺乏特征,采用的遠(yuǎn)程控制通道又是進(jìn)行了加密,現(xiàn)有基于攻擊簽名的檢測方式很難進(jìn)行有效檢測。
有了本文所述的基于記憶的APT攻擊檢測系統(tǒng),對整個(gè)攻擊過程的數(shù)據(jù)進(jìn)行存儲,輔以異常檢測方法,就有可能實(shí)現(xiàn)檢測。例如,通過可疑行為識別,系統(tǒng)能檢測到用戶主機(jī)上的可疑加密傳輸行為;基于可疑報(bào)警,對相關(guān)主機(jī)的數(shù)據(jù)進(jìn)行回溯分析,對相關(guān)的歷史流量進(jìn)行協(xié)議解析、應(yīng)用識別和還原,能夠得到郵件附件、被植入的木馬文件;分析人員再對還原后的內(nèi)容做進(jìn)一步的確認(rèn),就能夠識別攻擊者的真實(shí)意圖和已經(jīng)發(fā)生的攻擊行為,并評估自身的信息資產(chǎn)損失狀況。
總結(jié)
APT的出現(xiàn),既給傳統(tǒng)檢測技術(shù)帶來了挑戰(zhàn),也為新興技術(shù)的應(yīng)用帶來了機(jī)遇。硬件技術(shù)的發(fā)展,使得處理器運(yùn)算能力不斷增強(qiáng)、單位容量存儲成本不斷降低,這為我們基于大數(shù)據(jù)進(jìn)行APT檢測提供了必要條件。
對于APT攻擊,我們的對抗策略是以時(shí)間對抗時(shí)間,改變傳統(tǒng)基于單時(shí)間點(diǎn)進(jìn)行特征匹配的局面,對長時(shí)間窗的數(shù)據(jù)進(jìn)行關(guān)聯(lián)分析,并輔以異常檢測算法,以解決現(xiàn)有檢測手段的不足。通過擴(kuò)大檢測域、豐富檢測機(jī)制,形成了新一代基于記憶的智能檢測系統(tǒng)。隨著大數(shù)據(jù)技術(shù)的發(fā)展、各類檢測算法的豐富,基于記憶的智能檢測系統(tǒng)將在應(yīng)對APT攻擊中發(fā)揮更大作用。