麥欣彥 鄭棉煒 張占英
摘要:在信息技術(shù)飛速發(fā)展的現(xiàn)代,網(wǎng)絡(luò)安全越加重要已是未來的趨勢所向。隨著越來越多的人登錄網(wǎng)站、瀏覽網(wǎng)站,判斷網(wǎng)站內(nèi)容是否真實、是否被篡改成為一大難題。于是網(wǎng)站防篡改監(jiān)測系統(tǒng)的構(gòu)建變得極其重要,本文構(gòu)建了一種基于TF-IDF的防網(wǎng)頁篡改監(jiān)測系統(tǒng),用于解決網(wǎng)頁內(nèi)容被篡改而導(dǎo)致獲得信息不真實的情況?;赥F-IDF的防網(wǎng)頁篡改監(jiān)測系統(tǒng)通過使用爬蟲技術(shù)獲得網(wǎng)頁信息,并對爬蟲獲得的網(wǎng)頁信息進(jìn)行預(yù)處理,接著使用TF-IDF算法將網(wǎng)頁信息量化,計算網(wǎng)頁間的余弦相似度,當(dāng)相似度低于報警閾值時,系統(tǒng)將對網(wǎng)站管理者發(fā)出警報。本系統(tǒng)解決了由于網(wǎng)站管理人員水平的參差不齊以及不同網(wǎng)站管理的難度差異大所造成的網(wǎng)站安全隱患,建立了有效的監(jiān)測機制,適用于絕大多數(shù)網(wǎng)站。在成本和效率上大大的改進(jìn)了傳統(tǒng)的人工監(jiān)測網(wǎng)站的方法,有很大的應(yīng)用前景。
關(guān)鍵詞:爬蟲技術(shù);TF-IDF算法;余弦相似度;防網(wǎng)頁篡改監(jiān)測系統(tǒng)
Abstract:In the modern era of rapid development of information technology, the increasing importance of network security is the future trend. As more and more people log on and browse the website, judging whether the content of the website is authentic and whether it has been tampered with has become a major problem. Therefore, the construction of an anti-tampering monitoring system for websites has become extremely important. This article constructs a TF-IDF-based anti-tampering monitoring system for web pages to solve the problem of untrue information obtained due to tampering of web content. The TF-IDF-based anti-tampering monitoring system for web pages obtains web page information by using crawler technology, and preprocesses the web page information obtained by the crawler, and then uses the TF-IDF algorithm to quantify the web page information and calculate the cosine similarity between web pages. When the degree is lower than the alarm threshold, the system will issue an alarm to the site manager. This system solves the hidden dangers of website security caused by the unevenness of the level of website management personnel and the large differences in the difficulty of different website management, and establishes an effective monitoring mechanism, which is suitable for most websites. It has greatly improved the traditional website monitoring method in terms of cost and efficiency, and has great application prospects.
Keywords: crawler technology, TF-IDF algorithm, cosine similarity, anti-tampering monitoring system.
一、引言
近年來,隨著互聯(lián)網(wǎng)行業(yè)的高速發(fā)展,越來越多的人已經(jīng)習(xí)慣通過訪問一個學(xué)?;蛘吖镜墓倬W(wǎng)來了解相關(guān)信息。但是由于網(wǎng)站管理人員水平的參差不齊,缺乏有效監(jiān)測機制,導(dǎo)致網(wǎng)站存在著不同程度的安全隱患。2017年我國開始施行《中華人民共和國網(wǎng)絡(luò)安全法》,其中第二十一條明確規(guī)定了“國家實行網(wǎng)絡(luò)安全等級保護(hù)制度,要求網(wǎng)絡(luò)運營者應(yīng)當(dāng)按照網(wǎng)絡(luò)安全等級保護(hù)制度要求,履行安全保護(hù)義務(wù)”,體現(xiàn)了國家對網(wǎng)絡(luò)安全這一領(lǐng)域的重視。
對于一個網(wǎng)站來說,最大的風(fēng)險可能不是服務(wù)器宕機或者網(wǎng)站癱瘓,更嚴(yán)重的是被黑客非法入侵后篡改網(wǎng)站內(nèi)容,使其鏈接到廣告、游戲甚至是國外政治敏感站點。對于網(wǎng)站管理者來說,他們迫切需要一個能夠有效監(jiān)測網(wǎng)頁內(nèi)容是否被篡改的系統(tǒng),能夠在占用服務(wù)器資源較少的情況下對網(wǎng)頁歷史信息進(jìn)行比對,并在發(fā)現(xiàn)網(wǎng)頁被篡改時進(jìn)行報警。
目前國內(nèi)已有不少學(xué)者在相關(guān)領(lǐng)域進(jìn)行了研究,儲久良[1]等人采用虛擬化技術(shù),使用開源軟件SNM實現(xiàn)高校網(wǎng)站群監(jiān)控系統(tǒng)[2],其缺點是在部署的時候相對復(fù)雜,需要一定的技術(shù)基礎(chǔ)。高新成[3]等人提出了基于.NET的校園站群內(nèi)容更新監(jiān)測系統(tǒng),但是該系統(tǒng)只能運行于Windows平臺,缺少一定的適用性。為了解決上述的問題,不僅需要考慮部署的簡便性,還需要考慮系統(tǒng)能否在各主流平臺上適用,本文提出了一種基于Python Django框架的防網(wǎng)頁篡改監(jiān)測系統(tǒng),采用詞袋模型和TF-IDF算法對詞向量進(jìn)行加權(quán)處理,通過計算不同時間段文本向量的相似度,當(dāng)相似度低于報警閾值時,可通過多種形式對網(wǎng)站管理者發(fā)出警告。
二、相關(guān)理論
2.1 詞袋模型(Bag of Words)
詞袋模型是一種基礎(chǔ)的特征提取方式,基本原理就是將目標(biāo)文本看作無數(shù)個詞的集合,文本集中所有的詞在目標(biāo)文本中是否出現(xiàn)可以作為文本的特征,若出現(xiàn)則為1,否則為0。詞袋模型對于一個目標(biāo)文本可以忽略文本中詞的次序和句子的語法,文本中任意一個詞出現(xiàn)在文本中的任意一個位置,都不會受到其他因素的干擾。利用詞袋模型可以實現(xiàn)從文本中提取特征項形成特征項矩陣被用于文本分類[4]
以“我愛佛山”和“我愛南京”為例,構(gòu)建的詞袋模型如下:
文本1:我、愛、佛山?文本2:我、愛、南京
對文本1、文本2構(gòu)造向量如下表1詞袋模型所示:
2.2 TF-IDF算法(Term Frequency–Inverse Document Frequency)
TF-IDF是一種用于信息檢索與數(shù)據(jù)挖掘的常用加權(quán)技術(shù),用于評估字詞對于一個文本集或者一個語料庫中的其中一份文本的重要程度。TF是詞頻(Term Frequent)指的是某個給定詞語的在該文本中出現(xiàn)的頻率,再將其歸一化,防止偏向長的文本。IDF是逆文本頻率指數(shù)(Inverse Document Frequency)可以理解為一個詞語普遍重要性的度量[5]。
算法的核心思想:如果特征在文本集中出現(xiàn)的頻率的低,但是在某一類的文本中出現(xiàn)的頻率較高,即也能說明該特征具有較好的類別區(qū)分能力,可以賦予較高的權(quán)重[6]。
TF表示關(guān)鍵詞在整個文本中出現(xiàn)的頻率,計算方式如下:
其中表示該詞在文檔中出現(xiàn)的次數(shù),表示文檔中所有詞匯出現(xiàn)次數(shù)的總和。
某一個詞的IDF可以由總文檔數(shù)除以包含該詞語的文檔數(shù)再取商對數(shù)獲得,計算公式為:
TF-IDF的計算方式為:
2.3 余弦相似度
在維空間中,任何向量都可以看成從原點出發(fā)指向不同方向的有限線段,任意兩條有向線段之間存在著一個確定的夾角以及夾角的余弦值。余弦相似度就是利用線段間余弦相似度大小來衡量向量差異度的方法[7]。若其夾角余弦值為1,則兩向量差異度最小,若其夾角余弦值為-1,則說明兩向量反向。所以可以通過計算兩個向量之間的夾角余弦值,來評估他們之間的相似度,其計算公式為:
三、防網(wǎng)頁篡改監(jiān)測系統(tǒng)的構(gòu)建
防網(wǎng)頁篡改監(jiān)測系統(tǒng)主要由以下幾個部分構(gòu)成。
3.1 網(wǎng)頁文本信息獲取
通過調(diào)用Python的Requests庫,獲取指定網(wǎng)頁的文本信息,作為下一步驟的文本輸入。
3.2?提取文本特征
該過程主要由2個步驟組成:
1、文本預(yù)處理:使用正則表達(dá)式,對原始輸入文本中的無意義的符號進(jìn)行去除。
2、分詞,構(gòu)建詞庫:使用Python中的Jieba分詞庫,對預(yù)處理后的文本進(jìn)行分詞,取分詞后出現(xiàn)次數(shù)前20的的關(guān)鍵詞作為這個輸入文本的語料庫。
3.3?計算相似度
1、將兩個不同時間提取文本特征得到的語料庫,合并成一個新的語料庫,基于得到的語料庫,通過TF-IDF算法生成兩段文本的詞頻向量。
2、計算兩個詞頻向量之間的余弦相似度,相似度越接近1,說明網(wǎng)頁文本內(nèi)容越接近,沒有被惡意篡改。
3.4?敏感詞監(jiān)測系統(tǒng)
中文互聯(lián)網(wǎng)上有許多敏感詞,為此我們收集了部分敏感詞繪制為表2部分敏感詞表,當(dāng)原始文本輸入文本中出現(xiàn)該敏感詞,將觸發(fā)報警機制。
3.5?報警機制
該系統(tǒng)具有多種報警機制,可以本系統(tǒng)可通過微信、短信、郵箱、電話等多種方式進(jìn)行報警,確保網(wǎng)站管理員第一時間收到報警信息。
四、實驗驗證
4.1?實驗平臺
本文實現(xiàn)的防網(wǎng)頁篡改監(jiān)測腳本在以下平臺進(jìn)行實驗,CPU:Intel Core i5 8300H,內(nèi)存:DDR4 16G,硬盤:固態(tài)硬盤240G,操作系統(tǒng):Windows10,開發(fā)環(huán)境:Python3.8.3、Django2.2。
4.2?實驗流程
按照圖1監(jiān)測系統(tǒng)流程圖中的步驟進(jìn)行實現(xiàn)驗證,將輸入的文本信息進(jìn)行實時監(jiān)測達(dá)到網(wǎng)頁防篡改監(jiān)測的目的。
4.3?實驗方法
本文以佛山科學(xué)技術(shù)學(xué)院官網(wǎng)(https://www.fosu.edu.cn/)作為測試對象,通過手動篡改的方式,對網(wǎng)站的文本內(nèi)容進(jìn)行不同程度的篡改,下表3篡改內(nèi)容表是對內(nèi)容進(jìn)行篡改的詳情。
實驗時,開啟腳本監(jiān)測,然后爬取佛山科學(xué)技術(shù)學(xué)院官網(wǎng)網(wǎng)頁源碼,統(tǒng)計出出現(xiàn)次數(shù)前20的文本信息,繪制詞頻圖如上圖2 未篡改的佛山科學(xué)技術(shù)學(xué)院官網(wǎng)詞頻圖所示。接著,將導(dǎo)航欄文字內(nèi)容中的“學(xué)?!贝鄹臑椤皩W(xué)院”,繪制詞頻圖如下圖3篡改內(nèi)容后的佛山科學(xué)技術(shù)學(xué)院官網(wǎng)詞頻圖所示。之后,將所得詞使用TF-IDF算法向量化,進(jìn)行余弦相似度計算。結(jié)果發(fā)現(xiàn)當(dāng)篡改導(dǎo)航欄文字內(nèi)容后,原網(wǎng)頁與篡改的網(wǎng)頁之間的余弦相似度產(chǎn)生變化,腳本能敏銳監(jiān)測到這種變化,從而發(fā)出警報。
設(shè)定軟件監(jiān)測的間隔為3分鐘,腳本啟動后每3分鐘會對網(wǎng)頁進(jìn)行一次監(jiān)測,計算與3分鐘前網(wǎng)頁的余弦相似度。當(dāng)相似度低于0.98(按照經(jīng)驗設(shè)置)或監(jiān)測到敏感詞時,會觸發(fā)報警系統(tǒng),通過多種方式對網(wǎng)站管理員進(jìn)行報警。
4.3?實驗結(jié)果
按照實驗結(jié)果,可以將相似度閾值定為0.98,當(dāng)兩文本計算得到的余弦相似度低于該閾值時,可以判定為網(wǎng)頁發(fā)生了篡改行為,對管理員及時進(jìn)行示警。同時,實驗結(jié)果表面對頁面部分微小變化還是比較靈敏的,在不占據(jù)大量系統(tǒng)資源的前提下,具備不錯的實用性。
五、結(jié)語
國家《網(wǎng)絡(luò)安全法》的推出,體現(xiàn)了國家對網(wǎng)絡(luò)安全這一領(lǐng)域的重視程度。近年來,門戶網(wǎng)站成為了人民群眾了解黨政部門的重要途徑之一,而黨政部門網(wǎng)站頻繁遭受篡改,信息泄露等風(fēng)險。本文通過網(wǎng)站被篡改的特征,構(gòu)建了一種基于TF-IDF的防網(wǎng)頁篡改監(jiān)測系統(tǒng),能夠有效監(jiān)測網(wǎng)頁文本內(nèi)容被篡改。當(dāng)檢測到網(wǎng)站內(nèi)容被篡改或者出現(xiàn)敏感詞時,能夠及時通過多種方式提醒網(wǎng)站管理員,確保網(wǎng)站的正常使用。
參考文獻(xiàn)
[1]儲久良,李玲.虛擬化技術(shù)在高校數(shù)據(jù)中心的應(yīng)用[J]. 實驗室研究與探索,2012.
[2]王寧邦,徐博.基于爬蟲和網(wǎng)頁防篡改的高校門戶網(wǎng)站群預(yù)警監(jiān)控系統(tǒng)構(gòu)建[J].云南民族大學(xué)學(xué)報(自然科學(xué)版),2019.
[3]高新成,王燕,王蔚龍.基于.NET和MVC的校園網(wǎng)絡(luò)管理協(xié)作辦公系統(tǒng)[J].齊齊哈爾大學(xué)學(xué)報(自然科學(xué)版),2012.
[4]黃春梅.王松磊.基于詞袋模型和TF-IDF的短文本分類研究[J]?.軟件工程師, 2020.
[5]任世超.基于機器學(xué)習(xí)的文本分類算法研究[D].成都信息工程大學(xué),2019.
[6] 但唐朋,許天成,張姝涵.基于改進(jìn)TF-IDF特征的中文文本分類系統(tǒng)[J].計算機與數(shù)字工程,2020.
[7]李虹,王子文.基于余弦相似度的多能互補園區(qū)供能分區(qū)規(guī)劃[J].電力科學(xué)與工程,2020
作者簡介:張占英,男,佛山科學(xué)技術(shù)學(xué)院數(shù)學(xué)與大數(shù)據(jù)學(xué)院,講師,主要從事自然語言處理與人工智能的相關(guān)研究
麥欣彥, 男,佛山科學(xué)技術(shù)學(xué)院數(shù)學(xué)與大數(shù)據(jù)學(xué)院,學(xué)生
鄭棉煒,男,佛山科學(xué)技術(shù)學(xué)院數(shù)學(xué)與大數(shù)據(jù)學(xué)院,學(xué)生
(佛山科學(xué)技術(shù)學(xué)院 數(shù)學(xué)與大數(shù)據(jù)學(xué)院?廣東?佛山?528000)