本發(fā)明涉及網(wǎng)絡安全技術領域,具體地說是一種多源網(wǎng)絡安全事件的采集與同步方法。
背景技術:
隨著網(wǎng)絡的快速發(fā)展,網(wǎng)絡安全問題面臨著極大的挑戰(zhàn)。信息技術的不斷進步,使得攻擊手段與攻擊時效也在不斷提高,大量存在的系統(tǒng)漏洞被發(fā)現(xiàn)和利用,網(wǎng)絡安全問題變得十分脆弱,網(wǎng)絡安全防御更顯重要。
很多企業(yè)為了應對網(wǎng)絡面臨的安全威脅,在信息化過程中部署了防火墻、行為管理設備、防病毒軟件、入侵檢測系統(tǒng)以及其他一些安全基礎設施。這些安全基礎設施均會在監(jiān)控或防御的過程中產(chǎn)生一些與安全防護相關的日志數(shù)據(jù),這些數(shù)據(jù)通常能夠反映出網(wǎng)絡設備的行為,例如一些惡意攻擊行為以及網(wǎng)絡的安全狀況,那么對這些日志數(shù)據(jù)進行一定處理和分析就能夠?qū)W(wǎng)絡狀況進行更準確的評估和預測,然而,各個安全設備上的安全日志是離散地存儲在各個安全設備的機器上,并且由于功能以及生產(chǎn)廠商的不同這些日志數(shù)據(jù)是異構的,導致不能利用統(tǒng)一的采集方式對不同的數(shù)據(jù)源進行采集。如何使用統(tǒng)一的采集框架又要應對不同的數(shù)據(jù)存儲系統(tǒng)成了當前難以解決的問題。
經(jīng)對現(xiàn)有文獻的檢索發(fā)現(xiàn),浪潮通信信息系統(tǒng)有限公司的趙宏在2016年的發(fā)明專利《一種實時監(jiān)控分析大量日志的系統(tǒng)及方法》中提出三層的日志采集及處理架構,其日志采集模塊采用Flume-ng技術,以應對大數(shù)據(jù)量的安全日志。北京郵電大學的桑柏嵩在《Agent的網(wǎng)絡安全日志收集系統(tǒng)設計與實現(xiàn)》中,提出采集代理端通過采用臨時文件的方法來暫存事件信息,然后再將事件存儲到Redis隊列中等。這些文獻中提到的安全事件采集方法并沒有考慮到各采集代理之間、各采集代理與中央服務器之間的時間不同步問題,造成中央服務器在收到多源事件后會出現(xiàn)事件亂序的情況,在各Agent時間差異較大、網(wǎng)絡延遲較大的情況下,嚴重影響事件分析端的分析結果。
技術實現(xiàn)要素:
本發(fā)明所要解決的技術問題是克服上述現(xiàn)有技術存在的不足,提供一種多源網(wǎng)絡安全事件的采集與同步方法,其利用時間同步校對、共享優(yōu)先級隊列緩沖區(qū)、動態(tài)內(nèi)存增長等技術,在多種安全設備產(chǎn)生的安全事件格式各異的實際工程中,保證事件采集過程的高效、事件的同步。
為實現(xiàn)上述目的,本發(fā)明采用如下的技術方案:一種多源網(wǎng)絡安全事件的采集與同步方法,其特征在于,首先對各個事件源的時間進行同步,各事件源均以服務端的時間為標準時間,通過發(fā)送時間同步數(shù)據(jù)包來計算網(wǎng)絡延遲、事件源與服務端的本地時間差,從而得出實時、準確的時間差值;隨后事件采集端根據(jù)此時間差值對事件進行同步后通過socket通信存儲至ehcache緩存框架中,該ehcache緩存框架中的節(jié)點采用遠程方法調(diào)用RMI機制與ehcache緩存框架中的其他節(jié)點進行事件同步;Server端從ehcache緩存框架中實時讀取事件信息,并進行處理。
進一步地,本發(fā)明包括以下具體步驟:
1)多源網(wǎng)絡安全事件采集
采集端采用采集代理方式,負責實時采集各個事件源的網(wǎng)絡安全事件;基于不同源事件采集的正則表達式,對其網(wǎng)絡安全進行規(guī)范化和去冗余預處理操作,網(wǎng)絡安全事件具有時間戳、源IP地址、目的IP地址、源端口、目的端口和協(xié)議信息;采集端將采集到的事件以socket通信方式存儲在ehcache緩存框架中;
2)事件源時間同步校對
在采集事件時,首先對每個事件源的時間進行同步校對,均以服務端的時間為基準;
3)實時數(shù)據(jù)接收與處理
多個采集端將采集的網(wǎng)絡安全事件e1,e2,...,en序列化為key-value形式的Element事件,存儲至ehcache分布式緩存框架中,該ehcache分布式緩存框架中的節(jié)點采用遠程方法調(diào)用RMI機制與ehcache分布式緩存框架中的其他節(jié)點進行事件同步;
服務端從ehcache分布式緩存框架中實時讀取事件信息,并進行處理。
更進一步地,步驟2)中,事件源時間同步校對的具體過程如下:
2.1)采集端在t1時刻向服務端發(fā)送一個時鐘同步請求包;
2.2)服務端接收到請求之后,立即回復一個時鐘同步響應包,內(nèi)容為服務端此刻的本地時間Ts,
2.3)采用端在t2時刻接收到服務端發(fā)送的響應包,
則,采用端與服務端之間的單向網(wǎng)絡延遲時間為:
Tdelay=(t2-t1)/2
服務端接收到采集端的同步請求包時,采集端的本地時間為:
Tagent=t1+Tdelay
因此,如果t1+Tdelay<Ts,則表示采集端的時間早于服務端的時間,事件時間應向后推遲Ts-t1-Tdelay時間,此時,采集端向服務端發(fā)送采集到的事件時,事件源的產(chǎn)生時間t應變?yōu)椋?/p>
Tsend=t+(Ts-t1-Tdelay),
反之,若t1+Tdelay>Ts,則表示采集端的時間晚于服務端的時間,事件時間應提前t1+Tdelay-Ts時間,此時,采集端向服務端發(fā)送采集到的事件時,事件源的產(chǎn)生時間t應變?yōu)椋?/p>
Tsend=t-(t1+Tdelay-Ts)。
更進一步地,步驟2)中,由于不同時刻網(wǎng)絡延遲差別較大,事件源時間同步校對需每隔5~10分鐘進行一次。
更進一步地,步驟1)中,所述的網(wǎng)絡安全事件包括防火墻、入侵檢測系統(tǒng)、網(wǎng)絡流量和漏洞掃描事件源產(chǎn)生的不同類型的網(wǎng)絡安全事件。
本發(fā)明具有的有益效果如下:本發(fā)明針對目前事件采集過程中的各設備本地時間不同步的問題,采用發(fā)送同步數(shù)據(jù)包、計算網(wǎng)絡延遲和本地時間差的方式,實時、準確得出各設備與服務端的時間差值,來對事件源進行同步,具有易于實現(xiàn)、精確同步的優(yōu)點;本發(fā)明針對服務端緩存的效率、同步問題,采用ehcache分布式緩存框架的方式,并在多個ehcache分布式緩存框架節(jié)點之間進行同步,不僅提高了效率,而且達到了同步的效果。
附圖說明
圖1為本發(fā)明的結構框圖。
具體實施方式
以下結合附圖和實施例對本發(fā)明的技術方案作進一步詳細說明。以下實施例在以本發(fā)明技術方案為前提下進行實施,給出了詳細的實施方式和過程,但本發(fā)明的保護范圍不限于下述的實施例。
如本發(fā)明方法結構圖(圖1)所示,本實施例具體實施步驟如下:
1.多源網(wǎng)絡安全事件采集
采集端(Agent)采用采集代理方式,負責實時采集各個事件源的網(wǎng)絡安全事件,包括:防火墻、入侵檢測系統(tǒng)、網(wǎng)絡流量、漏洞掃描等事件源產(chǎn)生的不同類型的網(wǎng)絡安全事件;基于不同源事件采集的正則表達式,對其網(wǎng)絡安全進行規(guī)范化、去冗余等預處理操作,網(wǎng)絡安全事件具有時間戳、源IP地址、目的IP地址、源端口、目的端口、協(xié)議等信息;Agent將采集到的事件以socket通信方式存儲在ehcache框架中。
2事件源時間同步校對
采集端(即Agent端)采用代理方式,負責實時采集安全事件,Agent1、Agent2兩個采集端分別部署在三臺安全設備A1、A2上,在采集事件時,首先需要對兩個事件源進行時間同步校對,Agent1、Agent2分別進行以下幾步驟:
2.1Agent1、Agent2端分別在50s、500s時刻向Server端發(fā)送一個時鐘同步請求包;
2.2Server端接收到請求之后,立即回復此刻的本地時間給Agent1、Agent2,分別為:55s、502s;
2.3Agent1、Agent2端分別在58s、505s時刻接收到Server端發(fā)送的響應包,
則,Agent1、Agent2端與Server端之間的單向網(wǎng)絡延遲時間分別為:
Tdelay1=4s
Tdelay2=2.5s
Server端接收到Agent端的同步請求包時,Agent1、Agent2端的本地時間分別為:
TAgent1=54s
TAgent2=502.5s
從結果可以看出,對于Agent1來說,54s<55s,因此Agent1的時間早于Server端的時間,報警的時間應向后推遲1s,此時,Agent端向Server端發(fā)送采集到的事件時,事件源的產(chǎn)生時間t應變?yōu)椋?/p>
Tsend1=t+1s
對于Agent2來說,502.5s>502s,因此Agent2的時間晚于Server端的時間,報警的時間應提前0.5s,此時,Agent端向Server端發(fā)送采集到的事件時,事件源的產(chǎn)生時間t應變?yōu)椋?/p>
Tsend2=t-0.5s。
此外,由于不同時刻網(wǎng)絡延遲差別較大,因此本同步過程需每隔10分鐘重復進行一次。
3.實時數(shù)據(jù)接收與處理
多個Agent將采集的網(wǎng)絡安全事件e1,e2,...,en序列化為key-value形式的Element事件,存儲至ehcache分布式緩存框架中,ehcache分布式緩存框架的節(jié)點采用遠程方法調(diào)用RMI機制與ehcache分布式緩存框架中的其他節(jié)點進行事件同步;
Server端從ehcache分布式緩存框架中實時讀取事件信息,并進行處理。