官术网_书友最值得收藏!

3.3 安全要素和安全特征的采集技術(shù)

本章3.2節(jié)從資產(chǎn)維度數(shù)據(jù)、漏洞維度數(shù)據(jù)、威脅維度數(shù)據(jù)方面介紹了網(wǎng)絡安全態(tài)勢感知過程中需要采集的安全要素與安全特征。本節(jié)將針對不同類別的安全要素和安全特征,介紹不同的數(shù)據(jù)采集方法及相關的采集工具。

3.3.1 資產(chǎn)維度數(shù)據(jù)采集

資產(chǎn)維度數(shù)據(jù)是網(wǎng)絡安全態(tài)勢感知過程中防御者要重點保護的元素和對象,對不同類型的資產(chǎn)維度數(shù)據(jù)進行有效采集是分析網(wǎng)絡攻擊影響與后果的重要步驟,有助于及時發(fā)現(xiàn)正在攻擊過程中的網(wǎng)絡攻擊行為。本節(jié)將介紹如何對不同類型的資產(chǎn)維度數(shù)據(jù)進行采集。

(1)對資產(chǎn)基礎數(shù)據(jù)的采集。對于與資產(chǎn)相關的硬件數(shù)據(jù)、操作系統(tǒng)數(shù)據(jù)、軟件數(shù)據(jù)等靜態(tài)資產(chǎn)數(shù)據(jù),可以采用基礎的采集工具進行采集。例如,通過計算機的設備管理器可以查看磁盤、內(nèi)存、CPU等硬件設備的型號、版本號等,通過計算機自帶的系統(tǒng)軟件可查看操作系統(tǒng)信息,通過軟件管理工具可查看安裝的軟件類別、版本號等基礎數(shù)據(jù)。獲取此類基礎數(shù)據(jù)主要是為了分析資產(chǎn)可能潛在的安全漏洞,例如,CVE-2020-8315漏洞[2]主要存在于Windows7系統(tǒng)的部分Python庫,CVE-2019-9635漏洞[3]主要存在于谷歌Tensorflow 1.12.2之前的版本。

(2)對CPU占用率、內(nèi)存占用率、磁盤占用率、磁盤IO信息等硬件運行類系統(tǒng)資源數(shù)據(jù),可通過WMI(Windows Management Instrumentation,Windows管理規(guī)范)進行采集。采集此類數(shù)據(jù)主要是為了判斷是否存在異常的硬件資源被占用的情況。例如,當磁盤I/O信息突然增加時,通過查看是否存在用戶正常的磁盤讀/寫操作,可以判定是否是由于有異常的攻擊事件發(fā)生而導致了I/O信息的異常變化。

(3)注冊表數(shù)據(jù)可以通過注冊表變化插件或工具(如Process Monitor)進行采集。通過插件或工具可以對變化的注冊表信息進行審計。當攻擊者對注冊表進行更改時,可通過查看是否是用戶的正常操作,從而判斷是否有攻擊事件發(fā)生。

(4)系統(tǒng)函數(shù)調(diào)用數(shù)據(jù)可以通過Hook系統(tǒng)獲得。這類數(shù)據(jù)可用于檢測對敏感系統(tǒng)函數(shù)的頻繁調(diào)用。例如,當發(fā)現(xiàn)exec、eval、system等敏感函數(shù)被頻繁調(diào)用時,可進一步查看和檢測是否存在webshell攻擊。

(5)與進程相關的數(shù)據(jù)可以通過進程列表采集插件來采集。例如,可以通過psutil庫獲取進程列表;通過查看系統(tǒng)回調(diào)通知可以獲得進程的創(chuàng)建、退出等信息;通過查看進程的數(shù)據(jù)可以判斷是否有可疑的進程出現(xiàn),是否有正常工作的進程被惡意關閉等。

(6)端口數(shù)據(jù)主要包括各開放端口(如TCP端口、UDP端口等)的數(shù)據(jù),可通過psutil庫獲取端口數(shù)據(jù),檢測是否存在異常的端口數(shù)據(jù)。

(7)服務類數(shù)據(jù),可通過WMI獲取系統(tǒng)服務信息,當攻擊者改變某些系統(tǒng)服務信息時,可以有效采集這種服務類數(shù)據(jù)。

(8)網(wǎng)絡類數(shù)據(jù)包括網(wǎng)絡狀態(tài)、出入流量、丟包率、網(wǎng)絡連接情況、網(wǎng)卡處理的數(shù)據(jù)等。通過WMI可以采集網(wǎng)卡信息和相關的網(wǎng)絡類數(shù)據(jù),以判斷是否存在異常的網(wǎng)絡連接、異常的出入流量等。

(9)對用戶數(shù)據(jù)可以通過系統(tǒng)賬號插件進行采集。利用系統(tǒng)內(nèi)置函數(shù)可以獲取用戶的用戶名、用戶群組等數(shù)據(jù)。

(10)對權(quán)限數(shù)據(jù)可通過類似的插件進行采集,以獲取不同用戶的權(quán)限變化。當攻擊者進行提權(quán)時,防御者可根據(jù)用戶權(quán)限變化的情況判斷提權(quán)操作是否為攻擊者所為。

(11)對文件系統(tǒng)的數(shù)據(jù)可通過文件監(jiān)控插件進行采集。通過跟蹤文件被打開、修改、刪除等操作,記錄文件系統(tǒng)審計數(shù)據(jù),為分析師進行下一步判斷提供依據(jù)。

