本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,尤其涉及一種攻擊流量的自動(dòng)識(shí)別及驗(yàn)證方法及系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)的不斷發(fā)展,被外部攻擊者進(jìn)行惡意攻擊的事件數(shù)量增長(zhǎng)迅速,公司的信息安全關(guān)乎到公司利益價(jià)值?,F(xiàn)有技術(shù)通常是對(duì)惡意流量進(jìn)行提取,然后告警,由運(yùn)營(yíng)人員或開(kāi)發(fā)人員對(duì)告警進(jìn)行響應(yīng)。
目前,一些應(yīng)用安全技術(shù)僅僅采用流量攻擊特征捕獲的方式進(jìn)行識(shí)別,這樣的方式至少會(huì)帶來(lái)如下缺陷:1)海量的告警會(huì)導(dǎo)致漏洞響應(yīng)的效率降低;2)僅僅采用流量攻擊特征捕獲的方式進(jìn)行識(shí)別增加系統(tǒng)數(shù)據(jù)處理量,整個(gè)系統(tǒng)識(shí)別效率降低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明為了克服上述現(xiàn)有技術(shù)存在的缺陷,提供一種攻擊流量的自動(dòng)識(shí)別及驗(yàn)證方法及系統(tǒng),以提高系統(tǒng)處理效率。
根據(jù)本發(fā)明的一個(gè)方面,提供一種攻擊流量的自動(dòng)識(shí)別及驗(yàn)證方法,包括:鏡像步驟:獲取數(shù)據(jù)流,并對(duì)所述數(shù)據(jù)流進(jìn)行鏡像映射,得到鏡像數(shù)據(jù)流;識(shí)別步驟:依次根據(jù)第一特征庫(kù)和第二特征庫(kù)識(shí)別所述鏡像數(shù)據(jù)流是否為攻擊流量,其中,所述第一特征庫(kù)包括多個(gè)第一類特征,所述第一特征庫(kù)為本地特征庫(kù),所述第二特征庫(kù)包括多個(gè)第二類特征,所述第二特征庫(kù)為開(kāi)源特征庫(kù);驗(yàn)證動(dòng)作確定步驟:依據(jù)識(shí)別為所述攻擊流量的所述鏡像數(shù)據(jù)流所匹配的所述第二類特征確定識(shí)別為所述攻擊流量的所述鏡像數(shù)據(jù)流的驗(yàn)證動(dòng)作;驗(yàn)證步驟:依據(jù)所確定的驗(yàn)證動(dòng)作驗(yàn)證識(shí)別為所述攻擊流量的所述鏡像數(shù)據(jù)流是否成功攻擊;以及輸出步驟:輸出所述驗(yàn)證結(jié)果。
可選地,所述第二特征庫(kù)更新所述第二類特征時(shí),若存在新的第二類特征與所述第一類特征相同,則不將該新的第二類特征更新至所述第二類特征庫(kù)。
可選地,根據(jù)所述第二特征庫(kù)識(shí)別所述鏡像數(shù)據(jù)流是否為攻擊流量時(shí),所述第二特征庫(kù)中若存在與所述第一類特征相同的第二類特征,則不再依據(jù)該第二類特征識(shí)別所述鏡像數(shù)據(jù)流是否為攻擊流量。
可選地,所述識(shí)別步驟包括:若所述鏡像數(shù)據(jù)流與所述第一特征庫(kù)中的任一第一類特征都不匹配,則丟棄所述鏡像數(shù)據(jù)流;若所述鏡像數(shù)據(jù)流與所述第一特征庫(kù)中的任一第一類特征匹配,則所述鏡像數(shù)據(jù)流與所述第二特征庫(kù)中的多個(gè)第二類特征匹配。
可選地,所述鏡像數(shù)據(jù)流與所述第二特征庫(kù)中的多個(gè)第二類特征匹配的步驟包括:若所述鏡像數(shù)據(jù)流與所述第二特征庫(kù)中的任一第二類特征都不匹配,則將所述鏡像數(shù)據(jù)流存入一非攻擊特征流量數(shù)據(jù)庫(kù);若所述鏡像數(shù)據(jù)流與所述第二特征庫(kù)中的任一第二類特征匹配,則依據(jù)所匹配的第二類特征識(shí)別所述鏡像數(shù)據(jù)流為所述攻擊流量。
可選地,所述驗(yàn)證動(dòng)作確定步驟包括:依據(jù)識(shí)別為所述攻擊流量的所述鏡像數(shù)據(jù)流所匹配的所述第二類特征在包含第二類特征和驗(yàn)證動(dòng)作集的對(duì)應(yīng)關(guān)系的規(guī)則庫(kù)中確定一驗(yàn)證動(dòng)作集,所述驗(yàn)證動(dòng)作集包括多個(gè)驗(yàn)證動(dòng)作;在所確定的驗(yàn)證動(dòng)作集中確定一驗(yàn)證動(dòng)作。
可選地,在所述依次根據(jù)第一特征庫(kù)識(shí)別所述鏡像數(shù)據(jù)流是否為攻擊流量的步驟之后,所述依次根據(jù)第二特征庫(kù)識(shí)別所述鏡像數(shù)據(jù)流是否為攻擊流量的步驟之前,還包括:對(duì)所述鏡像數(shù)據(jù)流進(jìn)行誤報(bào)過(guò)濾。
可選地,所述對(duì)所述鏡像數(shù)據(jù)流進(jìn)行誤報(bào)過(guò)濾的步驟包括:依據(jù)網(wǎng)站架構(gòu)、響應(yīng)碼、自定義錯(cuò)誤頁(yè)面及對(duì)比測(cè)試中任一項(xiàng)或多項(xiàng)丟棄認(rèn)定為攻擊無(wú)效的所述鏡像數(shù)據(jù)流。
可選地,所述驗(yàn)證步驟還包括:驗(yàn)證環(huán)境判斷步驟:判斷識(shí)別為所述攻擊流量的所述鏡像數(shù)據(jù)流所訪問(wèn)的生產(chǎn)環(huán)境中的生產(chǎn)域名是否有對(duì)應(yīng)的測(cè)試環(huán)境中的測(cè)試域名;若所述生產(chǎn)域名有對(duì)應(yīng)的測(cè)試域名,則執(zhí)行測(cè)試驗(yàn)證步驟:該識(shí)別為所述攻擊流量的所述鏡像數(shù)據(jù)流于測(cè)試環(huán)境中進(jìn)行驗(yàn)證;若所述生產(chǎn)域名沒(méi)有對(duì)應(yīng)的測(cè)試域名,則執(zhí)行生產(chǎn)驗(yàn)證步驟:該識(shí)別為所述攻擊流量的所述鏡像數(shù)據(jù)流于生產(chǎn)環(huán)境中進(jìn)行驗(yàn)證。
可選地,所述驗(yàn)證環(huán)境判斷步驟之后,所述執(zhí)行測(cè)試驗(yàn)證步驟之前和/或所述驗(yàn)證環(huán)境判斷步驟之后,所述生產(chǎn)驗(yàn)證步驟之前還包括:確定該識(shí)別為所述攻擊流量的所述鏡像數(shù)據(jù)流是否需要登陸。
可選地,所述執(zhí)行測(cè)試驗(yàn)證步驟和/或所述生產(chǎn)驗(yàn)證步驟還包括:對(duì)來(lái)自相同域名和/或相同路徑的識(shí)別為所述攻擊流量的所述鏡像數(shù)據(jù)流去重。
可選地,所述第一類特征包括:用戶代理、cookie字段、post請(qǐng)求模式中的一項(xiàng)或多項(xiàng)。
可選地,所述第二特征庫(kù)中的第二類特征實(shí)時(shí)更新,且由一開(kāi)源、分布式計(jì)算機(jī)系統(tǒng)維護(hù)。
可選地,所述驗(yàn)證動(dòng)作包括工具檢測(cè)和/或重放檢測(cè)。
可選地,所述輸出步驟包括:輸出驗(yàn)證為攻擊成功的所述鏡像數(shù)據(jù)流;輸出驗(yàn)證為攻擊失敗的所述鏡像數(shù)據(jù)流;和/或輸出至少部分驗(yàn)證為攻擊成功的所述鏡像數(shù)據(jù)流的驗(yàn)證過(guò)程。
可選地,所述驗(yàn)證步驟之后還包括:將驗(yàn)證為攻擊失敗的所述鏡像數(shù)據(jù)流存入非攻擊特征流量數(shù)據(jù)庫(kù)。
可選地,所述數(shù)據(jù)流為應(yīng)用層數(shù)據(jù)流。
根據(jù)本發(fā)明的又一方面,還提供一種攻擊流量的自動(dòng)識(shí)別及驗(yàn)證系統(tǒng),包括:鏡像模塊,用于獲取數(shù)據(jù)流,并對(duì)所述數(shù)據(jù)流進(jìn)行鏡像映射,得到鏡像數(shù)據(jù)流;識(shí)別模塊,用于依次根據(jù)第一特征庫(kù)和第二特征庫(kù)識(shí)別所述鏡像數(shù)據(jù)流是否為攻擊流量,其中,所述第一特征庫(kù)包括多個(gè)第一類特征,所述第一特征庫(kù)為本地特征庫(kù),所述第二特征庫(kù)包括多個(gè)第二類特征,所述第二特征庫(kù)為開(kāi)源特征庫(kù);驗(yàn)證動(dòng)作確定模塊,用于依據(jù)識(shí)別為所述攻擊流量的所述鏡像數(shù)據(jù)流所匹配的所述第二類特征確定識(shí)別為所述攻擊流量的所述鏡像數(shù)據(jù)流的驗(yàn)證動(dòng)作;驗(yàn)證模塊,用于依據(jù)所確定的驗(yàn)證動(dòng)作驗(yàn)證識(shí)別為所述攻擊流量的所述鏡像數(shù)據(jù)流是否成功攻擊;以及輸出模塊,用于輸出所述驗(yàn)證結(jié)果。
可選地,自動(dòng)識(shí)別及驗(yàn)證系統(tǒng)還包括:第一緩沖模塊,第一緩沖模塊,用于將經(jīng)所述鏡像模塊鏡像處理的鏡像數(shù)據(jù)流以消息隊(duì)列的模式發(fā)送至所述識(shí)別模塊。
可選地,自動(dòng)識(shí)別及驗(yàn)證系統(tǒng)還包括:第二緩沖模塊,用于將經(jīng)所述識(shí)別模塊識(shí)別為攻擊流量的鏡像數(shù)據(jù)流以消息隊(duì)列的模式發(fā)送至所述驗(yàn)證模塊。
可選地,所述第一緩沖模塊及所述第二緩沖模塊為高吞吐量分布式的發(fā)布訂閱消息系統(tǒng)或企業(yè)消息系統(tǒng)。
相比現(xiàn)有技術(shù),本發(fā)明的優(yōu)勢(shì)在于:
1)通過(guò)第一特征庫(kù)和第二特征庫(kù)依次識(shí)別鏡像數(shù)據(jù)流是否為攻擊流量,減少攻擊流量的告警,同時(shí)由于第一特征庫(kù)為本地特征庫(kù)而第二特征庫(kù)為開(kāi)源特征庫(kù),第一特征庫(kù)先于第二特征庫(kù)進(jìn)行鏡像數(shù)據(jù)流的識(shí)別,減少與開(kāi)源的第二特征庫(kù)通過(guò)網(wǎng)絡(luò)交互的鏡像數(shù)據(jù)流,增加系統(tǒng)對(duì)于攻擊流量的識(shí)別效率,減少系統(tǒng)性能壓力;
2)通過(guò)第二特征庫(kù)與第一特征庫(kù)中的特征去重,進(jìn)一步減少在第二特征庫(kù)的不必要的重復(fù)的匹配操作,進(jìn)而減少與開(kāi)源的第二特征庫(kù)的網(wǎng)絡(luò)交互,減少系統(tǒng)性能壓力;
3)第二特征庫(kù)中的第二類特征由一開(kāi)源、分布式計(jì)算機(jī)系統(tǒng)維護(hù),可進(jìn)行實(shí)時(shí)處理,提升攻擊流量特征庫(kù)更新的實(shí)時(shí)性;
4)采用測(cè)試環(huán)境進(jìn)行測(cè)試,確保在不影響生產(chǎn)業(yè)務(wù)的同時(shí),最大限度實(shí)現(xiàn)攻擊流量的驗(yàn)證;
5)在測(cè)試環(huán)境和/或生產(chǎn)環(huán)境中進(jìn)行登錄,維護(hù)鏡像數(shù)據(jù)流的會(huì)話生命周期;
6)在攻擊流量的識(shí)別過(guò)程中進(jìn)行誤報(bào)過(guò)濾,減少告警的同時(shí)進(jìn)一步減少系統(tǒng)性能壓力;
7)利用非攻擊特征流量數(shù)據(jù)庫(kù)儲(chǔ)存具有非攻擊特征的鏡像數(shù)據(jù)流,便于后續(xù)回溯操作;以及
8)在輸出時(shí)顯示不同的信息,以便提供更多識(shí)別驗(yàn)證信息供人工或后續(xù)進(jìn)一步處理,進(jìn)一步減少誤報(bào)率。
附圖說(shuō)明
通過(guò)參照附圖詳細(xì)描述其示例實(shí)施方式,本發(fā)明的上述和其它特征及優(yōu)點(diǎn)將變得更加明顯。
圖1示出了根據(jù)本發(fā)明實(shí)施例的攻擊流量的自動(dòng)識(shí)別及驗(yàn)證系統(tǒng)的結(jié)構(gòu)示意圖。
圖2示出了根據(jù)本發(fā)明實(shí)施例的攻擊流量的自動(dòng)識(shí)別及驗(yàn)證系統(tǒng)的拓?fù)鋱D。
圖3示出了根據(jù)本發(fā)明一具體實(shí)施例的攻擊流量的自動(dòng)識(shí)別及驗(yàn)證系統(tǒng)的示意圖。
圖4示出了根據(jù)本發(fā)明實(shí)施例的攻擊流量的自動(dòng)識(shí)別及驗(yàn)證方法的流程圖。
圖5示出了根據(jù)本發(fā)明實(shí)施例的攻擊流量的識(shí)別步驟的流程圖。
圖6示出了根據(jù)本發(fā)明實(shí)施例的攻擊流量的驗(yàn)證動(dòng)作確定步驟的流程圖。
圖7示出了根據(jù)本發(fā)明實(shí)施例的攻擊流量的驗(yàn)證步驟的流程圖。
具體實(shí)施方式
現(xiàn)在將參考附圖更全面地描述示例實(shí)施方式。然而,示例實(shí)施方式能夠以多種形式實(shí)施,且不應(yīng)被理解為限于在此闡述的實(shí)施方式;相反,提供這些實(shí)施方式使得本發(fā)明將全面和完整,并將示例實(shí)施方式的構(gòu)思全面地傳達(dá)給本領(lǐng)域的技術(shù)人員。在圖中相同的附圖標(biāo)記表示相同或類似的結(jié)構(gòu),因而將省略對(duì)它們的重復(fù)描述。
所描述的特征、結(jié)構(gòu)或特性可以以任何合適的方式結(jié)合在一個(gè)或更多實(shí)施方式中。在下面的描述中,提供許多具體細(xì)節(jié)從而給出對(duì)本發(fā)明的實(shí)施方式的充分理解。然而,本領(lǐng)域技術(shù)人員應(yīng)意識(shí)到,沒(méi)有所述特定細(xì)節(jié)中的一個(gè)或更多,或者采用其它的方法、組元、材料等,也可以實(shí)踐本發(fā)明的技術(shù)方案。在其它情況下,不詳細(xì)示出或描述公知結(jié)構(gòu)、材料或者操作以避免模糊本發(fā)明。
附圖中所示的方框圖僅僅是功能實(shí)體,不一定必須與物理上獨(dú)立的實(shí)體相對(duì)應(yīng)。即,可以采用軟件形式來(lái)實(shí)現(xiàn)這些功能實(shí)體,或在一個(gè)或多個(gè)集成電路中實(shí)現(xiàn)這些功能實(shí)體,或在不同網(wǎng)絡(luò)和/或處理器裝置和/或微控制器裝置中實(shí)現(xiàn)這些功能實(shí)體。
本發(fā)明中所述的“第一”、“第二”等序數(shù)詞僅為命名區(qū)分,并非用于限定不同的設(shè)備或不同的結(jié)構(gòu)。
為了解決現(xiàn)有技術(shù)的缺陷,提高系統(tǒng)處理效率,本發(fā)明提供一種攻擊流量的自動(dòng)識(shí)別及驗(yàn)證方法及系統(tǒng)。
本發(fā)明提供的攻擊流量的自動(dòng)識(shí)別及驗(yàn)證方法,包括:鏡像步驟:獲取數(shù)據(jù)流,并對(duì)所述數(shù)據(jù)流進(jìn)行鏡像映射,得到鏡像數(shù)據(jù)流;識(shí)別步驟:依次根據(jù)第一特征庫(kù)和第二特征庫(kù)識(shí)別所述鏡像數(shù)據(jù)流是否為攻擊流量,其中,所述第一特征庫(kù)中的第一類特征的更新頻率小于所述第二特征庫(kù)中的第二類特征的更新頻率,所述第一特征庫(kù)與所述第二特征庫(kù)不具有相同的特征;驗(yàn)證動(dòng)作確定步驟:依據(jù)識(shí)別為所述攻擊流量的所述鏡像數(shù)據(jù)流所匹配的所述第二類特征確定識(shí)別為所述攻擊流量的所述鏡像數(shù)據(jù)流的驗(yàn)證動(dòng)作;驗(yàn)證步驟:依據(jù)所確定的驗(yàn)證動(dòng)作驗(yàn)證識(shí)別為所述攻擊流量的所述鏡像數(shù)據(jù)流是否成功攻擊;以及輸出步驟:輸出所述驗(yàn)證結(jié)果。
下面結(jié)合附圖說(shuō)明本發(fā)明提供的攻擊流量的自動(dòng)識(shí)別及驗(yàn)證方法及系統(tǒng)。
首先參見(jiàn)圖1和圖2,圖1示出了根據(jù)本發(fā)明實(shí)施例的攻擊流量的自動(dòng)識(shí)別及驗(yàn)證系統(tǒng)的結(jié)構(gòu)示意圖;圖2示出了根據(jù)本發(fā)明實(shí)施例的攻擊流量的自動(dòng)識(shí)別及驗(yàn)證系統(tǒng)的拓?fù)鋱D。
如圖1和圖2所示,多個(gè)電子設(shè)備110通過(guò)網(wǎng)絡(luò)訪問(wèn)一些生產(chǎn)系統(tǒng)160的服務(wù)器。該些電子設(shè)備110的訪問(wèn)請(qǐng)求及其他請(qǐng)求形成數(shù)據(jù)流,攻擊流量的自動(dòng)識(shí)別及驗(yàn)證系統(tǒng)120用于對(duì)該些數(shù)據(jù)流是否為攻擊流量進(jìn)行自動(dòng)識(shí)別和驗(yàn)證。該些電子設(shè)備110可以是計(jì)算機(jī)、手機(jī)、平板電腦等具有聯(lián)網(wǎng)功能的電子設(shè)備。
如圖2所示,通過(guò)互聯(lián)網(wǎng)發(fā)送來(lái)的數(shù)據(jù)流部分經(jīng)由一負(fù)載均衡設(shè)備150進(jìn)行生產(chǎn)系統(tǒng)160進(jìn)行處理。自動(dòng)識(shí)別及驗(yàn)證系統(tǒng)120對(duì)該些數(shù)據(jù)流進(jìn)行鏡像,且該些鏡像數(shù)據(jù)流的部分或全部可在生產(chǎn)系統(tǒng)160所在的生產(chǎn)環(huán)境中進(jìn)行驗(yàn)證。可選地,自動(dòng)識(shí)別及驗(yàn)證系統(tǒng)120、負(fù)載均衡設(shè)備150及生產(chǎn)系統(tǒng)160位于同一局域網(wǎng)中,并通過(guò)有線或無(wú)線的方式相互通訊。可選地,負(fù)載均衡設(shè)備150前端還可以設(shè)置交換機(jī),負(fù)載均衡設(shè)備150用于對(duì)經(jīng)由交換機(jī)最終訪問(wèn)生產(chǎn)系統(tǒng)160的數(shù)據(jù)流進(jìn)行負(fù)載平衡。
繼續(xù)參見(jiàn)圖1,攻擊流量的自動(dòng)識(shí)別及驗(yàn)證系統(tǒng)120包括鏡像模塊121、識(shí)別模塊122、驗(yàn)證動(dòng)作確定模塊123、驗(yàn)證模塊124及輸出模塊125。
鏡像模塊121用于獲取數(shù)據(jù)流,并對(duì)數(shù)據(jù)流進(jìn)行鏡像映射,得到鏡像數(shù)據(jù)流。識(shí)別模塊122用于依次根據(jù)第一特征庫(kù)和第二特征庫(kù)識(shí)別鏡像數(shù)據(jù)流是否為攻擊流量。
具體而言,第一特征庫(kù)170包括多個(gè)第一類特征。第一類特征可以包括用戶代理、cookie字段、post請(qǐng)求模式中的一項(xiàng)或多項(xiàng)。第二特征庫(kù)180包括多個(gè)第二類特征。第二特征庫(kù)180中的第二類特征可實(shí)時(shí)更新并由一開(kāi)源、分布式計(jì)算機(jī)系統(tǒng)維護(hù)。第二特征庫(kù)180例如可以是病毒軟件中的病毒庫(kù)。在發(fā)明的各個(gè)實(shí)施例中,第一特征庫(kù)170為一本地特征庫(kù),第二特征庫(kù)180為一開(kāi)源特征庫(kù),該開(kāi)源特征庫(kù)180位于云端,通過(guò)網(wǎng)絡(luò)與攻擊流量的自動(dòng)識(shí)別及驗(yàn)證系統(tǒng)120實(shí)時(shí)通信??梢岳斫?,在一些實(shí)施例中,第一特征庫(kù)170中的第一類特征可以不進(jìn)行更新。在一些變化例中,第一特征庫(kù)170中的第一類特征可以按照幾周、幾個(gè)月為周期進(jìn)行更新替換。對(duì)于第二特征庫(kù)180,可以理解,第二特征庫(kù)180中的第二類特征由一例如流式處理的開(kāi)源、分布式計(jì)算機(jī)系統(tǒng)進(jìn)行維護(hù),可以實(shí)現(xiàn)實(shí)時(shí)更新。此外,第二特征庫(kù)180中的第二類特征還可以結(jié)合大數(shù)據(jù)處理,進(jìn)一步提高第二特征庫(kù)180中的第二類特征的實(shí)時(shí)性。由此可見(jiàn),第一特征庫(kù)170由于位于本地,便于系統(tǒng)進(jìn)行匹配,而第二特征庫(kù)180位于云端且實(shí)時(shí)更新,若未經(jīng)由第一特征庫(kù)170進(jìn)行初步的匹配動(dòng)作,則將有大量的鏡像數(shù)據(jù)流需要通過(guò)網(wǎng)絡(luò)以與第二特征庫(kù)180中的第二類特征進(jìn)行匹配。第一特征庫(kù)170的本地設(shè)置可以減少對(duì)于第二特征庫(kù)180的匹配處理的性能壓力,增加整體匹配識(shí)別速度。
進(jìn)一步地,本發(fā)明的各實(shí)施例還可以實(shí)現(xiàn)實(shí)時(shí)更新的第二特征庫(kù)180中的第二類特征與第一特征庫(kù)170中的第一類特征的去重操作。具體而言,第二特征庫(kù)180更新第二類特征時(shí),若存在新的第二類特征與第一類特征相同,則不將該新的第二類特征更新至第二類特征庫(kù)180。以此,在實(shí)時(shí)更新的過(guò)程中,維護(hù)第二特征庫(kù)180中始終不會(huì)包括與第一特征庫(kù)170重復(fù)的特征,以此,減少與第二特征庫(kù)180匹配的重復(fù)操作,進(jìn)一步增加識(shí)別速度。
在一些變化例匯總,還可以在鏡像數(shù)據(jù)流與第二特征庫(kù)180匹配過(guò)程中,預(yù)先判斷第二特征庫(kù)180中是否存在與第一類特征相同的第二類特征,若存在,則不再依據(jù)該第二類特征識(shí)別鏡像數(shù)據(jù)流是否為攻擊流量。以此,在實(shí)時(shí)匹配的過(guò)程中,使得與第二特征庫(kù)180的匹配操作中始終不會(huì)產(chǎn)生與第一特征庫(kù)170重復(fù)的匹配操作,進(jìn)一步增加識(shí)別速度。
驗(yàn)證動(dòng)作確定模塊123用于依據(jù)識(shí)別為攻擊流量的鏡像數(shù)據(jù)流所匹配的第二類特征確定識(shí)別為攻擊流量的鏡像數(shù)據(jù)流的驗(yàn)證動(dòng)作。驗(yàn)證模塊140用于依據(jù)所確定的驗(yàn)證動(dòng)作驗(yàn)證識(shí)別為攻擊流量的鏡像數(shù)據(jù)流是否成功攻擊??蛇x地,驗(yàn)證模塊140還可以確定識(shí)別為攻擊流量的鏡像數(shù)據(jù)流在生產(chǎn)環(huán)境130中還是測(cè)試環(huán)境140中進(jìn)行驗(yàn)證。驗(yàn)證模塊140驗(yàn)證后,由輸出模塊125輸出驗(yàn)證結(jié)果。例如,輸出模塊125可以輸出驗(yàn)證為攻擊成功的鏡像數(shù)據(jù)流。在一些實(shí)施例中,輸出模塊125還可以輸出驗(yàn)證為攻擊失敗的鏡像數(shù)據(jù)流。在又一些實(shí)施例中,輸出模塊125還可以輸出至少部分驗(yàn)證為攻擊成功的所述鏡像數(shù)據(jù)流的驗(yàn)證過(guò)程,以便后續(xù)工作人員進(jìn)行誤報(bào)判斷。
繼續(xù)參見(jiàn)圖3,圖3示出了根據(jù)本發(fā)明一具體實(shí)施例的攻擊流量的自動(dòng)識(shí)別及驗(yàn)證系統(tǒng)的示意圖。圖3所示的攻擊流量的自動(dòng)識(shí)別及驗(yàn)證系統(tǒng)120與圖1所示類似,與圖1不同的是,圖3所示的攻擊流量的自動(dòng)識(shí)別及驗(yàn)證系統(tǒng)120還包括一第二緩沖模塊126及第二緩沖模塊127。
第一緩沖模塊126用于將經(jīng)由鏡像模塊121鏡像處理的鏡像數(shù)據(jù)流以消息隊(duì)列的模式發(fā)送至識(shí)別模塊122。第一緩沖模塊126避免流量吞吐過(guò)大造成的延遲,以隊(duì)列消息模式保證每一筆數(shù)據(jù)均經(jīng)過(guò)識(shí)別。在本實(shí)施例中,第一緩沖模塊126可以是高吞吐量分布式的發(fā)布訂閱消息系統(tǒng)。
第二緩沖模塊127用于將經(jīng)識(shí)別模塊122識(shí)別為攻擊流量的鏡像數(shù)據(jù)流以消息隊(duì)列的模式發(fā)送至驗(yàn)證模塊124。第二緩沖模塊127可同樣實(shí)現(xiàn)鏡像數(shù)據(jù)流傳輸時(shí)的緩沖作用。在一些實(shí)施例中,識(shí)別為攻擊流量的鏡像數(shù)據(jù)流直接由識(shí)別模塊122經(jīng)由第二緩沖模塊127發(fā)送至驗(yàn)證模塊124。在一些變化例中,識(shí)別為攻擊流量的鏡像數(shù)據(jù)流經(jīng)由識(shí)別模塊122發(fā)送至驗(yàn)證動(dòng)作確定模塊123,再由驗(yàn)證動(dòng)作確定模塊123將識(shí)別為攻擊流量的鏡像數(shù)據(jù)流和對(duì)應(yīng)的驗(yàn)證動(dòng)作經(jīng)由第二緩沖模塊127發(fā)送至驗(yàn)證模塊124。在又一些變化例中,識(shí)別為攻擊流量的鏡像數(shù)據(jù)流直接由識(shí)別模塊122發(fā)送至第二緩沖模塊127,識(shí)別為攻擊流量的鏡像數(shù)據(jù)流對(duì)應(yīng)的驗(yàn)證動(dòng)作由驗(yàn)證動(dòng)作確定模塊123發(fā)送至第二緩沖模塊127,第二緩沖模塊127以消息隊(duì)列的模式儲(chǔ)存有識(shí)別為攻擊流量的鏡像數(shù)據(jù)流和對(duì)應(yīng)的驗(yàn)證動(dòng)作,并將識(shí)別為攻擊流量的鏡像數(shù)據(jù)流和對(duì)應(yīng)的驗(yàn)證動(dòng)作發(fā)送至驗(yàn)證模塊124。在本實(shí)施例中,第二緩沖模塊127可以是企業(yè)消息系統(tǒng)。
在一些變化例中,可以僅設(shè)置第一緩沖模塊126或第二緩沖模塊127。在又一些變化例中,第一緩沖模塊126可以是企業(yè)消息系統(tǒng),第二緩沖模塊127可以是高吞吐量分布式的發(fā)布訂閱消息系統(tǒng)。在另一些變化例中,第一緩沖模塊126和第二緩沖模塊127可以是相同的緩沖設(shè)備。在另一些變化例中,第一緩沖模塊126和第二緩沖模塊127可以其他的具有緩沖作用的服務(wù)器集群,在此不予贅述。
下面結(jié)合圖4至圖7描述本發(fā)明實(shí)施例的攻擊流量的自動(dòng)識(shí)別及驗(yàn)證方法。圖4示出了根據(jù)本發(fā)明實(shí)施例的攻擊流量的自動(dòng)識(shí)別及驗(yàn)證方法的流程圖。圖5示出了根據(jù)本發(fā)明實(shí)施例的攻擊流量的識(shí)別步驟的流程圖。圖6示出了根據(jù)本發(fā)明實(shí)施例的攻擊流量的驗(yàn)證動(dòng)作確定步驟的流程圖。圖7示出了根據(jù)本發(fā)明實(shí)施例的攻擊流量的驗(yàn)證步驟的流程圖。
如圖4所示,攻擊流量的自動(dòng)識(shí)別及驗(yàn)證方法包括5個(gè)步驟。
首先是鏡像步驟s401,獲取數(shù)據(jù)流,并對(duì)數(shù)據(jù)流進(jìn)行鏡像映射,得到鏡像數(shù)據(jù)流。
之后是識(shí)別步驟s402,依次根據(jù)第一特征庫(kù)和第二特征庫(kù)識(shí)別所述鏡像數(shù)據(jù)流是否為攻擊流量。
具體而言,第一特征庫(kù)包括多個(gè)第一類特征。第一類特征可以包括用戶代理、cookie字段、post請(qǐng)求模式中的一項(xiàng)或多項(xiàng)。第二特征庫(kù)包括多個(gè)第二類特征。第二特征庫(kù)中的第二類特征可實(shí)時(shí)更新并由一開(kāi)源、分布式計(jì)算機(jī)系統(tǒng)維護(hù)。在發(fā)明的各個(gè)實(shí)施例中,第一特征庫(kù)中的第一類特征更新頻率遠(yuǎn)小于第二特征庫(kù)中的第二類特征更新頻率。對(duì)于第一特征庫(kù),可以理解,在一些實(shí)施例中,第一特征庫(kù)中的第一類特征可以不進(jìn)行更新。在一些變化例中,第一特征庫(kù)中的第一類特征可以按照幾周、幾個(gè)月為周期進(jìn)行更新替換。對(duì)于第二特征庫(kù),可以理解,第二特征庫(kù)中的第二類特征由一例如流式處理的開(kāi)源、分布式計(jì)算機(jī)系統(tǒng)進(jìn)行維護(hù),可以實(shí)現(xiàn)實(shí)時(shí)更新。此外,第二特征庫(kù)中的第二類特征還可以結(jié)合大數(shù)據(jù)處理,進(jìn)一步提高第二特征庫(kù)中的第二類特征的實(shí)時(shí)性。由此可見(jiàn),第一特征庫(kù)的無(wú)需實(shí)時(shí)更新,更便于系統(tǒng)進(jìn)行匹配,進(jìn)而減少對(duì)于第二特征庫(kù)的匹配處理的性能壓力,增加整體匹配識(shí)別速度。
進(jìn)一步地,識(shí)別步驟s402的具體執(zhí)行可見(jiàn)參見(jiàn)圖5。識(shí)別步驟s402包括如下步驟:
步驟s421,判斷所述鏡像數(shù)據(jù)流與所述第一特征庫(kù)中的第一類特征是否匹配。
若鏡像數(shù)據(jù)流與第一特征庫(kù)中的任一第一類特征都不匹配,則執(zhí)行步驟s422丟棄鏡像數(shù)據(jù)流。
若鏡像數(shù)據(jù)流與第一特征庫(kù)中的任一第一類特征匹配,則執(zhí)行步驟s423,鏡像數(shù)據(jù)流與第二特征庫(kù)中的多個(gè)第二類特征匹配。例如,在一些實(shí)施例中,可以根據(jù)流式處理上的策略實(shí)時(shí)捕獲到具備第二類特征的鏡像數(shù)據(jù)流中的請(qǐng)求。
若鏡像數(shù)據(jù)流與第二特征庫(kù)中的任一第二類特征都不匹配,則執(zhí)行步驟s424,將鏡像數(shù)據(jù)流存入一非攻擊特征流量數(shù)據(jù)庫(kù)。
若鏡像數(shù)據(jù)流與第二特征庫(kù)中的任一第二類特征匹配,則繼續(xù)執(zhí)行步驟s403。
在一些變化例中在上述步驟s421判斷鏡像數(shù)據(jù)流與第一特征庫(kù)中的任一第一類特征匹配之后,在步驟s423之前,還包括誤報(bào)過(guò)濾的步驟。誤報(bào)過(guò)濾的步驟可以包括依據(jù)網(wǎng)站架構(gòu)、響應(yīng)碼、自定義錯(cuò)誤頁(yè)面及對(duì)比測(cè)試中任一項(xiàng)或多項(xiàng)丟棄認(rèn)定為攻擊無(wú)效的鏡像數(shù)據(jù)流。例如,某些網(wǎng)站架構(gòu)為apache(web服務(wù)器),但其攻擊流量是針對(duì)iis(internetinformationservices,互聯(lián)網(wǎng)信息服務(wù))的攻擊,這種情況下會(huì)直接丟棄。再例如,有些頁(yè)面會(huì)有容錯(cuò)處理,容錯(cuò)頁(yè)面會(huì)有特殊字段,如果發(fā)現(xiàn)了這樣餓字段,則認(rèn)為該攻擊無(wú)效,也可以直接丟棄。誤報(bào)過(guò)濾通過(guò)非特征的方式進(jìn)行篩選,無(wú)需充放鏡像數(shù)據(jù)流中的數(shù)據(jù)包,進(jìn)一步減少系統(tǒng)識(shí)別的性能壓力和系統(tǒng)誤報(bào)率。
識(shí)別步驟s402之后,執(zhí)行驗(yàn)證動(dòng)作確定步驟s403,依據(jù)識(shí)別為攻擊流量的鏡像數(shù)據(jù)流所匹配的第二類特征確定識(shí)別為攻擊流量的所述鏡像數(shù)據(jù)流的驗(yàn)證動(dòng)作。
進(jìn)一步地,驗(yàn)證動(dòng)作確定步驟s403的具體執(zhí)行可見(jiàn)參見(jiàn)圖6。驗(yàn)證動(dòng)作確定步驟s403包括如下步驟:
步驟s431,依據(jù)識(shí)別為攻擊流量的鏡像數(shù)據(jù)流所匹配的第二類特征在包含第二類特征和驗(yàn)證動(dòng)作集的對(duì)應(yīng)關(guān)系(當(dāng)請(qǐng)求數(shù)據(jù)包符合正則表達(dá)式之一,如:union\s{0,}(\sall\s|\sdistinct\s|\(|\s{1,})\s{0,}select則判斷為可能是sql注入攻擊,那么可以根據(jù)重放方式觀察響應(yīng)結(jié)果,也可以直接扔給sql注入工具,如sqlmap)的規(guī)則庫(kù)中確定一驗(yàn)證動(dòng)作集。驗(yàn)證動(dòng)作集包括多個(gè)驗(yàn)證動(dòng)作。
步驟s432,在所確定的驗(yàn)證動(dòng)作集中確定一驗(yàn)證動(dòng)作。具體而言,驗(yàn)證動(dòng)作可以包括工具檢測(cè)(如sqlmap,bugscan,pocscan等)和/或重放檢測(cè)。驗(yàn)證動(dòng)作集中驗(yàn)證動(dòng)作的確定可依據(jù)系統(tǒng)當(dāng)前處理速度和處理量來(lái)判斷,也可通過(guò)系統(tǒng)具有的不同工具在進(jìn)行確定。在一些變化例中,也可由人工置頂一項(xiàng)或多項(xiàng)驗(yàn)證動(dòng)作,實(shí)現(xiàn)多種復(fù)測(cè)方式。
驗(yàn)證動(dòng)作確定步驟s403之后,執(zhí)行驗(yàn)證步驟s404,依據(jù)所確定的驗(yàn)證動(dòng)作驗(yàn)證識(shí)別為攻擊流量的鏡像數(shù)據(jù)流是否成功攻擊。
進(jìn)一步地,驗(yàn)證步驟s404的具體執(zhí)行可見(jiàn)參見(jiàn)圖7。驗(yàn)證步驟s404包括如下步驟:
驗(yàn)證環(huán)境判斷步驟s441,判斷識(shí)別為攻擊流量的鏡像數(shù)據(jù)流所訪問(wèn)的生產(chǎn)環(huán)境中的生產(chǎn)域名是否有對(duì)應(yīng)的測(cè)試環(huán)境中的測(cè)試域名。
若生產(chǎn)域名有對(duì)應(yīng)的測(cè)試域名,則進(jìn)一步執(zhí)行步驟s445,判斷該訪問(wèn)是否需要登陸,若需要登陸則執(zhí)行步驟s446進(jìn)行登錄,若無(wú)需登陸則直接執(zhí)行測(cè)試驗(yàn)證步驟s447,該識(shí)別為攻擊流量的鏡像數(shù)據(jù)流于測(cè)試環(huán)境中進(jìn)行驗(yàn)證。
若所述生產(chǎn)域名沒(méi)有對(duì)應(yīng)的測(cè)試域名,則進(jìn)一步執(zhí)行步驟s442,判斷該訪問(wèn)是否需要登陸,若需要登陸則執(zhí)行步驟s443進(jìn)行登錄,若無(wú)需登陸則直接執(zhí)行生產(chǎn)驗(yàn)證步驟s444,該識(shí)別為攻擊流量的鏡像數(shù)據(jù)流于生產(chǎn)環(huán)境中進(jìn)行驗(yàn)證。
利用測(cè)試環(huán)境(例如uat用戶驗(yàn)收測(cè)試環(huán)境)進(jìn)行驗(yàn)證復(fù)測(cè)以避免測(cè)試時(shí)可能造成的生產(chǎn)系統(tǒng)崩潰,故障,性能降低等影響。此外,對(duì)于需要登錄業(yè)務(wù)系統(tǒng)進(jìn)行攻擊流量驗(yàn)證的環(huán)節(jié),可以通過(guò)登陸維護(hù)一套會(huì)話生命周期,當(dāng)會(huì)話超時(shí)能自動(dòng)獲取到新的會(huì)話令牌。在一些變化例中,可以省略上述登陸判斷及登陸步驟,以減少系統(tǒng)額外的處理動(dòng)作。
在一些具體實(shí)施例中,上述生產(chǎn)驗(yàn)證步驟s444和/或測(cè)試驗(yàn)證步驟s447還可以包括對(duì)來(lái)自相同域名和/或相同路徑的識(shí)別為攻擊流量的鏡像數(shù)據(jù)流去重的操作,以進(jìn)一步增加系統(tǒng)處理速度和效率。
驗(yàn)證步驟s404之后,執(zhí)行輸出步驟s405,輸出驗(yàn)證結(jié)果。在輸出步驟s405中可以輸出驗(yàn)證為攻擊成功的鏡像數(shù)據(jù)流。在一些實(shí)施例中,在輸出步驟s405中還可以輸出驗(yàn)證為攻擊失敗的鏡像數(shù)據(jù)流。在又一些實(shí)施例中,在輸出步驟s405中還可以輸出至少部分驗(yàn)證為攻擊成功的所述鏡像數(shù)據(jù)流的驗(yàn)證過(guò)程,以便后續(xù)工作人員進(jìn)行誤報(bào)判斷。至少部分驗(yàn)證為攻擊成功的所述鏡像數(shù)據(jù)流可以例如是xss漏洞(crosssitescripting,跨站腳本攻擊)、敏感信息泄漏漏洞等??紤]到驗(yàn)證動(dòng)作(例如工具檢測(cè)的判斷)也有一定誤報(bào)率,故輸出驗(yàn)證動(dòng)作的驗(yàn)證過(guò)程,當(dāng)審核人員進(jìn)行審核時(shí)直接根據(jù)驗(yàn)證動(dòng)作的驗(yàn)證過(guò)程進(jìn)行判斷是否有效,降低人工操作的時(shí)間,提高效率。
在一些具體實(shí)施例中,驗(yàn)證步驟s404之后(例如輸出步驟s405之前或者之后)還可以包括將驗(yàn)證為攻擊失敗的所述鏡像數(shù)據(jù)流存入非攻擊特征流量數(shù)據(jù)庫(kù)。該非攻擊特征流量數(shù)據(jù)庫(kù)與上述步驟s424中的非攻擊特征流量數(shù)據(jù)庫(kù)為同一個(gè)非關(guān)系型數(shù)據(jù)庫(kù)。
進(jìn)一步地,在本發(fā)明的各個(gè)實(shí)施例中,上述需要識(shí)別和驗(yàn)證的數(shù)據(jù)流為應(yīng)用層數(shù)據(jù)流,且可選地符合http協(xié)議。
以上各個(gè)實(shí)施例的描述僅僅是示意性地,本領(lǐng)域技術(shù)人員還可以實(shí)現(xiàn)更多的變化例,在不背離本發(fā)明構(gòu)思的前提下,步驟、模塊的增加和省略都落入本發(fā)明的保護(hù)范圍之內(nèi),在此不予贅述。
相比現(xiàn)有技術(shù),本發(fā)明的優(yōu)勢(shì)在于:
1)通過(guò)第一特征庫(kù)和第二特征庫(kù)依次識(shí)別鏡像數(shù)據(jù)流是否為攻擊流量,減少攻擊流量的告警,同時(shí)由于第一特征庫(kù)為本地特征庫(kù)而第二特征庫(kù)為開(kāi)源特征庫(kù),第一特征庫(kù)先于第二特征庫(kù)進(jìn)行鏡像數(shù)據(jù)流的識(shí)別,減少與開(kāi)源的第二特征庫(kù)通過(guò)網(wǎng)絡(luò)交互的鏡像數(shù)據(jù)流,增加系統(tǒng)對(duì)于攻擊流量的識(shí)別效率,減少系統(tǒng)性能壓力;
2)通過(guò)第二特征庫(kù)與第一特征庫(kù)中的特征去重,進(jìn)一步減少在第二特征庫(kù)的不必要的重復(fù)的匹配操作,進(jìn)而減少與開(kāi)源的第二特征庫(kù)的網(wǎng)絡(luò)交互,減少系統(tǒng)性能壓力;
3)第二特征庫(kù)中的第二類特征由一開(kāi)源、分布式計(jì)算機(jī)系統(tǒng)維護(hù),可進(jìn)行實(shí)時(shí)處理,提升攻擊流量特征庫(kù)更新的實(shí)時(shí)性;
4)采用測(cè)試環(huán)境進(jìn)行測(cè)試,確保在不影響生產(chǎn)業(yè)務(wù)的同時(shí),最大限度實(shí)現(xiàn)攻擊流量的驗(yàn)證;
5)在測(cè)試環(huán)境和/或生產(chǎn)環(huán)境中進(jìn)行登錄,維護(hù)鏡像數(shù)據(jù)流的會(huì)話生命周期;
6)在攻擊流量的識(shí)別過(guò)程中進(jìn)行誤報(bào)過(guò)濾,減少告警的同時(shí)進(jìn)一步減少系統(tǒng)性能壓力;
7)利用非攻擊特征流量數(shù)據(jù)庫(kù)儲(chǔ)存具有非攻擊特征的鏡像數(shù)據(jù)流,便于后續(xù)回溯操作;以及
8)在輸出時(shí)顯示不同的信息,以便提供更多識(shí)別驗(yàn)證信息供人工或后續(xù)進(jìn)一步處理,進(jìn)一步減少誤報(bào)率。
綜上所述,本發(fā)明在最大限度減少對(duì)生產(chǎn)系統(tǒng)影響的同時(shí),精準(zhǔn)發(fā)現(xiàn)外部利用成功的漏洞,并通過(guò)實(shí)時(shí)驗(yàn)證的方式顯示出來(lái),且操作靈活,可針對(duì)惡意攻擊請(qǐng)求分類匹配,也可在漏洞復(fù)測(cè)時(shí)指定多種驗(yàn)證動(dòng)作,部分漏洞可通過(guò)架構(gòu)層面的配置直接處理,無(wú)需重放數(shù)據(jù)包,進(jìn)一步減少對(duì)系統(tǒng)的影響,同時(shí)操作人員不再需要對(duì)每條告警逐一處理,僅需關(guān)注經(jīng)過(guò)驗(yàn)證模塊處理后的結(jié)果,更加提升人員效率。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員易于理解,本公開(kāi)實(shí)施例可以通過(guò)硬件實(shí)現(xiàn),也可以通過(guò)軟件結(jié)合必要的硬件的方式來(lái)實(shí)現(xiàn)。因此,本公開(kāi)實(shí)施例的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是cd-rom,u盤,移動(dòng)硬盤等)中,包括若干指令用以使得一臺(tái)計(jì)算設(shè)備(可以是個(gè)人計(jì)算機(jī)、服務(wù)器、移動(dòng)終端、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行根據(jù)本公開(kāi)實(shí)施方式的方法。
本領(lǐng)域技術(shù)人員可以理解,附圖只是示例實(shí)施方式的示意圖,附圖中的模塊或流程并不一定是實(shí)施本公開(kāi)所必須的,因此不能用于限制本公開(kāi)的保護(hù)范圍。
本領(lǐng)域技術(shù)人員可以理解上述各模塊可以按照實(shí)施例的描述分布于裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一個(gè)或多個(gè)裝置中。上述實(shí)施例的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。
以上具體地示出和描述了本發(fā)明的示例性實(shí)施方式。應(yīng)該理解,本發(fā)明不限于所公開(kāi)的實(shí)施方式,相反,本發(fā)明意圖涵蓋包含在所附權(quán)利要求范圍內(nèi)的各種修改和等效置換。