專利名稱:安全事件關(guān)聯(lián)分析方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,具體涉及一種安全事件關(guān)聯(lián)分析方法和系統(tǒng)。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,安全性問題越來越受到重視。常見的安全設(shè)備有防火墻、入侵檢測(cè)系統(tǒng)(IDSIntrusion Detection System)、證書授權(quán)(CACertificate Authority)系統(tǒng)、完整性檢查工具、殺毒軟件等。這些安全組件會(huì)在異常情況出現(xiàn)時(shí)產(chǎn)生報(bào)警信息。此外,一些系統(tǒng)和應(yīng)用程序也會(huì)產(chǎn)生安全相關(guān)的日志。這些報(bào)警信息和日志通稱為原始報(bào)警事件。來源不同的原始報(bào)警事件往往彼此重疊、關(guān)聯(lián)或者相互依賴,而且數(shù)據(jù)量龐大,使得安全管理工作變得越來越復(fù)雜,安全管理員需要應(yīng)對(duì)大量具有冗余性且彼此關(guān)系錯(cuò)綜的報(bào)警信息;此外,很多網(wǎng)絡(luò)攻擊行為僅依靠單一的安全組件是無法檢測(cè)到的,只有將各組件產(chǎn)生的事件報(bào)警進(jìn)行關(guān)聯(lián)分析和綜合判斷,才能準(zhǔn)確發(fā)現(xiàn)并及時(shí)制止這些攻擊。要解決這些問題,必須采用關(guān)聯(lián)分析技術(shù),目前主要的關(guān)聯(lián)分析技術(shù)包括如下幾種一、斯坦福國(guó)際研究所(SRI InternationalStanford Research InstituteInternational)的系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)室提出的基于攻擊建模的規(guī)則關(guān)聯(lián)方法。設(shè)計(jì)步驟為建立詳細(xì)的攻擊描述庫(kù),從條件、環(huán)境等多個(gè)角度對(duì)每種攻擊進(jìn)行描述;建立用于分析攻擊特征的自動(dòng)機(jī),對(duì)攻擊描述庫(kù)進(jìn)行處理,產(chǎn)生關(guān)聯(lián)規(guī)則;建立報(bào)警匹配機(jī),根據(jù)關(guān)聯(lián)規(guī)則對(duì)原始報(bào)警事件進(jìn)行模式匹配并產(chǎn)生安全事件。
此方法的缺點(diǎn)在于依賴于對(duì)攻擊場(chǎng)景預(yù)先進(jìn)行合理準(zhǔn)確的描述,如果攻擊過程中包含未知的或未被檢測(cè)到的攻擊步驟,則無法進(jìn)行關(guān)聯(lián)處理,因此對(duì)于新的或未知的攻擊方式?jīng)]有防范能力。
二、基于前提/結(jié)果的關(guān)聯(lián)技術(shù)。該技術(shù)是對(duì)上述SRI關(guān)聯(lián)技術(shù)的改進(jìn),主要處理流程如下預(yù)先建立各種攻擊步驟的前提(prerequisites)和結(jié)果(consequences);對(duì)前面報(bào)警的結(jié)果和后續(xù)報(bào)警的前提進(jìn)行匹配以達(dá)到關(guān)聯(lián)目的;根據(jù)匹配情況建立多步攻擊的場(chǎng)景。
該方法使用超報(bào)警(Hyper-Alert)來表示報(bào)警的前提和結(jié)果,生成的攻擊場(chǎng)景用超報(bào)警關(guān)聯(lián)圖(Hyper-Alert Correlation Graph)來表示,在關(guān)聯(lián)圖的基礎(chǔ)上,可進(jìn)一步進(jìn)行基于人機(jī)交互的事件分析功能。這種方法不再依賴于預(yù)先定義的攻擊場(chǎng)景,但關(guān)聯(lián)性能取決于對(duì)攻擊的建模,即針對(duì)每項(xiàng)報(bào)警設(shè)定的前提和結(jié)果,對(duì)于新的或未知的攻擊模式仍然缺乏識(shí)別和防范能力。
三、聚類關(guān)聯(lián)技術(shù)。聚類關(guān)聯(lián)采用的是一種算法,而不是規(guī)則匹配的方式關(guān)聯(lián)。這種方法的處理方式如下針對(duì)事件中每個(gè)字段設(shè)計(jì)相似性函數(shù),用于計(jì)算兩個(gè)事件的對(duì)應(yīng)字段之間的相似程度;在上一步的基礎(chǔ)上,針對(duì)事件本身設(shè)計(jì)相似性函數(shù),用于計(jì)算兩個(gè)事件之間相似的程度;處理原始報(bào)警事件時(shí),將彼此相似的事件關(guān)聯(lián)起來,利用調(diào)節(jié)函數(shù)參數(shù)的方法,從不同角度得到不同層次的結(jié)果。
此方法的缺點(diǎn)在于采用統(tǒng)計(jì)的方式進(jìn)行處理,得出的結(jié)果往往缺乏明確的實(shí)際意義。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種既具有未知攻擊防范能力又能夠盡量獲得準(zhǔn)確結(jié)論的安全事件關(guān)聯(lián)分析方法和系統(tǒng)。
為達(dá)到本發(fā)明的目的,所采取的技術(shù)方案是一種安全事件關(guān)聯(lián)分析方法,包括收集原始報(bào)警事件;對(duì)原始報(bào)警事件分別進(jìn)行基于規(guī)則的關(guān)聯(lián)分析和基于統(tǒng)計(jì)的關(guān)聯(lián)分析;對(duì)規(guī)則關(guān)聯(lián)和統(tǒng)計(jì)關(guān)聯(lián)分別產(chǎn)生的安全事件進(jìn)行仲裁,獲得唯一的安全事件。
優(yōu)選的是,在對(duì)原始報(bào)警事件進(jìn)行關(guān)聯(lián)分析之前,還按照預(yù)置的過濾規(guī)則對(duì)原始報(bào)警事件進(jìn)行過濾。
進(jìn)一步優(yōu)選的是,緩存收集到的原始報(bào)警事件,按照預(yù)置的過濾規(guī)則直接從緩存隊(duì)列中將滿足過濾規(guī)則的原始報(bào)警事件刪除,然后再對(duì)緩存中的原始報(bào)警事件進(jìn)行關(guān)聯(lián)分析。
所述基于統(tǒng)計(jì)的關(guān)聯(lián)分析優(yōu)選包括統(tǒng)計(jì)原始報(bào)警事件在指定屬性上的分布;當(dāng)某個(gè)或某幾個(gè)屬性層面上原始報(bào)警事件的累計(jì)威脅度超過閾值時(shí),產(chǎn)生安全事件。
所述指定屬性可包括源地址、目的地址、協(xié)議和端口三個(gè)屬性。
優(yōu)選的是,在基于統(tǒng)計(jì)的關(guān)聯(lián)分析產(chǎn)生安全事件后,還對(duì)所述安全事件對(duì)應(yīng)的原始報(bào)警事件序列進(jìn)行數(shù)據(jù)挖掘,產(chǎn)生基于規(guī)則的關(guān)聯(lián)分析適用的關(guān)聯(lián)規(guī)則。
所述數(shù)據(jù)挖掘優(yōu)選包括以支持度大于指定閾值為判斷依據(jù),找出原始報(bào)警事件序列中表明攻擊過程的事件類型序列作為規(guī)則序列;對(duì)于每條規(guī)則序列,針對(duì)其各個(gè)節(jié)點(diǎn)的各個(gè)屬性,分別統(tǒng)計(jì)所有實(shí)例的對(duì)應(yīng)值,將大于最小置信度的值作為該屬性的備選項(xiàng);對(duì)于每條規(guī)則序列,統(tǒng)計(jì)所有實(shí)例不同節(jié)點(diǎn)屬性值之間的相似關(guān)系,確定規(guī)則中屬性的依賴關(guān)系。
本發(fā)明還提供一種安全事件關(guān)聯(lián)分析系統(tǒng),包括事件隊(duì)列模塊、規(guī)則關(guān)聯(lián)模塊、統(tǒng)計(jì)關(guān)聯(lián)模塊、結(jié)構(gòu)分析模塊;所述事件隊(duì)列模塊收集和緩存原始報(bào)警事件,分別提供給所述規(guī)則關(guān)聯(lián)模塊和統(tǒng)計(jì)關(guān)聯(lián)模塊;所述規(guī)則關(guān)聯(lián)模塊按照預(yù)置的關(guān)聯(lián)規(guī)則對(duì)原始報(bào)警事件進(jìn)行模式匹配,根據(jù)匹配結(jié)果產(chǎn)生安全事件;所述統(tǒng)計(jì)關(guān)聯(lián)模塊統(tǒng)計(jì)原始報(bào)警事件基于屬性的分布,根據(jù)統(tǒng)計(jì)結(jié)果產(chǎn)生安全事件;所述結(jié)構(gòu)分析模塊從所述規(guī)則關(guān)聯(lián)模塊和統(tǒng)計(jì)關(guān)聯(lián)模塊接收安全事件,進(jìn)行仲裁獲得唯一的安全事件。
優(yōu)選的是,上述安全事件關(guān)聯(lián)分析系統(tǒng)還包括事件過濾模塊,所述事件過濾模塊按照預(yù)置的過濾規(guī)則對(duì)所述事件隊(duì)列模塊收集的原始報(bào)警事件進(jìn)行過濾,將滿足過濾規(guī)則的原始報(bào)警事件從隊(duì)列中刪除。
優(yōu)選的是,上述安全事件關(guān)聯(lián)分析系統(tǒng)還包括規(guī)則挖掘模塊和引擎控制模塊;所述規(guī)則挖掘模塊接收所述統(tǒng)計(jì)關(guān)聯(lián)模塊產(chǎn)生的安全事件,對(duì)所述安全事件對(duì)應(yīng)的原始報(bào)警事件序列進(jìn)行數(shù)據(jù)挖掘,產(chǎn)生關(guān)聯(lián)規(guī)則,上報(bào)給所述引擎控制模塊;所述引擎控制模塊將所述規(guī)則挖掘模塊生成的關(guān)聯(lián)規(guī)則,直接或提交控制臺(tái)確認(rèn)后動(dòng)態(tài)更新到所述規(guī)則關(guān)聯(lián)模塊中。
采用上述技術(shù)方案,本發(fā)明有益的技術(shù)效果在于1)本發(fā)明采用規(guī)則關(guān)聯(lián)和統(tǒng)計(jì)關(guān)聯(lián)并行的方法,通過仲裁獲得唯一的安全事件,使得兩種關(guān)聯(lián)方式的優(yōu)缺點(diǎn)彼此互補(bǔ),既能夠獲得既知攻擊的準(zhǔn)確檢測(cè)又保持了對(duì)未知攻擊的防范能力;并且,當(dāng)某個(gè)關(guān)聯(lián)方式出現(xiàn)故障無法工作時(shí),另一個(gè)仍然可以繼續(xù)處理原始報(bào)警事件,提高了系統(tǒng)的健壯性;2)本發(fā)明進(jìn)一步采用將對(duì)統(tǒng)計(jì)關(guān)聯(lián)進(jìn)行數(shù)據(jù)挖掘獲得的規(guī)則應(yīng)用于規(guī)則關(guān)聯(lián)的方法,既避免了統(tǒng)計(jì)關(guān)聯(lián)的模糊性又賦予了規(guī)則關(guān)聯(lián)對(duì)未知攻擊的檢測(cè)能力,使得整個(gè)檢測(cè)體系能夠不斷自學(xué)習(xí)和發(fā)展,更加適應(yīng)復(fù)雜網(wǎng)絡(luò)安全環(huán)境的需要;3)本發(fā)明還提供了基于屬性分布的統(tǒng)計(jì)關(guān)聯(lián)方法,使原始報(bào)警事件的聚類分析更加方便和靈活,同時(shí)也具有更為明確的含義,便于快速準(zhǔn)確的獲得所關(guān)心的相關(guān)事件組;4)本發(fā)明所提供的優(yōu)選的數(shù)據(jù)挖掘方法能夠準(zhǔn)確全面的對(duì)統(tǒng)計(jì)獲得的安全事件所隱含的多步攻擊行為進(jìn)行分析,提高系統(tǒng)對(duì)未知攻擊的檢測(cè)識(shí)別能力。
下面通過具體實(shí)施方式
并結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說明。
圖1是本發(fā)明實(shí)施例一安全事件關(guān)聯(lián)分析方法流程示意圖;圖2是本發(fā)明實(shí)施例一規(guī)則關(guān)聯(lián)中的攻擊邏輯圖示例;圖3是本發(fā)明實(shí)施例一統(tǒng)計(jì)關(guān)聯(lián)所使用的Matrix結(jié)構(gòu)示意圖;圖4是本發(fā)明實(shí)施例二安全事件關(guān)聯(lián)分析方法流程示意圖;圖5是本發(fā)明實(shí)施例三安全事件關(guān)聯(lián)分析系統(tǒng)模塊結(jié)構(gòu)示意圖;圖6是本發(fā)明實(shí)施例四安全事件關(guān)聯(lián)分析系統(tǒng)模塊結(jié)構(gòu)示意圖。
具體實(shí)施例方式
本發(fā)明提供了一種安全事件關(guān)聯(lián)分析方法和系統(tǒng),其核心思想是,采用規(guī)則關(guān)聯(lián)和統(tǒng)計(jì)關(guān)聯(lián)并行機(jī)制,通過仲裁獲得唯一的安全事件,以實(shí)現(xiàn)兩種關(guān)聯(lián)方式的優(yōu)勢(shì)互補(bǔ),彌補(bǔ)各自的缺陷。本發(fā)明進(jìn)一步提出,將對(duì)統(tǒng)計(jì)關(guān)聯(lián)進(jìn)行數(shù)據(jù)挖掘獲得的規(guī)則應(yīng)用于規(guī)則關(guān)聯(lián),從更深層次上進(jìn)行兩種關(guān)聯(lián)方式的融合,既避免了統(tǒng)計(jì)關(guān)聯(lián)的模糊性又賦予了規(guī)則關(guān)聯(lián)對(duì)未知攻擊的檢測(cè)能力,提高整個(gè)檢測(cè)體系的自學(xué)習(xí)能力。本發(fā)明還提供了優(yōu)選的統(tǒng)計(jì)關(guān)聯(lián)方法和數(shù)據(jù)挖掘方法,來提高相應(yīng)處理過程的效率和準(zhǔn)確度。以下分別對(duì)本發(fā)明方法和系統(tǒng)進(jìn)行詳細(xì)說明。
實(shí)施例一、一種安全事件關(guān)聯(lián)分析方法,流程如圖1所示,包括A1、收集原始報(bào)警事件;原始報(bào)警事件來自于各種安全設(shè)備或管理程序,例如防火墻、IDS、殺毒軟件、系統(tǒng)日志等,原始報(bào)警事件的采集可以是集中式的也可以來源于分布式系統(tǒng),為便于進(jìn)行后續(xù)過程的處理,最好對(duì)收集到的原始報(bào)警事件進(jìn)行緩存和過濾,包括A11、緩存收集到的原始報(bào)警事件;通??梢詫⒃紙?bào)警事件按照時(shí)間順序以事件隊(duì)列的形式進(jìn)行存放;A12、按照預(yù)置的過濾規(guī)則對(duì)原始報(bào)警事件進(jìn)行過濾;此步驟對(duì)原始報(bào)警事件進(jìn)行簡(jiǎn)單的處理,例如去除錯(cuò)誤和重復(fù)的報(bào)警,或使用一些簡(jiǎn)單的規(guī)則使報(bào)警信息的收集具有一定的目的性或傾向性,以減少后續(xù)過程的處理量等;例如,某個(gè)內(nèi)部網(wǎng)絡(luò)只使用了192.168.0.1~192.168.0.64的地址空間,則可采用一個(gè)去除規(guī)則“過濾目的地址不在192.168.0.1~192.168.0.64內(nèi)的報(bào)警”,將所有錯(cuò)誤和無關(guān)的報(bào)警信息過濾掉;又如,當(dāng)事件處理繁忙時(shí),為了兼顧安全性和效率,可以定制規(guī)則“忽略威脅級(jí)別小于5的報(bào)警”以避免大量的低級(jí)別報(bào)警事件對(duì)系統(tǒng)處理資源的消耗;再如,在上例中,若目的地址192.168.0.1是受重點(diǎn)保護(hù)的服務(wù)器,需要收集任何級(jí)別的報(bào)警事件以便全面保護(hù),則可進(jìn)一步定制規(guī)則“保留目的地址為192.168.0.1的報(bào)警”,使指向該服務(wù)器的報(bào)警事件能夠全部獲得處理;A13、將滿足過濾規(guī)則的原始報(bào)警事件從緩存隊(duì)列中刪除,當(dāng)然,為保留完整的安全數(shù)據(jù)信息,也可以將所有的原始報(bào)警事件備份到數(shù)據(jù)庫(kù)中;A2、對(duì)原始報(bào)警事件分別進(jìn)行基于規(guī)則的關(guān)聯(lián)分析和基于統(tǒng)計(jì)的關(guān)聯(lián)分析;兩種關(guān)聯(lián)分析方式可以同時(shí)或異步的運(yùn)行,各自讀取事件隊(duì)列中的原始報(bào)警事件進(jìn)行處理,具體說明如下A21、基于規(guī)則的關(guān)聯(lián)分析,可采用現(xiàn)有的各種規(guī)則匹配分析方式,本例中采用組織形式匹配的方式,將原始報(bào)警事件序列與預(yù)置的描述復(fù)合攻擊的關(guān)聯(lián)規(guī)則進(jìn)行模式匹配,一旦符合則產(chǎn)生安全事件;為保證對(duì)邏輯結(jié)果的準(zhǔn)確表現(xiàn),從本質(zhì)上反映復(fù)合攻擊的組織形式,本發(fā)明采用嚴(yán)格定義的規(guī)則語法來描述關(guān)聯(lián)規(guī)則,定義關(guān)聯(lián)規(guī)則中一組單步攻擊包含如下三種組織關(guān)系序列關(guān)系以“SEQ”表示,單步攻擊之間有嚴(yán)格的因果關(guān)系,后一個(gè)單步攻擊必須建立在前一個(gè)單步攻擊的基礎(chǔ)上;并列關(guān)系以“AND”表示,單步攻擊之間沒有直接關(guān)系,但是必須都完成后才能進(jìn)行下一步攻擊;選擇關(guān)系以“OR”表示,數(shù)種單步攻擊可實(shí)現(xiàn)相同效果,完成任何一種即可進(jìn)行下一步攻擊;關(guān)聯(lián)規(guī)則的組織即反映以上三種關(guān)系。每個(gè)規(guī)則項(xiàng)必須有“類型”屬性,其值為“SEQ”、“AND”、“OR”或“NONE”。前3者表示其下屬規(guī)則項(xiàng)的組織關(guān)系,不是真正的匹配項(xiàng),而“NONE”則表示實(shí)際的關(guān)聯(lián)匹配項(xiàng)。所有規(guī)則項(xiàng)以嚴(yán)格的樹型結(jié)構(gòu)來組織,每個(gè)葉節(jié)點(diǎn)必須是“NONE”類型的規(guī)則項(xiàng),而每個(gè)非葉節(jié)點(diǎn)必須是“SEQ”、“AND”或“OR”類型的規(guī)則項(xiàng)。圖2以攻擊邏輯圖的形式給出了上述規(guī)則語法表示的關(guān)聯(lián)規(guī)則的一個(gè)示例。圖2中規(guī)則項(xiàng)2、3、4、6、7為葉節(jié)點(diǎn),是真正的匹配項(xiàng),其類型為“NONE”;規(guī)則項(xiàng)0、1、5為非葉節(jié)點(diǎn),規(guī)則項(xiàng)1的類型為“OR”,表示匹配項(xiàng)2、3只需擇一完成;規(guī)則項(xiàng)5的類型為“AND”,表示匹配項(xiàng)6、7需全部完成;規(guī)則項(xiàng)0的類型為“SEQ”,表示規(guī)則項(xiàng)1、4、5所對(duì)應(yīng)事件應(yīng)順序完成。規(guī)則項(xiàng)之間的連線表示彼此之間的關(guān)系,圖2中單實(shí)線箭頭表示該箭頭所指向的節(jié)點(diǎn)是該箭頭起始節(jié)點(diǎn)的父節(jié)點(diǎn)(parent),雙線箭頭表示該箭頭所指向的節(jié)點(diǎn)是該箭頭起始節(jié)點(diǎn)的子節(jié)點(diǎn)(child),虛線箭頭表示該箭頭所指向的節(jié)點(diǎn)是該箭頭起始節(jié)點(diǎn)的下一個(gè)兄弟節(jié)點(diǎn),“null”則表示箭頭指向?yàn)榭铡?br>
此外,還可以使用預(yù)定義的關(guān)鍵字,在關(guān)聯(lián)規(guī)則中表示原始報(bào)警事件屬性之間的聯(lián)系,例如用occurrence和count表示對(duì)重復(fù)出現(xiàn)的報(bào)警次數(shù)進(jìn)行統(tǒng)計(jì);用timeout表示事件之間的間隔時(shí)間;另外,還可使用規(guī)則引用的方式,以之前發(fā)生的報(bào)警事件的屬性(例如源地址、目的地址等)來表示后續(xù)需要匹配的報(bào)警事件的屬性。
將原始報(bào)警事件序列與按照上述規(guī)則語法進(jìn)行描述的關(guān)聯(lián)規(guī)則進(jìn)行模式匹配,即可獲得具有準(zhǔn)確含義的安全事件;A22、基于統(tǒng)計(jì)的關(guān)聯(lián)分析,可采用現(xiàn)有的聚類關(guān)聯(lián)技術(shù),但一般需要耗費(fèi)相當(dāng)多的時(shí)間和資源,本實(shí)施例中采用本發(fā)明提供的優(yōu)選統(tǒng)計(jì)關(guān)聯(lián)方法,包括A221、統(tǒng)計(jì)原始報(bào)警事件在指定屬性上的分布;從實(shí)際應(yīng)用角度考慮,原始報(bào)警事件的屬性中有三個(gè)方面最為重要源地址、目的地址、協(xié)議和端口,也就是說所關(guān)注的是對(duì)特定目標(biāo)的攻擊程度、從特定來源發(fā)起的攻擊、攻擊所針對(duì)的協(xié)議和端口,當(dāng)然也包括上述屬性的組合結(jié)果;基于這三個(gè)屬性的統(tǒng)計(jì)空間可以用圖3所示的數(shù)據(jù)結(jié)構(gòu)來表示,在本文中稱其為Matrix結(jié)構(gòu)。在該結(jié)構(gòu)中,由三條雙向鏈表來表示三個(gè)維度,分別代表源地址、目的地址、協(xié)議和端口。由每?jī)蓚€(gè)維度引出的節(jié)點(diǎn),例如圖3中的A節(jié)點(diǎn),構(gòu)成三個(gè)二維雙向鏈表,作為Matrix的三個(gè)面,表示任意兩個(gè)屬性組合的結(jié)果。由這些面引出的節(jié)點(diǎn),例如圖3中的B節(jié)點(diǎn),構(gòu)成一個(gè)三維雙向鏈表,表示同時(shí)關(guān)注三個(gè)屬性的情況;每一個(gè)進(jìn)行處理的原始報(bào)警事件都被加入到Matrix結(jié)構(gòu)中,其在Matrix中的位置分布決定了其在不同屬性層面上的威脅程度;A222、當(dāng)某個(gè)或某幾個(gè)屬性層面上原始報(bào)警事件的累計(jì)威脅度超過閾值時(shí),產(chǎn)生安全事件;這些統(tǒng)計(jì)累積產(chǎn)生的異常情況由于與三個(gè)屬性密切相關(guān),因此可以通過對(duì)其分布區(qū)域的分析賦予相應(yīng)的安全事件較為明確的含義,主要表現(xiàn)為以下幾種類型強(qiáng)針對(duì)性攻擊由較集中的攻擊來源,針對(duì)單一的目標(biāo)地址和端口進(jìn)行的攻擊。例如攻擊者對(duì)特定主機(jī)上可能存在漏洞的服務(wù)多次嘗試進(jìn)行攻擊;
端口分散式攻擊由較集中的攻擊來源,針對(duì)單一的目標(biāo)地址的不同端口進(jìn)行的攻擊;例如端口掃描;來源分散式攻擊由較分散的攻擊來源,針對(duì)單一的目標(biāo)地址和端口進(jìn)行的攻擊;例如分布式拒絕服務(wù)(DDoS)攻擊;目的分散式攻擊由較集中的攻擊來源,針對(duì)分散目標(biāo)地址的單一端口進(jìn)行的攻擊;例如主機(jī)掃描;來源集中式攻擊由較集中的攻擊來源,針對(duì)分散的目標(biāo)地址和端口進(jìn)行的攻擊;例如病毒或蠕蟲傳播的初始階段;目的集中式攻擊由較分散的攻擊來源,針對(duì)單一目標(biāo)地址的不同端口進(jìn)行的攻擊;例如很多分布式攻擊行為都呈現(xiàn)這一特征;端口集中式攻擊由較分散的攻擊來源,針對(duì)分散目標(biāo)地址的同一端口進(jìn)行的攻擊;例如蠕蟲傳播,或DDoS攻擊之前自動(dòng)尋找傀儡機(jī)的過程;采用上述基于Matrix數(shù)據(jù)結(jié)構(gòu)的統(tǒng)計(jì)關(guān)聯(lián)分析方法,能夠快速有效的進(jìn)行數(shù)據(jù)處理,產(chǎn)生有意義的安全事件,并能夠獲得范圍準(zhǔn)確且覆蓋全面的對(duì)應(yīng)事件組,與現(xiàn)有統(tǒng)計(jì)關(guān)聯(lián)方法相比具有高效、準(zhǔn)確的優(yōu)點(diǎn);A3、對(duì)規(guī)則關(guān)聯(lián)和統(tǒng)計(jì)關(guān)聯(lián)分別產(chǎn)生的安全事件進(jìn)行仲裁,獲得唯一的安全事件;由于規(guī)則關(guān)聯(lián)和統(tǒng)計(jì)關(guān)聯(lián)采用并行機(jī)制,各自依據(jù)不同的方式對(duì)原始報(bào)警事件隊(duì)列進(jìn)行處理,有可能產(chǎn)生重復(fù)甚至相互沖突的安全事件報(bào)告,通過仲裁可以解決這種情況,獲得唯一的安全事件;仲裁可采用對(duì)雙方產(chǎn)生的安全事件進(jìn)行結(jié)構(gòu)分析和比對(duì)的方法,擯棄掉相較而言含義不清無明顯意義的結(jié)果,由于規(guī)則關(guān)聯(lián)的結(jié)果具有含義明確、可信度較高的特點(diǎn),因此在實(shí)際應(yīng)用中可以以規(guī)則關(guān)聯(lián)的結(jié)果為主要導(dǎo)向,而當(dāng)出現(xiàn)未知攻擊,通過規(guī)則關(guān)聯(lián)未產(chǎn)生安全事件而通過統(tǒng)計(jì)關(guān)聯(lián)獲得了具有一定意義的安全事件時(shí),以統(tǒng)計(jì)關(guān)聯(lián)的結(jié)果為準(zhǔn)。
實(shí)施例二、一種安全事件關(guān)聯(lián)分析方法,流程如圖4所示,包括B1、收集原始報(bào)警事件;B21、對(duì)原始報(bào)警事件進(jìn)行基于規(guī)則的關(guān)聯(lián)分析;B22、對(duì)原始報(bào)警事件進(jìn)行基于統(tǒng)計(jì)的關(guān)聯(lián)分析;
B3、對(duì)規(guī)則關(guān)聯(lián)和統(tǒng)計(jì)關(guān)聯(lián)分別產(chǎn)生的安全事件進(jìn)行仲裁,獲得唯一的安全事件;上述步驟的具體執(zhí)行方法與實(shí)施例一中的相應(yīng)步驟相同,本實(shí)施例與實(shí)施例一的區(qū)別之處在于,在步驟B22對(duì)原始報(bào)警事件進(jìn)行統(tǒng)計(jì)關(guān)聯(lián)并產(chǎn)生安全事件后,還利用對(duì)安全事件的數(shù)據(jù)挖掘獲得規(guī)則關(guān)聯(lián)分析中適用的關(guān)聯(lián)規(guī)則,具體可采用如下方法B231、以支持度大于指定閾值為判斷依據(jù),找出原始報(bào)警事件序列中表明攻擊過程的事件類型序列作為規(guī)則序列;每個(gè)由統(tǒng)計(jì)關(guān)聯(lián)產(chǎn)生的安全事件,都是一個(gè)原始報(bào)警事件的集合。集合中的事件可以按發(fā)生時(shí)間進(jìn)行排序,其類型產(chǎn)生一個(gè)事件類型序列。在這些序列中,有的事件是攻擊過程的一部分,而有的只是誤報(bào)。當(dāng)一種新的攻擊序列出現(xiàn),并在短時(shí)間內(nèi)發(fā)生了多次時(shí),該攻擊所形成的事件類型序列,就會(huì)出現(xiàn)在多個(gè)安全事件中。然而,由于存在誤報(bào)事件,對(duì)應(yīng)攻擊過程的事件類型序列往往只是該序列的一個(gè)子序列。因此需要消除誤報(bào)的影響,找出真正表明攻擊過程的事件類型序列,支持度作為某子序列在整個(gè)事件序列中的出現(xiàn)頻度,是一個(gè)較好的判斷依據(jù),當(dāng)支持度大于一定值時(shí),可以認(rèn)為該子序列可能代表了某種攻擊過程。具體可采用如下處理過程1)按照發(fā)生時(shí)間,對(duì)每個(gè)安全事件所對(duì)應(yīng)的原始報(bào)警事件進(jìn)行排序;2)尋找所有安全事件中出現(xiàn)頻率大于最小支持度的原始事件類型,作為基本類型集,優(yōu)化上一步產(chǎn)生的序列,去除所有非基本類型單元;3)以基本類型集作為一階頻繁集,將其中的項(xiàng)組合而產(chǎn)生二階備選集,按照備選集遍歷事件類型序列而找出二階頻繁集,以此類推,產(chǎn)生三階備選集和頻繁集等等,直到找出全部頻繁集。由于關(guān)聯(lián)分析主要用于檢測(cè)有多個(gè)步驟的復(fù)合攻擊,因此,還可以限定所尋找規(guī)則序列的長(zhǎng)度大于指定值。
B232、對(duì)于每條規(guī)則序列進(jìn)行縱向關(guān)聯(lián),即,針對(duì)其各個(gè)節(jié)點(diǎn)的各個(gè)屬性,分別統(tǒng)計(jì)所有實(shí)例的對(duì)應(yīng)值,將大于最小置信度的值作為該屬性的備選項(xiàng);規(guī)則中的每個(gè)節(jié)點(diǎn)都具有源地址、目的地址、協(xié)議、源端口、目的端口、發(fā)生時(shí)間等屬性。因此,進(jìn)行數(shù)據(jù)挖掘的一個(gè)主要目的就是獲得這些屬性的可能值,假設(shè)在上一步驟中得到長(zhǎng)度為M規(guī)則序列RS,其對(duì)應(yīng)N個(gè)原始報(bào)警事件中的子序列,稱為RS的N個(gè)實(shí)例,分別記為S1,S2…SN??梢圆捎弥眯哦茸鳛橐?guī)則序列各節(jié)點(diǎn)屬性的選擇依據(jù),置信度是某屬性值在所有實(shí)例中的出現(xiàn)頻度。針對(duì)規(guī)則中每個(gè)節(jié)點(diǎn)的每個(gè)屬性,統(tǒng)計(jì)其所有實(shí)例中的對(duì)應(yīng)值,將所有超過最小置信度的值作為該屬性的備選項(xiàng)。例如,特定步驟的攻擊可能主要針對(duì)特定端口或特定的服務(wù)器,那么規(guī)則中該項(xiàng)的端口屬性或地址屬性就應(yīng)該為對(duì)應(yīng)出現(xiàn)頻度最高的值。
B233、對(duì)于每條規(guī)則序列進(jìn)行橫向關(guān)聯(lián),即,統(tǒng)計(jì)所有實(shí)例不同節(jié)點(diǎn)屬性值之間的相似關(guān)系,確定規(guī)則中屬性的依賴關(guān)系;規(guī)則中的各個(gè)節(jié)點(diǎn)不僅在排列順序上相關(guān),其各自屬性值往往也相互關(guān)聯(lián)。例如多步攻擊中,后一步攻擊往往與前一步針對(duì)同一目標(biāo)地址,而蠕蟲傳播往往針對(duì)不同目標(biāo)的同一端口等等。因此需要針對(duì)規(guī)則的所有實(shí)例,統(tǒng)計(jì)其中不同節(jié)點(diǎn)屬性值間的相似關(guān)系,從而明確規(guī)則中屬性的依賴關(guān)系。
這樣確定了各個(gè)規(guī)則項(xiàng)的屬性以及屬性間的依賴關(guān)系,即可生成可用于規(guī)則分析中的關(guān)聯(lián)規(guī)則。當(dāng)然,由數(shù)據(jù)挖掘自動(dòng)獲得的關(guān)聯(lián)規(guī)則也有可能是含義模糊或無意義的,為保證規(guī)則的有效性可以將挖掘出的規(guī)則提交給管理員進(jìn)行確認(rèn)后,再應(yīng)用到規(guī)則關(guān)聯(lián)中。當(dāng)然,為保證安全系統(tǒng)對(duì)突發(fā)未知攻擊的防衛(wèi)能力,也可以采用將挖掘到的規(guī)則即時(shí)應(yīng)用到規(guī)則關(guān)聯(lián)分析中,但限制其生效時(shí)間,或根據(jù)其在設(shè)定使用時(shí)間內(nèi)被有效匹配的頻度來確定其有效周期等策略。
本實(shí)施例將統(tǒng)計(jì)關(guān)聯(lián)對(duì)未知攻擊的偵測(cè)能力進(jìn)一步強(qiáng)化為規(guī)則關(guān)聯(lián)的準(zhǔn)確判斷,使得本發(fā)明安全事件關(guān)聯(lián)分析方法能夠有自學(xué)習(xí)和發(fā)展的能力,以適應(yīng)于快速發(fā)展且多變的攻擊技術(shù),提高了系統(tǒng)的自動(dòng)防衛(wèi)能力和水平。
實(shí)施例三、一種安全事件關(guān)聯(lián)分析系統(tǒng),如圖5所示,包括事件隊(duì)列模塊11、規(guī)則關(guān)聯(lián)模塊12、統(tǒng)計(jì)關(guān)聯(lián)模塊13、結(jié)構(gòu)分析模塊14、事件過濾模塊15;事件隊(duì)列模塊11收集原始報(bào)警事件,將原始報(bào)警事件分別提供給規(guī)則關(guān)聯(lián)模塊12和統(tǒng)計(jì)關(guān)聯(lián)模塊13;事件過濾模塊15按照預(yù)置的過濾規(guī)則對(duì)事件隊(duì)列模塊11收集的原始報(bào)警事件進(jìn)行過濾,并將滿足過濾規(guī)則的原始報(bào)警事件從事件隊(duì)列中刪除;規(guī)則關(guān)聯(lián)模塊12按照預(yù)置的關(guān)聯(lián)規(guī)則對(duì)原始報(bào)警事件進(jìn)行模式匹配,根據(jù)匹配結(jié)果產(chǎn)生安全事件;統(tǒng)計(jì)關(guān)聯(lián)模塊13統(tǒng)計(jì)原始報(bào)警事件基于屬性的分布,根據(jù)統(tǒng)計(jì)結(jié)果產(chǎn)生安全事件;結(jié)構(gòu)分析模塊14從規(guī)則關(guān)聯(lián)模塊12和統(tǒng)計(jì)關(guān)聯(lián)模塊13接收安全事件,進(jìn)行仲裁獲得唯一的安全事件。
本實(shí)施例安全事件關(guān)聯(lián)分析系統(tǒng)可適用實(shí)施例一中所提供的安全事件關(guān)聯(lián)分析方法。
實(shí)施例四、一種安全事件關(guān)聯(lián)分析系統(tǒng),如圖6所示,包括事件隊(duì)列模塊21、規(guī)則關(guān)聯(lián)模塊22、統(tǒng)計(jì)關(guān)聯(lián)模塊23、結(jié)構(gòu)分析模塊24、事件過濾模塊25、規(guī)則挖掘模塊26和引擎控制模塊27;事件隊(duì)列模塊21從引擎控制模塊27獲取原始報(bào)警事件并緩存,將原始報(bào)警事件分別提供給規(guī)則關(guān)聯(lián)模塊22和統(tǒng)計(jì)關(guān)聯(lián)模塊23;事件過濾模塊25按照預(yù)置的過濾規(guī)則對(duì)事件隊(duì)列模塊21收集的原始報(bào)警事件進(jìn)行過濾,并將滿足過濾規(guī)則的原始報(bào)警事件從事件隊(duì)列中刪除;規(guī)則關(guān)聯(lián)模塊22按照預(yù)置的關(guān)聯(lián)規(guī)則對(duì)原始報(bào)警事件進(jìn)行模式匹配,根據(jù)匹配結(jié)果產(chǎn)生安全事件;統(tǒng)計(jì)關(guān)聯(lián)模塊23統(tǒng)計(jì)原始報(bào)警事件基于屬性的分布,根據(jù)統(tǒng)計(jì)結(jié)果產(chǎn)生安全事件;結(jié)構(gòu)分析模塊24從規(guī)則關(guān)聯(lián)模塊22和統(tǒng)計(jì)關(guān)聯(lián)模塊23接收安全事件,進(jìn)行仲裁獲得唯一的安全事件,并上報(bào)給引擎控制模塊27。
規(guī)則挖掘模塊26接收統(tǒng)計(jì)關(guān)聯(lián)模塊23產(chǎn)生的安全事件,從事件隊(duì)列模塊21中獲取所述安全事件對(duì)應(yīng)的原始報(bào)警事件序列并進(jìn)行數(shù)據(jù)挖掘,產(chǎn)生關(guān)聯(lián)規(guī)則,上報(bào)給引擎控制模塊27;引擎控制模塊27執(zhí)行整個(gè)系統(tǒng)與外部的操作接口工作以及對(duì)系統(tǒng)內(nèi)各模塊的控制工作,包括常規(guī)的接收原始報(bào)警事件并緩存入事件隊(duì)列模塊21,將結(jié)構(gòu)分析模塊24產(chǎn)生的唯一安全事件提交給控制臺(tái),以及控制其他各個(gè)模塊的運(yùn)作(控制線未在圖6中畫出)等;在本實(shí)施例中,引擎控制模塊27還將規(guī)則挖掘模塊26生成的關(guān)聯(lián)規(guī)則,直接或提交控制臺(tái)確認(rèn)后動(dòng)態(tài)更新到規(guī)則關(guān)聯(lián)模塊22中。
本實(shí)施例安全事件關(guān)聯(lián)分析系統(tǒng)可適用實(shí)施例二中所提供的安全事件關(guān)聯(lián)分析方法。
以上對(duì)本發(fā)明所提供的安全事件關(guān)聯(lián)分析方法和系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種安全事件關(guān)聯(lián)分析方法,其特征在于,包括收集原始報(bào)警事件;對(duì)原始報(bào)警事件分別進(jìn)行基于規(guī)則的關(guān)聯(lián)分析和基于統(tǒng)計(jì)的關(guān)聯(lián)分析;對(duì)規(guī)則關(guān)聯(lián)和統(tǒng)計(jì)關(guān)聯(lián)分別產(chǎn)生的安全事件進(jìn)行仲裁,獲得唯一的安全事件。
2.根據(jù)權(quán)利要求1所述的安全事件關(guān)聯(lián)分析方法,其特征在于在對(duì)原始報(bào)警事件進(jìn)行關(guān)聯(lián)分析之前,還按照預(yù)置的過濾規(guī)則對(duì)原始報(bào)警事件進(jìn)行過濾。
3.根據(jù)權(quán)利要求2所述的安全事件關(guān)聯(lián)分析方法,其特征在于緩存收集到的原始報(bào)警事件,按照預(yù)置的過濾規(guī)則直接從緩存隊(duì)列中將滿足過濾規(guī)則的原始報(bào)警事件刪除,然后再對(duì)緩存中的原始報(bào)警事件進(jìn)行關(guān)聯(lián)分析。
4.根據(jù)權(quán)利要求1所述的安全事件關(guān)聯(lián)分析方法,其特征在于,所述基于統(tǒng)計(jì)的關(guān)聯(lián)分析包括統(tǒng)計(jì)原始報(bào)警事件在指定屬性上的分布;當(dāng)某個(gè)或某幾個(gè)屬性層面上原始報(bào)警事件的累計(jì)威脅度超過閾值時(shí),產(chǎn)生安全事件。
5.根據(jù)權(quán)利要求4所述的安全事件關(guān)聯(lián)分析方法,其特征在于所述指定屬性包括源地址、目的地址、協(xié)議和端口三個(gè)屬性。
6.根據(jù)權(quán)利要求1~5任意一項(xiàng)所述的安全事件關(guān)聯(lián)分析方法,其特征在于在基于統(tǒng)計(jì)的關(guān)聯(lián)分析產(chǎn)生安全事件后,還對(duì)所述安全事件對(duì)應(yīng)的原始報(bào)警事件序列進(jìn)行數(shù)據(jù)挖掘,產(chǎn)生基于規(guī)則的關(guān)聯(lián)分析適用的關(guān)聯(lián)規(guī)則。
7.根據(jù)權(quán)利要求6所述的安全事件關(guān)聯(lián)分析方法,其特征在于,所述數(shù)據(jù)挖掘包括以支持度大于指定閾值為判斷依據(jù),找出原始報(bào)警事件序列中表明攻擊過程的事件類型序列作為規(guī)則序列;對(duì)于每條規(guī)則序列,針對(duì)其各個(gè)節(jié)點(diǎn)的各個(gè)屬性,分別統(tǒng)計(jì)所有實(shí)例的對(duì)應(yīng)值,將大于最小置信度的值作為該屬性的備選項(xiàng);對(duì)于每條規(guī)則序列,統(tǒng)計(jì)所有實(shí)例不同節(jié)點(diǎn)屬性值之間的相似關(guān)系,確定規(guī)則中屬性的依賴關(guān)系。
8.一種安全事件關(guān)聯(lián)分析系統(tǒng),其特征在于包括事件隊(duì)列模塊、規(guī)則關(guān)聯(lián)模塊、統(tǒng)計(jì)關(guān)聯(lián)模塊、結(jié)構(gòu)分析模塊;所述事件隊(duì)列模塊收集和緩存原始報(bào)警事件,分別提供給所述規(guī)則關(guān)聯(lián)模塊和統(tǒng)計(jì)關(guān)聯(lián)模塊;所述規(guī)則關(guān)聯(lián)模塊按照預(yù)置的關(guān)聯(lián)規(guī)則對(duì)原始報(bào)警事件進(jìn)行模式匹配,根據(jù)匹配結(jié)果產(chǎn)生安全事件;所述統(tǒng)計(jì)關(guān)聯(lián)模塊統(tǒng)計(jì)原始報(bào)警事件基于屬性的分布,根據(jù)統(tǒng)計(jì)結(jié)果產(chǎn)生安全事件;所述結(jié)構(gòu)分析模塊從所述規(guī)則關(guān)聯(lián)模塊和統(tǒng)計(jì)關(guān)聯(lián)模塊接收安全事件,進(jìn)行仲裁獲得唯一的安全事件。
9.根據(jù)權(quán)利要求8所述的安全事件關(guān)聯(lián)分析系統(tǒng),其特征在于還包括事件過濾模塊,所述事件過濾模塊按照預(yù)置的過濾規(guī)則對(duì)所述事件隊(duì)列模塊收集的原始報(bào)警事件進(jìn)行過濾,將滿足過濾規(guī)則的原始報(bào)警事件從隊(duì)列中刪除。
10.根據(jù)權(quán)利要求8或9所述的安全事件關(guān)聯(lián)分析系統(tǒng),其特征在于還包括規(guī)則挖掘模塊和引擎控制模塊;所述規(guī)則挖掘模塊接收所述統(tǒng)計(jì)關(guān)聯(lián)模塊產(chǎn)生的安全事件,對(duì)所述安全事件對(duì)應(yīng)的原始報(bào)警事件序列進(jìn)行數(shù)據(jù)挖掘,產(chǎn)生關(guān)聯(lián)規(guī)則,上報(bào)給所述引擎控制模塊;所述引擎控制模塊將所述規(guī)則挖掘模塊生成的關(guān)聯(lián)規(guī)則,直接或提交控制臺(tái)確認(rèn)后動(dòng)態(tài)更新到所述規(guī)則關(guān)聯(lián)模塊中。
全文摘要
本發(fā)明公開了一種安全事件關(guān)聯(lián)分析方法和系統(tǒng),其核心思想是,采用規(guī)則關(guān)聯(lián)和統(tǒng)計(jì)關(guān)聯(lián)并行機(jī)制,通過仲裁獲得唯一的安全事件,以實(shí)現(xiàn)兩種關(guān)聯(lián)方式的優(yōu)勢(shì)互補(bǔ),彌補(bǔ)各自的缺陷。本發(fā)明進(jìn)一步提出,將對(duì)統(tǒng)計(jì)關(guān)聯(lián)進(jìn)行數(shù)據(jù)挖掘獲得的規(guī)則應(yīng)用于規(guī)則關(guān)聯(lián),從更深層次上進(jìn)行兩種關(guān)聯(lián)方式的融合,既避免了統(tǒng)計(jì)關(guān)聯(lián)的模糊性又賦予了規(guī)則關(guān)聯(lián)對(duì)未知攻擊的檢測(cè)能力,提高整個(gè)檢測(cè)體系的自學(xué)習(xí)能力。本發(fā)明還提供了優(yōu)選的統(tǒng)計(jì)關(guān)聯(lián)方法和數(shù)據(jù)挖掘方法,來提高相應(yīng)處理過程的效率和準(zhǔn)確度。
文檔編號(hào)H04L12/26GK1878093SQ200610103520
公開日2006年12月13日 申請(qǐng)日期2006年7月19日 優(yōu)先權(quán)日2006年7月19日
發(fā)明者連一峰, 鮑旭華, 汪波, 徐君, 李聞, 馮萍慧, 吳強(qiáng), 胡安平 申請(qǐng)人:華為技術(shù)有限公司