本發(fā)明涉及網(wǎng)絡(luò)安全,尤其涉及一種網(wǎng)頁(yè)篡改檢測(cè)方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著互聯(lián)網(wǎng)的迅猛發(fā)展,web網(wǎng)頁(yè)已成為人們獲取信息、進(jìn)行交流和開展業(yè)務(wù)的重要平臺(tái),與此同時(shí),網(wǎng)頁(yè)的安全性也面臨著嚴(yán)峻的挑戰(zhàn)。網(wǎng)頁(yè)被篡改的事件頻繁發(fā)生,這可能導(dǎo)致一系列嚴(yán)重的后果,如用戶的個(gè)人信息泄露,使用戶面臨隱私被侵犯的風(fēng)險(xiǎn);網(wǎng)頁(yè)內(nèi)容被惡意篡改可能會(huì)誤導(dǎo)用戶,導(dǎo)致用戶做出錯(cuò)誤的決策;對(duì)于企業(yè)和品牌來說,網(wǎng)頁(yè)被篡改會(huì)損害其聲譽(yù)和形象,造成不可估量的經(jīng)濟(jì)損失。目前,雖然已經(jīng)存在一些網(wǎng)頁(yè)篡改檢測(cè)方法,但這些方法在實(shí)際應(yīng)用中存在諸多不足之處。一方面,檢測(cè)準(zhǔn)確率不高,難以準(zhǔn)確地發(fā)現(xiàn)網(wǎng)頁(yè)被篡改的跡象,導(dǎo)致一些篡改行為未能被及時(shí)察覺和阻止,另一方面,實(shí)時(shí)性較差也是一個(gè)突出問題,無(wú)法及時(shí)檢測(cè)到網(wǎng)頁(yè)的篡改情況,使得用戶在訪問被篡改的網(wǎng)頁(yè)時(shí)可能會(huì)受到誤導(dǎo)或遭受損失。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明實(shí)施例提供了一種網(wǎng)頁(yè)篡改檢測(cè)方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),以解決現(xiàn)有技術(shù)中網(wǎng)頁(yè)篡改檢測(cè)準(zhǔn)確率不高以及實(shí)時(shí)性較差的技術(shù)問題。
2、本發(fā)明的技術(shù)方案如下,提供了一種網(wǎng)頁(yè)篡改檢測(cè)方法,所述方法包括:
3、獲取網(wǎng)頁(yè)的html代碼、css代碼以及javascript代碼;
4、獲取所述html代碼中標(biāo)簽信息,獲取所述css代碼中的類名信息、顏色信息以及css選擇器信息,構(gòu)建javascript語(yǔ)法樹,獲取所述javascript語(yǔ)法樹中每個(gè)javascript函數(shù)的參數(shù)信息、每個(gè)javascript函數(shù)體內(nèi)的語(yǔ)句信息以及預(yù)設(shè)全局變量的出現(xiàn)次數(shù)信息;
5、根據(jù)所述標(biāo)簽信息、所述類名信息、所述顏色信息、所述css選擇器信息、所述參數(shù)信息、所述語(yǔ)句信息以及所述預(yù)設(shè)全局變量的出現(xiàn)次數(shù)信息,構(gòu)建網(wǎng)頁(yè)的第一特征向量;
6、在時(shí)間范圍內(nèi)每間隔預(yù)設(shè)時(shí)間獲取一次所述第一特征向量,得到多個(gè)第一特征向量,根據(jù)所述多個(gè)第一特征向量確定對(duì)應(yīng)特征的動(dòng)態(tài)閾值范圍;
7、訪問網(wǎng)頁(yè)并獲取第二特征向量,根據(jù)所述第二特征向量的特征處在對(duì)應(yīng)的所述動(dòng)態(tài)閾值范圍之外的比例是否超過預(yù)設(shè)閾值,判斷網(wǎng)頁(yè)是否被篡改。
8、進(jìn)一步地,獲取所述html代碼中標(biāo)簽信息,包括:
9、獲取標(biāo)簽的出現(xiàn)次數(shù),根據(jù)所述標(biāo)簽的出現(xiàn)次數(shù)以及平均深度計(jì)算公式獲取所述html代碼中標(biāo)簽的平均深度,所述平均深度計(jì)算公式包括其中,為所述html代碼中標(biāo)簽的平均深度,m為標(biāo)簽個(gè)數(shù),為第i個(gè)標(biāo)簽ti的出現(xiàn)次數(shù),為第i個(gè)標(biāo)簽ti的深度。
10、進(jìn)一步地,獲取所述css代碼中的類名信息、顏色信息,包括:
11、統(tǒng)計(jì)所述css代碼中每個(gè)類名的出現(xiàn)次數(shù),獲取所述css代碼中的顏色屬性,將所述顏色屬性對(duì)應(yīng)的顏色值轉(zhuǎn)換到hsl空間內(nèi),以確定不同色相區(qū)間內(nèi)顏色值的使用頻率。
12、進(jìn)一步地,獲取css選擇器信息,包括:
13、利用平均復(fù)雜度計(jì)算公式獲取css選擇器的平均復(fù)雜度,所述平均復(fù)雜度計(jì)算公式包括其中,為css選擇器的平均復(fù)雜度,q為css選擇器的個(gè)數(shù),為第l個(gè)css選擇器sl的復(fù)雜度。
14、進(jìn)一步地,獲取參數(shù)信息,包括:
15、獲取javascript函數(shù)的參數(shù)個(gè)數(shù),根據(jù)所述參數(shù)個(gè)數(shù)以及參數(shù)個(gè)數(shù)的均值計(jì)算公式獲取所述javascript語(yǔ)法樹中的參數(shù)個(gè)數(shù)均值,所述參數(shù)個(gè)數(shù)的均值計(jì)算公式包括為參數(shù)個(gè)數(shù)均值,r為javascript函數(shù)的數(shù)量,為第n個(gè)javascript函數(shù)fn的參數(shù)個(gè)數(shù)。
16、進(jìn)一步地,獲取語(yǔ)句信息,包括:
17、獲取javascript函數(shù)體內(nèi)的語(yǔ)句數(shù)量,根據(jù)所述語(yǔ)句數(shù)量以及語(yǔ)句數(shù)量的均值計(jì)算公式獲取所述javascript語(yǔ)法樹中語(yǔ)句數(shù)量的均值,所述語(yǔ)句數(shù)量的均值計(jì)算公式包括為語(yǔ)句數(shù)量的均值,為第n個(gè)javascript函數(shù)fn函數(shù)體內(nèi)的語(yǔ)句數(shù)量。
18、進(jìn)一步地,根據(jù)所述多個(gè)第一特征向量確定對(duì)應(yīng)特征的動(dòng)態(tài)閾值范圍,包括:
19、根據(jù)所述多個(gè)第一特征向量及正態(tài)分布的k-sigma原則,獲取對(duì)應(yīng)特征的動(dòng)態(tài)閾值下限和動(dòng)態(tài)閾值上限,以確定對(duì)應(yīng)特征的動(dòng)態(tài)閾值范圍。
20、本發(fā)明的另一技術(shù)方案如下,提供了一種網(wǎng)頁(yè)篡改檢測(cè)裝置,包括代碼獲取模塊、代碼信息獲取模塊、特征向量構(gòu)建模塊、動(dòng)態(tài)閾值范圍確定模塊以及篡改判斷模塊;
21、所述代碼獲取模塊,用于獲取網(wǎng)頁(yè)的html代碼、css代碼以及javascript代碼;
22、所述代碼信息獲取模塊,用于獲取所述html代碼中標(biāo)簽信息,獲取所述css代碼中的類名信息、顏色信息以及css選擇器信息,構(gòu)建javascript語(yǔ)法樹,獲取所述javascript語(yǔ)法樹中每個(gè)javascript函數(shù)的參數(shù)信息、每個(gè)javascript函數(shù)體內(nèi)的語(yǔ)句信息以及預(yù)設(shè)全局變量的出現(xiàn)次數(shù)信息;
23、所述特征向量構(gòu)建模塊,用于根據(jù)所述標(biāo)簽信息、所述類名信息、所述顏色信息、所述css選擇器信息、所述參數(shù)信息、所述語(yǔ)句信息以及所述預(yù)設(shè)全局變量的出現(xiàn)次數(shù)信息,構(gòu)建網(wǎng)頁(yè)的第一特征向量;
24、所述動(dòng)態(tài)閾值范圍確定模塊,用于每間隔預(yù)設(shè)時(shí)間獲取一次所述第一特征向量,得到多個(gè)第一特征向量,根據(jù)所述多個(gè)第一特征向量確定對(duì)應(yīng)特征的動(dòng)態(tài)閾值范圍;
25、所述篡改判斷模塊,用于訪問網(wǎng)頁(yè)并獲取第二特征向量,根據(jù)所述第二特征向量的特征處在對(duì)應(yīng)的所述動(dòng)態(tài)閾值范圍之外的比例是否超過預(yù)設(shè)閾值,判斷網(wǎng)頁(yè)是否被篡改。
26、本發(fā)明的另一技術(shù)方案如下,提供了一種計(jì)算機(jī)設(shè)備,所述設(shè)備包括處理器、通信接口、存儲(chǔ)器和通信總線,其中,處理器、通信接口、存儲(chǔ)器通過通信總線完成相互間的通信;
27、存儲(chǔ)器,用于存放計(jì)算機(jī)程序;
28、處理器,用于執(zhí)行存儲(chǔ)器上所存放的程序時(shí),實(shí)現(xiàn)上述任一項(xiàng)技術(shù)方案所述的網(wǎng)頁(yè)篡改檢測(cè)方法的步驟。
29、本發(fā)明的另一技術(shù)方案如下,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述任一項(xiàng)技術(shù)方案所述的網(wǎng)頁(yè)篡改檢測(cè)方法的步驟。
30、本發(fā)明的有益效果在于:獲取網(wǎng)頁(yè)的html代碼、css代碼以及javascript代碼;獲取所述html代碼中標(biāo)簽信息,獲取所述css代碼中的類名信息、顏色信息以及css選擇器信息,構(gòu)建javascript語(yǔ)法樹,獲取所述javascript語(yǔ)法樹中每個(gè)javascript函數(shù)的參數(shù)信息、每個(gè)javascript函數(shù)體內(nèi)的語(yǔ)句信息以及預(yù)設(shè)全局變量的出現(xiàn)次數(shù)信息;根據(jù)所述標(biāo)簽信息、所述類名信息、所述顏色信息、所述css選擇器信息、所述參數(shù)信息、所述語(yǔ)句信息以及所述預(yù)設(shè)全局變量的出現(xiàn)次數(shù)信息,構(gòu)建網(wǎng)頁(yè)的第一特征向量;在時(shí)間范圍內(nèi)每間隔預(yù)設(shè)時(shí)間獲取一次所述第一特征向量,得到多個(gè)第一特征向量,根據(jù)所述多個(gè)第一特征向量確定對(duì)應(yīng)特征的動(dòng)態(tài)閾值范圍;訪問網(wǎng)頁(yè)并獲取第二特征向量,根據(jù)所述第二特征向量的特征處在對(duì)應(yīng)的所述動(dòng)態(tài)閾值范圍之外的比例是否超過預(yù)設(shè)閾值,判斷網(wǎng)頁(yè)是否被篡改;考慮了html、css和javascript的多種特征,更全面地描述了網(wǎng)頁(yè)的本質(zhì)特征,通過綜合的特征提取,能夠更準(zhǔn)確地區(qū)分合法變化和惡意篡改,并且通過動(dòng)態(tài)閾值范圍能夠根據(jù)網(wǎng)頁(yè)在正常運(yùn)行期間的特征變化調(diào)整檢測(cè)閾值,考慮了特征值的分布情況,有效減少了因網(wǎng)頁(yè)正常更新導(dǎo)致的誤報(bào),提高了網(wǎng)頁(yè)篡改檢測(cè)的準(zhǔn)確率,通過訪問網(wǎng)頁(yè)并獲取第二特征向量,根據(jù)第二特征向量的特征處在對(duì)應(yīng)的動(dòng)態(tài)閾值范圍之外的比例是否超過預(yù)設(shè)閾值,判斷網(wǎng)頁(yè)是否被篡改,可以實(shí)時(shí)檢測(cè)網(wǎng)頁(yè)是否被篡改,提高了網(wǎng)頁(yè)篡改檢測(cè)的實(shí)時(shí)性。