王利鑫, 耿煥同, 孫 凱, 張 茜
(南京信息工程大學計算機與軟件學院,江蘇南京210044)
信息的生產、存儲、獲取、共享以及傳播已越來越方便,但與此同時,信息泄密隨著信息化程度的提高而日益加劇。近年來,各級黨政機關門戶網站普及的同時,非法披露國家秘密信息事件呈上升趨勢,在泄密事件中所占比例也迅速攀升,信息公開的同時導致了信息的泄密[1]。在各種信息安全威脅所造成的損失中,企業和政府機構因重要信息被泄密所造成的損失排第一位。所以,信息泄密檢測已成為一項十分艱巨而重要的任務。目前針對各級黨政機關網站的信息泄密檢測主要采用人工檢測方式,效率低、安全性差。主要原因有3點:一是網絡信息量大。工作人員需訪問大量網頁,下載大量文檔逐一查看比較,通過人工判斷是否存在涉密信息。二是泄密程度存在差異。泄密一般可分為全文與部分泄密。全文泄密檢測相對容易,部分泄密的檢測則難度高、工作量大。原因是泄密部分可能是涉密原文的部分段落,或是調整順序的段落,或是調整語序的段落,或是對某些段落的合并、擴充、壓縮等情況,更有甚者僅僅為涉密原文的某些語句。工作人員在檢測時需逐段逐句的進行比較并定位疑似泄密信息,否則會出現漏檢。三是安全性差,易造成二次泄密。由于人工檢測需查看涉密文件,為信息的泄密多了一份可能與危險。針對以上問題,提出了一種基于自然語言處理的文本泄密自動檢測技術,實驗結果證明該方法是有效可行的。
網絡是巨大的數據庫,同時也是信息泄密的重要渠道,從Internet或Intranet上獲取信息,查看其是否含有涉密信息。目前人們主要通過人為打開網頁或下載相關文檔進行逐一查閱,費時費力,效率低。利用Web信息抽取技術[2](web information extraction),就是從Web頁面中所包含的無結構化或者半結構化的信息中識別用戶所感興趣的信息數據,并將其轉化為結構和語義更加清晰的數據格式。論文仍采用原先提出的一種基于視覺分塊的Web信息抽取方法[3],自動抽取相關網站的信息。
在此基礎上,又對具體網頁進行深層抽取,即對某一具體網頁的文本內容進行抽取。首先獲得初次抽取的網頁的網址集合,然后分析某具體網頁源文件,最后采用基于正則表達式的方法自動將網頁中的文本內容抽取出來,將此文本內容用作泄密檢測的數據來源。
中文分詞是漢語自然語言處理的第一步,也是最重要的環節。在中文信息處理中,信息檢索、抽取、Web文本挖掘、文本分類等都主要以中文分詞為基礎。文中主要是利用中文分詞技術,對文本進行分詞,在分詞的基礎上,去除停用詞,為相似度計算做好準備。
由于泄密檢測的涉密文件,為防止其二次泄密,需對涉密文本進行加密;且保證加密過程不可逆,確保無法從加密后密文再得到明文,這樣就很好地保證了涉密文件在泄密檢測中的安全性。著名的MD5算法可以很好地滿足加密要求。MD5算法[4]是由美國教授RonaldRivest于1992年對MD4做改進的基礎上提出的HASH算法,就是把一個任意長度的字節串變換成一定長的大整數,并且是不可逆的字符串變換算法。
論文是利用MD5較好的安全性、不可逆性,對分詞后的文本逐個詞加密,每個不同的詞加密后得到唯一的MD5信息摘要,相同的詞必得到相同的信息摘要,這樣保證加密后不影響比較結果。
相似度定義:A與B之間的相似度一方面與它們的共性相關,共性越多,相似度越高;另一方面與它們的區別相關,區別越大,相似度越低;當A與B完全相同時,相似度達到最大值。對于文本相似度的度量一般將其定義在[0,1]范圍內,0值最小,表示完全不相似,1值最大,表示兩者相同。
計算文本的相似度算法主要有基于馬爾科夫模型[5]、基于屬性輪[6]、基于語義理解[7-9]、基于向量空間模型[10-13]等幾種經典的算法。論文采用的是基于向量空間模型的文本相似度算法。
向量空間模型(vector space model,VSM)是近年來使用較多且效果較好的一種模型。在VSM中,將文本看作由相互獨立的詞條組(T1,T2,…,Tn)構成,對于每個詞條Ti,統計其個數,計算其詞頻,得到i詞條在整個文本中所占的權重Wi,文本間的相似度就可以轉化為向量之間夾角的余弦值來表示,夾角越小,表示越相似,對應的相似度值(余弦值)也就越大。需比較的兩篇文檔為P1,P2,相似度計算公式如下

