伴隨互聯網的快速發展,網絡攻擊也愈演愈烈,使傳統意義上的安全措施作用基本喪失,嚴重威脅企業安全。而且網絡攻擊者大都使用偽造的IP地址,使被攻擊者很難確定攻擊源的位置。這些都使得企業內網絡攻擊路徑分析與還原技術成為網絡主動防御體系中的重要一環,它對于最小化攻擊造成的損失、威懾潛在的網絡攻擊行為都有著至關重要的作用。
目前攻擊路徑還原技術絕大多數都是針對外網DDoS攻擊而言,技術手段集中在攻擊者“指紋庫”的積累和云端威脅情報的共享。在面對攻擊者進入企業信息系統內部之后的路徑溯源卻乏善可陳,只能依靠網絡管理員對邊界流量的異常日志來發現,主要手段有分組標記溯源法、ICMP溯源法、日志記錄溯源法、受控泛洪溯源法、鏈路測試溯源法。從技術原理上來說都是利用網絡流量及協議的特征進行溯源。存在如下缺點:
1.對于滲透到企業內部的攻擊,外網DDoS攻擊的威脅情報技術無法進行追蹤還原,安全人員只能通過綜合各個安全設備相關日志及安全信息,人工分析攻擊路徑。
2.路徑還原能力有限,無法對所有攻擊行為進行路徑還原。傳統技術大部分是基于已有的經驗規則來發現攻擊,對于新威脅或攻擊,無法準確確認。
3.路徑還原不精準,存在誤判或影響業務的現象。依靠協議特征反向探測或響應攻擊的技術,一方面會影響正常業務系統的運行,另一方面協議也可被攻擊者利用從而使溯源失效或誤判。
目前最難發現、最難可視化的攻擊便是APT攻擊。本文正是基于APT攻擊提出了一整套企業內網絡攻擊路徑分析與還原解決方案。通過事件告警及資產信息的綜合分析,以Kill Chain(殺傷鏈)的七個步驟為橫向,以攻擊者、攻擊來源、薄弱點、攻擊目標為縱向,縱深的還原攻擊程,進而鎖定攻擊特征,還原網絡拓撲,將過程圖和網絡圖分開,簡明清晰的展示攻擊過程。
攻擊路徑還原是通過網絡中安全事件的特征還原攻擊手法并最終追溯出攻擊者的過程。其目的在于回溯攻擊者和徹查薄弱點,通過安全事件告警和各類系統的綜合分析得出攻擊目標、內網薄弱點、攻擊來源、攻擊者四者的各自列表和各臺設備之間的連接關系,由此得到攻擊路徑溯源圖,從而完成攻擊過程的還原。
攻擊溯源主要分為攻擊過程溯源和網絡溯源,過程溯源最后輸出的結果是攻擊的整體步驟,用來展現攻擊者是誰、目的是什么、攻擊過程。網絡溯源最后輸出的結果是網絡拓撲圖,用來展現攻擊手段和攻擊工具。

