一種可容錯的分布式安全事件數(shù)據(jù)傳輸協(xié)議的實(shí)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及信息安全領(lǐng)域,具體海量安全事件分布式處理和數(shù)據(jù)傳輸。
【背景技術(shù)】
[0002] 互聯(lián)網(wǎng)+的理念已經(jīng)深入人心,各個(gè)行業(yè)信息網(wǎng)絡(luò)中部署的應(yīng)用系統(tǒng)和各種設(shè)備 的數(shù)量急劇增加,對復(fù)雜環(huán)境下IT操作的有效、及時(shí)審計(jì)分析極為迫切。安全審計(jì)的數(shù)據(jù)基 礎(chǔ)是防病毒系統(tǒng)、防火墻、入侵檢測系統(tǒng)、漏洞掃描系統(tǒng)、UTM、運(yùn)行主機(jī)、交換機(jī)、路由器、數(shù) 據(jù)庫系統(tǒng)、中間件等日志事件、狀態(tài)事件和網(wǎng)絡(luò)數(shù)據(jù)包信息。在目前的網(wǎng)絡(luò)環(huán)境中,各種設(shè) 備的安全事件已經(jīng)成為海量數(shù)據(jù),syslog作為主要的日志類型,被各種操作系統(tǒng),網(wǎng)絡(luò)設(shè)備 和安全設(shè)備廣泛支持,成為日志的重要標(biāo)準(zhǔn),對于其他類型的日志,也可以轉(zhuǎn)換為syslog日 志格式,便于統(tǒng)一分析。
[0003] 借助大數(shù)據(jù)安全分析技術(shù),人們能夠更好地解決天量安全要素信息的采集、存儲 的問題,借助基于大數(shù)據(jù)分析技術(shù)的機(jī)器學(xué)習(xí)和數(shù)據(jù)挖據(jù)算法,能夠更加智能地洞悉信息 與網(wǎng)絡(luò)安全的態(tài)勢,更加主動、彈性地應(yīng)對新型復(fù)雜的威脅和未知多變的風(fēng)險(xiǎn)。
[0004] 攻擊者的攻擊行為隱藏在海量的安全事件中,通過包捕獲,也能拿到天量的包含 攻擊流量的數(shù)據(jù)。所有這些天量數(shù)據(jù)匯聚起來就是安全大數(shù)據(jù)。通過對這些安全大數(shù)據(jù)進(jìn) 行實(shí)時(shí)分析和歷史分析,建立行為輪廓,并進(jìn)行行為建模和數(shù)據(jù)挖掘,就能幫助安全分析師 識別出攻擊者及其攻擊行為和過程,并提取攻擊特征,反饋給安全防御設(shè)施進(jìn)行阻斷。
[0005] 網(wǎng)絡(luò)安全的主要思想是積極防御、積極對抗。這種思想的終極目標(biāo)是不求阻止任 何攻擊,而是盡可能地延緩攻擊,拖延攻擊者的時(shí)間,以便為找到對策爭取時(shí)間。網(wǎng)絡(luò)攻防 很多時(shí)候就是一場奪取時(shí)間的戰(zhàn)斗,誰得到的時(shí)間越多,誰就越有可能掌握對抗的主動權(quán), 而掌握主動就意味著更有可能獲取對抗的勝利意味著更有可能獲取對抗的勝利。
[0006] 在這種思想的指導(dǎo)下,對安全審計(jì)的核心數(shù)一一安全事件的處理和傳輸必須高效 并容錯。目前業(yè)界的主流技術(shù)仍以雙機(jī)熱備作為主要的容錯方案,這種方案擴(kuò)展性差,難以 使用大數(shù)據(jù)時(shí)代的要求。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明的目的是為了克服現(xiàn)有技術(shù)的缺點(diǎn),提出一種可容錯的分布式安全事件數(shù) 據(jù)傳輸協(xié)議的實(shí)現(xiàn)方法。本發(fā)明采用分布式集群方式處理安全事件,采用定期選舉機(jī)制確 定集群中的事物節(jié)點(diǎn),并建立消息事物映射表,保證消息數(shù)據(jù)的事務(wù)性;集群中各個(gè)節(jié)點(diǎn)采 用消息隊(duì)列機(jī)制,保證安全事件處理的并行與可擴(kuò)展;從而實(shí)現(xiàn)了可容錯的安全事件傳輸 機(jī)制。
[0008] 本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的:
[0009] -種可容錯的分布式安全事件數(shù)據(jù)傳輸協(xié)議的實(shí)現(xiàn)方法,包括如下步驟:
[0010] A、對于全網(wǎng)的安全事件采用事件處理分布式集群的方式進(jìn)行:所述分布式集群的 每一個(gè)節(jié)點(diǎn)稱為Performer,每一個(gè)Performer節(jié)點(diǎn)都是計(jì)算性能相當(dāng)?shù)?、?dú)立的實(shí)體服務(wù) 器或虛擬機(jī),每一個(gè)Performer節(jié)點(diǎn)都建立消息隊(duì)列ML(Message List),該消息隊(duì)列ML是一 個(gè)先入先出數(shù)組;
[0011 ] B、所述事件處理分布式集群會定期選舉事物節(jié)點(diǎn)稱為Transactional,所述事物 節(jié)點(diǎn)Transcational負(fù)責(zé)進(jìn)行集群的容錯處理,事物節(jié)點(diǎn)Transactional除了具備一般 Performer節(jié)點(diǎn)的功能外,還會構(gòu)建事物消息映射表TMM(Transactional Message Map),該 映射表實(shí)時(shí)備份每個(gè)Perf ormer節(jié)點(diǎn)中未處理的消息;如果某個(gè)Performer節(jié)點(diǎn)出現(xiàn)故障, 事物節(jié)點(diǎn)Transcational會將Performer節(jié)點(diǎn)未處理的消息分發(fā)給其他Performer節(jié)點(diǎn); [0012] C、事物節(jié)點(diǎn)Transactional選舉的評分因素包括:CPU利用率、內(nèi)存利用率和消息 隊(duì)列ML中未處理消息個(gè)數(shù),當(dāng)事物節(jié)點(diǎn)Transactional出現(xiàn)故障時(shí),所述集群會立即選擇新 的事物節(jié)點(diǎn);事物節(jié)點(diǎn)選舉的評分算法是:
[0013] 首先計(jì)算除當(dāng)前事物節(jié)點(diǎn)Transactional外的各個(gè)Perf ormer節(jié)點(diǎn)的選舉指數(shù):
[0015] 其中,._j表示序號為i的Perf ormer節(jié)點(diǎn)的選舉指數(shù),C表示該P(yáng)erf ormer節(jié)點(diǎn)的 CPU利用率,M表示該P(yáng)erf ormer節(jié)點(diǎn)的內(nèi)存利用率,N表示該P(yáng)erf ormer節(jié)點(diǎn)未處理的消息個(gè) 數(shù),L表示消息隊(duì)列ML的總長度。
[0016] 其次,從選舉指數(shù)最低的perf ormer節(jié)點(diǎn)確定為新的事物節(jié)點(diǎn)Transactional^T:
[0017] T=min(EIi)
[0018] D、一個(gè)Perf ormer節(jié)點(diǎn)可以并行處理多個(gè)Perf ormer節(jié)點(diǎn)的安全事件傳輸請求,每 次采集一個(gè)安全事件,構(gòu)建該安全事件的消息信息M e s s a g e,該消息信息包括MID和 EventEntity字段,分別代表:
[0019] .MID:消息信息的唯一序號;
[0020] · EventEntity:安全事件的實(shí)體
[0021 ] 將該Message寫入消息隊(duì)列ML,同時(shí)寫入事物節(jié)點(diǎn)Transactional的事物消息映射 表TMM中;
[0022] E、Perf ormer節(jié)點(diǎn)在處理一個(gè)消息信息時(shí),從其消息隊(duì)列ML拿出一個(gè)消息信息 Message進(jìn)行處理,處理完畢后通知事物節(jié)點(diǎn)Transactional,如果事物節(jié)點(diǎn)在線,則事物節(jié) 點(diǎn)事物消息映射表TMM刪除該消息信息,如果事物節(jié)點(diǎn)故障,則重新選舉事物節(jié)點(diǎn)。
[0023] 優(yōu)選的,在步驟B中,事物節(jié)點(diǎn)的事物消息映射表TMM(Transactional Message Map),其數(shù)據(jù)結(jié)構(gòu)如下:TMM采用多層哈希映射表數(shù)據(jù)結(jié)構(gòu)HashMap嵌套的方式實(shí)現(xiàn),
[0024] HashMap<k_ip,Hashmap<k_message,v_event>>
[0025] 其中,
[0026] k_ip是集群中某個(gè)Perf ormer的IP地址;
[0027] k_me s sage是消息信息Me s sage的唯一序號MID;
[0028] v_e vent是該消息的事件數(shù)據(jù)。
[0029]優(yōu)選的,在步驟B中,消息信息Message的唯一序號MID的實(shí)現(xiàn)算法為:
[0030] MID = ip_performer+event_ssid [0031 ]其中,
[0032] ip_perf ormer是安全事件傳輸發(fā)起者Perf ormer的IP地址;
[0033] event_ssid是事件數(shù)據(jù)的唯一序號。
[0034] 優(yōu)選的,在步驟D中,事件處理集群會定期選舉事物節(jié)點(diǎn)Transactional,該選舉周 期為1天,選舉時(shí)間點(diǎn)為3:00,一般認(rèn)為這個(gè)時(shí)間點(diǎn)是安全事件最不活躍的時(shí)間。
[0035]優(yōu)選的,在步驟E中,本發(fā)明處理的安全事件內(nèi)容信息包含但不限于:事件名稱、事 件摘要、事件分類、采集類型、等級、網(wǎng)絡(luò)協(xié)議、網(wǎng)絡(luò)應(yīng)用協(xié)議。
【具體實(shí)施方式】
[0036] 本發(fā)明提供一種可容錯的分布式安全事件數(shù)據(jù)傳輸協(xié)議的實(shí)現(xiàn)方法,包括如下步 驟:
[0037] A、對于全網(wǎng)的安全事件采用事件處理分布式集群的方式進(jìn)行:所述分布式集群的 每一個(gè)節(jié)點(diǎn)稱為Performer,每一個(gè)Performer節(jié)點(diǎn)都是計(jì)算性能相當(dāng)?shù)摹ⅹ?dú)立的實(shí)體服務(wù) 器或虛擬機(jī),每一個(gè)Performer節(jié)點(diǎn)都建立消息隊(duì)列ML(Message List),該消息隊(duì)列ML是一 個(gè)先入先出數(shù)組;
[0038] B、所述事件處理集群會定期選舉事物節(jié)點(diǎn)稱為Transactional,所述事物節(jié)點(diǎn) Transcational負(fù)責(zé)進(jìn)行集群的容錯處理,事物節(jié)點(diǎn)Transactional除了具備一般 Performer節(jié)點(diǎn)的功能外,還會構(gòu)建事物消息映射表TMM(Transactional Message Map),該 映射表實(shí)時(shí)備份每個(gè)Perf ormer節(jié)點(diǎn)中未處理的消息;如果某個(gè)Performer節(jié)點(diǎn)出現(xiàn)故障, 事物節(jié)點(diǎn)Transcational會將該P(yáng)erformer節(jié)點(diǎn)未處理的消息分發(fā)給其他Performer節(jié)點(diǎn); [0039] C、事物節(jié)點(diǎn)Transac t i onal選舉的評分因素包括:CPU利用率、內(nèi)存利用率和消息 隊(duì)列ML中未處理消息個(gè)數(shù),當(dāng)事物節(jié)點(diǎn)Transactio