本發(fā)明涉及軟件安全,更具體地說(shuō),它涉及一種防火墻安全評(píng)估系統(tǒng)及方法。
背景技術(shù):
1、防火墻是網(wǎng)絡(luò)安全中非常重要的一個(gè)基礎(chǔ)防護(hù)設(shè)施,主要用于控制網(wǎng)絡(luò)訪問、過濾惡意流量和阻止攻擊行為。它在保護(hù)內(nèi)部網(wǎng)絡(luò)免受外部威脅入侵方面發(fā)揮著關(guān)鍵作用。然而,現(xiàn)有的防火墻安全評(píng)估方法主要依賴于分析防火墻配置規(guī)則,難以發(fā)現(xiàn)隱蔽的攻擊模式導(dǎo)致的風(fēng)險(xiǎn)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明提供一種防火墻安全評(píng)估系統(tǒng)及方法,解決相關(guān)技術(shù)中現(xiàn)有的防火墻安全評(píng)估方法主要依賴于分析防火墻配置規(guī)則,難以發(fā)現(xiàn)隱蔽的攻擊模式導(dǎo)致的風(fēng)險(xiǎn)的技術(shù)問題。
2、本發(fā)明提供了一種防火墻安全評(píng)估系統(tǒng),包括:
3、數(shù)據(jù)采集模塊,在防火墻軟件每次更新時(shí)采集防火墻軟件的源代碼信息,源代碼信息包括源代碼抽象語(yǔ)法樹和源代碼抽象語(yǔ)法樹的節(jié)點(diǎn)關(guān)聯(lián)的語(yǔ)義信息;
4、結(jié)構(gòu)化模塊,生成一號(hào)二維結(jié)構(gòu)數(shù)據(jù),一號(hào)二維結(jié)構(gòu)數(shù)據(jù)包括一號(hào)數(shù)據(jù)矩陣和一號(hào)關(guān)系矩陣,一號(hào)數(shù)據(jù)矩陣的一個(gè)單元表示一個(gè)獨(dú)立對(duì)象的一號(hào)一維結(jié)構(gòu)數(shù)據(jù),獨(dú)立對(duì)象包括源代碼抽象語(yǔ)法樹中的節(jié)點(diǎn),表示獨(dú)立對(duì)象的一號(hào)數(shù)據(jù)矩陣的一個(gè)單元只包含該獨(dú)立對(duì)象的語(yǔ)義信息;
5、一號(hào)關(guān)系矩陣的第i行第j列的元素表示一號(hào)數(shù)據(jù)矩陣的第i個(gè)單元和第j個(gè)單元表示的獨(dú)立對(duì)象之間的關(guān)聯(lián),如果存在關(guān)聯(lián),則一號(hào)關(guān)系矩陣的該元素值為1,否則為0;
6、節(jié)點(diǎn)之間存在關(guān)聯(lián)指的是:節(jié)點(diǎn)在源代碼抽象語(yǔ)法樹中相互連接;
7、一個(gè)一號(hào)一維結(jié)構(gòu)數(shù)據(jù)包括n個(gè)按照時(shí)間排序的數(shù)據(jù)項(xiàng),第t個(gè)數(shù)據(jù)項(xiàng)表示第t次更新采集的對(duì)應(yīng)的獨(dú)立對(duì)象的源代碼信息;
8、安全評(píng)估模塊,其將一號(hào)二維結(jié)構(gòu)數(shù)據(jù)輸入防火墻風(fēng)險(xiǎn)評(píng)估模型,防火墻風(fēng)險(xiǎn)評(píng)估模型包括第一中間層、第二中間層、第一輸出層和第二輸出層,其中第一中間層輸入一號(hào)一維結(jié)構(gòu)數(shù)據(jù),輸出第一中間表示數(shù)據(jù)到第二中間層,第二中間層還輸入一號(hào)關(guān)系矩陣,第二中間層輸出第二中間表示數(shù)據(jù)到第一輸出層和第二輸出層,第一輸出層輸出表示防火墻風(fēng)險(xiǎn)級(jí)別的結(jié)果,第二輸出層輸出表示源代碼抽象語(yǔ)法樹的節(jié)點(diǎn)影響防火墻風(fēng)險(xiǎn)的權(quán)重。
9、進(jìn)一步地,源代碼抽象語(yǔ)法樹的節(jié)點(diǎn)關(guān)聯(lián)的語(yǔ)義信息包括源代碼片段、功能描述文本。
10、進(jìn)一步地,防火墻風(fēng)險(xiǎn)級(jí)別越高表示防火墻風(fēng)險(xiǎn)越大。
11、進(jìn)一步地,源代碼抽象語(yǔ)法樹的節(jié)點(diǎn)影響防火墻風(fēng)險(xiǎn)的權(quán)重越大表示該節(jié)點(diǎn)與防火墻風(fēng)險(xiǎn)的關(guān)聯(lián)越大。
12、進(jìn)一步地,第一中間層的計(jì)算公式如下:
13、
14、其中表示第一中間層輸出的第t個(gè)第一中間表示數(shù)據(jù),表示第t-1個(gè)第一中間表示數(shù)據(jù),表示一號(hào)一維結(jié)構(gòu)數(shù)據(jù)的第t個(gè)數(shù)據(jù)項(xiàng),和是第一和第二權(quán)重參數(shù),是第一偏置參數(shù),tanh是雙曲正切函數(shù)。
15、進(jìn)一步地,第二中間層的計(jì)算公式如下:
16、
17、其中表示一號(hào)數(shù)據(jù)矩陣的第v個(gè)單元的第二中間表示數(shù)據(jù),是與一號(hào)數(shù)據(jù)矩陣的第v個(gè)單元存在關(guān)聯(lián)的單元的集合,表示一號(hào)數(shù)據(jù)矩陣的第v個(gè)單元的一號(hào)一維結(jié)構(gòu)數(shù)據(jù)輸入第一中間層時(shí)輸出的第n個(gè)第一中間表示數(shù)據(jù),是一個(gè)歸一化常數(shù),是sigmoid函數(shù),表示第三權(quán)重參數(shù),是第二偏置參數(shù)。
18、進(jìn)一步地,第一輸出層的計(jì)算公式如下:
19、
20、其中表示第一輸出向量,其第c個(gè)分量值表示第c個(gè)防火墻風(fēng)險(xiǎn)級(jí)別的概率值,選擇概率值最大的防火墻風(fēng)險(xiǎn)級(jí)別作為輸出,表示一號(hào)數(shù)據(jù)矩陣的第v個(gè)單元的第二中間表示數(shù)據(jù),表示一號(hào)數(shù)據(jù)矩陣的所有單元的集合,是第一輸出權(quán)重參數(shù),是第一輸出偏置參數(shù),表示sigmoid函數(shù)。
21、進(jìn)一步地,第二輸出層的計(jì)算公式如下:
22、
23、其中表示一號(hào)數(shù)據(jù)矩陣的第v個(gè)單元影響防火墻風(fēng)險(xiǎn)的權(quán)重值,表示一號(hào)數(shù)據(jù)矩陣的第v個(gè)單元的第二中間表示數(shù)據(jù),是第二輸出權(quán)重參數(shù),是第二輸出偏置參數(shù),表示sigmoid函數(shù)。
24、本發(fā)明提供了一種防火墻安全評(píng)估方法,包括以下步驟:
25、步驟100,在防火墻軟件每次更新時(shí)采集防火墻軟件的源代碼信息,源代碼信息包括源代碼抽象語(yǔ)法樹和源代碼抽象語(yǔ)法樹的節(jié)點(diǎn)關(guān)聯(lián)的語(yǔ)義信息;
26、步驟200,生成一號(hào)二維結(jié)構(gòu)數(shù)據(jù),一號(hào)二維結(jié)構(gòu)數(shù)據(jù)包括一號(hào)數(shù)據(jù)矩陣和一號(hào)關(guān)系矩陣,一號(hào)數(shù)據(jù)矩陣的一個(gè)單元表示一個(gè)獨(dú)立對(duì)象的一號(hào)一維結(jié)構(gòu)數(shù)據(jù),獨(dú)立對(duì)象包括源代碼抽象語(yǔ)法樹中的節(jié)點(diǎn),表示獨(dú)立對(duì)象的一號(hào)數(shù)據(jù)矩陣的一個(gè)單元只包含該獨(dú)立對(duì)象的語(yǔ)義信息;
27、一號(hào)關(guān)系矩陣的第i行第j列的元素表示一號(hào)數(shù)據(jù)矩陣的第i個(gè)單元和第j個(gè)單元表示的獨(dú)立對(duì)象之間的關(guān)聯(lián),如果存在關(guān)聯(lián),則一號(hào)關(guān)系矩陣的該元素值為1,否則為0;
28、節(jié)點(diǎn)之間存在關(guān)聯(lián)指的是:節(jié)點(diǎn)在源代碼抽象語(yǔ)法樹中相互連接;
29、一個(gè)一號(hào)一維結(jié)構(gòu)數(shù)據(jù)包括n個(gè)按照時(shí)間排序的數(shù)據(jù)項(xiàng),第t個(gè)數(shù)據(jù)項(xiàng)表示第t次更新采集的對(duì)應(yīng)的獨(dú)立對(duì)象的源代碼信息;
30、步驟300,其將一號(hào)二維結(jié)構(gòu)數(shù)據(jù)輸入防火墻風(fēng)險(xiǎn)評(píng)估模型,防火墻風(fēng)險(xiǎn)評(píng)估模型包括第一中間層、第二中間層、第一輸出層和第二輸出層,其中第一中間層輸入一號(hào)一維結(jié)構(gòu)數(shù)據(jù),輸出第一中間表示數(shù)據(jù)到第二中間層,第二中間層還輸入一號(hào)關(guān)系矩陣,第二中間層輸出第二中間表示數(shù)據(jù)到第一輸出層和第二輸出層,第一輸出層輸出表示防火墻風(fēng)險(xiǎn)級(jí)別的結(jié)果,防火墻風(fēng)險(xiǎn)級(jí)別越高表示防火墻風(fēng)險(xiǎn)越大,第二輸出層輸出表示源代碼抽象語(yǔ)法樹的節(jié)點(diǎn)影響防火墻風(fēng)險(xiǎn)的權(quán)重,權(quán)重越大表示與防火墻風(fēng)險(xiǎn)的關(guān)聯(lián)越大;
31、步驟400,在防火墻風(fēng)險(xiǎn)級(jí)別大于設(shè)定的風(fēng)險(xiǎn)閾值時(shí)發(fā)送風(fēng)險(xiǎn)警報(bào),并將影響防火墻風(fēng)險(xiǎn)的權(quán)重從大至小排序,發(fā)送前r個(gè)源代碼抽象語(yǔ)法樹的節(jié)點(diǎn)給運(yùn)維人員。
32、本發(fā)明提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),其用于存儲(chǔ)計(jì)算機(jī)可讀指令,當(dāng)該計(jì)算機(jī)可讀指令被讀取時(shí)能夠執(zhí)行前述的一種防火墻安全評(píng)估方法。
33、本發(fā)明的有益效果在于:
34、本發(fā)明通過識(shí)別防火墻歷史更新的源代碼關(guān)聯(lián)信息來(lái)進(jìn)行模式識(shí)別,不再局限于分析防火墻配置規(guī)則,能夠發(fā)現(xiàn)防火墻潛在的風(fēng)險(xiǎn),能夠識(shí)別軟件層面以及規(guī)則層面的風(fēng)險(xiǎn)。
1.一種防火墻安全評(píng)估系統(tǒng),其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的一種防火墻安全評(píng)估系統(tǒng),其特征在于,源代碼抽象語(yǔ)法樹的節(jié)點(diǎn)關(guān)聯(lián)的語(yǔ)義信息包括源代碼片段、功能描述文本。
3.根據(jù)權(quán)利要求1所述的一種防火墻安全評(píng)估系統(tǒng),其特征在于,防火墻風(fēng)險(xiǎn)級(jí)別越高表示防火墻風(fēng)險(xiǎn)越大。
4.根據(jù)權(quán)利要求1所述的一種防火墻安全評(píng)估系統(tǒng),其特征在于,源代碼抽象語(yǔ)法樹的節(jié)點(diǎn)影響防火墻風(fēng)險(xiǎn)的權(quán)重越大表示該節(jié)點(diǎn)與防火墻風(fēng)險(xiǎn)的關(guān)聯(lián)越大。
5.根據(jù)權(quán)利要求1所述的一種防火墻安全評(píng)估系統(tǒng),其特征在于,第一中間層的計(jì)算公式如下:
6.根據(jù)權(quán)利要求5所述的一種防火墻安全評(píng)估系統(tǒng),其特征在于,第二中間層的計(jì)算公式如下:
7.根據(jù)權(quán)利要求6所述的一種防火墻安全評(píng)估系統(tǒng),其特征在于,第一輸出層的計(jì)算公式如下:
8.根據(jù)權(quán)利要求6所述的一種防火墻安全評(píng)估系統(tǒng),其特征在于,第二輸出層的計(jì)算公式如下:
9.一種防火墻安全評(píng)估方法,其特征在于,包括以下步驟:
10.一種計(jì)算機(jī)存儲(chǔ)介質(zhì),其特征在于,其用于存儲(chǔ)計(jì)算機(jī)可讀指令,當(dāng)該計(jì)算機(jī)可讀指令被讀取時(shí)能夠執(zhí)行如權(quán)利要求9所述的一種防火墻安全評(píng)估方法。