王利鑫, 耿煥同, 孫 凱, 張 茜
(南京信息工程大學(xué)計算機(jī)與軟件學(xué)院,江蘇南京210044)
信息的生產(chǎn)、存儲、獲取、共享以及傳播已越來越方便,但與此同時,信息泄密隨著信息化程度的提高而日益加劇。近年來,各級黨政機(jī)關(guān)門戶網(wǎng)站普及的同時,非法披露國家秘密信息事件呈上升趨勢,在泄密事件中所占比例也迅速攀升,信息公開的同時導(dǎo)致了信息的泄密[1]。在各種信息安全威脅所造成的損失中,企業(yè)和政府機(jī)構(gòu)因重要信息被泄密所造成的損失排第一位。所以,信息泄密檢測已成為一項十分艱巨而重要的任務(wù)。目前針對各級黨政機(jī)關(guān)網(wǎng)站的信息泄密檢測主要采用人工檢測方式,效率低、安全性差。主要原因有3點(diǎn):一是網(wǎng)絡(luò)信息量大。工作人員需訪問大量網(wǎng)頁,下載大量文檔逐一查看比較,通過人工判斷是否存在涉密信息。二是泄密程度存在差異。泄密一般可分為全文與部分泄密。全文泄密檢測相對容易,部分泄密的檢測則難度高、工作量大。原因是泄密部分可能是涉密原文的部分段落,或是調(diào)整順序的段落,或是調(diào)整語序的段落,或是對某些段落的合并、擴(kuò)充、壓縮等情況,更有甚者僅僅為涉密原文的某些語句。工作人員在檢測時需逐段逐句的進(jìn)行比較并定位疑似泄密信息,否則會出現(xiàn)漏檢。三是安全性差,易造成二次泄密。由于人工檢測需查看涉密文件,為信息的泄密多了一份可能與危險。針對以上問題,提出了一種基于自然語言處理的文本泄密自動檢測技術(shù),實(shí)驗結(jié)果證明該方法是有效可行的。
網(wǎng)絡(luò)是巨大的數(shù)據(jù)庫,同時也是信息泄密的重要渠道,從Internet或Intranet上獲取信息,查看其是否含有涉密信息。目前人們主要通過人為打開網(wǎng)頁或下載相關(guān)文檔進(jìn)行逐一查閱,費(fèi)時費(fèi)力,效率低。利用Web信息抽取技術(shù)[2](web information extraction),就是從Web頁面中所包含的無結(jié)構(gòu)化或者半結(jié)構(gòu)化的信息中識別用戶所感興趣的信息數(shù)據(jù),并將其轉(zhuǎn)化為結(jié)構(gòu)和語義更加清晰的數(shù)據(jù)格式。論文仍采用原先提出的一種基于視覺分塊的Web信息抽取方法[3],自動抽取相關(guān)網(wǎng)站的信息。
在此基礎(chǔ)上,又對具體網(wǎng)頁進(jìn)行深層抽取,即對某一具體網(wǎng)頁的文本內(nèi)容進(jìn)行抽取。首先獲得初次抽取的網(wǎng)頁的網(wǎng)址集合,然后分析某具體網(wǎng)頁源文件,最后采用基于正則表達(dá)式的方法自動將網(wǎng)頁中的文本內(nèi)容抽取出來,將此文本內(nèi)容用作泄密檢測的數(shù)據(jù)來源。
中文分詞是漢語自然語言處理的第一步,也是最重要的環(huán)節(jié)。在中文信息處理中,信息檢索、抽取、Web文本挖掘、文本分類等都主要以中文分詞為基礎(chǔ)。文中主要是利用中文分詞技術(shù),對文本進(jìn)行分詞,在分詞的基礎(chǔ)上,去除停用詞,為相似度計算做好準(zhǔn)備。
由于泄密檢測的涉密文件,為防止其二次泄密,需對涉密文本進(jìn)行加密;且保證加密過程不可逆,確保無法從加密后密文再得到明文,這樣就很好地保證了涉密文件在泄密檢測中的安全性。著名的MD5算法可以很好地滿足加密要求。MD5算法[4]是由美國教授RonaldRivest于1992年對MD4做改進(jìn)的基礎(chǔ)上提出的HASH算法,就是把一個任意長度的字節(jié)串變換成一定長的大整數(shù),并且是不可逆的字符串變換算法。
論文是利用MD5較好的安全性、不可逆性,對分詞后的文本逐個詞加密,每個不同的詞加密后得到唯一的MD5信息摘要,相同的詞必得到相同的信息摘要,這樣保證加密后不影響比較結(jié)果。
相似度定義:A與B之間的相似度一方面與它們的共性相關(guān),共性越多,相似度越高;另一方面與它們的區(qū)別相關(guān),區(qū)別越大,相似度越低;當(dāng)A與B完全相同時,相似度達(dá)到最大值。對于文本相似度的度量一般將其定義在[0,1]范圍內(nèi),0值最小,表示完全不相似,1值最大,表示兩者相同。
計算文本的相似度算法主要有基于馬爾科夫模型[5]、基于屬性輪[6]、基于語義理解[7-9]、基于向量空間模型[10-13]等幾種經(jīng)典的算法。論文采用的是基于向量空間模型的文本相似度算法。
向量空間模型(vector space model,VSM)是近年來使用較多且效果較好的一種模型。在VSM中,將文本看作由相互獨(dú)立的詞條組(T1,T2,…,Tn)構(gòu)成,對于每個詞條Ti,統(tǒng)計其個數(shù),計算其詞頻,得到i詞條在整個文本中所占的權(quán)重Wi,文本間的相似度就可以轉(zhuǎn)化為向量之間夾角的余弦值來表示,夾角越小,表示越相似,對應(yīng)的相似度值(余弦值)也就越大。需比較的兩篇文檔為P1,P2,相似度計算公式如下
(1)對待比較的文檔P1與P2進(jìn)行自然分段,對每段進(jìn)行分詞、去除停用詞等預(yù)處理,并計算每段中詞的權(quán)重;
(2)設(shè)定一個閾值(論文中設(shè)為0.5),將待檢測的文檔P1的段落P1i(i為P1的段落數(shù))與P2中的所有自然段利用式(1)計算相似度Sim,當(dāng)Sim大于設(shè)定的閾值時,則記錄P2的段落數(shù)以及對應(yīng)的相似度值,否則跳到步驟3;
(3)重復(fù)步驟2,直至P1中所有的段落與P2中的段落比較完成;
(4)統(tǒng)計記錄的段落數(shù),并進(jìn)行標(biāo)記,得到相似段落;
泄密檢測系統(tǒng)主要有4方面工作:一是文本信息源的獲取(信息抽取),二是文本信息預(yù)處理(中文分詞、文本加密等),三是相似度計算,四是基于自然段落的相似度計算。其模型與流程如圖1所示。
圖1 系統(tǒng)模型與流程
(1)對涉密文本A預(yù)處理,包括:中文分詞、MD5加密得到每個詞的密文,并計算每個密文的權(quán)重Wi(i為某詞條);
(2)提供需檢測的網(wǎng)站網(wǎng)址,利用基于視覺分塊的Web信息抽取方法,得到一組列表網(wǎng)頁的網(wǎng)址集合H;
(3)在步驟2的基礎(chǔ)上,獲得網(wǎng)址Hj,分析該網(wǎng)頁的源文件,自動獲取網(wǎng)頁中文本內(nèi)容Bj(j為某網(wǎng)頁);
(4)對步驟3中獲取的文本內(nèi)容進(jìn)行預(yù)處理,包括:中文分詞、MD5加密得到第j篇文本分詞后每個詞的密文,計算每個密文的權(quán)重Wk(k為某詞條);
(5)利用式(1),計算文本A與文本Bi的段落相似度Sim;
(6)重復(fù)步驟(3~5),得到文本A與文本集合B的相似度集合AllSim;
(7)根據(jù)設(shè)定的閾值,當(dāng)AllSimj>0.5時,則認(rèn)為第j網(wǎng)頁泄密;否則進(jìn)入步驟8;
(8)為了防止漏檢,對涉密文本A與待檢測的網(wǎng)頁文本Bm(AllSimm<0.5)進(jìn)行自然分段,采用基于自然段落的相似度比較方法,計算段落間的相似度,當(dāng)相似度值大于閾值時,則認(rèn)為段落相似;
(9)重復(fù)步驟8,直至所有小于閾值的文本比較完成,得到相似段落;
為了驗證方法的可行性以及算法的正確性,設(shè)計了一篇文檔test1.txt,由南京信息工程大學(xué)網(wǎng)站信息公告的最近50篇公告中的30篇內(nèi)容組成,其中包括整段復(fù)制、部分段落復(fù)制、調(diào)換段落中語句順序、調(diào)換段落順序、對某些段落擴(kuò)充或者壓縮等多種情況,從而達(dá)到驗證的目的。圖2為文檔與50篇信息公告初次比較的效果,粒度較大。所顯示的網(wǎng)頁為南京信息工程大學(xué)信息公告第24篇,與test1.txt相似度為0.96121,大于設(shè)定閾值0.5,直接判定該網(wǎng)頁泄密。系統(tǒng)能定位到該網(wǎng)頁,方面工作人員查看以及做好泄密報告。其中“B59CE2C0BB5 AAA86AB8B87C4EEA5EA79”為某一字符串加密后的密文,“【】”為分隔符,“0.00299”是其在文中所占的權(quán)重。
圖2 初次比較結(jié)果
對于相似度值小于閾值的網(wǎng)頁,也有可能存在泄密的信息。為了防止漏檢,需對其進(jìn)一步的檢測。圖3是根據(jù)初次比較結(jié)果,細(xì)化比較粒度,采用基于自然段落的相似度比較算法進(jìn)行檢測,設(shè)定閾值為0.5。為了顯示比較的效果,所以將涉密文件以明文來顯示。
圖3 基于段落相似度比較
圖3中,左側(cè)文檔1為涉密文本的某些段落,右側(cè)文檔2為某網(wǎng)頁文本內(nèi)容??梢钥闯觯臋n1的第1段與文檔2的第6段相似,相似度為0.9214,段落中語句順序有調(diào)整;文檔1的第2段與文檔2的第3段相似,相似度為0.88177,區(qū)別在于少部分修飾的詞語;文檔1的第3段與文檔2的第4段相似,相似度為0.68096,其主要摘取了文檔2的部分語句;同樣,文檔1的第4段與文檔2的第7段內(nèi)容相似,相似度為0.92097,其主要是調(diào)整了部分語序以及摘取了部分語句。
從以上實(shí)驗可以看出,粗粒度比較只能計算出整體相似度,易出現(xiàn)漏檢的可能。采用基于自然段落的相似度檢測方法后,細(xì)化了比較的粒度,能定位到具體泄密的段落,而且無須考慮段落的順序,段落語句順序的調(diào)整,段落的擴(kuò)充或者壓縮等情況,能有效的檢測出信息泄密。
基于自然段落的相似度比較主要有以下3種情況,如圖4所示:假定涉密段落為P1,待檢測的段落為P2。
(1)P1≈P2:P1與P2中內(nèi)容大小相當(dāng)(如圖4中A情況所示);
(2)P1>P2:P1的內(nèi)容遠(yuǎn)大于P2中涉密的內(nèi)容,其中P2的內(nèi)容僅僅是P1中的一小部分(如圖4中B情況的紅色部分);
圖4 段落相似度比較3種情況
(3)P1 在設(shè)定的閾值(論文中設(shè)為0.5)前提下,對于情況1,目前的算法能較好的計算其相似度并定位相應(yīng)的疑似相似段落,對于情況2與情況3,由于基于VSM的相似度算法是利用詞頻統(tǒng)計來計算的,所以會出現(xiàn)漏檢問題,即存在涉密的內(nèi)容,但是由于計算所得的相似度值遠(yuǎn)遠(yuǎn)小于閾值而無法檢測出泄密的內(nèi)容。 針對情況2與情況3,論文提出兩種解決方案。一是調(diào)整相似度閾值,即根據(jù)檢測粒度的需要,將相似度閾值調(diào)小,從而提高檢測的查全率,這種方法的局限在于要不斷的調(diào)整閾值大小,而且易出現(xiàn)誤檢的可能。二是繼續(xù)細(xì)化比較粒度,即段落的分塊。對于大段落,將一定字?jǐn)?shù)分為一塊,然后與之比較得到相似的塊,這樣細(xì)化了段落,但同樣存在問題,即塊的大小確定為多大合適,另外一旦分塊,易出現(xiàn)將涉密信息分塊,導(dǎo)致漏檢。 針對以上問題,論文又提出采用基于語句的相似度檢測的方法。即在段落的基礎(chǔ)上,根據(jù)段落中標(biāo)點(diǎn)符號(主要是句號)對段落進(jìn)一步細(xì)化,然后采用相似度計算方法,得到疑似的句子,效果如圖5所示。段落中的語句順序有所改變,部分詞語有所增刪,但不影響比較效果。算法步驟如下: (1)對待比較的段落Para1與Para2根據(jù)句號來分句,然后對每句進(jìn)行分詞、去除停用詞等預(yù)處理,并計算每句話中詞的權(quán)重; (2)設(shè)定一個閾值(論文設(shè)為0.5),將Para1的句子Si(i為句子數(shù))與Para2中的所有句子利用式(1)計算相似度Simi,當(dāng)Simi大于設(shè)定的閾值時,則記錄Para2的語句數(shù)以及對應(yīng)的相似度值,否則跳到步驟3; (3)重復(fù)步驟2,直至Para1中所有的句子與Para2中的句子比較完成; (4)統(tǒng)計記錄的語句數(shù),并進(jìn)行標(biāo)記,得到相似語句; 圖5 基于語句的相似度計算 最后,對3種方法進(jìn)行了性能比較,主要考慮查全率、查準(zhǔn)率以及檢測耗時3方面因素。比較效果如表1所示。 表1 3種方法性能比較 從表1可以看出,采用自然語言處理技術(shù)對文本進(jìn)行泄密檢測,效率高,50篇檢測僅需8.4s,每篇耗時僅0.168s,采用段落和語句檢測耗時也在2s以內(nèi)。同時,采用段落和語句的比較后,在保證查準(zhǔn)率的前提下,大大提高了查全率。 針對目前文本泄密檢測采用人工方式檢測,效率低、易泄密等問題,論文提出了一種基于自然語言處理技術(shù)的文本泄密自動檢測方法。采用基于相似度比較方法,檢測文本是否泄密。為了防止漏檢與誤檢,設(shè)計了一種基于自然段落和語句的相似度比較算法,實(shí)驗表明該方法是可行的。 從待檢測的文本信息源的獲取、信息加密、相似度比較到最后疑似泄密段落的定位都是自動的,并且改變以往人工一對一的比較方式,實(shí)現(xiàn)了一對多的比較,改變傳統(tǒng)的明文比較,在加密后對密文進(jìn)行比較。該方法具有效率高,安全系數(shù)高,人工參與少等優(yōu)點(diǎn)。但不能完全替代人工檢測,一是會存在誤差,二是畢竟泄密是很嚴(yán)重的事,最后需要人的判定,但作為一種輔助的信息泄密檢測技術(shù),該方法能達(dá)到較好的效果。從完全人工的檢測到現(xiàn)在只需人工最后的判定,一定程度上減輕了人的工作量與負(fù)擔(dān)。 目前仍存在值得改進(jìn)的地方,如對文本的預(yù)處理,沒有考慮同義詞問題,通過同義詞轉(zhuǎn)化,能提高相似度比較的精確度等,這將是下一步需要解決的問題。 [1]益陽保密網(wǎng)[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]耿煥同,宋慶席,何宏強(qiáng).一種基于視覺分塊的Web信息抽取方法研究[J].情報理論與實(shí)踐,2009,32(3):106-109. [4]張裔智,趙毅,湯小斌.MD5算法研究[J].計算機(jī)科學(xué),2008,35(7):295-297. [5]蘇振魁.基于馬爾科夫模型的文本相似度研究[D].大連:大連理工大學(xué),2007. [6]袁正午,李玉森,張雪英.基于屬性的文本相似度計算算法改進(jìn)[J].計算機(jī)工程,2009,35(17):4-6. [7]金博,史彥軍,滕弘飛.基于語義理解的文本相似度算法[J].大連理工大學(xué)學(xué)報,2005,45(2):291-297. [8]李鵬,陶蘭,王弼佐.一種改進(jìn)的本體語義相似度計算及其應(yīng)用[J].計算機(jī)工程與設(shè)計,2007,28(1):227-229. [9]黃果,周竹榮.基于領(lǐng)域本體的概念語義相似度計算研究[J].計算機(jī)工程與設(shè)計,2007,28(10):2460-2463. [10]郭慶琳,李艷梅,唐琦.基于VSM的文本相似度計算的研究[J].計算機(jī)應(yīng)用研究,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 結(jié)束語