資產(chǎn)維度數(shù)據(jù)易于采集。由于分析師需要對目標網(wǎng)絡系統(tǒng)進行保護,因此目標網(wǎng)絡系統(tǒng)的各類數(shù)據(jù)可以通過防御方安裝部署的各種工具進行采集。此類數(shù)據(jù)的采集屬于配合型的數(shù)據(jù)采集,相對而言較為容易。靜態(tài)資產(chǎn)類型的數(shù)據(jù)一般而言變化不大,例如硬件型號、版本號等,軟件數(shù)據(jù)更新速度也不快,當用戶安裝新軟件、卸載軟件、更新軟件等時將會對軟件類數(shù)據(jù)進行更新。對于動態(tài)資源數(shù)據(jù)的采集,可以根據(jù)運行的業(yè)務對動態(tài)數(shù)據(jù)進行更新和采集。此外,網(wǎng)絡拓撲是網(wǎng)絡安全態(tài)勢可視化的基礎,不僅能顯示網(wǎng)絡的連接結(jié)構(gòu)等,還可以作為一個平臺顯示網(wǎng)絡態(tài)勢的各種信息。通過給目標網(wǎng)絡安裝探測器,采集相關的信息,可形成整個目標網(wǎng)絡系統(tǒng)的拓撲信息。當目標網(wǎng)絡系統(tǒng)發(fā)生計算機崩潰、網(wǎng)絡癱瘓等問題時,可以在網(wǎng)絡拓撲中及時顯示出異常狀態(tài),以反映異常情況發(fā)生的位置、可能擴散的區(qū)域等。

對于大規(guī)模網(wǎng)絡系統(tǒng),其所有的資產(chǎn)數(shù)據(jù)體量也將變得很大,如果采集所有的資產(chǎn)數(shù)據(jù),就會影響系統(tǒng)的運行狀況。因此,在采集大規(guī)模網(wǎng)絡系統(tǒng)的資產(chǎn)數(shù)據(jù)時,需要根據(jù)資產(chǎn)目標設計靶向數(shù)據(jù)采集方式,即對關注的重要資產(chǎn)數(shù)據(jù)進行采集,而非采集所有的數(shù)據(jù)。下面將介紹常用的采集技術(shù)和采集工具。

WMI是一項核心的Windows管理技術(shù)[4],以CIMOM(Common Information Model Object Manager,公共信息模型對象管理器)為基礎,可以被視為描述操作系統(tǒng)構(gòu)成單元的對象數(shù)據(jù)庫,為各種工具軟件和腳本程序提供了訪問操作系統(tǒng)構(gòu)成單元的公共接口,主要用于管理本地和遠程的資產(chǎn)數(shù)據(jù)。WMI可以用于訪問、配置、管理和監(jiān)視目標網(wǎng)絡系統(tǒng)中的Windows資源。利用WMI可以主動獲取網(wǎng)絡和系統(tǒng)數(shù)據(jù),極大地方便了用戶、分析師、安全管理人員對計算機進行遠程管理。基于WMI,各種工具軟件和腳本程序不需要使用不同API(Application Programming Interface,應用程序接口)訪問操作系統(tǒng)的不同部分和單元,WMI允許通過一個公共接口訪問多種操作系統(tǒng)構(gòu)成單元,不必分別對待各種底層接口。當用戶擁有計算機設備的管理權(quán)限時,便可以在本地計算機或遠程執(zhí)行WMI操作。WMI是對資產(chǎn)維度數(shù)據(jù)進行采集的一種常用技術(shù)。

SNMP(Simple Network Management Protocol,簡單網(wǎng)絡管理協(xié)議)是一個用于檢查和管理網(wǎng)絡設備的常用協(xié)議[5,6],主要被用來采集網(wǎng)絡管理信息及各類安全事件數(shù)據(jù)。SNMP協(xié)議是專門用于管理服務器、工作站、路由器、交換機等網(wǎng)絡節(jié)點的一種標準協(xié)議。網(wǎng)絡管理員利于SNMP協(xié)議能夠管理網(wǎng)絡中的各類設備,發(fā)現(xiàn)并解決網(wǎng)絡中出現(xiàn)的問題,接收安全事件報告,以便為分析師提供支持,讓分析師及時知曉網(wǎng)絡管理系統(tǒng)出現(xiàn)了網(wǎng)絡安全問題。采用SNMP協(xié)議管理的網(wǎng)絡往往由中央管理系統(tǒng)、被管理設備、代理等組成,被管理設備按SNMP協(xié)議向中央管理系統(tǒng)發(fā)送報告。SNMP協(xié)議能夠通過一個中央?yún)R聚點輪詢各個網(wǎng)絡設備,也能把多個代理中的SNMP相關信息推送到中央?yún)R聚點上。

中央管理系統(tǒng)可以通過GET(提取一項信息)、GETNEXT(提取下一項信息)和GETBULK(提取多項信息)等指令進行輪詢,并取回被管理設備的信息;也可以讓被管理設備的代理使用TRAP或INFORM指令主動傳送相關信息;還可以通過SET指令傳送配置更新、控制的請求,實現(xiàn)針對被管理設備的遠程控制,達到主動管理系統(tǒng)的目的。這里介紹的GET、GETNEXT、GETBULK、TRAP、INFORM指令均是SNMP協(xié)議的重要基本命令。

