麥欣彥 鄭棉煒 張占英



摘要:在信息技術飛速發展的現代,網絡安全越加重要已是未來的趨勢所向。隨著越來越多的人登錄網站、瀏覽網站,判斷網站內容是否真實、是否被篡改成為一大難題。于是網站防篡改監測系統的構建變得極其重要,本文構建了一種基于TF-IDF的防網頁篡改監測系統,用于解決網頁內容被篡改而導致獲得信息不真實的情況。基于TF-IDF的防網頁篡改監測系統通過使用爬蟲技術獲得網頁信息,并對爬蟲獲得的網頁信息進行預處理,接著使用TF-IDF算法將網頁信息量化,計算網頁間的余弦相似度,當相似度低于報警閾值時,系統將對網站管理者發出警報。本系統解決了由于網站管理人員水平的參差不齊以及不同網站管理的難度差異大所造成的網站安全隱患,建立了有效的監測機制,適用于絕大多數網站。在成本和效率上大大的改進了傳統的人工監測網站的方法,有很大的應用前景。
關鍵詞:爬蟲技術;TF-IDF算法;余弦相似度;防網頁篡改監測系統
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.
一、引言
近年來,隨著互聯網行業的高速發展,越來越多的人已經習慣通過訪問一個學校或者公司的官網來了解相關信息。但是由于網站管理人員水平的參差不齊,缺乏有效監測機制,導致網站存在著不同程度的安全隱患。2017年我國開始施行《中華人民共和國網絡安全法》,其中第二十一條明確規定了“國家實行網絡安全等級保護制度,要求網絡運營者應當按照網絡安全等級保護制度要求,履行安全保護義務”,體現了國家對網絡安全這一領域的重視。
對于一個網站來說,最大的風險可能不是服務器宕機或者網站癱瘓,更嚴重的是被黑客非法入侵后篡改網站內容,使其鏈接到廣告、游戲甚至是國外政治敏感站點。對于網站管理者來說,他們迫切需要一個能夠有效監測網頁內容是否被篡改的系統,能夠在占用服務器資源較少的情況下對網頁歷史信息進行比對,并在發現網頁被篡改時進行報警。
目前國內已有不少學者在相關領域進行了研究,儲久良[1]等人采用虛擬化技術,使用開源軟件SNM實現高校網站群監控系統[2],其缺點是在部署的時候相對復雜,需要一定的技術基礎。高新成[3]等人提出了基于.NET的校園站群內容更新監測系統,但是該系統只能運行于Windows平臺,缺少一定的適用性。為了解決上述的問題,不僅需要考慮部署的簡便性,還需要考慮系統能否在各主流平臺上適用,本文提出了一種基于Python Django框架的防網頁篡改監測系統,采用詞袋模型和TF-IDF算法對詞向量進行加權處理,通過計算不同時間段文本向量的相似度,當相似度低于報警閾值時,可通過多種形式對網站管理者發出警告。
二、相關理論
2.1 詞袋模型(Bag of Words)
詞袋模型是一種基礎的特征提取方式,基本原理就是將目標文本看作無數個詞的集合,文本集中所有的詞在目標文本中是否出現可以作為文本的特征,若出現則為1,否則為0。詞袋模型對于一個目標文本可以忽略文本中詞的次序和句子的語法,文本中任意一個詞出現在文本中的任意一個位置,都不會受到其他因素的干擾。利用詞袋模型可以實現從文本中提取特征項形成特征項矩陣被用于文本分類[4]
以“我愛佛山”和“我愛南京”為例,構建的詞袋模型如下:
文本1:我、愛、佛山?文本2:我、愛、南京
對文本1、文本2構造向量如下表1詞袋模型所示:
2.2 TF-IDF算法(Term Frequency–Inverse Document Frequency)
TF-IDF是一種用于信息檢索與數據挖掘的常用加權技術,用于評估字詞對于一個文本集或者一個語料庫中的其中一份文本的重要程度。TF是詞頻(Term Frequent)指的是某個給定詞語的在該文本中出現的頻率,再將其歸一化,防止偏向長的文本。IDF是逆文本頻率指數(Inverse Document Frequency)可以理解為一個詞語普遍重要性的度量[5]。
算法的核心思想:如果特征在文本集中出現的頻率的低,但是在某一類的文本中出現的頻率較高,即也能說明該特征具有較好的類別區分能力,可以賦予較高的權重[6]。
TF表示關鍵詞在整個文本中出現的頻率,計算方式如下:
其中表示該詞在文檔中出現的次數,表示文檔中所有詞匯出現次數的總和。
某一個詞的IDF可以由總文檔數除以包含該詞語的文檔數再取商對數獲得,計算公式為:
TF-IDF的計算方式為:
2.3 余弦相似度
在維空間中,任何向量都可以看成從原點出發指向不同方向的有限線段,任意兩條有向線段之間存在著一個確定的夾角以及夾角的余弦值。余弦相似度就是利用線段間余弦相似度大小來衡量向量差異度的方法[7]。若其夾角余弦值為1,則兩向量差異度最小,若其夾角余弦值為-1,則說明兩向量反向。所以可以通過計算兩個向量之間的夾角余弦值,來評估他們之間的相似度,其計算公式為:
三、防網頁篡改監測系統的構建
防網頁篡改監測系統主要由以下幾個部分構成。
3.1 網頁文本信息獲取
通過調用Python的Requests庫,獲取指定網頁的文本信息,作為下一步驟的文本輸入。
3.2?提取文本特征
該過程主要由2個步驟組成:
1、文本預處理:使用正則表達式,對原始輸入文本中的無意義的符號進行去除。
2、分詞,構建詞庫:使用Python中的Jieba分詞庫,對預處理后的文本進行分詞,取分詞后出現次數前20的的關鍵詞作為這個輸入文本的語料庫。
3.3?計算相似度
1、將兩個不同時間提取文本特征得到的語料庫,合并成一個新的語料庫,基于得到的語料庫,通過TF-IDF算法生成兩段文本的詞頻向量。
2、計算兩個詞頻向量之間的余弦相似度,相似度越接近1,說明網頁文本內容越接近,沒有被惡意篡改。
3.4?敏感詞監測系統
中文互聯網上有許多敏感詞,為此我們收集了部分敏感詞繪制為表2部分敏感詞表,當原始文本輸入文本中出現該敏感詞,將觸發報警機制。
3.5?報警機制
該系統具有多種報警機制,可以本系統可通過微信、短信、郵箱、電話等多種方式進行報警,確保網站管理員第一時間收到報警信息。
四、實驗驗證
4.1?實驗平臺
本文實現的防網頁篡改監測腳本在以下平臺進行實驗,CPU:Intel Core i5 8300H,內存:DDR4 16G,硬盤:固態硬盤240G,操作系統:Windows10,開發環境:Python3.8.3、Django2.2。
4.2?實驗流程
按照圖1監測系統流程圖中的步驟進行實現驗證,將輸入的文本信息進行實時監測達到網頁防篡改監測的目的。
4.3?實驗方法
本文以佛山科學技術學院官網(https://www.fosu.edu.cn/)作為測試對象,通過手動篡改的方式,對網站的文本內容進行不同程度的篡改,下表3篡改內容表是對內容進行篡改的詳情。
實驗時,開啟腳本監測,然后爬取佛山科學技術學院官網網頁源碼,統計出出現次數前20的文本信息,繪制詞頻圖如上圖2 未篡改的佛山科學技術學院官網詞頻圖所示。接著,將導航欄文字內容中的“學校”篡改為“學院”,繪制詞頻圖如下圖3篡改內容后的佛山科學技術學院官網詞頻圖所示。之后,將所得詞使用TF-IDF算法向量化,進行余弦相似度計算。結果發現當篡改導航欄文字內容后,原網頁與篡改的網頁之間的余弦相似度產生變化,腳本能敏銳監測到這種變化,從而發出警報。
設定軟件監測的間隔為3分鐘,腳本啟動后每3分鐘會對網頁進行一次監測,計算與3分鐘前網頁的余弦相似度。當相似度低于0.98(按照經驗設置)或監測到敏感詞時,會觸發報警系統,通過多種方式對網站管理員進行報警。
4.3?實驗結果
按照實驗結果,可以將相似度閾值定為0.98,當兩文本計算得到的余弦相似度低于該閾值時,可以判定為網頁發生了篡改行為,對管理員及時進行示警。同時,實驗結果表面對頁面部分微小變化還是比較靈敏的,在不占據大量系統資源的前提下,具備不錯的實用性。
五、結語
國家《網絡安全法》的推出,體現了國家對網絡安全這一領域的重視程度。近年來,門戶網站成為了人民群眾了解黨政部門的重要途徑之一,而黨政部門網站頻繁遭受篡改,信息泄露等風險。本文通過網站被篡改的特征,構建了一種基于TF-IDF的防網頁篡改監測系統,能夠有效監測網頁文本內容被篡改。當檢測到網站內容被篡改或者出現敏感詞時,能夠及時通過多種方式提醒網站管理員,確保網站的正常使用。
參考文獻
[1]儲久良,李玲.虛擬化技術在高校數據中心的應用[J]. 實驗室研究與探索,2012.
[2]王寧邦,徐博.基于爬蟲和網頁防篡改的高校門戶網站群預警監控系統構建[J].云南民族大學學報(自然科學版),2019.
[3]高新成,王燕,王蔚龍.基于.NET和MVC的校園網絡管理協作辦公系統[J].齊齊哈爾大學學報(自然科學版),2012.
[4]黃春梅.王松磊.基于詞袋模型和TF-IDF的短文本分類研究[J]?.軟件工程師, 2020.
[5]任世超.基于機器學習的文本分類算法研究[D].成都信息工程大學,2019.
[6] 但唐朋,許天成,張姝涵.基于改進TF-IDF特征的中文文本分類系統[J].計算機與數字工程,2020.
[7]李虹,王子文.基于余弦相似度的多能互補園區供能分區規劃[J].電力科學與工程,2020
作者簡介:張占英,男,佛山科學技術學院數學與大數據學院,講師,主要從事自然語言處理與人工智能的相關研究
麥欣彥, 男,佛山科學技術學院數學與大數據學院,學生
鄭棉煒,男,佛山科學技術學院數學與大數據學院,學生
(佛山科學技術學院 數學與大數據學院?廣東?佛山?528000)