(1)對待比較的文檔P1與P2進行自然分段,對每段進行分詞、去除停用詞等預處理,并計算每段中詞的權重;
(2)設定一個閾值(論文中設為0.5),將待檢測的文檔P1的段落P1i(i為P1的段落數)與P2中的所有自然段利用式(1)計算相似度Sim,當Sim大于設定的閾值時,則記錄P2的段落數以及對應的相似度值,否則跳到步驟3;
(3)重復步驟2,直至P1中所有的段落與P2中的段落比較完成;
(4)統計記錄的段落數,并進行標記,得到相似段落;
泄密檢測系統主要有4方面工作:一是文本信息源的獲取(信息抽取),二是文本信息預處理(中文分詞、文本加密等),三是相似度計算,四是基于自然段落的相似度計算。其模型與流程如圖1所示。

圖1 系統模型與流程
(1)對涉密文本A預處理,包括:中文分詞、MD5加密得到每個詞的密文,并計算每個密文的權重Wi(i為某詞條);
(2)提供需檢測的網站網址,利用基于視覺分塊的Web信息抽取方法,得到一組列表網頁的網址集合H;
(3)在步驟2的基礎上,獲得網址Hj,分析該網頁的源文件,自動獲取網頁中文本內容Bj(j為某網頁);
(4)對步驟3中獲取的文本內容進行預處理,包括:中文分詞、MD5加密得到第j篇文本分詞后每個詞的密文,計算每個密文的權重Wk(k為某詞條);
(5)利用式(1),計算文本A與文本Bi的段落相似度Sim;
(6)重復步驟(3~5),得到文本A與文本集合B的相似度集合AllSim;
(7)根據設定的閾值,當AllSimj>0.5時,則認為第j網頁泄密;否則進入步驟8;
(8)為了防止漏檢,對涉密文本A與待檢測的網頁文本Bm(AllSimm<0.5)進行自然分段,采用基于自然段落的相似度比較方法,計算段落間的相似度,當相似度值大于閾值時,則認為段落相似;
(9)重復步驟8,直至所有小于閾值的文本比較完成,得到相似段落;
為了驗證方法的可行性以及算法的正確性,設計了一篇文檔test1.txt,由南京信息工程大學網站信息公告的最近50篇公告中的30篇內容組成,其中包括整段復制、部分段落復制、調換段落中語句順序、調換段落順序、對某些段落擴充或者壓縮等多種情況,從而達到驗證的目的。圖2為文檔與50篇信息公告初次比較的效果,粒度較大。所顯示的網頁為南京信息工程大學信息公告第24篇,與test1.txt相似度為0.96121,大于設定閾值0.5,直接判定該網頁泄密。系統能定位到該網頁,方面工作人員查看以及做好泄密報告。其中“B59CE2C0BB5 AAA86AB8B87C4EEA5EA79”為某一字符串加密后的密文,“【】”為分隔符,“0.00299”是其在文中所占的權重。

圖2 初次比較結果
對于相似度值小于閾值的網頁,也有可能存在泄密的信息。為了防止漏檢,需對其進一步的檢測。圖3是根據初次比較結果,細化比較粒度,采用基于自然段落的相似度比較算法進行檢測,設定閾值為0.5。為了顯示比較的效果,所以將涉密文件以明文來顯示。

圖3 基于段落相似度比較
圖3中,左側文檔1為涉密文本的某些段落,右側文檔2為某網頁文本內容。可以看出,文檔1的第1段與文檔2的第6段相似,相似度為0.9214,段落中語句順序有調整;文檔1的第2段與文檔2的第3段相似,相似度為0.88177,區別在于少部分修飾的詞語;文檔1的第3段與文檔2的第4段相似,相似度為0.68096,其主要摘取了文檔2的部分語句;同樣,文檔1的第4段與文檔2的第7段內容相似,相似度為0.92097,其主要是調整了部分語序以及摘取了部分語句。
從以上實驗可以看出,粗粒度比較只能計算出整體相似度,易出現漏檢的可能。采用基于自然段落的相似度檢測方法后,細化了比較的粒度,能定位到具體泄密的段落,而且無須考慮段落的順序,段落語句順序的調整,段落的擴充或者壓縮等情況,能有效的檢測出信息泄密。
基于自然段落的相似度比較主要有以下3種情況,如圖4所示:假定涉密段落為P1,待檢測的段落為P2。
(1)P1≈P2:P1與P2中內容大小相當(如圖4中A情況所示);
(2)P1>P2:P1的內容遠大于P2中涉密的內容,其中P2的內容僅僅是P1中的一小部分(如圖4中B情況的紅色部分);