端口掃描可以用于采集端口相關的動態(tài)數(shù)據(jù)。在一般情況下,端口掃描是一種用于攻擊的行為,在未被允許的情況下進行端口掃描會被識別為安全事件。端口掃描可以作為一種主動采集數(shù)據(jù)的方法,向某一個終端的某一個端口提出建立一個連接的請求,通過對方的回應,判斷目標終端是否已安裝了相關服務。端口可以看作是一個通信信道。當向某一個端口提出建立連接的請求時,如果對方安裝了相關服務就會有應答,反之則不會。利用這個原理,端口掃描可以對所有熟知的端口或選定某個范圍內(nèi)的端口分別建立連接,并記錄目標終端相應的反饋情況,從而判斷目標終端安裝了哪些服務。通過掃描設備端口,可以發(fā)現(xiàn)終端設備開放了哪些端口、端口的分配及提供的服務,以及對應軟件版本等。因此,端口掃描可以用作對動態(tài)資產(chǎn)數(shù)據(jù)的采集。當在防護的網(wǎng)絡系統(tǒng)中獲取了用戶的授權(quán)以后,便可以通過端口掃描采集相應的數(shù)據(jù)。

3.3.2 漏洞維度數(shù)據(jù)采集

漏洞一般包括軟件漏洞、配置漏洞、結(jié)構(gòu)漏洞等。按照威脅程度來劃分,漏洞可以分為不同危害級別的漏洞。由于不同類型的軟件、系統(tǒng)存在各種不一樣的漏洞,而且攻擊者往往利用系統(tǒng)中存在的漏洞進行攻擊,因此漏洞可以看作攻擊者嘗試攻擊的入口。如何對漏洞數(shù)據(jù)進行采集是網(wǎng)絡安全中一個十分重要的環(huán)節(jié)。然而,軟件的數(shù)量巨大,軟件和硬件結(jié)構(gòu)、框架繁多,盡管很多公司在軟件、系統(tǒng)上線之前都會進行大量的測試,還是無法對所有的漏洞都進行有效甄別。另外,很多漏洞存在于系統(tǒng)底層、軟件和硬件適配環(huán)節(jié)、系統(tǒng)和軟件更新迭代過程中等,有各種原因會導致新的漏洞出現(xiàn),很難有一種統(tǒng)一的辦法采集到所有的漏洞。下面將介紹業(yè)界最常用的方法,即通過開源的漏洞數(shù)據(jù)庫獲取漏洞數(shù)據(jù)、通過開放的漏洞數(shù)據(jù)庫獲取已發(fā)現(xiàn)的各種漏洞,并將漏洞數(shù)據(jù)表示為合適的形式。

目前常用的漏洞數(shù)據(jù)庫包括CNNVD(China National Vulnearability Database of Information Security,國家信息安全漏洞庫)[7]、CVE(Common Vulnerabilities and Exposures,通用漏洞披露)[8]、NVD(National Vulnearability Database,美國國家漏洞數(shù)據(jù)庫)[9]等。其中,CNNVD介紹了詳細的漏洞信息,如CNNVD-202004-1667漏洞[10]介紹了一款無線路由器D-Link DSL-2640B B2的EU_4.01B版本中的‘do_cgi()’函數(shù)存在緩沖區(qū)錯誤漏洞。該數(shù)據(jù)庫同時對相關的補丁信息、漏洞報告、漏洞預警等進行了介紹。CVE開始建立于1999年,對漏洞采用了公共的命名標準,對漏洞進行描述,介紹漏洞披露時間、相關的操作系統(tǒng)、軟件系統(tǒng)、存在漏洞的函數(shù)等信息。NVD包括數(shù)據(jù)庫與安全相關的軟件缺陷、錯誤配置、產(chǎn)品名稱、影響范圍等。

采集漏洞維度數(shù)據(jù)可以通過各種漏洞數(shù)據(jù)庫對已知的漏洞信息進行采集,采集時,將信息保存為合適的格式,信息包括不同漏洞存在的硬件系統(tǒng)、軟件系統(tǒng)等,如與CNNVD-202004-1667漏洞相關聯(lián)的硬件設備為路由器D-Link DSL-2640B B2的EU_4.01B版本等。采集此類數(shù)據(jù)的目的是為了分析所防護的目標網(wǎng)絡系統(tǒng)可能存在的漏洞,并及時采取相應的措施進行防御。例如,部分已公布的漏洞都有對應的補丁信息,如果所防護的目標網(wǎng)絡系統(tǒng)存在某漏洞,便可通知用戶安裝對應的補丁,防止漏洞被攻擊者利用。很顯然,漏洞數(shù)據(jù)庫中存在的這些漏洞信息都是通過對歷史攻擊事件分析得來的,而對于很多未知的攻擊事件,其利用的漏洞信息并不一定會存在于漏洞庫中。網(wǎng)絡攻防是一個博弈的過程,防御者很難對所有的漏洞維度數(shù)據(jù)進行采集,只能根據(jù)已有的知識(如公布的漏洞數(shù)據(jù)庫)和分析師自身的經(jīng)驗采集相關的漏洞數(shù)據(jù)。對于未知的漏洞,只能在發(fā)現(xiàn)和診斷出攻擊行為以后,才能對漏洞數(shù)據(jù)進行更新和完善。

漏洞維度數(shù)據(jù)主要通過已有的漏洞數(shù)據(jù)庫、補丁庫、漏洞報告等進行采集,相對而言,采集方式比較容易,難點在于如何與目標網(wǎng)絡系統(tǒng)存在的漏洞關聯(lián)起來,一般而言,還可以通過漏洞掃描等方式進行采集。

