伴隨互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡(luò)攻擊也愈演愈烈,使傳統(tǒng)意義上的安全措施作用基本喪失,嚴(yán)重威脅企業(yè)安全。而且網(wǎng)絡(luò)攻擊者大都使用偽造的IP地址,使被攻擊者很難確定攻擊源的位置。這些都使得企業(yè)內(nèi)網(wǎng)絡(luò)攻擊路徑分析與還原技術(shù)成為網(wǎng)絡(luò)主動(dòng)防御體系中的重要一環(huán),它對(duì)于最小化攻擊造成的損失、威懾潛在的網(wǎng)絡(luò)攻擊行為都有著至關(guān)重要的作用。
目前攻擊路徑還原技術(shù)絕大多數(shù)都是針對(duì)外網(wǎng)DDoS攻擊而言,技術(shù)手段集中在攻擊者“指紋庫(kù)”的積累和云端威脅情報(bào)的共享。在面對(duì)攻擊者進(jìn)入企業(yè)信息系統(tǒng)內(nèi)部之后的路徑溯源卻乏善可陳,只能依靠網(wǎng)絡(luò)管理員對(duì)邊界流量的異常日志來(lái)發(fā)現(xiàn),主要手段有分組標(biāo)記溯源法、ICMP溯源法、日志記錄溯源法、受控泛洪溯源法、鏈路測(cè)試溯源法。從技術(shù)原理上來(lái)說(shuō)都是利用網(wǎng)絡(luò)流量及協(xié)議的特征進(jìn)行溯源。存在如下缺點(diǎn):
1.對(duì)于滲透到企業(yè)內(nèi)部的攻擊,外網(wǎng)DDoS攻擊的威脅情報(bào)技術(shù)無(wú)法進(jìn)行追蹤還原,安全人員只能通過(guò)綜合各個(gè)安全設(shè)備相關(guān)日志及安全信息,人工分析攻擊路徑。
2.路徑還原能力有限,無(wú)法對(duì)所有攻擊行為進(jìn)行路徑還原。傳統(tǒng)技術(shù)大部分是基于已有的經(jīng)驗(yàn)規(guī)則來(lái)發(fā)現(xiàn)攻擊,對(duì)于新威脅或攻擊,無(wú)法準(zhǔn)確確認(rèn)。
3.路徑還原不精準(zhǔn),存在誤判或影響業(yè)務(wù)的現(xiàn)象。依靠協(xié)議特征反向探測(cè)或響應(yīng)攻擊的技術(shù),一方面會(huì)影響正常業(yè)務(wù)系統(tǒng)的運(yùn)行,另一方面協(xié)議也可被攻擊者利用從而使溯源失效或誤判。
目前最難發(fā)現(xiàn)、最難可視化的攻擊便是APT攻擊。本文正是基于APT攻擊提出了一整套企業(yè)內(nèi)網(wǎng)絡(luò)攻擊路徑分析與還原解決方案。通過(guò)事件告警及資產(chǎn)信息的綜合分析,以Kill Chain(殺傷鏈)的七個(gè)步驟為橫向,以攻擊者、攻擊來(lái)源、薄弱點(diǎn)、攻擊目標(biāo)為縱向,縱深的還原攻擊程,進(jìn)而鎖定攻擊特征,還原網(wǎng)絡(luò)拓?fù)?,將過(guò)程圖和網(wǎng)絡(luò)圖分開(kāi),簡(jiǎn)明清晰的展示攻擊過(guò)程。
攻擊路徑還原是通過(guò)網(wǎng)絡(luò)中安全事件的特征還原攻擊手法并最終追溯出攻擊者的過(guò)程。其目的在于回溯攻擊者和徹查薄弱點(diǎn),通過(guò)安全事件告警和各類(lèi)系統(tǒng)的綜合分析得出攻擊目標(biāo)、內(nèi)網(wǎng)薄弱點(diǎn)、攻擊來(lái)源、攻擊者四者的各自列表和各臺(tái)設(shè)備之間的連接關(guān)系,由此得到攻擊路徑溯源圖,從而完成攻擊過(guò)程的還原。
攻擊溯源主要分為攻擊過(guò)程溯源和網(wǎng)絡(luò)溯源,過(guò)程溯源最后輸出的結(jié)果是攻擊的整體步驟,用來(lái)展現(xiàn)攻擊者是誰(shuí)、目的是什么、攻擊過(guò)程。網(wǎng)絡(luò)溯源最后輸出的結(jié)果是網(wǎng)絡(luò)拓?fù)鋱D,用來(lái)展現(xiàn)攻擊手段和攻擊工具。
圖1 攻擊過(guò)程溯源
以下結(jié)合圖1,對(duì)本提案進(jìn)行詳細(xì)闡述。
攻擊過(guò)程溯源由兩個(gè)維度構(gòu)成,分別是攻擊區(qū)域和Kill Chain(殺傷鏈)。設(shè)備按照攻擊區(qū)域劃分,設(shè)備連接按照Kill Chain進(jìn)行組織標(biāo)識(shí)。
攻擊區(qū)域分為四個(gè)部分:攻擊者、攻擊來(lái)源、內(nèi)部薄弱點(diǎn)、攻擊目標(biāo)。
攻擊者:發(fā)起攻擊的源頭。
攻擊來(lái)源:攻擊者控制的僵尸網(wǎng)絡(luò),攻擊者以此隱匿自身的真實(shí)網(wǎng)絡(luò)地址。
內(nèi)部薄弱點(diǎn):是與攻擊目標(biāo)關(guān)聯(lián)且有相同攻擊特征的內(nèi)網(wǎng)設(shè)備,攻擊者接觸到組織內(nèi)部時(shí)往往無(wú)法直接觸碰到具有重大或核心價(jià)值的重要資產(chǎn),而需要探測(cè)出組織內(nèi)部安全的薄弱點(diǎn),以此為最終攻擊做準(zhǔn)備。
攻擊目標(biāo):攻擊行為的最終目標(biāo)。
Kill Chain分為七個(gè)步驟:探測(cè)、準(zhǔn)備彈藥、投毒、利用、安裝、執(zhí)行遠(yuǎn)程控制、執(zhí)行目標(biāo)行動(dòng)。
通過(guò)對(duì)被攻擊設(shè)備的資產(chǎn)價(jià)值、告警信息進(jìn)行綜合分析,確認(rèn)最終攻擊目標(biāo)。
周期性獲取經(jīng)過(guò)采集、格式化、關(guān)聯(lián)分析后的發(fā)生在網(wǎng)絡(luò)設(shè)備、安全設(shè)備、主機(jī)及相關(guān)資產(chǎn)上的告警事件。設(shè)備包括:交換機(jī)、路由器、流量設(shè)備、防火墻、IDS、IPS、主機(jī)、數(shù)據(jù)庫(kù)等,要采集的信息包括設(shè)備記錄的用戶行為信息、設(shè)備自身運(yùn)行信息、設(shè)備配置信息。
獲取告警信息中描述的被攻擊設(shè)備。告警信息包括事件發(fā)生時(shí)間、源地址、目的地址、事件類(lèi)型、告警級(jí)別等信息,通過(guò)目的地址關(guān)聯(lián)的資產(chǎn)既是被攻擊設(shè)備。
核算被攻擊設(shè)備資產(chǎn)價(jià)值。根據(jù)資產(chǎn)價(jià)值、告警類(lèi)型、告警次數(shù)核算被攻擊設(shè)備綜合指數(shù),并根據(jù)資產(chǎn)類(lèi)型、業(yè)務(wù)類(lèi)型等因素設(shè)置閾值,比較被攻擊設(shè)備的綜合指數(shù)與閾值大小,綜合指數(shù)大于閾值,視該資產(chǎn)為攻擊目標(biāo),未超過(guò)閾值的資產(chǎn)視為攻擊路徑中資產(chǎn)。
以上判斷,最終超過(guò)閾值的設(shè)備被確認(rèn)為攻擊目標(biāo)。
追溯內(nèi)部薄弱點(diǎn),回溯攻擊來(lái)源,因此需要通過(guò)查找與攻擊目標(biāo)發(fā)生過(guò)連接且產(chǎn)生過(guò)安全事件告警的設(shè)備來(lái)鎖定內(nèi)部薄弱點(diǎn)范圍。通過(guò)分析歷史告警及流量數(shù)據(jù),輸出距離攻擊目標(biāo)最近的薄弱點(diǎn)列表,攻擊來(lái)源列表。
通過(guò)對(duì)攻擊目標(biāo)設(shè)備的告警及流量分析,找出與攻擊目標(biāo)有連接或者是告警事件源地址對(duì)應(yīng)的設(shè)備,對(duì)應(yīng)內(nèi)網(wǎng)設(shè)備添加到設(shè)備列表A,外網(wǎng)設(shè)備添加到攻擊來(lái)源設(shè)備列表S。
遍歷設(shè)備列表A所有設(shè)備,查詢?cè)O(shè)備歷史告警信息,將有告警發(fā)生的設(shè)備組合形成設(shè)備列表B,將列表B設(shè)備添加到內(nèi)部薄弱點(diǎn)列表L中。
遍歷設(shè)備列表B所有設(shè)備,找出與之有連接或者是告警事件源地址對(duì)應(yīng)的設(shè)備,對(duì)應(yīng)內(nèi)網(wǎng)設(shè)備添加到設(shè)備列表D,外網(wǎng)設(shè)備添加到攻擊來(lái)源設(shè)備列表S。
遍歷設(shè)備列表D所有設(shè)備,查詢?cè)O(shè)備歷史告警信息,將有告警發(fā)生且告警類(lèi)型相同設(shè)備組合形成設(shè)備列表E,將列表E設(shè)備添加到內(nèi)部薄弱點(diǎn)列表L中。
按照上面步驟遞歸處理列表,最終形成完整的內(nèi)部薄弱點(diǎn)列表和攻擊來(lái)源列表。
如下案例:
“攻擊目標(biāo)”10.1.4.7設(shè)備發(fā)生了為“信息泄露”事件并產(chǎn)生告警(對(duì)應(yīng)Kill Chain“執(zhí)行目標(biāo)行動(dòng)”階段)。
分析與“攻擊目標(biāo)”10.1.4.7有過(guò)連接或告警源地址對(duì)應(yīng)設(shè)備歷史告警信息,發(fā)現(xiàn)有“執(zhí)行遠(yuǎn)程控制”的事件及告警發(fā)生(對(duì)應(yīng)Kill Chain“執(zhí)行遠(yuǎn)程控制”階段),得出遠(yuǎn)程控制告警設(shè)備列表。
圖2 攻擊路徑還原
遠(yuǎn)程控制告警列表中的所有設(shè)備都是內(nèi)部薄弱點(diǎn)。
分析發(fā)現(xiàn)與遠(yuǎn)程控制告警列表有過(guò)連接的設(shè)備曾有“病毒爆發(fā)”事件及告警發(fā)生(對(duì)應(yīng)Kill Chain“安裝”階段)。
如上述過(guò)程,遞歸推演Kill Chain的攻擊步驟,并將涉及的內(nèi)網(wǎng)設(shè)備加入內(nèi)部薄弱點(diǎn)。直到連接或告警源地址對(duì)應(yīng)設(shè)備的IP中出現(xiàn)外網(wǎng)IP。
當(dāng)出現(xiàn)外網(wǎng)IP時(shí),將外網(wǎng)IP對(duì)應(yīng)的設(shè)備添加到攻擊來(lái)源設(shè)備列表,與此同時(shí),內(nèi)網(wǎng)IP設(shè)備仍然按照Kill Chain進(jìn)行回溯,直到“探測(cè)階段”。
“探測(cè)階段”需不斷遞歸從而輸出覆蓋全部攻擊類(lèi)型的“探測(cè)階段”,直到“攻擊目的”列表完全清空(目標(biāo)IP已無(wú)內(nèi)網(wǎng)IP,外網(wǎng)IP全部歸類(lèi)到“攻擊來(lái)源”)。
根據(jù)內(nèi)部薄弱點(diǎn)列表及攻擊來(lái)源列表信息,結(jié)合最新的威脅情報(bào)信息進(jìn)行綜合分析,從而定位出攻擊者。
在線實(shí)時(shí)獲取外部威脅情報(bào)機(jī)構(gòu)提供的最新情報(bào)信息,及時(shí)更新本地威脅情報(bào)信息庫(kù)。
查詢攻擊來(lái)源列表中的設(shè)備是否在威脅情報(bào)庫(kù)中有備案,對(duì)有備案的攻擊來(lái)源設(shè)備進(jìn)行標(biāo)識(shí)。
通過(guò)攻擊來(lái)源設(shè)備IP信息以及攻擊行為特征定位攻擊者,查詢其背景信息。
整理全部攻擊者的相關(guān)信息,形成詳實(shí)的描述。
基于以上分析結(jié)論,分別以攻擊區(qū)域、Kill Chain 兩個(gè)維度對(duì)攻擊數(shù)據(jù)進(jìn)行組織,最終利用圖形化工具生成攻擊路徑還原圖。如圖2所示。
根據(jù)攻擊類(lèi)型和Kill Chain的七個(gè)步驟的對(duì)應(yīng)關(guān)系,建立攻擊路徑圖中的橫向數(shù)據(jù)關(guān)系。
根據(jù)設(shè)備與攻擊者、攻擊來(lái)源、內(nèi)部薄弱點(diǎn)、攻擊目標(biāo)的對(duì)應(yīng)關(guān)系,建立攻擊路徑中的縱向數(shù)據(jù)關(guān)系。
通過(guò)可視化工具,以攻擊者、攻擊來(lái)源、內(nèi)部薄弱點(diǎn)、攻擊目標(biāo)為縱向區(qū)域,以點(diǎn)到點(diǎn)攻擊轉(zhuǎn)化的Kill Chain為橫向連接,繪制攻擊路徑還原圖。
通過(guò)網(wǎng)絡(luò)拓?fù)溥€原和事件攻擊路徑上的連接關(guān)系,繪制網(wǎng)絡(luò)拓?fù)渌菰磮D,輸出攻擊路徑還原圖表。