圖1 攻擊過程溯源
以下結合圖1,對本提案進行詳細闡述。
攻擊過程溯源由兩個維度構成,分別是攻擊區域和Kill Chain(殺傷鏈)。設備按照攻擊區域劃分,設備連接按照Kill Chain進行組織標識。
攻擊區域分為四個部分:攻擊者、攻擊來源、內部薄弱點、攻擊目標。
攻擊者:發起攻擊的源頭。
攻擊來源:攻擊者控制的僵尸網絡,攻擊者以此隱匿自身的真實網絡地址。
內部薄弱點:是與攻擊目標關聯且有相同攻擊特征的內網設備,攻擊者接觸到組織內部時往往無法直接觸碰到具有重大或核心價值的重要資產,而需要探測出組織內部安全的薄弱點,以此為最終攻擊做準備。
攻擊目標:攻擊行為的最終目標。
Kill Chain分為七個步驟:探測、準備彈藥、投毒、利用、安裝、執行遠程控制、執行目標行動。
通過對被攻擊設備的資產價值、告警信息進行綜合分析,確認最終攻擊目標。
周期性獲取經過采集、格式化、關聯分析后的發生在網絡設備、安全設備、主機及相關資產上的告警事件。設備包括:交換機、路由器、流量設備、防火墻、IDS、IPS、主機、數據庫等,要采集的信息包括設備記錄的用戶行為信息、設備自身運行信息、設備配置信息。
獲取告警信息中描述的被攻擊設備。告警信息包括事件發生時間、源地址、目的地址、事件類型、告警級別等信息,通過目的地址關聯的資產既是被攻擊設備。
核算被攻擊設備資產價值。根據資產價值、告警類型、告警次數核算被攻擊設備綜合指數,并根據資產類型、業務類型等因素設置閾值,比較被攻擊設備的綜合指數與閾值大小,綜合指數大于閾值,視該資產為攻擊目標,未超過閾值的資產視為攻擊路徑中資產。
以上判斷,最終超過閾值的設備被確認為攻擊目標。
追溯內部薄弱點,回溯攻擊來源,因此需要通過查找與攻擊目標發生過連接且產生過安全事件告警的設備來鎖定內部薄弱點范圍。通過分析歷史告警及流量數據,輸出距離攻擊目標最近的薄弱點列表,攻擊來源列表。
通過對攻擊目標設備的告警及流量分析,找出與攻擊目標有連接或者是告警事件源地址對應的設備,對應內網設備添加到設備列表A,外網設備添加到攻擊來源設備列表S。
遍歷設備列表A所有設備,查詢設備歷史告警信息,將有告警發生的設備組合形成設備列表B,將列表B設備添加到內部薄弱點列表L中。
遍歷設備列表B所有設備,找出與之有連接或者是告警事件源地址對應的設備,對應內網設備添加到設備列表D,外網設備添加到攻擊來源設備列表S。
遍歷設備列表D所有設備,查詢設備歷史告警信息,將有告警發生且告警類型相同設備組合形成設備列表E,將列表E設備添加到內部薄弱點列表L中。
按照上面步驟遞歸處理列表,最終形成完整的內部薄弱點列表和攻擊來源列表。
如下案例:
“攻擊目標”10.1.4.7設備發生了為“信息泄露”事件并產生告警(對應Kill Chain“執行目標行動”階段)。
分析與“攻擊目標”10.1.4.7有過連接或告警源地址對應設備歷史告警信息,發現有“執行遠程控制”的事件及告警發生(對應Kill Chain“執行遠程控制”階段),得出遠程控制告警設備列表。

圖2 攻擊路徑還原
遠程控制告警列表中的所有設備都是內部薄弱點。
分析發現與遠程控制告警列表有過連接的設備曾有“病毒爆發”事件及告警發生(對應Kill Chain“安裝”階段)。
如上述過程,遞歸推演Kill Chain的攻擊步驟,并將涉及的內網設備加入內部薄弱點。直到連接或告警源地址對應設備的IP中出現外網IP。
當出現外網IP時,將外網IP對應的設備添加到攻擊來源設備列表,與此同時,內網IP設備仍然按照Kill Chain進行回溯,直到“探測階段”。
“探測階段”需不斷遞歸從而輸出覆蓋全部攻擊類型的“探測階段”,直到“攻擊目的”列表完全清空(目標IP已無內網IP,外網IP全部歸類到“攻擊來源”)。
根據內部薄弱點列表及攻擊來源列表信息,結合最新的威脅情報信息進行綜合分析,從而定位出攻擊者。
在線實時獲取外部威脅情報機構提供的最新情報信息,及時更新本地威脅情報信息庫。
查詢攻擊來源列表中的設備是否在威脅情報庫中有備案,對有備案的攻擊來源設備進行標識。
通過攻擊來源設備IP信息以及攻擊行為特征定位攻擊者,查詢其背景信息。
整理全部攻擊者的相關信息,形成詳實的描述。
基于以上分析結論,分別以攻擊區域、Kill Chain 兩個維度對攻擊數據進行組織,最終利用圖形化工具生成攻擊路徑還原圖。如圖2所示。
根據攻擊類型和Kill Chain的七個步驟的對應關系,建立攻擊路徑圖中的橫向數據關系。
根據設備與攻擊者、攻擊來源、內部薄弱點、攻擊目標的對應關系,建立攻擊路徑中的縱向數據關系。
通過可視化工具,以攻擊者、攻擊來源、內部薄弱點、攻擊目標為縱向區域,以點到點攻擊轉化的Kill Chain為橫向連接,繪制攻擊路徑還原圖。
通過網絡拓撲還原和事件攻擊路徑上的連接關系,繪制網絡拓撲溯源圖,輸出攻擊路徑還原圖表。