通過漏洞掃描可以對指定的遠程或本地終端系統(tǒng)進行安全性檢測?;谝延械穆┒葱畔?,掃描發(fā)現(xiàn)可利用的漏洞是一種用于檢測滲透式攻擊行為的方法。一般而言,掃描探測屬于一種攻擊行為。如果未經(jīng)過目標網(wǎng)絡系統(tǒng)的允許,那么這種行為屬于一種非正常的行為,可能對目標網(wǎng)絡系統(tǒng)造成破壞。但是,對于防御者而言,對需要防護的目標網(wǎng)絡系統(tǒng)進行掃描可以主動獲取系統(tǒng)存在的安全漏洞,是一種主動獲取漏洞信息的方法,并且這類掃描行為可以在分析師、用戶的監(jiān)督之下完成。通過漏洞掃描,分析師能夠了解所防護目標網(wǎng)絡系統(tǒng)的安全設置和運行的應用服務狀態(tài),還能及時發(fā)現(xiàn)存在的安全漏洞。一般而言,根據(jù)對象不同,漏洞掃描可以采用針對網(wǎng)絡的漏洞掃描、針對終端的漏洞掃描等。

3.3.3 威脅維度數(shù)據(jù)采集

資產(chǎn)維度數(shù)據(jù)和漏洞維度數(shù)據(jù)的采集方式相對而言屬于配合型的采集方式。威脅維度數(shù)據(jù)的采集方式屬于非配合型的采集方式,數(shù)據(jù)采集難度較大。一般而言,攻擊者在嘗試不同的攻擊行為時,會在目標網(wǎng)絡系統(tǒng)中留下各種痕跡,此類威脅維度數(shù)據(jù)可以被采集。而目標網(wǎng)絡系統(tǒng)并不知道攻擊者何時發(fā)動攻擊,無法預料攻擊者將采用什么攻擊方法,也無法知曉攻擊者從目標網(wǎng)絡系統(tǒng)的哪個部分發(fā)起攻擊,更無法判斷攻擊者的最終意圖。因此,采集威脅維度數(shù)據(jù)只能通過終端數(shù)據(jù)和流量數(shù)據(jù)的變化情況,對可能存在的威脅行為進行判斷。很顯然,如果對所有的數(shù)據(jù)均進行采集,將給分析師帶來數(shù)據(jù)過載的問題,因此在采集威脅維度數(shù)據(jù)時,應當根據(jù)不同類型的威脅行為設計相應的規(guī)則和特征,實現(xiàn)針對威脅行為的靶向數(shù)據(jù)采集。

本節(jié)首先介紹針對終端數(shù)據(jù)和流量數(shù)據(jù)采集的一般性方法,然后介紹如何根據(jù)威脅行為的規(guī)則和特征進行靶向數(shù)據(jù)采集。

3.3.3.1 終端數(shù)據(jù)采集

終端數(shù)據(jù)是指位于整個系統(tǒng)中與單個計算機、服務器等終端設備相關的數(shù)據(jù),一般包括終端資產(chǎn)數(shù)據(jù)、終端日志數(shù)據(jù)、終端告警數(shù)據(jù)等。

對于終端資產(chǎn)數(shù)據(jù),前文已介紹過,可以通過各種系統(tǒng)工具、插件對終端資產(chǎn)數(shù)據(jù)進行采集,包括對終端的CPU、內(nèi)存、硬盤、端口、文件系統(tǒng)、網(wǎng)絡等數(shù)據(jù)進行采集,以便評估終端軟件和硬件資產(chǎn)數(shù)據(jù)的安全狀態(tài)。

對于終端日志數(shù)據(jù),可以通過各類型的日志采集插件進行采集,例如通過操作系統(tǒng)日志采集插件、解析系統(tǒng)安全審計、獲取系統(tǒng)對文件的操作等;對于瀏覽器日志數(shù)據(jù),可以通過瀏覽器的日志插件采集記錄瀏覽器的訪問記錄等日志。通過Flume支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方的這種功能,可以采集日志數(shù)據(jù)。

Flume[11]是一個高可靠的分布式海量日志采集、聚合及傳輸系統(tǒng)。Flume是Apache下的一個孵化項目,最早是由Cloudera提供的日志收集系統(tǒng),支持定制各類數(shù)據(jù)發(fā)送方,同時提供對數(shù)據(jù)進行一些簡單處理的功能,可將數(shù)據(jù)傳輸?shù)礁鞣N不同的數(shù)據(jù)接收方,如將數(shù)據(jù)保存為文本并存入分布式系統(tǒng)HDFS和HBase等。Flume可以從控制臺、Syslog日志系統(tǒng)等不同的數(shù)據(jù)源中采集數(shù)據(jù),再將其傳輸?shù)街付ǖ哪康牡亍榱舜_保成功傳輸,F(xiàn)lume系統(tǒng)會先將數(shù)據(jù)緩存到管道(Channel),待數(shù)據(jù)真正傳輸?shù)侥康牡睾?,再刪除緩存數(shù)據(jù)。

Syslog也被稱為系統(tǒng)日志或系統(tǒng)記錄,是加州大學伯克利軟件分布研究中心開發(fā)的系統(tǒng)日志協(xié)議,可以用于記錄設備日志數(shù)據(jù)[12]。Syslog可記錄終端系統(tǒng)發(fā)生的各類型事件,分析師通過查看終端系統(tǒng)記錄可以掌握系統(tǒng)情況。目前很多終端設備都支持Syslog協(xié)議,包括路由器、交換機、應用服務器、防火墻等,通過分析這些終端設備的日志,可以追蹤和掌握與設備和網(wǎng)絡有關的情況,并及時發(fā)現(xiàn)威脅行為。

