王丹 鄧謙 劉姣
摘 要 高校在實現智慧化的同時也面臨著網站發(fā)布信息或網頁內容被黑客篡改成不符合國家或學校規(guī)定的信息及內容。通過對已有學術研究發(fā)現,現有技術的研究普遍存在著效率低、實時性差的問題,本文提出了一種基于Spark Streaming的高校網站敏感信息監(jiān)測系統(tǒng)。該系統(tǒng)利用Kafka作為中間存儲,系統(tǒng)架構在Spark Streaming框架上可實時消費Kafka中數據進行鏈接解析處理,將獲取到的網頁內容存儲到Elastic Search中進行倒排索引敏感信息匹配,從而達到數據采集和數據處理同步,提高了網站監(jiān)測效率。
關鍵詞 Spark Streaming Kafka Elastic Search 敏感信息監(jiān)測 倒排索引
中圖分類號:TP311 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A ? DOI:10.16400/j.cnki.kjdkz.2021.02.017
Design and Implementation of University Website Sensitive
Information Monitoring Based on Spark Streaming
WANG Dan, DENG Qian, LIU Jiao
(Information Construction and Management Office of Jiangsu University of Science and Technology, Zhenjiang, Jiangsu 212000)
Abstract While realizing intelligence, colleges and universities are also facing the fact that the information published on the website or the content of the webpage is tampered with by hackers into information and content that does not comply with the national or school regulations. Through the existing academic research, it is found that the existing technology research generally has the problems of low efficiency and poor real-time performance. This paper proposes a sensitive information monitoring system for college websites based on Spark Streaming. The system uses Kafka as an intermediate storage. The system architecture can consume data in Kafka in real time on the Spark Streaming framework for link resolution processing, and store the obtained web page content in Elastic Search for inverted index sensitive information matching, so as to achieve data collection and data processing synchronization improves the efficiency of website monitoring.
Keywords Spark Streaming; Kafka; Elastic Search; sensitive information monitoring; inverted index
0 引言
隨著信息技術不斷的飛速發(fā)展,高校的信息化需求也在不斷增加,傳統(tǒng)高校逐漸向智慧信息化校園演進。高校作為一個重要的信息化載體,內部網站很容易遭到黑客攻擊以植入非法信息,校內各部門發(fā)布的文件信息中也可能包含不符合國家或者學校規(guī)定的相關信息。[1]
隨著智慧校園的不斷完善,網絡信息安全性的重要性越來越凸顯,但因高校網站架構與管理方法不統(tǒng)一,網站信息繁雜,導致很難做到網站信息全量監(jiān)管。本文主要研究建立一種高校網站敏感信息監(jiān)測系統(tǒng),通過從海量數據中偵測敏感信息并及時通知相關網站管理人員,從而有效避免非法信息的傳播,維護高校網絡安全。
1 敏感信息監(jiān)測系統(tǒng)設計
高校網站眾多,傳統(tǒng)數據采集對網絡帶寬要求較高,[2]為保證網站鏈接爬取及敏感信息匹配不影響師生網站的正常使用,本文采用分布式批量處理方式。在Hadoop[3]分布式框架上定時抓取網站鏈接,將抓取到的鏈接存儲到Kafka[4]消息隊列中,網頁解析和敏感信息匹配架構在Spark Streaming[5][6]框架上,實時從Kafka消息隊列中讀取消息,批量處理解析數據和匹配敏感信息。
敏感信息匹配系統(tǒng)如圖1所示,主要包括高校網頁信息采集模塊、基于Spark Streaming 網頁解析模塊、基于Spark Streaming和Elastic Search[7]的敏感信息匹配模塊。
信息采集模塊主要負責從高校各個網站上抓取網頁鏈接并在抓取鏈接時,使用布隆過濾器進行去重處理,避免重復抓取鏈接。Kafka消息隊列支持實時分批處理數據,將去重后鏈接對應的域名計算成哈希值作為Key值進行分配存儲到Kafka消息隊列中,同時將鏈接存儲到Mongodb數據庫中。
網頁解析模塊從Kafka消息中實時讀取鏈接進行批量處理,通過鏈接獲取頁面,對頁面內容進行解析。獲取頁面
標簽內的內容,使用正則表達式匹配標簽內是否含有鏈接并對獲取到的內容去除標簽。如果含有鏈接,對存在鏈接網頁進行相同處理。將去標簽后的文本內容、對應鏈接和鏈接對應的域名存儲到Elastic Search中。敏感信息匹配模塊負責匹配處理后的網頁是否包含敏感信息和發(fā)送敏感信息消息。從數據庫中讀取敏感信息和網站管理員信息,使用倒排索引算法從Elastic Search中搜索匹配包含敏感信息的網頁,如果匹配到敏感信息,將敏感信息處理成可發(fā)送信息及相應的鏈接發(fā)送給網站管理員。
2 敏感信息監(jiān)測系統(tǒng)實現
2.1 高校網頁信息采集模塊
為避免影響工作時間的網站使用,本文采用定時任務在非工作時間進行分布式爬取。網頁爬取采用主題式深度網頁爬取,因高校網頁分布范圍廣且數目多,為了快速爬取到更多網頁信息,設計了一個分布式網絡爬蟲,將網絡爬蟲搭建在Hadoop分布式系統(tǒng)上,該分布式集群上包含有一個控制節(jié)點和若干個工作節(jié)點,其中控制節(jié)點用于分配爬取任務和監(jiān)控爬取任務進行的情況,工作節(jié)點根據任務分配情況啟動并執(zhí)行信息爬取。
爬取到的鏈接存在大量的冗余,采用布隆過濾器對獲取到的鏈接進行過濾。中間存儲使用了Kafka,Kafka是一個生產者和消費者機制,相同Key值會被分配到同一個分區(qū),而且消費者也可以指定讀取分區(qū),這樣有利于迅速找到對應網站聯系人,并且當消息丟失時Kafka可以進行數據回滾。[8]將去重后的鏈接按照
2.2 網頁解析模塊
網頁解析模塊是為了便于敏感信息匹配對網頁內容數據預處理獲取網頁內容。因高校網頁較多,網頁解析基于Spark Streaming框架實現。當采集網頁信息時不斷的向Kafka中存儲消息,而Spark Streaming框架可以實時處理數據流,對接收的數據進行分批處理。從Kafka中消費消息獲得高校網頁的鏈接,使用HtmlParse對網頁信息進行解析獲取網頁內容。網頁解析算法如下:
2.3 敏感信息匹配模塊
高校頁面數據較多,本文通過使用Elastic Search倒排索引方法進行敏感信息匹配。網頁解析獲取到的網頁內容,對網頁內容進行個人相關敏感信息匹配,例如身份證、電話號碼等。若匹配到敏感信息,則對敏感信息添加不規(guī)則字符插入進行脫敏,將脫敏后的敏感信息及對應鏈接給網站管理人員,否則存儲內容及對應鏈接到Elastic Search中。在存儲到Elastic Search時,使用Elastic Search中的中文分詞器將存儲信息切分成一個個詞,多個詞組成了單詞字典,對每個詞創(chuàng)建索引,同時將解析內容對應的鏈接作為倒排項,倒排項組成倒排列表。從敏感信息庫中讀取敏感詞,使用敏感詞進行搜索,如果搜索敏感詞成功,從倒排列表中獲取敏感信息所在的所有文檔信息及敏感信息在該文檔出現的位置信息,將敏感信息進行脫敏處理,讀取網站對應管理員信息將脫敏后的信息及對應的鏈接發(fā)送到管理員郵箱中,同時將相應的信息存儲到數據庫中。
3 系統(tǒng)運行與結果分析
本系統(tǒng)運行在CentOS7,64位,服務器需提供高性能計算和大內容存儲空間來滿足對學校網站網頁URL高并發(fā)爬蟲,因此,服務器CPU采用16核心,內存空間采用32G,硬盤1T,數據庫為MongoDB和MySQL。
通過對學校各網站網頁采集、預處理、解析網頁內容、分詞存儲搜索獲取到帶有敏感信息網頁,及時將敏感網頁地址及內容脫敏處理告知網站管理員,及時解決問題,有效地提高學校輿情監(jiān)管。本系統(tǒng)將國家、高校及個人相關敏感信息進行分析存儲,對學校各網站進行敏感信息監(jiān)控,監(jiān)控過程中匹配獲取個人信息身份證號碼,手機號碼相關敏感信息的概率高于其他敏感信息。
4 結論
通過對智慧化校園建設及校園安全性的研究發(fā)現,因高校網站過多,普通的網絡爬蟲和敏感信息匹配無法滿足目前高效率需求。通過對分布式爬蟲、Kafka消息隊列、Spark Streaming實時數據框架和Elastic Search倒排索引搜索的研究發(fā)現,利用這些組合技術實現高校網站敏感信息監(jiān)測系統(tǒng)可以高效、準確的對網站敏感信息進行監(jiān)測,防止敏感信息大量的擴散。
參考文獻
[1] 錢紅兵,李艷麗,張蕊.WebCollector和ElasticSearch在高校網站群敏感詞檢測中的應用研究[J].電子設計工程,2019,27(24):11-14,19.
[2] 陳立章,李斌,陳曉鵬.高校BBS輿情監(jiān)測系統(tǒng)設計與實現[J].微處理機,2012(01):40-43.
[3] 鄭博文.基于Hadoop的分布式網絡爬蟲技術[D].哈爾濱工業(yè)大學.
[4] Nishant Garg.Apache Kafka[M].Packt Publishing,2013.
[5] HoldenKarau.Spark快速大數據分析:lightning-fast big data analytics[M]//Spark快速大數據分析:lightning-fast big data analytics.人民郵電出版社,2015.
[6] 趙秭沐.基于Storm的大數據實時處理架構的設計與實現[D].
[7] Clinton Gormley.Elasticsearch: The Definitive Guide[J].Orlly Media,2015.
[8] 任培花,蘇銘.基于Kafka和Storm的車輛套牌實時分析存儲系統(tǒng)[J].計算機系統(tǒng)應用,2019,第28卷(10):74-79.