專利名稱:一種日志記錄合并方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,特別是涉及一種日志記錄合并方法和系統(tǒng)。
背景技術(shù):
網(wǎng)絡(luò)上經(jīng)常發(fā)生危害網(wǎng)絡(luò)安全的事件,這些事件發(fā)生時,往往不是孤立 的,它是由若干次相關(guān)聯(lián)的網(wǎng)絡(luò)行為構(gòu)成。這些網(wǎng)絡(luò)行為在網(wǎng)絡(luò)安全設(shè)備中 體現(xiàn)為日志記錄。在現(xiàn)有的網(wǎng)絡(luò)安全設(shè)備中,對日志記錄的處理,通常是直 接顯示日志記錄,或者通過對原始日志記錄進(jìn)行分析,以此得出某種結(jié)"i侖。
網(wǎng)絡(luò)安全設(shè)備在實際運(yùn)行中,產(chǎn)生大量原始日志記錄,以供查詢顯示和 后期分析。但是這些日志記錄數(shù)據(jù)量很大,在未經(jīng)處理直接存儲的話,對數(shù) 據(jù)管理和數(shù)據(jù)分析都帶來很大的壓力,尤其在某些惡意代碼爆發(fā)期間,所產(chǎn) 生的日志記錄可能導(dǎo)致網(wǎng)絡(luò)安全設(shè)備的效能降低,甚至無法設(shè)備繼續(xù)工作。
現(xiàn)有技術(shù)中提供了一種日志統(tǒng)計方法和系統(tǒng),其方法是基于數(shù)據(jù)庫實現(xiàn)
的,首先將日志的統(tǒng)計維度保存到字典表中;然后定期按照統(tǒng)計維度,執(zhí)行 統(tǒng)計操作,以生成中間結(jié)果;最后的統(tǒng)計使用中間結(jié)果進(jìn)行統(tǒng)計,達(dá)到加速
統(tǒng)計的效果。
現(xiàn)有技術(shù)中還提供了 一種管理日志的方法及系統(tǒng),該方法是一種加速查 詢的日志管理方法。其方法為管理系統(tǒng)將具有同一關(guān)鍵字段的原始日志記 錄映射成一條合并記錄作為搜索數(shù)據(jù)源;在查詢時,根據(jù)查詢條件查找到所 述搜索數(shù)據(jù)源中與所述查詢條件對應(yīng)的合并記錄,根據(jù)所述合并記錄獲取與 所述查詢條件對應(yīng)的原始日志記錄。
在以上兩個專利中,均使用統(tǒng)計/合并后的中間結(jié)果來加速相應(yīng)的操作, 但是這種統(tǒng)計/合并的操作是針對所有的日志,均采用相同的操作來完成,無法適應(yīng)針對不同內(nèi)容的日志,采用不同的合并方法。而且其統(tǒng)計/合并后 的中間結(jié)果只能用來加速統(tǒng)計或者查詢,其本身并不能替代原始日志,無法
解決大量數(shù)據(jù)的管理問題。
發(fā)明內(nèi)容
針對以上不足,本發(fā)明要解決的技術(shù)問題是提供一種日志記錄合并方法 和系統(tǒng),該方法和系統(tǒng)能夠在基本保存原始數(shù)據(jù)的有用信息的情況下,對曰 志數(shù)據(jù)進(jìn)行合并,以減少日志的數(shù)據(jù)量。
為了解決上述技術(shù)問題,本發(fā)明提供一種日志記錄合并方法,包括
a、 對日志記錄中包含的參數(shù)進(jìn)行分類,其中至少包括類型參數(shù);所述 類型參數(shù)用于表示曰志中所記錄的事件的類型;
b、 建立類型參數(shù)和合并規(guī)則的對應(yīng)關(guān)系;
c、 讀取日志記錄,并使用日志記錄的類型參數(shù)所對應(yīng)的合并規(guī)則對曰
志記錄進(jìn)行合并處理。
進(jìn)一步的,步驟a中,日志記錄中包含的參數(shù)還包括地址信息參數(shù);
步驟b中,所述合并規(guī)則包括以下五種中的任一種或其任意組合
平行型,合并參數(shù)包括類型參數(shù)和地址信息。
聚合型,合并參數(shù)包括類型參數(shù)和目的地址信息。
輻射型,合并參數(shù)包括類型參數(shù)和源地址信息。
混合型,合并參數(shù)為類型參數(shù)和任一地址信息。
獨立型,日志記錄獨立成為一條合并記錄;
所述合并參數(shù)是指在合并時用于劃分日志記錄歸類的參數(shù)。
進(jìn)一步的,不同的合并規(guī)則對應(yīng)于不同的合并參數(shù);所述合并參數(shù)是指 在合并時用于劃分日志記錄歸類的參數(shù);
步驟c具體包括
cl 、按時間順序讀取日志記錄;c2、根據(jù)日志記錄的類型參數(shù)確定其所對應(yīng)的合并規(guī)則; c3、將日志記錄合并到具備相同合并參數(shù)的合并記錄里。 進(jìn)一步的,步驟c3具體包括
根據(jù)合并規(guī)則,提取日志記錄中的合并參數(shù),在合并隊列中查找具備相 同合并參數(shù)的合并記錄,然后將該日志記錄中合并參數(shù)部分刪去,其它部分 放入合并記錄;如果查找不到具備相同合并參數(shù)的合并記錄,則將該日志記 錄作為一個新的合并記錄并力文入合并隊列。
進(jìn)一步的,步驟a中,日志記錄中包含的參數(shù)還包括地址信息參數(shù);
步驟c3中還包括
對于新的合并記錄,在合并記錄中增加下列參數(shù)中的一個或其任意組 合事件發(fā)生次數(shù)、源、目的IP/MAC地址的統(tǒng)計數(shù),源、目的端口統(tǒng)計數(shù)、 合并記錄的開始時間、結(jié)束時間、IP/MAC地址列表、端口列表;
每合并一個日志記錄,就將其所合并到的合并記錄的"事件發(fā)生次數(shù)" 參數(shù)加一;當(dāng)日志記錄中合并參數(shù)之外的IP地址無法在IP地址列表中找到 時,將其添加到合并記錄中的IP地址列表;當(dāng)日志記錄中合并參數(shù)之外的 端口無法在端口列表中找J到時,將其添加到合并記錄中的端口列表。
進(jìn)一步的,步驟a中,日志記錄中包含的參數(shù)還包括時間參數(shù);
步驟c中還包括,對合并記錄進(jìn)行時間判斷,判斷方法為以下兩種中的 任一種
第一種是將系統(tǒng)當(dāng)前的時間和最近一次處理的日志記錄的時間參數(shù)進(jìn) 行比較,如果時間參數(shù)之差大于系統(tǒng)超時閥值,則認(rèn)為原先所有的合并記錄 均已完成,終結(jié)原先所有的合并記錄參與以后的合并,保存后從合并隊列中
第二種將各合并記錄中的最大時間參數(shù)和當(dāng)前日志記錄的時間參數(shù)進(jìn) 行比較,如果有大于超時閥值的,說明本次按該合并規(guī)則合并的事件已結(jié)束, 終結(jié)此合并記錄參與以后的合并,保存后從合并隊列中刪除。本發(fā)明還提供了一種日志記錄合并系統(tǒng),包括存儲模塊及合并模塊; 所述存儲模塊用于保存合并規(guī)則、及日志記錄的類型參數(shù)與合并規(guī)則的
所述合并模塊用于讀取日志記錄,并使用日志記錄的類型參數(shù)所對應(yīng)的 合并規(guī)則,對日志記錄進(jìn)行合并處理。
進(jìn)一步的,所述存儲模塊保存的合并規(guī)則包括以下五種中的任一種或其 任意組合 '
平行型,合并參數(shù)包括類型參數(shù)和地址信息。
聚合型,合并參數(shù)包括類型參數(shù)和目的地址信息。
輻射型,合并參數(shù)包括類型參數(shù)和源地址信息。
混合型,合并參數(shù)為類型參數(shù)和任一地址信息。
獨立型,日志記錄獨立成為一條合并記錄;
所述合并參數(shù)是指在合并時用于劃分日志記錄歸類的參數(shù)。
數(shù);所述合并參數(shù)是指在合并時用于劃分日志記錄歸類的參數(shù);
所述合并模塊使用日志記錄的類型參數(shù)所對應(yīng)的合并規(guī)則,對日志記錄 進(jìn)行合并處理是指合并模塊根據(jù)日志記錄的類型參數(shù)確定其所對應(yīng)的合并 規(guī)則,將日志記錄合并到具備相同合并參數(shù)的合并記錄里。
進(jìn)一步的,合并模塊將日志記錄合并到具備相同合并參數(shù)的合并記錄里 是指
合并模塊根據(jù)合并規(guī)則,提取日志記錄中的合并參數(shù),在合并隊列中查 找具備相同合并參數(shù)的合并記錄,然后將該日志記錄中合并參數(shù)部分刪去, 其它部分放入合并記錄;如果查找不到具備相同合并參數(shù)的合并記錄,則將 該曰志記錄作為一個新的合并記錄并》文入合并隊列;
所述存儲模塊還包括用于保存合并隊列的緩存。
進(jìn)一步的,所述合并模塊還用于在新的合并記錄中增加下列參數(shù)中的一 個或其任意組合事件發(fā)生的次數(shù)、源、目的IP/MAC地址的統(tǒng)計數(shù)、源、目的端口統(tǒng)計數(shù)、合并記錄的開始時間、結(jié)束時間、端口列表、IP/MAC地 址列表;還用于在每合并一個日志記錄時,將所合并到的合并記錄的"事件 發(fā)生次數(shù)"參數(shù)加一;還用于當(dāng)日志記錄中合并參數(shù)之外的IP/MAC地址無 法在IP/MAC地址列表中找到時,將其添加到合并記錄中的IP/MAC地址列 表;當(dāng)日志記錄中合并參數(shù)之外的端口無法在端口列表中找到時,將其添加 到合并記錄中的端口列表。
進(jìn)一步的,所述合并模塊還用于對合并記錄進(jìn)行以下兩種中任一種時間
判斷
第一種是合并模塊將當(dāng)前日志記錄的時間參數(shù)和上一次處理的日志記 錄的時間參數(shù)進(jìn)行比較,如果時間參數(shù)之差大于系統(tǒng)超時閥值,則終結(jié)原先 所有的合并記錄參與以后的合并,從合并隊列中刪除;
第二種是合并模塊將合并記錄中的最大時間參數(shù)和當(dāng)前日志記錄的時 間參數(shù)進(jìn)行比較,如果大于超時閥值,則終結(jié)此合并記錄參與以后的合并, 從合并隊列中刪除;
所述存儲模塊還用于保存超時閾值或系統(tǒng)超時閾值并存儲進(jìn)所述存儲模塊。
本發(fā)明在基本上不損失日志記錄的有用信息的情況下,對日志記錄進(jìn)行 合并,減少記錄的數(shù)量,以此減輕設(shè)備的存儲和分析壓力。并且能夠針對不 同內(nèi)容的日志,釆用不同的合并方法,這樣有針對性的進(jìn)行合并,能夠使合 并后的日志比原始記錄具有更強(qiáng)的分析價值。
圖1為本發(fā)明所述的日志合并方法的具體實施流程圖; 圖2為本發(fā)明所述的日志合并系統(tǒng)的具體實施框圖; 圖3為本發(fā)明的應(yīng)用實例的流程圖。
具體實施方式
下面將結(jié)合附圖及實施例對本發(fā)明的技術(shù)方案進(jìn)行更詳細(xì)的說明。
在本發(fā)明中利用了相同類型的安全事件中,其日志記錄之間的具有關(guān)聯(lián) 性(即日志記錄有大部分參數(shù)是相同)這一特點,設(shè)備首先對日志記錄進(jìn)行 有針對性的合并處理,然后可以在合并的結(jié)果之上進(jìn)行分析處理。
本發(fā)明的日志記錄合并方法如圖1所示,包括設(shè)置階段和處理階段。
設(shè)置階段包括三個步驟
A、 對日志記錄中包含的各個參數(shù)進(jìn)行分類,可以但不限于分為時間 參數(shù)、類型參數(shù)、地址信息參數(shù)和其他參數(shù);
其中,所述時間參數(shù)用于表示日志中所記錄的事件發(fā)生的先后順序,事 件發(fā)生的時間離當(dāng)前越遠(yuǎn)則其時間參數(shù)越小。
所述地址信息參數(shù)用于表示所記錄的事件中涉及到的地址,包括源地址 信息參數(shù)和目的地址信息參數(shù),可以為MAC(媒體存取控制)地址、或MAC 地址及IP地址混合,或URL (統(tǒng)一資源定位符)地址等。
所述類型參數(shù)用于表示日志中所記錄的事件的類型,比如一種攻擊行 為、或者一種惡意代碼、或者其他某一種安全事件。
B、 制定若干種合并規(guī)則,即制定采用不同合并參數(shù)的若干種合并方式; 所述合并參數(shù)是指在合并時用于劃分日志記錄歸類的參數(shù),將合并參數(shù)相同 的曰志記錄合并成一個文件。
平行型日志記錄按照相同的類型參數(shù)和相同的地址信息參數(shù)進(jìn)行合 并;即合并參數(shù)包括類型參數(shù)和地址信息。
聚合型日志記錄按照相同的類型參數(shù)和相同的目的地址信息參數(shù)進(jìn)行 合并;即合并參數(shù)包括類型參數(shù)和目的地址信息。
輻射型日志記錄按照相同的類型參數(shù)和相同的源地址信息參數(shù)進(jìn)行合 并;即合并參數(shù)包括類型參數(shù)和源地址信息。
混合型日志記錄可以按照以上三種的任意一種合并規(guī)則進(jìn)行合并;即 合并參數(shù)為類型參數(shù)和任一地址信息。獨立型日志記錄不與其它日志記錄合并,獨立成為一條合并記錄;無
合并參數(shù)。這是一種特殊的合并規(guī)則。通常是這種類型的安全事件具備完整
的意義。
實際應(yīng)用中,具體的合并參數(shù)也可以包括其他參數(shù)。
上述方法中,步驟B中合并規(guī)則分類取決于安全事件發(fā)生的具體行為, 即此類型安全事件是否可以從單個源地址到多個目的地址,或者從多個源 地址到單個目的地址。比如 一個掃描安全事件,是由一個攻擊者向多個目 標(biāo)主機(jī)發(fā)送掃描包,探測目標(biāo)主機(jī)的情況(即單個源地址到多個目的地址); 一個DDOS (分布式拒絕服務(wù)攻擊)事件,是由多個攻擊主機(jī)同時向單個目 標(biāo)主機(jī)發(fā)送拒絕服務(wù)數(shù)據(jù)包(即多個源地址到單個目標(biāo)主機(jī)); 一個黑客入 侵事件(如密碼破解),其猜測行為在攻擊主機(jī)和目標(biāo)主機(jī)中多次發(fā)生。
C 、建立日志記錄中的類型參數(shù)與合并規(guī)則的對應(yīng)關(guān)系。 本步驟具體包括對日志記錄中的類型參數(shù)進(jìn)行分類,將類型參數(shù)映射 到合并規(guī)則,通常是以多對一的方式映射,即每種合并規(guī)則對應(yīng)于一個或一
個以上的類型參數(shù)。
所述類型參數(shù)與合并規(guī)則的映射關(guān)系可以但不限于用數(shù)據(jù)庫或HASH 表(散列表)進(jìn)行存儲。
處理階段包括
D、 定期獲取尚未合并處理的日志記錄,獲耳又日志記錄后,將各條日志 記錄按照日志所記錄的事件發(fā)生時間的先后依次排列——即按照時間參數(shù) 由小到大排序,形成待合并隊列,可以但不限于將該合并隊列存儲在緩存中; 可以按照日志產(chǎn)生速度和合并模塊的處理能力來選擇每次獲取日志記錄的
時間間隔。
如果實時進(jìn)行日志記錄合并,則無須進(jìn)行該步驟。
E、 按時間順序讀取日志記錄并使用日志記錄的類型參數(shù)所對應(yīng)的合并 規(guī)則,對日志記錄進(jìn)行合并處理。
如果是實時處理,則每產(chǎn)生一條日志記錄就進(jìn)行讀取。否則,在步驟D形成的所述待合并隊列中依次讀if又日志記錄。
使用日志記錄的類型參數(shù)所對應(yīng)的合并規(guī)則,對日志記錄進(jìn)行合并處理
具體是指根據(jù)日志記錄的類型參數(shù)確定其所對應(yīng)的合并規(guī)則,如果為獨立 型的,則加上已經(jīng)進(jìn)行合并處理的標(biāo)記(比如在記錄中加入一個參數(shù),如"事 件發(fā)生的次數(shù)",該參數(shù)值為1)后存儲進(jìn)非易失性存儲器。如果是其它類 型的,則將日志記錄合并到合并隊列中具備相同合并參數(shù)的合并記錄里;所 述合并隊列包括所有未終結(jié)的合并記錄。
將日志記錄合并到具備相同合并參數(shù)的合并記錄中的具體做法是根據(jù) 合并規(guī)則,提取日志記錄中的合并參數(shù),查找具備相同合并參數(shù)的合并記錄, 然后將該日志記錄與所述合并記錄進(jìn)行合并,即把日至中合并參數(shù)部分刪 去,其它部分放入合并記錄。如果查找不到具備相同合并參數(shù)的合并記錄, 則將該日志記錄作為一個新的合并記錄并》文入合并隊列。
對于新的合并記錄還進(jìn)行以下處理在原日志記錄所包含的原始信息基 礎(chǔ)上,在合并記錄中增加下列參數(shù)中的一個或其任意組合事件發(fā)生的次數(shù) (即合并的日志記錄數(shù)),IP/MAC地址的統(tǒng)計數(shù)(包括源、目的地址), 端口統(tǒng)計數(shù)(包括源、目的端口)、合并記錄的開始時間、結(jié)束時間、端口 列表、IP/MAC地址列表。,
每合并一個日志記錄,就將其所合并到的合并記錄的"事件發(fā)生次數(shù)"
列表中找到時,將其添加到合并記錄中的IP/MAC地址列表;當(dāng)日志記錄中 合并參數(shù)之外的端口無法在端口列表中找到時,將其添加到合并記錄中的端
口列表。
所述合并記錄的開始時間為該合并記錄中第一個日志記錄的發(fā)生時間; 所述合并記錄的結(jié)束時間為該合并記錄中最后一個日志記錄的發(fā)生時間。
為了使合并后的日志記錄能夠體現(xiàn)出一個具體事件,本步驟中還可以對 合并記錄進(jìn)行時間判斷,使時間相隔較遠(yuǎn),實際操作時不太可能對應(yīng)于同一 事件的日志記錄不合并在一起;可以但不限于為以下兩種判斷方法中的任第 一種是將系統(tǒng)當(dāng)前的時間和最近一次處理的日志記錄的時間參數(shù)進(jìn) 行比較,如果時間參數(shù)之差大于系統(tǒng)超時閥值,則認(rèn)為原先所有的合并記錄 均已完成,終結(jié)原先所有的合并記錄參與以后的合并,將原先所有合并記錄 存儲進(jìn)非易失性存儲器,并從合并隊列中刪除。所述系統(tǒng)超時閥值根據(jù)實際 情況選擇,比如各事件的持續(xù)時間最長不會超過半小時,則將系統(tǒng)超時閥值
第二種將各合并記錄中的最大時間參數(shù)和當(dāng)前日志記錄的時間參數(shù)進(jìn) 行比較,如果有大于超時閥值的,說明本次按該合并規(guī)則合并的事件已結(jié)束, 將終結(jié)此合并記錄參與以后的合并,將該合并記錄存儲進(jìn)非易失性存儲器,
并從合并隊列中刪除。不同的合并規(guī)則可以對應(yīng)不同的超時閾值;所述超時
閾值根據(jù)實際情況選擇,比如合并規(guī)則對應(yīng)的事件中,持續(xù)時間最長不會超
過10分鐘,則將超時閾值定為10分鐘。
后期可以根據(jù)這些數(shù)據(jù)進(jìn)行相應(yīng)的分析處理。 在數(shù)據(jù)記錄時,可以只記錄合并數(shù)據(jù),當(dāng)然根據(jù)實際情況,也可以有選
擇性保存某些原始記錄。
如果是實時處理,則讀取并處理完一條日志記錄后返回步驟E,即讀取 并處理下一條日志記錄;否則,將待合并隊列中的日志記錄讀取并處理完后 返回步驟E,即依次讀取并處理下一個待合并隊列中的日志記錄,在這種情 況下,步驟D和步驟E可以是并行的,即當(dāng)讀取和處理一個待合并隊列中 的曰志記錄時,仍然定時獲取未處理日志并形成另外的待合并隊列。
本發(fā)明還提供了一種日志記錄合并系統(tǒng),如圖2所示,包括存儲模塊 及合并模塊;還可以包括檢測模塊和定時器。
所述存儲模塊包括非易失性存儲器;所述非易失性存儲器用于保存合并 規(guī)則、日志記錄的類型參數(shù)與合并規(guī)則的映射關(guān)系;還可以用于保存超時閾 值、系統(tǒng)超時閾值及終結(jié)的合并記錄。所述存儲^^莫塊還包括緩存,所述緩存 用于保存合并隊列,還可以保存待合并隊列。
所述類型參數(shù)與合并規(guī)則的映射關(guān)系可以但不限于用數(shù)據(jù)庫或HASH表(散列表)表示。所述超時閾值、系統(tǒng)超時閾值同上文所述。 所述合并隊列包括所有未終結(jié)的合并記錄。
所述合并模塊用于按時間順序由讀取日志記錄,并使用日志記錄的類型 參數(shù)所對應(yīng)的合并規(guī)則,對日志記錄進(jìn)行合并處理。
所述檢測模塊用于產(chǎn)生日志記錄;還用于當(dāng)合并模塊非實時處理日志記 錄時,按照時間參數(shù)由小到大的順序一一即按照日志所記錄的事件發(fā)生時間 的先后順序,將日志記錄存儲于所述緩存中,形成待合并隊列。
所述合并模塊非實時處理日志記錄時,在所述定時器到時后、或在完成 前一個待合并隊列的處理后,對所述緩存中的待合并隊列進(jìn)行處理。
所述合并模塊實時處理日志記錄時,每當(dāng)所述檢測模塊產(chǎn)生一條日志記 錄,就讀取一次并完成合并處理。
所述合并模塊使用日志記錄的類型參數(shù)所對應(yīng)的合并規(guī)則,對日志記錄 進(jìn)行合并處理具體是指所述合并模塊根據(jù)日志記錄的類型參數(shù)確定其所對 應(yīng)的合并規(guī)則,如果為獨立型的,則加上已經(jīng)進(jìn)行合并處理的標(biāo)記(比如由 合并模塊在記錄中加入一個參數(shù),如"事件發(fā)生的次數(shù)",該參數(shù)值為l)
后存儲進(jìn)非易失性存儲器。如果是其它類型的,則將日志記錄合并到合并隊 列中具備相同合并參數(shù)的合并記錄里;所述合并隊列包括所有未終結(jié)的合并記錄。
所述合并模塊將日志記錄合并到具備相同合并參數(shù)的合并記錄中具體 是指所述合并模塊根據(jù)合并規(guī)則,提取日志記錄中的合并參數(shù),查找具備 相同合并參數(shù)的合并記錄,然后將該日志記錄與所述合并記錄進(jìn)行合并,即 把曰志記錄中合并參數(shù)部分刪去,其它部分放入合并記錄。如果查找不到具 備相同合并參數(shù)的合并記錄,則將該日志記錄作為一個新的合并記錄并》文入 合并隊列。
所述合并模塊還可以用于對合并記錄進(jìn)行以下兩種中任一種時間判斷
第 一種是將當(dāng)前日志記錄的時間參數(shù)和上一次處理的日志記錄的時間 參數(shù)進(jìn)行比較,如果時間參數(shù)之差大于系統(tǒng)超時閥值,則終結(jié)原先所有的合并記錄參與以后的合并,將原先所有合并記錄存儲進(jìn)非易失性存儲器,并從
合并隊列中刪除;
第二種是將合并記錄中的最大時間參數(shù)和當(dāng)前日志記錄的時間參數(shù)進(jìn) 行比較,如果大于超時閥值,則終結(jié)此合并記錄參與以后的合并,將該合并 記錄存儲進(jìn)非易失性存儲器,并從合并隊列中刪除。
所述合并模塊還用于在原日志記錄所包含的原始信息基礎(chǔ)上,統(tǒng)計并在 新的合并記錄中增加下列參數(shù)中的一個或其任意組合事件發(fā)生的次數(shù)(即 合并的日志記錄數(shù)),IP/MAC地址的統(tǒng)計數(shù)(包括源、目的地址),端口 統(tǒng)計數(shù)(包括源、目的端口 )、合并記錄的開始時間、結(jié)束時間、端口列表、 地址列表。還可以用于在每合并一個日志記錄時,將所合并到的合并記錄的 "事件發(fā)生次數(shù)"參數(shù)加一;還用于當(dāng)日志記錄中合并參數(shù)之外的IP地址 無法在IP地址列表中找到時,將其添加到合并記錄中的IP地址列表;當(dāng)曰 志記錄中合并參數(shù)之外的端口無法在端口列表中找到時,將其添加到合并記 錄中的端口列表。
所述合并記錄的開始時間為該合并記錄中第一個日志記錄的發(fā)生時間; 所述合并記錄的結(jié)束時間為該合并記錄中最后一個日志記錄的發(fā)生時間。
本系統(tǒng)還可以包括一設(shè)置模塊,用于更改存儲模塊中保存合并規(guī)則、及 曰志記錄的類型參數(shù)與合并規(guī)則的對應(yīng)關(guān)系;還可以用于更改存儲模塊中保 存超時閾值或系統(tǒng)超時閾值等。實際應(yīng)用中,通??梢圆话ㄔ撛O(shè)置模塊, 而是將所述合并規(guī)則、映射關(guān)系及閾值預(yù)先設(shè)置好保存在存儲模塊中。
下面用本發(fā)明的 一應(yīng)用實例進(jìn)一步加以說明。
假定日志記錄的數(shù)據(jù)包含以下具體參數(shù)時間、源IP地址、源端口、 目的1P地址、目的端口、類型參數(shù)ID,所述定時器定時時間為一分鐘,采 用所述第二種時間判斷方法,各合并規(guī)則對應(yīng)的超時閥值均為IO分鐘。
本應(yīng)用實例的具體實施步驟如圖3所示,包括
301、將合并規(guī)則、類型參數(shù)和合并規(guī)則的對應(yīng)關(guān)系、及系統(tǒng)超時閥值 存儲到數(shù)據(jù)文件(可以是數(shù)據(jù)庫)中,在非易失性存儲器上持久保存;在合并模塊初始化時,從數(shù)據(jù)文件中讀取,以類型參數(shù)ID作為鍵值,
生成一個類型參數(shù)HASH表,此HASH表的元素映射到具體的合并規(guī)則。 另外,建立一個合并隊列,用于保存合并記錄,為提高處理速度,也配套一 個合并HASH表,用于檢索合并記錄為提高處理速度,還可以配套一個合 并HASH表,用于檢索合并記錄。
302、 位于前端的檢測模塊產(chǎn)生日志記錄,并將日志記錄按照時間順序 存放在緩存里的待合并隊列中。
303、 由定時器觸發(fā),通知合并模塊從待合并隊列中讀取日志記錄。
304、 合并模塊通過日志記錄的類型參數(shù)ID在類型參數(shù)HASH表中查 找出對應(yīng)的合并規(guī)則;如果合并規(guī)則是獨立型的,則加上已經(jīng)進(jìn)行合并處理 的標(biāo)記后進(jìn)行^呆存,比如在i己錄中加入一個參婆t。
305、 合并模塊根據(jù)合并規(guī)則,提取日志記錄中的合并參數(shù)(如日志 記錄對應(yīng)為聚合合并規(guī)則,則提取日志記錄中的類型參數(shù)ID、目的IP地址、 目的端口地址),并基于這些參數(shù),查找合并HASH表中是否存在具備相 同合并參數(shù)的合并記錄;如果發(fā)現(xiàn)對應(yīng)的合并記錄,則進(jìn)行步驟306;如果 沒有在合并HASH表中找到相應(yīng)的合并記錄則進(jìn)行步驟307。
306、 將該日志記錄與所述合并記錄進(jìn)行合并,即把日至中合并參數(shù)部 分刪去,其它部分放入合并記錄;遞增合并記錄中事件發(fā)生次數(shù);如果日志 記錄中合并參數(shù)之外的IP地址無法在IP地址列表中找到,則將其添加到合 并記錄中的IP地址列表;如果日志記錄中合并參數(shù)之外的端口無法在端口 列表中找到,則將其添加到合并記錄中的端口列表;合并記錄的結(jié)束時間為 該日志記錄的發(fā)生時間。修改合并記錄后,根據(jù)實際設(shè)置,決定是否保存原 始曰志記錄。
307、 將日志記錄作為一個新的合并記錄并》文入合并隊列,合并記錄的 起始時間等于日志記錄的發(fā)生時間,合并記錄中事件發(fā)生的次數(shù)等于1,將 曰志記錄中的IP地址添加到IP地址列表,將曰志記錄中的端口添加到端口 列表;合并記錄的開始時間為該日志記錄的發(fā)生時間;建立合并記錄后,根 據(jù)實際設(shè)置,決定是否保存原始日志記錄。308、 判斷待合并隊列中的日志記錄是否讀取完,如果沒有則返回步驟
303;否則執(zhí)行步驟309。
309、 合并模塊清理合并隊列,即合并模塊遍歷合并隊列,判斷各合并 記錄的結(jié)束時間與當(dāng)前時間的差值是否有大于系統(tǒng)超時閥值的,如果發(fā)現(xiàn)已 經(jīng)超時,則統(tǒng)計IP地址數(shù)和端口數(shù),并將統(tǒng)計結(jié)果記錄進(jìn)合并記錄,然后 將合并記錄保存到日志文件或者數(shù)據(jù)庫中,并從合并隊列中刪除。
合并模塊再收到進(jìn)行合并的通知后從步驟303開始執(zhí)行。
比如在網(wǎng)絡(luò)中發(fā)生掃描安全事件,攻擊者利用掃描器探測指定網(wǎng)段內(nèi)的 是否存在具有某種漏洞的主機(jī),其掃描的行為是攻擊者利用一臺安裝有掃描 器的攻擊主機(jī),向不同IP的目標(biāo)主機(jī),發(fā)送同一種探測協(xié)議的數(shù)據(jù)包,以 發(fā)現(xiàn)是否存在某種服務(wù),可供入侵利用。這些網(wǎng)絡(luò)行為被網(wǎng)絡(luò)安全設(shè)備檢測 到后,日志記錄呈現(xiàn)一個特點事件發(fā)生的源IP地址是相同的,事件對應(yīng) 的目標(biāo)端口是相同的(相同的服務(wù)使用的端口是一致的),各個事件發(fā)生的 時間是連續(xù)的。日志合并系統(tǒng)對這些記錄進(jìn)行處理時,將掃描行為的類型參 數(shù)對應(yīng)于輻射型的合并規(guī)則,即合并參數(shù)為類型參數(shù)ID和源IP地址,從而 將相應(yīng)的日志記錄合并為一條,且這一合并記錄可能明確體現(xiàn)出這是一個源 1P主機(jī)對多個目標(biāo)IP主才幾的掃描4亍為。
當(dāng)然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的 形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1、一種日志記錄合并方法,其特征在于,包括a、對日志記錄中包含的參數(shù)進(jìn)行分類,其中至少包括類型參數(shù);所述類型參數(shù)用于表示日志中所記錄的事件的類型;b、建立類型參數(shù)和合并規(guī)則的對應(yīng)關(guān)系;c、讀取日志記錄,并使用日志記錄的類型參數(shù)所對應(yīng)的合并規(guī)則對日志記錄進(jìn)行合并處理。
2、 如權(quán)利要求1所述的日志記錄合并方法,其特征在于步驟a中, 曰志記錄中包含的參數(shù)還包括地址信息參數(shù);步驟b中,所述合并規(guī)則包括以下五種中的任一種或其任意組合平行型,合并參數(shù)包括類型參數(shù)和地址信息。聚合型,合并參數(shù)包括類型參數(shù)和目的地址信息。輻射型,合并參數(shù)包括類型參數(shù)和源地址信息?;旌闲?,合并參數(shù)為類型參數(shù)和任一地址信息。獨立型,日志記錄獨立成為一條合并記錄;所述合并參數(shù)是指在合并時用于劃分日志記錄歸類的參數(shù)。
3、 如權(quán)利要求1所述的日志記錄合并方法,其特征在于,不同的合并 規(guī)則對應(yīng)于不同的合并參數(shù);所述合并參數(shù)是指在合并時用于劃分日志記錄 歸類的參數(shù);步驟c具體包括c 1 、按時間順序讀取日志記錄;c2、根據(jù)日志記錄的類型參數(shù)確定其所對應(yīng)的合并規(guī)則; c3、將日志記錄合并到具備相同合并參數(shù)的合并記錄里。
4、 如權(quán)利要求3所述的日志記錄合并方法,其特征在于,步驟c3具體 包括根據(jù)合并規(guī)則,提取日志記錄中的合并參數(shù),在合并隊列中查找具備相 同合并參數(shù)的合并記錄,然后將該日志記錄中合并參數(shù)部分刪去,其它部分放入合并記錄;如果查找不到具備相同合并參數(shù)的合并記錄,則將該日志記 錄作為一個新的合并記錄并放入合并隊列。
5、 如權(quán)利要求4所述的日志記錄合并方法,其特征在于步驟a中, 曰志記錄中包含的參數(shù)還包括地址信息參數(shù);步驟c3中還包括對于新的合并記錄,在合并記錄中增加下列參數(shù)中的一個或其任意組 合事件發(fā)生次數(shù)、源、目的IP/MAC地址的統(tǒng)計數(shù),源、目的端口統(tǒng)計數(shù)、 合并記錄的開始時間、結(jié)束時間、IP/MAC地址列表、端口列表;每合并一個日志記錄,就將其所合并到的合并記錄的"事件發(fā)生次數(shù)" 參數(shù)加一;當(dāng)日志記錄中合并參數(shù)之外的IP地址無法在IP地址列表中找到 時,將其添加 >到合并記錄中的IP地址列表;當(dāng)日志記錄中合并參數(shù)之外的 端口無法在端口列表中找到時,將其添加到合并記錄中的端口列表。
6、 如權(quán)利要求3所述的日志記錄合并方法,其特征在于,步驟a中, 日志記錄中包含的參數(shù)還包括時間參數(shù);步驟c中還包括,對合并記錄進(jìn)行時間判斷,判斷方法為以下兩種中的 任一種第一種是將系統(tǒng)當(dāng)前的時間和最近一次處理的日志記錄的時間參數(shù)進(jìn) 行比較,如果時間參數(shù)之差大于系統(tǒng)超時閥值,則認(rèn)為原先所有的合并記錄 均已完成,終結(jié)原先所有的合并記錄參與以后的合并,保存后從合并隊列中第二種將各合并記錄中的最大時間參數(shù)和當(dāng)前日志記錄的時間參數(shù)進(jìn) 行比較,如果有大于超時閥值的,說明本次按該合并規(guī)則合并的事件已結(jié)束, 終結(jié)此合并記錄參與以后.的合并,保存后從合并隊列中刪除。
7、 一種日志記錄合并系統(tǒng),其特征在于,包括存儲模塊及合并模塊; 所述存儲模塊用于保存合并規(guī)則、及日志記錄的類型參數(shù)與合并規(guī)則的所述合并模塊用于讀取日志記錄,并使用日志記錄的類型參數(shù)所對應(yīng)的 合并規(guī)則,對日志記錄進(jìn)行合并處理。
8、 如權(quán)利要求7所述的日志記錄合并系統(tǒng),其特征在于,所述存儲模 塊保存的合并規(guī)則包括以下五種中的任一種或其任意組合平行型,合并參數(shù)包括類型參數(shù)和地址信息。聚合型,合并參數(shù)包括類型參數(shù)和目的地址信息。輻射型,合并參數(shù)包括類型參數(shù)和源地址信息?;旌闲?,合并參數(shù)為類型參數(shù)和任一地址信息。獨立型,日志記錄獨立成為一條合并記錄;所述合并參數(shù)是指在合并時用于劃分日志記錄歸類的參數(shù)。
9、 如權(quán)利要求7所述的日志記錄合并系統(tǒng),其特征在于所述存儲模并時用于劃分日志記錄歸類的參數(shù);所述合并模塊使用日志記錄的類型參數(shù)所對應(yīng)的合并規(guī)則,對日志記錄 進(jìn)行合并處理是指合并模塊根據(jù)日志記錄的類型參數(shù)確定其所對應(yīng)的合并 規(guī)則,將日志記錄合并到具備相同合并參數(shù)的合并記錄里。
10、 如權(quán)利要求9所述的日志記錄合并系統(tǒng),其特征在于,合并模塊將 曰志記錄合并到具備相同合并參數(shù)的合并記錄里是指合并模塊根據(jù)合并規(guī)則,提取日志記錄中的合并參數(shù),在合并隊列中查 找具備相同合并參數(shù)的合并記錄,然后將該日志記錄中合并參數(shù)部分刪去, 其它部分放入合并記錄;如果查找不到具備相同合并參數(shù)的合并記錄,則將 該曰志記錄作為一個新的合并記錄并放入合并隊列;所述存儲模塊還包括用于保存合并隊列的緩存。
11、 如權(quán)利要求IO所述的日志記錄合并系統(tǒng),其特征在于 所述合并模塊還用于在新的合并記錄中增加下列參數(shù)中的一個或其任意組合事件發(fā)生的次數(shù)、源、目的IP/MAC地址的統(tǒng)計數(shù)、源、目的端口 統(tǒng)計數(shù)、合并記錄的開始時間、結(jié)束時間、端口列表、IP/MAC地址列表; 還用于在每合并一個日志記錄時,將所合并到的合并記錄的"事件發(fā)生次數(shù)" 參數(shù)加一;還用于當(dāng)日志記錄中合并參數(shù)之外的IP/MAC地址無法在 IP/MAC地址列表中找到時,將其添加到合并記錄中的IP/MAC地址列表; 當(dāng)曰志記錄中合并參數(shù)之外的端口無法在端口列表中找到時,將其添加到合 并記錄中的端口列表。
12、如權(quán)利要求9所述的日志記錄合并系統(tǒng),其特征在于,所述合并模 塊還用于對合并記錄進(jìn)行以下兩種中任一種時間判斷第一種是合并模塊將當(dāng)前日志記錄的時間參數(shù)和上一次處理的日志記 錄的時間參數(shù)進(jìn)行比較,如果時間參數(shù)之差大于系統(tǒng)超時閥值,則終結(jié)原先 所有的合并記錄參與以后的合并,從合并隊列中刪除;第二種是合并模塊將合并記錄中的最大時間參數(shù)和當(dāng)前日志記錄的時間參數(shù)進(jìn)行比較,如果大于超時閥值,則終結(jié)此合并記錄參與以后的合并,從合并隊列中刪除;所述存儲模塊還用于保存超時閾值或系統(tǒng)超時閾值并存儲進(jìn)所述存儲模塊。
全文摘要
本發(fā)明公開了一種日志記錄合并方法和系統(tǒng);方法包括對日志記錄中包含的參數(shù)進(jìn)行分類,其中至少包括類型參數(shù);所述類型參數(shù)用于表示日志中所記錄的事件的類型;建立類型參數(shù)和合并規(guī)則的對應(yīng)關(guān)系;讀取日志記錄,并使用日志記錄的類型參數(shù)所對應(yīng)的合并規(guī)則對日志記錄進(jìn)行合并處理。系統(tǒng)包括存儲模塊,用于保存合并規(guī)則、及日志記錄的類型參數(shù)與合并規(guī)則的對應(yīng)關(guān)系;合并模塊,用于讀取日志記錄,并使用日志記錄的類型參數(shù)所對應(yīng)的合并規(guī)則,對日志記錄進(jìn)行合并處理。本發(fā)明能對日志記錄進(jìn)行合并,減少記錄的數(shù)量,并且能夠有針對性的進(jìn)行合并,使合并后的日志比原始記錄具有更強(qiáng)的分析價值。
文檔編號H04L9/00GK101605028SQ20091007749
公開日2009年12月16日 申請日期2009年2月17日 優(yōu)先權(quán)日2009年2月17日
發(fā)明者邱勇良 申請人:北京安天電子設(shè)備有限公司