對于終端告警數(shù)據(jù),一般可通過部署在終端設備上的防御設備進行獲取。例如,在終端設備上部署終端檢測與響應EDR系統(tǒng)[13],可對終端設備進行主動監(jiān)控,當發(fā)現(xiàn)終端設備出現(xiàn)異常登錄、遠程控制、木馬控制、后門控制、本地提權(quán)、webshell檢測、文件篡改、暴力破解等數(shù)據(jù)時,將整合數(shù)據(jù)并形成告警信息,發(fā)送給分析師進行進一步分析。此類EDR系統(tǒng)種類較多。例如,綠盟公司研發(fā)的NSFOCUS Endpoint Detection and Response[14],采用主動防御和橫向?qū)Ρ鹊确椒?,從多個維度對比分析,感知主機異常變化,發(fā)現(xiàn)初期入侵點,對非正常行為實時攔截和告警,并可對可疑文件進行刪除、隔離等;奇安信終端安全響應系統(tǒng)[15]通過威脅情報、攻防對抗、機器學習等方式,從主機、網(wǎng)絡、用戶、文件等多個維度評估網(wǎng)絡系統(tǒng)中存在的未知風險,以行為引擎為核心,利用威脅情報,縮短從發(fā)現(xiàn)威脅到處置的響應時間。

對于不同類型的安全防御設備、安全工具,可以通過代理的方式采集和發(fā)送數(shù)據(jù)。代理(Agent)可以看作運行在傳感器中,且分布在多個主機上的用于采集數(shù)據(jù)的腳本,主要負責從各安全設備、安全工具的插件中采集服務日志和報警日志等相關信息,并將采集到的各類信息統(tǒng)一格式后發(fā)送給態(tài)勢感知系統(tǒng)。通過代理采集數(shù)據(jù)可以理解為在終端放置各種輔助設備,輔助設備可以主動采集相關數(shù)據(jù),并發(fā)送給態(tài)勢感知系統(tǒng)進行態(tài)勢提取。

3.3.3.2 流量數(shù)據(jù)采集

流量數(shù)據(jù)包括完整的內(nèi)容數(shù)據(jù)、提取的內(nèi)容數(shù)據(jù)、會話數(shù)據(jù)、統(tǒng)計數(shù)據(jù)、告警數(shù)據(jù)等不同類型的數(shù)據(jù)。本節(jié)將針對不同類型的流量數(shù)據(jù),介紹其采集方法及相關工具。

完整的內(nèi)容數(shù)據(jù):未被過濾、完整的網(wǎng)絡數(shù)據(jù)??赏ㄟ^多種網(wǎng)絡抓包軟件、包捕獲軟件采集此類數(shù)據(jù)。例如,Wireshark是一款強大的開源包捕獲軟件[16],內(nèi)含數(shù)百種內(nèi)置協(xié)議可對捕獲的數(shù)據(jù)包進行解析,可用于顯示每個數(shù)據(jù)包的詳細細節(jié)。一般而言,Wireshark可以顯示捕獲數(shù)據(jù)包列表、數(shù)據(jù)包結(jié)構(gòu)、原始數(shù)據(jù)包等。其中數(shù)據(jù)包列表主要記錄被捕獲的每個數(shù)據(jù)包。Wireshark示例如圖3-2所示。圖中,最上面窗口中顯示的每一行均表示一個數(shù)據(jù)包,其內(nèi)容包括每個數(shù)據(jù)包的摘要,如數(shù)據(jù)包的捕獲時間、源IP地址、目的IP地址、所使用的協(xié)議、協(xié)議數(shù)據(jù)中的部分內(nèi)容等;中間窗口中顯示數(shù)據(jù)包結(jié)構(gòu),包括被選中數(shù)據(jù)包的協(xié)議、包字段等詳細結(jié)構(gòu);最下面窗口中顯示原始數(shù)據(jù)包,包括捕獲數(shù)據(jù)包的原始內(nèi)容,通過十六進制和ASCII碼表示。

img

圖3-2 Wireshark示例

Sniffer也是一款著名的抓包軟件[17],一般被譯為嗅探器,可以用來監(jiān)視網(wǎng)絡狀態(tài)和數(shù)據(jù)流動情況,可以捕獲數(shù)據(jù)幀并進行分析,可以通過配置過濾器保留特定的數(shù)據(jù)幀,可以通過多種視圖深度分析數(shù)據(jù)幀等,適用于無線網(wǎng)絡和有線網(wǎng)絡。圖3-3展示了Sniffer捕獲的主機信息示例。

img

圖3-3 Sniffer捕獲的主機信息示例

