一種海量多源異構日志關聯(lián)分析方法
【專利摘要】本發(fā)明屬于網絡安全領域,特別是一種海量多源異構日志關聯(lián)分析方法。步驟1:對原始數據進行預處理,剔除錯誤日志,多源異構日志歸一化,生成格式化的安全事件信息;步驟2:基于事件各個字段的內容,生成一個描述本事件的特征向量;步驟3:將不同設備所產生的事件分類存儲;步驟4:不同設備的事件進行相似度計算并比較,判斷是否屬于同一類事件,將不同的事件中的同類事件進行兩兩合并,并剔除重復事件;步驟5:針對同一個文件內的日志進行合并,以減少數量;同時生成各類事件的統(tǒng)計分析結果;步驟6:在支持度和置信度下分析事件的關聯(lián)關系;步驟7:生成各類事件的統(tǒng)計分析報告及關聯(lián)分析結果報告。通過上述方法的分析使得日志分析結果更加豐富全面且易于理解,提升了網絡安全管理的指導意義。
【專利說明】一種海量多源異構日志關聯(lián)分析方法
【技術領域】
[0001]本發(fā)明屬于網絡安全【技術領域】,是一種海量多源異構日志關聯(lián)分析方法。
【背景技術】
[0002]隨著信息技術的發(fā)展,各企事業(yè)單位、黨政軍各級機構為了其自身內部網絡安全需要,安裝部署了網絡安全管理系統(tǒng),用于集中管理內部網絡設備和各業(yè)務系統(tǒng)產生的事件,監(jiān)測整體網絡的運營態(tài)勢。
[0003]網絡安全管理系統(tǒng)的主要功能是收集內部網絡產生的安全事件并進行分析。收集的事件包括如下內容:防火墻日志信息、入侵檢測日志信息、病毒日志信息、漏洞掃描日志信息源、主機操作日志信息、業(yè)務系統(tǒng)的用戶操作日志信息、入侵防御日志信息、VPN日志信息、數據庫操作日志信息等。目前,設備類日志格式并無統(tǒng)一的規(guī)范,導致設備日志結構各
巳
[0004]內部網絡設備和業(yè)務系統(tǒng)所產生的事件數量,隨著安全管理系統(tǒng)的運營,會變得異常龐大,對這些日志的分析也變得困難。由于各類事件數量非常大,目前市面常用的分析方法主要基于統(tǒng)計的方法,但是該方法存在以下不足:
[0005]>設備之間存在功能交叉,針對同一行為會被不同設備分別上報,容易產生誤報。
[0006]>統(tǒng)計功能相對單一,分析不深入。
【發(fā)明內容】
[0007]本發(fā)明就是為了解決上述問題,提出一種海量多源異構日志關聯(lián)分析方法,引入數據挖掘算法,對數據進行預處理,剔除重復事件,對事件進行聚合后再對事件進行深入分析。
[0008]本發(fā)明結合各類事件的特點,對事件進行分類、聚合、不同設備間同類日志合并等處理后,基于數據挖掘算法進行分析,具體執(zhí)行流程如圖1所示。
[0009]本發(fā)明方法的具體步驟如下:
[0010]步驟1:對原始數據進行預處理,剔除錯誤日志,多源異構日志歸一化,生成格式化的安全事件信息;
[0011]步驟2:基于事件各個字段的內容,生成一個描述本事件的特征向量;
[0012]步驟3:將不同設備所產生的事件分類存儲;
[0013]步驟4:不同設備的事件進行相似度計算并比較,判斷是否屬于同一類事件,通過基于相似度公式進行距離計算實現,若距離小于閾值,閾值大于0.9,即認為同類事件;
[0014]對于不同設備上報同類事件,需要判斷是否為一件事,如果是一件事需要剔除,剔除原則:
[0015]I t「t21〈window
[0016]其中,其中&是事件I的發(fā)生時間,t2是事件2發(fā)生的時間;window是時間閾值,可根據網絡延時情況設定,建議小于I分鐘;[0017]將不同的事件中的同類事件進行兩兩合并,并剔除重復事件;
[0018]步驟5:按事件發(fā)生的順序進行排序;針對同一個文件內的日志進行的,進行相似度計算;首先計算由于按照指定的時間窗口,指定的時間窗口小于I分鐘,將在同一窗口的同類事件進行合并,以減少數量;同時生成各類事件的統(tǒng)計分析結果;
[0019]步驟6:對事件應用關聯(lián)分析算法,在支持度和置信度下分析事件的關聯(lián)關系;
[0020]步驟7:生成各類事件的統(tǒng)計分析報告及關聯(lián)分析結果報告通過上述方法的分析使得日志分析結果更加豐富全面且易于理解,提升了網絡安全管理的指導意義。
【專利附圖】
【附圖說明】
[0021]圖1本發(fā)明流程圖。
[0022]圖2日統(tǒng)計報表-按各類型統(tǒng)計
[0023]圖3日統(tǒng)計報表-按安全類型統(tǒng)計
[0024]圖4統(tǒng)計報表-按來源統(tǒng)計
[0025]圖5關聯(lián)分析的舉例
【具體實施方式】
[0026]下面結合流程圖,對實施方式詳細說明,應該強調的是,下述說明僅僅是示例性的,而不是為了限制本發(fā)明的范圍及其應用。
[0027]步驟1:對原始數據進行預處理,剔除錯誤日志,多源異構日志歸一化,生成格式化的安全事件信息。
[0028]用于分析的日志包括防火墻日志信息、入侵檢測日志信息、病毒日志信息、漏洞掃描日志信息源、主機操作日志信息、業(yè)務系統(tǒng)的用戶操作日志信息、入侵防御日志信息、VPN日志信息、數據庫操作日志信息等,可根據實際情況加入其他設備日志信息。
[0029]預處理過程大概分成如下步驟:
[0030]( I)數據清洗,即剔除不合格日志。不合格日志分為兩類,一類是安防系統(tǒng)不需要接收的日志,比如系統(tǒng)的運維日志,由于安防設備并不會區(qū)分各類日志,而是將其產生的日志一并發(fā)送給接收者,因此需剔除這類并不是系統(tǒng)安全事件的日志;另一類是格式不正常的日志,比如發(fā)送方或日志在發(fā)送過程中網絡異常造成的某些數據丟失,解析后得到的數據不全,這類可丟棄。
[0031](2)解析日志。將各類設備的事件進行歸一化處理并存儲在數據庫中,為提供后續(xù)擴展性,事件屬性設置為各類日志的并集,對未標識的屬性值設為空。以網域設備的某類日志為例,假設數據庫中存儲格式為(即上面所說的并集):用戶名,產生時間、事件類型、事件名稱、安全級別、協(xié)議、源地址、源端口、目的地址、目的端口、操作結果。則下屬兩類日志的解析字段為:
[0032]a) May914:09:46targe event:devid=0date=〃2013/05/0914:09:46〃dname=targe.1nfocenter logtype=16pri=4user=〃〃mod=〃ips〃 事件類型=IPS 事件名=〃Virus (Worm)Worms Microsoft SQL Server Slammer/Saphire〃安全級別=〃低〃dsp_msg=〃檢測到攻擊:Worms Microsoft SQL Server Slammer/Saphire,類型:Virus (Worm) 〃協(xié)議=UDP 源地址=172.31.216.18源端口 =3283目的地址=226.233.26.26目的端口 =1434重復次數=21000事件詳情=〃〃動作=〃丟棄〃鏈路別名=〃〃fwlOg=0
[0033]此類日志可解析的日志字段為(用戶名:NULL,時間:2013/05/0914:09:46,事件類型:IPS,安全級別:4,事件名:Virus (Worm) Worms Microsoft SQL Server Slammer/Saphire,協(xié)議:UDP,源地址:172.31.216.18,源端口:3283 ;目的地址:226.233.26.26,目的端口:1434,操作結果:NULL)。由于該日志是非用戶操作類日志且沒有操作結果說明,因此用戶名和操作結果的值為NULL,即設為空。
[0034](3)格式歸一化。由于不同系統(tǒng)或設備之間日志格式不一,且表述內容不一致,這就造成同一事件相同的屬性值卻產生了不同的名稱,比如事件名為“ Virus (Worm) WormsMicrosoft SQL Server Slammer/Saphire”的日志在另一設備中事件名稱可能被稱為“SQLSlammer”、“sql螺蟲”或“Win32/SQLSlammer.Worm”。這里的歸一化操作通過某種方式(如維護一張字典表)將各種數據統(tǒng)一,取值標準化,便于步驟2操作。將歸一化后的日志存入數據庫中。
[0035]步驟2:基于事件各個字段的內容,生成一個描述本事件的特征向量;
[0036]將歸一化的日志進行量化,按照已建模的模型,把屬性值轉為數字,生成描述事件的特征向量。以步驟I中的日志為例,解析后的字段為(用戶名:NULL,時間:2013/05/0914:09:46,事件類型:IPS,安全級別:4,事件名:Virus (Worm) Worms MicrosoftSQL Server Slammer/Saphire,協(xié)議:UDP,源地址:172.31.216.18,源端口:3283 ;目的地址:226.233.26.26,目的端口:1434,操作結果:NULL)。量化過程:
[0037]a)此類日志沒有用戶名和操作結果,因此用戶名和操作結果的屬性值為-1 ;
[0038]b)事件類型可通過字典表的形式,將其指定為某一數字,比如IPS的值為I ;
[0039]c)安全級別通常數字無須更改,即為4 ;
[0040]d)事件名和協(xié)議類型同樣可以采用b)的量化方法,將其轉為數字,假設均為2
[0041]e) IP地址轉為長整形數字
[0042]f)端口為數字,可采用原值。
[0043]說明:考慮到時間對于區(qū)分事件種類貢獻不大,因此未將時間列入量化范圍。此條日志可變?yōu)殚L度為10的向量,即為10維向量空間的一個向量,如上述日志按[用戶名,事件類型,安全級別,事件名,協(xié)議,源地址,源端口,目的地址,目的端口,操作結果]生成向量為[-1,1,4,2,2, 247924307, 3283, 7234314534,1434,-1]。
[0044]步驟3:將不同設備所產生的事件分類存儲;
[0045]不同類別之間的日志關聯(lián)性比較小,因此,采用分類算法對不同來源的日志進行分類,并將分類結果存儲在XML文件中。說明:可根據日志解析模版ID+服務器IP方法區(qū)分不同的設備類,進行粗略分類,并將日志分類存于各個XML文檔中。
[0046]步驟4:不同設備的事件進行相似度計算并比較,將不同的事件進行兩兩合并,剔除重復事件。
[0047]步驟4需要完成兩個工作:(I)判斷不同設備之間上報的事件是否包含相同類的事件(2 )剔除相同的事件,減少誤報。
[0048]判斷是否屬于同一類事件,通過基于相似度公式進行距離計算實現,若距離小于閾值,即認為同類事件。相似度公式如下所示:
【權利要求】
1.一種海量多源異構日志關聯(lián)分析方法,其特征在于,包括如下步驟: 步驟1:對原始數據進行預處理,剔除錯誤日志,多源異構日志歸一化,生成格式化的安全事件信息; 步驟2:基于事件各個字段的內容,生成一個描述本事件的特征向量; 步驟3:將不同設備所產生的事件分類存儲; 步驟4:不同設備的事件進行相似度計算并比較,判斷是否屬于同一類事件,通過基于相似度公式進行距離計算實現,若距離小于閾值,閾值大于0.9,即認為同類事件; 對于不同設備上報同類事件,需要判斷是否為一件事,如果是一件事需要剔除,剔除原則:
|t1-ta |<window 其中,其中h是事件I的發(fā)生時間,t2是事件2發(fā)生的時間;window是時間閾值,可根據網絡延時情況設定,建議小于I分鐘; 將不同的事件中的同類事件進行兩兩合并,并剔除重復事件; 步驟5:按事件發(fā)生的順序進行排序;針對同一個文件內的日志進行的,進行相似度計算;首先計算由于按照指定的時間窗口,指定的時間窗口小于I分鐘,將在同一窗口的同類事件進行合并,以減少數量;同時生成各類事件的統(tǒng)計分析結果; 步驟6:對事件應用關聯(lián)分析算法,在支持度和置信度下分析事件的關聯(lián)關系; 步驟7:生成各類事件的統(tǒng)計分析報告及關聯(lián)分析結果報告。
【文檔編號】H04L12/24GK103546312SQ201310379251
【公開日】2014年1月29日 申請日期:2013年8月27日 優(yōu)先權日:2013年8月27日
【發(fā)明者】高景生, 王潤高, 孫宇, 孫寶貴, 沈艷林 申請人:中國航天科工集團第二研究院七〇六所