本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,尤其是一種基于主動防御機(jī)制的內(nèi)容審計系統(tǒng)及其內(nèi)容審計方法。
背景技術(shù):
工業(yè)控制系統(tǒng)網(wǎng)絡(luò)內(nèi)容審計設(shè)備是對工業(yè)控制網(wǎng)絡(luò)中的協(xié)議、數(shù)據(jù)和行為等進(jìn)行記錄、分析,并做出一定的響應(yīng)措施的信息安全專用產(chǎn)品。
現(xiàn)有審計設(shè)備一般采取旁路接入方式,應(yīng)用白名單機(jī)制來對工業(yè)控制網(wǎng)絡(luò)中各工控主機(jī)包括如工程師站、操作員站的組態(tài)變更、指令變更等進(jìn)行記錄、分析,組態(tài)變更包括組態(tài)上裝、下裝,指令變更包括寫指令及相關(guān)參數(shù)等操作,這些操作對響應(yīng)的實(shí)時性要求通常在幾百毫秒,可留出一定時間來做安全方面的處理。
旁路接入是指只有一根rj45網(wǎng)線接在核心交換機(jī)上,交換機(jī)將數(shù)據(jù)鏡像后發(fā)給審計設(shè)備進(jìn)行分析處理。旁路接入模式是所有部署模式中最簡單的一種,也是功能實(shí)現(xiàn)較弱的一種部署方式。
現(xiàn)有審計設(shè)備的缺點(diǎn):
1、針對工業(yè)控制網(wǎng)絡(luò)中的各工控主機(jī)如來自工程師站、操作員站的內(nèi)部人員惡意破壞、管理人員濫用職權(quán)、執(zhí)行人員操作不當(dāng)、人為破壞操作,只能事后監(jiān)控和被動防御,不能阻斷在損害發(fā)生前;
2、針對工業(yè)控制網(wǎng)絡(luò)中的各工控主機(jī)如來自工程師站、操作員站的惡意代碼軟件、病毒對工業(yè)控制網(wǎng)絡(luò)的攻擊,只能事后監(jiān)控和被動防御,不能阻斷在損害發(fā)生前;
總之,現(xiàn)有工控網(wǎng)絡(luò)審計設(shè)備對來自各工控主機(jī)的不合理人為操作、病毒、惡意軟件代碼不能采取一種主動防御的策略,讓這些危害被阻斷在工控主機(jī)內(nèi),不擴(kuò)散到工業(yè)網(wǎng)絡(luò)上,特別是像發(fā)生在伊朗布什爾核電站工業(yè)網(wǎng)絡(luò)設(shè)備上的“震網(wǎng)”病毒,可使其對工業(yè)網(wǎng)路設(shè)備造成的破壞程度降低到最低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是提供一種基于主動防御機(jī)制的內(nèi)容審計系統(tǒng)及其內(nèi)容審計方法,能夠解決現(xiàn)有技術(shù)的不足,通過主動安全策略提高系統(tǒng)安全性。
為解決上述技術(shù)問題,本發(fā)明所采取的技術(shù)方案如下。
一種基于主動防御機(jī)制的內(nèi)容審計系統(tǒng),包括:主動防御模塊和驗(yàn)證模塊,主動防御模塊和驗(yàn)證模塊之間通過以太網(wǎng)通訊連接;
主動防御模塊包括,
網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀截取模塊,用于截取數(shù)據(jù)幀;
數(shù)據(jù)幀白名單匹配模塊,用于將截取的網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀的源目的mac、源目的ip、傳輸層協(xié)議、源目的端口等數(shù)據(jù),與白名單基線庫中的各白名單數(shù)據(jù)進(jìn)行源目的mac、源目的ip、傳輸層協(xié)議、源目的端口等數(shù)據(jù)進(jìn)行比對匹配;
數(shù)據(jù)幀黑名單匹配模塊,用于將截取的網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀的源目的mac、源目的ip、傳輸層協(xié)議、源目的端口等數(shù)據(jù),與黑名單基線庫中的各黑名單數(shù)據(jù)進(jìn)行源目的mac、源目的ip、傳輸層協(xié)議、源目的端口等數(shù)據(jù)進(jìn)行比對匹配;
數(shù)據(jù)幀重組及重定向模塊,用于將數(shù)據(jù)幀做數(shù)據(jù)重組,并將重組的數(shù)據(jù)幀發(fā)送至數(shù)據(jù)幀發(fā)送模塊;
數(shù)據(jù)幀發(fā)送模塊,用于通過以太網(wǎng)向驗(yàn)證模塊發(fā)送數(shù)據(jù);
數(shù)據(jù)幀接受和還原模塊,用于通過以太網(wǎng)接收驗(yàn)證模塊發(fā)送來的數(shù)據(jù);
驗(yàn)證模塊包括,
通訊處理模塊,用于通過以太網(wǎng)與主動防御模塊進(jìn)行數(shù)據(jù)交換;
判定模塊,用于對以太網(wǎng)數(shù)據(jù)進(jìn)行判別和匹配。
一種上述的基于主動防御機(jī)制的內(nèi)容審計系統(tǒng)的內(nèi)容審計方法,包括以下步驟:
a、網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀截取模塊截取網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀;
b、數(shù)據(jù)幀白名單匹配模塊將截取的網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀的源目的mac、源目的ip、傳輸層協(xié)議、源目的端口等數(shù)據(jù),與白名單基線庫中的各白名單數(shù)據(jù)進(jìn)行源目的mac、源目的ip、傳輸層協(xié)議、源目的端口等數(shù)據(jù)進(jìn)行比對匹配,通過對比匹配是一致的,說明對比匹配成功;如果白名單對比成功,通過數(shù)據(jù)幀發(fā)送模塊將網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀直接發(fā)送到以太網(wǎng)上,審計流程結(jié)束;如果白名單對比不成功則轉(zhuǎn)向步驟c;
c、數(shù)據(jù)幀黑名單匹配模塊將截取的網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀的源目的mac、源目的ip、傳輸層協(xié)議、源目的端口等數(shù)據(jù),與黑名單基線庫中的各黑名單數(shù)據(jù)進(jìn)行源目的mac、源目的ip、傳輸層協(xié)議、源目的端口等數(shù)據(jù)進(jìn)行比對匹配,通過對比匹配是一致的,說明對比匹配成功,將網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀直接丟棄掉,不發(fā)送到以太網(wǎng)上,審計流程結(jié)束;如果黑名單對比不成功,則將數(shù)據(jù)發(fā)送至數(shù)據(jù)幀重組及重定向模塊;
d、數(shù)據(jù)幀重組及重定向模塊將組裝后的數(shù)據(jù)幀發(fā)送到驗(yàn)證模塊;
e、通訊處理模塊接受以太網(wǎng)上各設(shè)備發(fā)來的數(shù)據(jù)信息;
f、判定模塊首先將收到的以太網(wǎng)數(shù)據(jù)進(jìn)行解幀,包括源目的ip、源目的端口號等,對于以太網(wǎng)數(shù)據(jù)部分,先取出以太網(wǎng)數(shù)據(jù)的前16字節(jié)數(shù)據(jù),依據(jù)組裝標(biāo)識數(shù)據(jù)格式進(jìn)行判別,判別是否是一個組裝數(shù)據(jù)幀,如果判斷是一個組裝數(shù)據(jù)幀,再將初始數(shù)據(jù)幀中的數(shù)據(jù)取出,基于自己的白名單基線庫通過數(shù)據(jù)幀白名單匹配模塊對初始數(shù)據(jù)幀進(jìn)行比對匹配,無論比對匹配是否成功,判定模塊均會返回一個驗(yàn)證數(shù)據(jù)幀,由通訊處理模塊發(fā)送出去;
g、數(shù)據(jù)幀接受和還原模塊首先將收到的以太網(wǎng)數(shù)據(jù)進(jìn)行解幀,包括源目的ip、源目的端口號等,對于以太網(wǎng)數(shù)據(jù)部分,先取出以太網(wǎng)數(shù)據(jù)的前16字節(jié)數(shù)據(jù),依據(jù)驗(yàn)證標(biāo)識數(shù)據(jù)格式進(jìn)行判別,判別是否是一個驗(yàn)證數(shù)據(jù)幀,如果判斷是一個驗(yàn)證數(shù)據(jù)幀,取出匹配是否成功的標(biāo)識的第十個字節(jié)數(shù)據(jù),再將初始數(shù)據(jù)幀中的數(shù)據(jù)取出,并與臨時存儲區(qū)中存儲的網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀進(jìn)行對比和分析,確認(rèn)一致;如果驗(yàn)證模塊返回的是匹配成功數(shù)據(jù),數(shù)據(jù)幀接受和還原模塊將基于臨時存儲區(qū)中的網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀形成一個白名單,并將該白名單加入到白名單基線庫中,同時,將初始數(shù)據(jù)幀數(shù)據(jù)通過數(shù)據(jù)幀發(fā)送模塊發(fā)送到以太網(wǎng)上,并刪除掉臨時存儲區(qū)中的發(fā)送數(shù)據(jù)幀數(shù)據(jù)信息;如果驗(yàn)證模塊返回的是匹配不成功數(shù)據(jù),數(shù)據(jù)幀接受和還原模塊將基于臨時存儲區(qū)中的網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀形成一個黑名單,并將該黑名單加入到黑名單基線庫中,并刪除掉臨時存儲區(qū)中的發(fā)送數(shù)據(jù)幀數(shù)據(jù)信息。
作為優(yōu)選,步驟a中,網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀截取采用winpcap系統(tǒng)來實(shí)現(xiàn);winpcap系統(tǒng)是由伯克利分組捕獲庫派生而來的分組捕獲庫,是在windows操作平臺上實(shí)現(xiàn)對底層報的截取過濾,包括一個內(nèi)核級別的packetfilter,一個底層的packet.dll和一個高級的獨(dú)立于系統(tǒng)的libpcap.dll組成;通過與驅(qū)動掛鉤并下載相應(yīng)的頭文件和庫文件,調(diào)用winpcap系統(tǒng);winpcap系統(tǒng)用c或c++編程語言編寫實(shí)現(xiàn)。
作為優(yōu)選,步驟d中,先將本網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀保存在臨時存儲區(qū)中,定義發(fā)送數(shù)據(jù)幀為初始數(shù)據(jù)幀;再將初始數(shù)據(jù)幀做數(shù)據(jù)重組,定義為組裝數(shù)據(jù)幀,組裝數(shù)據(jù)幀是一個標(biāo)準(zhǔn)的以太網(wǎng)數(shù)據(jù)幀格式,目的ip地址為驗(yàn)證模塊,源ip地址為主動防御模塊,傳輸數(shù)據(jù)由兩部分組成,一個由16個字節(jié)組成的組裝標(biāo)識數(shù)據(jù),以及初始數(shù)據(jù)幀,數(shù)據(jù)幀尾是crc效驗(yàn)碼;組裝標(biāo)識數(shù)據(jù)格式包括6個字節(jié)的標(biāo)識頭數(shù)據(jù),是固定的六個字節(jié)16進(jìn)制數(shù)或字符,第七個字節(jié)為16進(jìn)制數(shù)0x55,表示是發(fā)送數(shù)據(jù),第八個字節(jié)數(shù)據(jù)為驗(yàn)證模塊的編號,是針對網(wǎng)絡(luò)上有多個驗(yàn)證模塊時進(jìn)行區(qū)分,第九個字節(jié)數(shù)據(jù)為初始數(shù)據(jù)幀的順序號,區(qū)分有多個初始數(shù)據(jù)幀的情況,第10-14字節(jié)數(shù)據(jù)作保留用,第15、16字節(jié)數(shù)據(jù)是標(biāo)識數(shù)據(jù)1-14個數(shù)據(jù)的crc效驗(yàn)值,組裝數(shù)據(jù)幀生成后,通過數(shù)據(jù)幀發(fā)送模塊發(fā)送到以太網(wǎng)上。
采用上述技術(shù)方案所帶來的有益效果在于:本發(fā)明是一種主動防御的機(jī)制,是對現(xiàn)有技術(shù)的被動防御策略的一個安全措施的提升。本發(fā)明既可對各工控主機(jī)的不合理人為操作造成的可能破壞進(jìn)行主動防御,也可各工控主機(jī)的病毒、惡意軟件代碼造成的可能破壞進(jìn)行主動防御。
附圖說明
圖1是本發(fā)明一個具體實(shí)施方式的系統(tǒng)原理圖。
圖2是本發(fā)明一個具體實(shí)施方式中初始數(shù)據(jù)幀的結(jié)構(gòu)圖。
圖3是本發(fā)明一個具體實(shí)施方式中組裝數(shù)據(jù)幀的結(jié)構(gòu)圖。
圖4是本發(fā)明一個具體實(shí)施方式中組裝數(shù)據(jù)幀標(biāo)識數(shù)據(jù)格式的結(jié)構(gòu)圖。
圖5是本發(fā)明一個具體實(shí)施方式中驗(yàn)證數(shù)據(jù)幀的結(jié)構(gòu)圖。
圖6是本發(fā)明一個具體實(shí)施方式中驗(yàn)證數(shù)據(jù)幀標(biāo)識數(shù)據(jù)格式的結(jié)構(gòu)圖。
具體實(shí)施方式
參照圖1-6,本發(fā)明一個具體實(shí)施方式包括主動防御模塊1和驗(yàn)證模塊2,主動防御模塊1和驗(yàn)證模塊2之間通過以太網(wǎng)通訊連接;
主動防御模塊1包括,
網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀截取模塊3,用于截取數(shù)據(jù)幀;
數(shù)據(jù)幀白名單匹配模塊4,用于將截取的網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀的源目的mac、源目的ip、傳輸層協(xié)議、源目的端口等數(shù)據(jù),與白名單基線庫5中的各白名單數(shù)據(jù)進(jìn)行源目的mac、源目的ip、傳輸層協(xié)議、源目的端口等數(shù)據(jù)進(jìn)行比對匹配;
數(shù)據(jù)幀黑名單匹配模塊6,用于將截取的網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀的源目的mac、源目的ip、傳輸層協(xié)議、源目的端口等數(shù)據(jù),與黑名單基線庫7中的各黑名單數(shù)據(jù)進(jìn)行源目的mac、源目的ip、傳輸層協(xié)議、源目的端口等數(shù)據(jù)進(jìn)行比對匹配;
數(shù)據(jù)幀重組及重定向模塊8,用于將數(shù)據(jù)幀做數(shù)據(jù)重組,并將重組的數(shù)據(jù)幀發(fā)送至數(shù)據(jù)幀發(fā)送模塊9;
數(shù)據(jù)幀發(fā)送模塊9,用于通過以太網(wǎng)向驗(yàn)證模塊2發(fā)送數(shù)據(jù);
數(shù)據(jù)幀接受和還原模塊10,用于通過以太網(wǎng)接收驗(yàn)證模塊2發(fā)送來的數(shù)據(jù);
驗(yàn)證模塊2包括,
通訊處理模塊11,用于通過以太網(wǎng)與主動防御模塊1進(jìn)行數(shù)據(jù)交換;
判定模塊12,用于對以太網(wǎng)數(shù)據(jù)進(jìn)行判別和匹配。
一種上述的基于主動防御機(jī)制的內(nèi)容審計系統(tǒng)的內(nèi)容審計方法,包括以下步驟:
a、網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀截取模塊3截取網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀;
b、數(shù)據(jù)幀白名單匹配模塊4將截取的網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀的源目的mac、源目的ip、傳輸層協(xié)議、源目的端口等數(shù)據(jù),與白名單基線庫5中的各白名單數(shù)據(jù)進(jìn)行源目的mac、源目的ip、傳輸層協(xié)議、源目的端口等數(shù)據(jù)進(jìn)行比對匹配,通過對比匹配是一致的,說明對比匹配成功;如果白名單對比成功,通過數(shù)據(jù)幀發(fā)送模塊9將網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀直接發(fā)送到以太網(wǎng)上,審計流程結(jié)束;如果白名單對比不成功則轉(zhuǎn)向步驟c;
c、數(shù)據(jù)幀黑名單匹配模塊6將截取的網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀的源目的mac、源目的ip、傳輸層協(xié)議、源目的端口等數(shù)據(jù),與黑名單基線庫7中的各黑名單數(shù)據(jù)進(jìn)行源目的mac、源目的ip、傳輸層協(xié)議、源目的端口等數(shù)據(jù)進(jìn)行比對匹配,通過對比匹配是一致的,說明對比匹配成功,將網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀直接丟棄掉,不發(fā)送到以太網(wǎng)上,審計流程結(jié)束;如果黑名單對比不成功,則將數(shù)據(jù)發(fā)送至數(shù)據(jù)幀重組及重定向模塊8;
d、數(shù)據(jù)幀重組及重定向模塊8將組裝后的數(shù)據(jù)幀發(fā)送到驗(yàn)證模塊2;
e、通訊處理模塊11接受以太網(wǎng)上各設(shè)備發(fā)來的數(shù)據(jù)信息;
f、判定模塊12首先將收到的以太網(wǎng)數(shù)據(jù)進(jìn)行解幀,包括源目的ip、源目的端口號等,對于以太網(wǎng)數(shù)據(jù)部分,先取出以太網(wǎng)數(shù)據(jù)的前16字節(jié)數(shù)據(jù),依據(jù)組裝標(biāo)識數(shù)據(jù)格式進(jìn)行判別,判別是否是一個組裝數(shù)據(jù)幀,如果判斷是一個組裝數(shù)據(jù)幀,再將初始數(shù)據(jù)幀中的數(shù)據(jù)取出,基于自己的白名單基線庫5通過數(shù)據(jù)幀白名單匹配模塊4對初始數(shù)據(jù)幀進(jìn)行比對匹配,無論比對匹配是否成功,判定模塊12均會返回一個驗(yàn)證數(shù)據(jù)幀,由通訊處理模塊11發(fā)送出去;
g、數(shù)據(jù)幀接受和還原模塊10首先將收到的以太網(wǎng)數(shù)據(jù)進(jìn)行解幀,包括源目的ip、源目的端口號等,對于以太網(wǎng)數(shù)據(jù)部分,先取出以太網(wǎng)數(shù)據(jù)的前16字節(jié)數(shù)據(jù),依據(jù)驗(yàn)證標(biāo)識數(shù)據(jù)格式進(jìn)行判別,判別是否是一個驗(yàn)證數(shù)據(jù)幀,如果判斷是一個驗(yàn)證數(shù)據(jù)幀,取出匹配是否成功的標(biāo)識的第十個字節(jié)數(shù)據(jù),再將初始數(shù)據(jù)幀中的數(shù)據(jù)取出,并與臨時存儲區(qū)中存儲的網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀進(jìn)行對比和分析,確認(rèn)一致;如果驗(yàn)證模塊2返回的是匹配成功數(shù)據(jù),數(shù)據(jù)幀接受和還原模塊10將基于臨時存儲區(qū)中的網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀形成一個白名單,并將該白名單加入到白名單基線庫5中,同時,將初始數(shù)據(jù)幀數(shù)據(jù)通過數(shù)據(jù)幀發(fā)送模塊9發(fā)送到以太網(wǎng)上,并刪除掉臨時存儲區(qū)中的發(fā)送數(shù)據(jù)幀數(shù)據(jù)信息;如果驗(yàn)證模塊2返回的是匹配不成功數(shù)據(jù),數(shù)據(jù)幀接受和還原模塊10將基于臨時存儲區(qū)中的網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀形成一個黑名單,并將該黑名單加入到黑名單基線庫7中,并刪除掉臨時存儲區(qū)中的發(fā)送數(shù)據(jù)幀數(shù)據(jù)信息。
步驟a中,網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀截取采用winpcap系統(tǒng)來實(shí)現(xiàn);winpcap系統(tǒng)是由伯克利分組捕獲庫派生而來的分組捕獲庫,是在windows操作平臺上實(shí)現(xiàn)對底層報的截取過濾,包括一個內(nèi)核級別的packetfilter,一個底層的packet.dll和一個高級的獨(dú)立于系統(tǒng)的libpcap.dll組成;通過與驅(qū)動掛鉤并下載相應(yīng)的頭文件和庫文件,調(diào)用winpcap系統(tǒng);winpcap系統(tǒng)用c或c++編程語言編寫實(shí)現(xiàn)。
步驟d中,先將本網(wǎng)絡(luò)發(fā)送數(shù)據(jù)幀保存在臨時存儲區(qū)中,定義發(fā)送數(shù)據(jù)幀為初始數(shù)據(jù)幀;再將初始數(shù)據(jù)幀做數(shù)據(jù)重組,定義為組裝數(shù)據(jù)幀,組裝數(shù)據(jù)幀是一個標(biāo)準(zhǔn)的以太網(wǎng)數(shù)據(jù)幀格式,目的ip地址為驗(yàn)證模塊,源ip地址為主動防御模塊,傳輸數(shù)據(jù)由兩部分組成,一個由16個字節(jié)組成的組裝標(biāo)識數(shù)據(jù),以及初始數(shù)據(jù)幀,數(shù)據(jù)幀尾是crc效驗(yàn)碼;組裝標(biāo)識數(shù)據(jù)格式包括6個字節(jié)的標(biāo)識頭數(shù)據(jù),是固定的六個字節(jié)16進(jìn)制數(shù)或字符,第七個字節(jié)為16進(jìn)制數(shù)0x55,表示是發(fā)送數(shù)據(jù),第八個字節(jié)數(shù)據(jù)為驗(yàn)證模塊的編號,是針對網(wǎng)絡(luò)上有多個驗(yàn)證模塊時進(jìn)行區(qū)分,第九個字節(jié)數(shù)據(jù)為初始數(shù)據(jù)幀的順序號,區(qū)分有多個初始數(shù)據(jù)幀的情況,第10-14字節(jié)數(shù)據(jù)作保留用,第15、16字節(jié)數(shù)據(jù)是標(biāo)識數(shù)據(jù)1-14個數(shù)據(jù)的crc效驗(yàn)值,組裝數(shù)據(jù)幀生成后,通過數(shù)據(jù)幀發(fā)送模塊發(fā)送到以太網(wǎng)上。
以上顯示和描述了本發(fā)明的基本原理和主要特征和本發(fā)明的優(yōu)點(diǎn)。本行業(yè)的技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實(shí)施例的限制,上述實(shí)施例和說明書中描述的只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會有各種變化和改進(jìn),這些變化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍內(nèi)。本發(fā)明要求保護(hù)范圍由所附的權(quán)利要求書及其等效物界定。