此外,用于捕獲數(shù)據(jù)包的工具還有很多,如Tshark[18]、SpyNet[19]等,不同抓包工具的特點和功能不盡相同,本書不一一介紹。目前也有專門的庫用于創(chuàng)建抓包軟件。例如,Libpcap庫[20]是當前最流行的用于網(wǎng)絡抓包的庫,允許應用程序和網(wǎng)絡接口之間交互捕獲數(shù)據(jù)包,提供了一個獨立于平臺的API,便捷性高,被用于多個抓包工具。Libpcap庫是unix/linux平臺下的網(wǎng)絡數(shù)據(jù)包捕獲函數(shù)庫,提供數(shù)據(jù)包捕獲(捕獲經(jīng)過網(wǎng)卡的原始數(shù)據(jù)包)、自定義數(shù)據(jù)包發(fā)送(構(gòu)造任意格式的原始數(shù)據(jù)包,并發(fā)送到目標網(wǎng)絡)、流量采集與統(tǒng)計(對采集到的流量信息按照新規(guī)則進行分類和統(tǒng)計,并輸出到制定終端)、規(guī)則過濾(提供腳本,允許用戶對采集的流量數(shù)據(jù)包進行過濾)等功能。Libpcap庫是大多數(shù)網(wǎng)絡監(jiān)控軟件實現(xiàn)的基礎。

提取的內(nèi)容數(shù)據(jù):從包捕獲數(shù)據(jù)導出來的易于存儲的包字符串數(shù)據(jù)。包字符串數(shù)據(jù)是一種介于包捕獲數(shù)據(jù)和會話數(shù)據(jù)之間的數(shù)據(jù),主要包括從報文協(xié)議的報頭中提取的明文字符串,數(shù)據(jù)粒度接近捕獲的原始數(shù)據(jù)包,比原始數(shù)據(jù)包更容易管理,也可以被存儲更長的時間。包字符串數(shù)據(jù)的數(shù)據(jù)格式多種多樣,支持分析師按照自己的需求自定義。其常見的格式包括兩種:一種是只提取協(xié)議的報頭信息,例如從應用層協(xié)議的報頭中生成特定格式的包字符串,去掉相關數(shù)據(jù)的填充字段等,可以看作數(shù)據(jù)包的快照;另一種是只提取有效載荷數(shù)據(jù)(payload data),即存放所攜帶數(shù)據(jù)的填充字段,例如保存應用層協(xié)議報頭后面的數(shù)據(jù),而非報頭字節(jié)。采集此類數(shù)據(jù)的工具包括Justniffer[21]、EtherDeteck Packet Sniffer等。Justniffer是一款功能比較全面的網(wǎng)絡協(xié)議分析工具,可以捕獲網(wǎng)絡傳輸?shù)臄?shù)據(jù)包,并按照分析師的定義生成相關的日志,如Apache web服務器的日志文件等,同時能夠追蹤響應時間,攔截HTTP協(xié)議傳輸?shù)奈募龋軌蜃尫治鰩熃换ナ降貜膶崟r的網(wǎng)絡流或數(shù)據(jù)包文件中追蹤特定的數(shù)據(jù)流。EtherDeteck Packet Sniffer也是一款類似的網(wǎng)絡協(xié)議分析工具。EtherDeteck Packet Sniffer獲取web服務器響應時間示例如圖3-4所示。圖中的方框顯示出通過終端交互形式計算web服務器響應時間。

img

圖3-4 EtherDeteck Packet Sniffer獲取web服務器響應時間示例

會話數(shù)據(jù):兩個網(wǎng)絡設備之間通信流數(shù)據(jù)的匯總,存儲著用戶之間通信會話的相關屬性和配置信息等。會話數(shù)據(jù)不像數(shù)據(jù)包那樣含有詳細數(shù)據(jù),容量小,便于保存很長時間,有利于在攻擊事件發(fā)生時和發(fā)生后對攻擊進行溯源和復盤。會話數(shù)據(jù)常見的格式為五元組,示例如圖3-5所示,包含源IP地址(192.168.1.1.)、源端口(10000)、目的IP地址(121.15.68.1)、目的端口(80)、傳輸協(xié)議(TCP)等。會話數(shù)據(jù)的形成過程比較簡單:當網(wǎng)絡中出現(xiàn)新的五元組數(shù)據(jù)時,將創(chuàng)建一個新的會話,表示一組網(wǎng)絡設備開啟會話;當網(wǎng)絡中匹配到已經(jīng)出現(xiàn)過的五元組時,將在已有的會話信息中添加檢測出的會話數(shù)據(jù)。

img

圖3-5 會話數(shù)據(jù)常見格式示例

采集會話數(shù)據(jù)的工具包括Argus[22]等。Argus可以使用自定義格式對數(shù)據(jù)進行記錄,支持pcap格式,argus-server抓包時可以先打開一個端口,然后通過這個端口連接,并讀取所抓包內(nèi)的信息。3.3.3.2開關介紹的Wireshark軟件也具有類似的功能。圖3-6展示了一個Wireshark生成會話數(shù)據(jù)的示例。

img

圖3-6 Wireshark生成會話數(shù)據(jù)的示例

統(tǒng)計數(shù)據(jù):對網(wǎng)絡流量數(shù)據(jù)進行組織和分析形成的數(shù)據(jù)。采集這類數(shù)據(jù)常用的工具包括Wireshark、Netflow Analyzer[23]、Tstat[24]、Tcptrace[25]等。Wireshark能對流量進行統(tǒng)計,Wireshark統(tǒng)計數(shù)據(jù)流量示例如圖3-7所示。Wireshark不僅能展示數(shù)據(jù)流量的分布,還能展示多種不同類型的統(tǒng)計數(shù)據(jù)。Wireshark展示的不同類型的流量統(tǒng)計數(shù)據(jù)示例如圖3-8所示。此外,Wireshark統(tǒng)計的I/O吞吐量示例如圖3-9所示,展示了Wireshark對I/O吞吐量的統(tǒng)計數(shù)據(jù)。

img