圖4 段落相似度比較3種情況
(3)P1 在設定的閾值(論文中設為0.5)前提下,對于情況1,目前的算法能較好的計算其相似度并定位相應的疑似相似段落,對于情況2與情況3,由于基于VSM的相似度算法是利用詞頻統計來計算的,所以會出現漏檢問題,即存在涉密的內容,但是由于計算所得的相似度值遠遠小于閾值而無法檢測出泄密的內容。 針對情況2與情況3,論文提出兩種解決方案。一是調整相似度閾值,即根據檢測粒度的需要,將相似度閾值調小,從而提高檢測的查全率,這種方法的局限在于要不斷的調整閾值大小,而且易出現誤檢的可能。二是繼續細化比較粒度,即段落的分塊。對于大段落,將一定字數分為一塊,然后與之比較得到相似的塊,這樣細化了段落,但同樣存在問題,即塊的大小確定為多大合適,另外一旦分塊,易出現將涉密信息分塊,導致漏檢。 針對以上問題,論文又提出采用基于語句的相似度檢測的方法。即在段落的基礎上,根據段落中標點符號(主要是句號)對段落進一步細化,然后采用相似度計算方法,得到疑似的句子,效果如圖5所示。段落中的語句順序有所改變,部分詞語有所增刪,但不影響比較效果。算法步驟如下: (1)對待比較的段落Para1與Para2根據句號來分句,然后對每句進行分詞、去除停用詞等預處理,并計算每句話中詞的權重; (2)設定一個閾值(論文設為0.5),將Para1的句子Si(i為句子數)與Para2中的所有句子利用式(1)計算相似度Simi,當Simi大于設定的閾值時,則記錄Para2的語句數以及對應的相似度值,否則跳到步驟3; (3)重復步驟2,直至Para1中所有的句子與Para2中的句子比較完成; (4)統計記錄的語句數,并進行標記,得到相似語句; 圖5 基于語句的相似度計算 最后,對3種方法進行了性能比較,主要考慮查全率、查準率以及檢測耗時3方面因素。比較效果如表1所示。 表1 3種方法性能比較 從表1可以看出,采用自然語言處理技術對文本進行泄密檢測,效率高,50篇檢測僅需8.4s,每篇耗時僅0.168s,采用段落和語句檢測耗時也在2s以內。同時,采用段落和語句的比較后,在保證查準率的前提下,大大提高了查全率。 針對目前文本泄密檢測采用人工方式檢測,效率低、易泄密等問題,論文提出了一種基于自然語言處理技術的文本泄密自動檢測方法。采用基于相似度比較方法,檢測文本是否泄密。為了防止漏檢與誤檢,設計了一種基于自然段落和語句的相似度比較算法,實驗表明該方法是可行的。 從待檢測的文本信息源的獲取、信息加密、相似度比較到最后疑似泄密段落的定位都是自動的,并且改變以往人工一對一的比較方式,實現了一對多的比較,改變傳統的明文比較,在加密后對密文進行比較。該方法具有效率高,安全系數高,人工參與少等優點。但不能完全替代人工檢測,一是會存在誤差,二是畢竟泄密是很嚴重的事,最后需要人的判定,但作為一種輔助的信息泄密檢測技術,該方法能達到較好的效果。從完全人工的檢測到現在只需人工最后的判定,一定程度上減輕了人的工作量與負擔。 目前仍存在值得改進的地方,如對文本的預處理,沒有考慮同義詞問題,通過同義詞轉化,能提高相似度比較的精確度等,這將是下一步需要解決的問題。 [1]益陽保密網[EB/OL].http://www.yiyang.org/yybm/html/xuanchuan/20100318100838.html,2010. [2]Chang Chia-Hui,Mohammed Kayed.A survey of web information extraction systems[J].IEEE Transactions on Knowledge and Data Engineering,2006,18(10):1411-1428. [3]耿煥同,宋慶席,何宏強.一種基于視覺分塊的Web信息抽取方法研究[J].情報理論與實踐,2009,32(3):106-109. [4]張裔智,趙毅,湯小斌.MD5算法研究[J].計算機科學,2008,35(7):295-297. [5]蘇振魁.基于馬爾科夫模型的文本相似度研究[D].大連:大連理工大學,2007. [6]袁正午,李玉森,張雪英.基于屬性的文本相似度計算算法改進[J].計算機工程,2009,35(17):4-6. [7]金博,史彥軍,滕弘飛.基于語義理解的文本相似度算法[J].大連理工大學學報,2005,45(2):291-297. [8]李鵬,陶蘭,王弼佐.一種改進的本體語義相似度計算及其應用[J].計算機工程與設計,2007,28(1):227-229. [9]黃果,周竹榮.基于領域本體的概念語義相似度計算研究[J].計算機工程與設計,2007,28(10):2460-2463. [10]郭慶琳,李艷梅,唐琦.基于VSM的文本相似度計算的研究[J].計算機應用研究,2008,25(11):3256-3258. [11]Elsayed Atlam.A new approach for text similarity using articles[J].International Journal of Information Technology&Decision Making,2008,7(1):23-34. [12]khaled M Hammouda,Mohamed S Kamel.Document similarity Using a phrase indexing graph model[J].Knowledge and Information System,2004,6(6):710-727. [13]Xu Yong-Dong,Xu Zhi-Ming,Wang Xiao-Long,et al.Using Mulitiple features and statistical model to calculate text units similarity[C].Guangzhou:Proceedings of the Fourth International Conference on Machine Learning and Cybernetics,2005:18-21.

4 結束語