圖3-7 Wireshark統(tǒng)計數(shù)據(jù)流量示例

img

圖3-8 Wireshark展示的不同類型的流量統(tǒng)計數(shù)據(jù)示例

img

圖3-9 Wireshark統(tǒng)計的I/O吞吐量示例

告警數(shù)據(jù):不同類型防御設備、檢測系統(tǒng)檢測出異常數(shù)據(jù)時發(fā)出的告警信息。此類數(shù)據(jù)可以看作對基礎網(wǎng)絡數(shù)據(jù)進行了分析和整合,并融合了部分檢測規(guī)則所生成的具有代表性意義的數(shù)據(jù)。入侵檢測系統(tǒng)(IDS)能監(jiān)視和解析網(wǎng)絡流量,是防火墻之后的一個重要防御系統(tǒng),也是產(chǎn)生告警數(shù)據(jù)的一個重要系統(tǒng)。入侵檢測系統(tǒng)的種類很多。很多公司都開發(fā)了IDS系統(tǒng)進行防御。例如:天融信入侵檢測系統(tǒng)TopSentry[26]通過旁路監(jiān)聽網(wǎng)絡流量,能對網(wǎng)絡中的漏洞攻擊、DDoS攻擊、病毒傳播等風險隱患進行檢測,及時發(fā)現(xiàn)客戶風險網(wǎng)絡訪問、資源濫用行為等;啟明星辰研發(fā)的天闐入侵檢測與管理系統(tǒng)[27]可對多種病毒、蠕蟲、木馬、DDoS、掃描、SQL注入、XSS、緩沖區(qū)溢出、欺騙劫持等攻擊行為以及網(wǎng)絡資源濫用行為等威脅進行檢測,同時對于網(wǎng)絡流量的異常情況能及時告警;Snorby[28]是一個開源的入侵檢測系統(tǒng)接口,可以對數(shù)據(jù)進行分析,并對異常數(shù)據(jù)進行告警。

對流量數(shù)據(jù)進行采集的方法和工具很多,可通過NetFlow、sFlow、IPFIX等協(xié)議采集流量數(shù)據(jù)。

NetFlow[29]可以收集進入及離開網(wǎng)絡界面的數(shù)據(jù)包數(shù)量及內(nèi)容,最早由思科公司研發(fā),是思科設備NLOS軟件中內(nèi)嵌的一種功能,可以將網(wǎng)絡流量記錄到設備的高速緩存中,以便提供非常精準的流量監(jiān)測,可應用在路由器及交換器等產(chǎn)品中。NetFlow提供網(wǎng)絡流量的會話級視圖。NetFlow系統(tǒng)一般而言包含探測器、采集器、報告系統(tǒng)等部分。其中,探測器主要用于對網(wǎng)絡數(shù)據(jù)進行監(jiān)聽;采集器收集探測器發(fā)來的數(shù)據(jù);報告系統(tǒng)通過采集器收集的數(shù)據(jù)生成易于分析師閱讀的報告。NetFlow統(tǒng)計的流量數(shù)據(jù)包含與來源和目的相關的各類信息,包括使用的協(xié)議、端口等,能幫助分析師和管理人員了解網(wǎng)絡流量情況。NetFlow常用于對異常流量的分析,通過NetFlow采集的數(shù)據(jù)可以對異常流量的種類、來源、目的、后果、數(shù)據(jù)包類型、端口、協(xié)議等多方面進行分析。

sFlow[30]是由InMon、HP和FoundryNetworks等公司聯(lián)合開發(fā)的一種網(wǎng)絡監(jiān)測技術(shù),通過數(shù)據(jù)流隨機采樣的方法,可提供較為完整的流量數(shù)據(jù),適用于超大網(wǎng)絡流量環(huán)境下的流量分析,有助于用戶實時分析網(wǎng)絡傳輸?shù)男阅堋②厔菁按嬖诘膯栴}。sFlow技術(shù)能夠在整個網(wǎng)絡中以連續(xù)實時的方式監(jiān)視每一個端口,并且不需要鏡像監(jiān)視端口,可以保證對整個網(wǎng)絡性能的影響很小。sFlow可以對高速千兆、萬兆的端口進行準確監(jiān)視,并可以擴展到管理數(shù)萬個端口。與使用端口鏡像、探針和旁路監(jiān)測技術(shù)的傳統(tǒng)網(wǎng)絡監(jiān)控解決方案相比,sFlow具有更低的成本和優(yōu)勢。

IPFIX[31]全稱為IPFlow Information Export,即IP數(shù)據(jù)流信息輸出,是一個用于網(wǎng)絡數(shù)據(jù)流信息測量的標準協(xié)議。IPFIX統(tǒng)一了流量監(jiān)控的標準,通過使用統(tǒng)一的模型,簡化了數(shù)據(jù)流輸出架構(gòu)。在IPFIX出現(xiàn)之前,網(wǎng)絡管理員和分析人員需要為支持不同的流報告應用而花費額外的精力和時間。IPFIX制定的一系列RFC形式的標準,提供了專業(yè)的網(wǎng)絡流量檢測參考標準。IPFIX描述了數(shù)據(jù)流信息輸出的眾多規(guī)則,包括時間戳、流終止、數(shù)據(jù)包分段等規(guī)則。IPFIX將流定義為在一個時間間隔內(nèi)經(jīng)過某觀察點的一系列IP數(shù)據(jù)包。屬于同一個流的IP數(shù)據(jù)包具有相同的傳輸層頭字段、應用層頭字段等。根據(jù)捕獲數(shù)據(jù)包的屬性可以對數(shù)據(jù)包進行重組,還原原始的流信息,進而對網(wǎng)絡流量進行監(jiān)測。

3.3.3.3 針對威脅行為的靶向數(shù)據(jù)采集

針對不同類型的威脅行為,態(tài)勢感知系統(tǒng)需要設計不同的規(guī)則和特征,并對滿足安全特征的數(shù)據(jù)進行采集,從而判斷威脅行為的產(chǎn)生。防火墻、終端檢測與響應系統(tǒng)EDR、入侵檢測系統(tǒng)IDS、入侵防御系統(tǒng)IPS等都會設計相關的規(guī)則和特征,實現(xiàn)對已知部分攻擊行為的檢測和發(fā)現(xiàn),并及時告警。一般而言,威脅行為可以分為單步攻擊行為和多步攻擊行為。其中,單步攻擊行為是描述攻擊行為的最小單元;多步攻擊行為是由多個單步攻擊行為組成的并能實現(xiàn)一定目的的行為。

針對威脅維度數(shù)據(jù)的靶向采集,主要是對單步攻擊行為的特征進行總結(jié),并設計相應的規(guī)則和安全特征。對單步攻擊行為可以從攻擊意圖、技術(shù)路線、實現(xiàn)方法、實現(xiàn)具體細節(jié)這四個層次進行分析,每個層次都有很多種具體的攻擊行為。一種攻擊行為可能在不同的層次上被進一步細分,例如攻擊意圖層次包括掃描探測、滲透突破、遠程控制、竊取利用等攻擊行為。掃描探測攻擊行為在技術(shù)路線層次上又可以細分為網(wǎng)絡層掃描、傳輸層掃描、應用層掃描和情報搜集等。網(wǎng)絡層掃描在實現(xiàn)方法層次上又可以細分為ARP Request掃描、ARP Replay掃描、ICMP掃描等。對于具體的網(wǎng)絡層掃描攻擊行為,為了判斷是否有此類攻擊行為要進行靶向數(shù)據(jù)采集,針對流量數(shù)據(jù)進行檢測,設計關于端口信息、主機信息等的掃描探測特征,當從流量數(shù)據(jù)中分析出符合此類安全特征的數(shù)據(jù)時,便可以及時告警該威脅數(shù)據(jù)。對于多步攻擊行為,只能通過檢測的多個單步行為的數(shù)據(jù)進行關聯(lián)分析。本書第4章將介紹一些針對單步攻擊和多步攻擊行為的檢測方法。

蜜罐和蜜網(wǎng)技術(shù)也是采集威脅維度數(shù)據(jù)的一種方式。蜜罐技術(shù)[32]本質(zhì)上是一種對攻擊者進行欺騙的技術(shù),通過在系統(tǒng)中布置一些作為誘餌的主機、網(wǎng)絡服務或信息等,誘使攻擊者對它們實施攻擊,從而可以對其攻擊行為進行捕獲和分析,了解攻擊者所使用的工具與方法,推測其攻擊意圖和動機。這種技術(shù)可以看作是專門為吸引并誘騙攻擊者而設計的。通過對攻擊者采用的攻擊行為、方法的采集,分析師能夠清晰地知道目標網(wǎng)絡系統(tǒng)面臨的安全威脅,能夠了解攻擊者可能使用的一些最新的攻擊方法及利用的漏洞等。通過蜜罐技術(shù)采集的威脅維度數(shù)據(jù)具有很高的價值,因此,實現(xiàn)蜜罐技術(shù)的蜜罐系統(tǒng)應該具備對攻擊行為的發(fā)現(xiàn)、產(chǎn)生告警、記錄具體的攻擊路徑等功能。

蜜罐一般分為實系統(tǒng)蜜罐和偽系統(tǒng)蜜罐。其中,實系統(tǒng)蜜罐可以理解為真實的蜜罐,即運行著真實的系統(tǒng),并且?guī)е鎸嵖扇肭值穆┒?。這類蜜罐系統(tǒng)雖然有很危險的漏洞,但是能記錄很多最為真實的威脅行為數(shù)據(jù)。偽系統(tǒng)蜜罐是建立在真實系統(tǒng)基礎上的,其平臺與漏洞存在非對稱性,有助于防止蜜罐系統(tǒng)被攻擊者破壞,并能模擬出一些不存在的漏洞。

蜜網(wǎng)的功能和蜜罐類似,是由多臺終端設備組成的網(wǎng)絡。蜜罐是單一的計算機設備。蜜網(wǎng)一般是隱藏在防火墻后面的,所有進出的數(shù)據(jù)都會被監(jiān)控和采集,通過捕獲的威脅維度數(shù)據(jù),有助于分析攻擊者使用的工具、攻擊方法、攻擊動機等。

主站蜘蛛池模板: 永靖县| 长春市| 辉南县| 内江市| 通渭县| 红原县| 衡南县| 莒南县| 抚顺县| 馆陶县| 河北区| 肥东县| 鄂伦春自治旗| 大港区| 潮安县| 平和县| 吉木乃县| 九寨沟县| 公主岭市| 清丰县| 石林| 德格县| 连山| 三亚市| 柳林县| 驻马店市| 东莞市| 尉犁县| 沁源县| 安图县| 商都县| 本溪市| 昌图县| 盘山县| 循化| 玉山县| 竹溪县| 台安县| 阳城县| 邢台市| 达州市|