文敬斌,楊忠孝,孫 林
(①電子科技大學(xué)自動(dòng)化工程學(xué)院,四川 成都 611731;②邁普通信技術(shù)股份有限公司研究院,四川 成都 610041)
在網(wǎng)頁(yè)過(guò)濾技術(shù)中,URL過(guò)濾是普遍采用的過(guò)濾方式,因?yàn)槠湓O(shè)計(jì)實(shí)現(xiàn)非常簡(jiǎn)單,速度快、效率高;但是互聯(lián)網(wǎng)是動(dòng)態(tài)的,每天有數(shù)以萬(wàn)計(jì)的新的網(wǎng)頁(yè)出現(xiàn),URL名單的更新速度往往跟不上;如果單純的采用URL過(guò)濾,會(huì)造成過(guò)濾的遺漏[1-2]。
內(nèi)容過(guò)濾能夠?qū)崿F(xiàn)實(shí)時(shí)的網(wǎng)頁(yè)內(nèi)容防護(hù),過(guò)濾比較準(zhǔn)確,但是因?yàn)閮?nèi)容過(guò)濾過(guò)程比較復(fù)雜,處理量如果過(guò)大,會(huì)造成用戶上網(wǎng)的明顯延遲。
設(shè)計(jì)的方法是基于網(wǎng)絡(luò)層的網(wǎng)頁(yè)過(guò)濾方法,在網(wǎng)絡(luò)設(shè)備上實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)的過(guò)濾。采用URL過(guò)濾與內(nèi)容過(guò)濾相結(jié)合的方式,取安全與性能的折中。
一臺(tái)主機(jī)要訪問(wèn)Web服務(wù)器,首先與Web服務(wù)器進(jìn)行三次握手,建立TCP連接;然后向Web服務(wù)器發(fā)送請(qǐng)求報(bào)文,其中包含用戶訪問(wèn)的URL,Web服務(wù)器在收到請(qǐng)求報(bào)文后,會(huì)發(fā)送應(yīng)答報(bào)文給客戶主機(jī),因此過(guò)濾流程框架可按如下設(shè)計(jì):
①在網(wǎng)絡(luò)設(shè)備中監(jiān)聽(tīng)用戶的數(shù)據(jù)包,檢測(cè)到 HTTP請(qǐng)求報(bào)文[3],則分析該報(bào)文中嵌入的網(wǎng)頁(yè)地址信息(即URL),提取出URL信息,對(duì)其進(jìn)行在黑白名單中進(jìn)行匹配分析,根據(jù)匹配結(jié)果給予是否通過(guò);
②內(nèi)容過(guò)濾采用“第一次放過(guò)”的策略,即第一次對(duì)未知 URL的返回報(bào)文僅做內(nèi)容檢查。收集服務(wù)器返回的 HTTP響應(yīng)報(bào)文,提取出應(yīng)用層信息,組成完整的 HTML文檔,進(jìn)行內(nèi)容過(guò)濾,根據(jù)判定結(jié)果進(jìn)行相應(yīng)的操作,整體過(guò)濾步驟如圖1所示。

圖1 過(guò)濾模型
白(黑)名單:在該名單中的 URL,必定是合(非)法的地址信息;未在該名單中的網(wǎng)址的合法性未知。
URL過(guò)濾框架的設(shè)計(jì)是基于兩個(gè)事實(shí):
①因特網(wǎng)統(tǒng)計(jì)表明,超過(guò) 80%的用戶經(jīng)常訪問(wèn)的是 20%的網(wǎng)頁(yè)內(nèi)容;
②大多數(shù)用戶在多數(shù)時(shí)間內(nèi)訪問(wèn)的是合法信息的網(wǎng)頁(yè)。
基于上述事實(shí)一,設(shè)計(jì)白名單時(shí),僅存放經(jīng)常訪問(wèn)的合法網(wǎng)站地址信息。這樣設(shè)計(jì)可以保證在進(jìn)行URL匹配時(shí),能夠快速高效地判斷該網(wǎng)頁(yè)地址是否在高頻白名單中。對(duì)于一段時(shí)間內(nèi)訪問(wèn)頻率不高的網(wǎng)頁(yè),采用老化機(jī)制將其從名單中移除。
基于上述事實(shí)二,設(shè)計(jì)將URL白名單放在黑名單之前,若采用黑名單在前的方式,將會(huì)浪費(fèi)大量時(shí)間去查找黑名單,而在大多數(shù)時(shí)間內(nèi),這些查找是不必要的。
URL過(guò)濾過(guò)程有:
①檢測(cè)通過(guò)網(wǎng)絡(luò)設(shè)備的報(bào)文,發(fā)現(xiàn)是HTTP的GET方法請(qǐng)求報(bào)文,提取其中攜帶的URL信息,若與高頻名單中的條目匹配,表示該URL為合法,給予通過(guò),并將該條目的統(tǒng)計(jì)計(jì)數(shù)加1;
②若在白名單中沒(méi)有匹配,則繼續(xù)和黑名單中的條目進(jìn)行匹配。如果匹配成功,則斷開(kāi)該TCP鏈接,并且該匹配條目的統(tǒng)計(jì)計(jì)數(shù)加1;
③若匹配失敗,則進(jìn)行內(nèi)容,根據(jù)內(nèi)容過(guò)濾的結(jié)果將URL添加到相應(yīng)名單中。
黑白名單老化機(jī)制步驟如下:
①計(jì)算名單中URL條目訪問(wèn)次數(shù)的平均值M,計(jì)算公式如公式1:

其中n為表中的URL條目數(shù),im為第i個(gè)條目的統(tǒng)計(jì)計(jì)數(shù)值;
②將老化閾值設(shè)為該平均值;
③遍歷所有的URL條目,檢查每個(gè)URL條目的統(tǒng)計(jì)計(jì)數(shù),若高于老化閾值,則將其保留在名單中,并且將統(tǒng)計(jì)計(jì)數(shù)值0,如果低于老化閾值,則將其剔除。
由于網(wǎng)絡(luò)的復(fù)雜性,返回的 HTTP響應(yīng)報(bào)文可能不是有序的到達(dá)網(wǎng)絡(luò)設(shè)備的,因此在網(wǎng)絡(luò)設(shè)備上需要對(duì)到達(dá)的響應(yīng)報(bào)文進(jìn)行有序的重組。根據(jù)請(qǐng)求報(bào)文的五元組信息,收集該請(qǐng)求對(duì)應(yīng)的HTTP響應(yīng)報(bào)文;由于可能亂序,根據(jù)ACK字段和Seq字段對(duì)報(bào)文進(jìn)行排序重組。在重組中建立的數(shù)據(jù)結(jié)構(gòu)圖2所示。

圖2 重組使用的數(shù)據(jù)結(jié)構(gòu)
目前常用的文本表示模型有許多種,常用的有:布爾邏輯模型、概率模型和向量空間模型等。在向量空間模型,文本內(nèi)容被形式化為多維空間中的一個(gè)點(diǎn),把對(duì)文本內(nèi)容的處理簡(jiǎn)化為向量空間中向量運(yùn)算,使問(wèn)題的復(fù)雜性大為降低。權(quán)重的計(jì)算既可用規(guī)則的方法手工完成,又可通過(guò)統(tǒng)計(jì)的方法自動(dòng)完成,便于融合統(tǒng)計(jì)和規(guī)則兩種方法。
向量空間模型用項(xiàng)的向量空間來(lái)表示文檔信息,項(xiàng)是指用來(lái)表示文檔內(nèi)容特征的基本語(yǔ)言單位(字、詞、詞組或短語(yǔ)等),也稱為特征詞,文檔可以用項(xiàng)的集合來(lái)表示。一個(gè)網(wǎng)頁(yè)可以由特征以及其權(quán)值表示[4],如下

其中ix為文本向量空間中的一個(gè)特征,iw為該特征的權(quán)值。
一個(gè)文本攜帶大量的信息,基于計(jì)算的復(fù)雜性考慮,只能在文本信息中提取出其中一些比較重要的特征;并且對(duì)于實(shí)際的性能要求,文本中的關(guān)鍵信息足以反映一個(gè)文本特征。像一個(gè)文本中出現(xiàn)的“的”、“有”等一些詞是一些通用詞,不能體現(xiàn)某些文本的特征,因此需要事先對(duì)文本進(jìn)行預(yù)處理,去除掉這些詞。
TF-IDF計(jì)算公式:

其中 TF( x, d)表示特征x在網(wǎng)頁(yè)d中出現(xiàn)的頻率,I D F( x)表示為,N是總共的訓(xùn)練樣本數(shù), d f( x)為包含特征x的樣本數(shù)。
從TF-IDF計(jì)算公式可以看出,TF-IDF計(jì)算公式是將一個(gè)樣本簡(jiǎn)單的分解為若干特征,只是針對(duì)文本的內(nèi)容,沒(méi)有從文本的結(jié)構(gòu)組成上考慮各特征的權(quán)值。
[5-6]。考慮到HTML的這種結(jié)構(gòu)化特性,對(duì)TF-IDF權(quán)值計(jì)算進(jìn)行一些改進(jìn)。
以下是設(shè)計(jì)的一個(gè)簡(jiǎn)單的位置——權(quán)值等級(jí)對(duì)應(yīng)表,權(quán)值的選擇可由實(shí)際情況具體而定。

表1 特征位置與權(quán)值對(duì)應(yīng)表
一個(gè)詞在一個(gè)網(wǎng)頁(yè)中出現(xiàn)的頻率越高,表示該詞在這個(gè)網(wǎng)頁(yè)中更重要。根據(jù) IDF,一個(gè)詞的重要與包含它的網(wǎng)頁(yè)數(shù)量成反比。一個(gè)特征x在第i個(gè)等級(jí)中的頻率如下表示:

其中xiN 表示某個(gè)詞x出現(xiàn)在等級(jí)i中間的次數(shù),xN 表示詞x出現(xiàn)在該網(wǎng)頁(yè)中總的次數(shù)。
權(quán)值的計(jì)算

其中iW為特征等級(jí)為i時(shí),對(duì)應(yīng)的加權(quán)系數(shù)。
K-近鄰法的原理:在訓(xùn)練樣本集中,找出與待分類的網(wǎng)頁(yè)相鄰最近的K個(gè)訓(xùn)練樣本,找出K個(gè)近鄰中樣本數(shù)最多的類別c,就判斷待分類樣本為c類。這里采用相似度作為計(jì)算距離的依據(jù),相似的計(jì)算根據(jù)兩個(gè)樣本之間的夾角的余弦值來(lái)判斷。

根據(jù)此公式,計(jì)算出待測(cè)樣本 x與所有訓(xùn)練樣本的距離,從而找出與x距離最近的K個(gè)訓(xùn)練樣本,根據(jù)這K個(gè)樣本的所屬類別,確定待測(cè)樣本x的所屬類別。
為了不給用戶造成比較明顯的延遲,采用“第一次放過(guò)”的策略。先并不攔截該響應(yīng)報(bào)文,只是復(fù)制一份應(yīng)用層信息,在整個(gè)響應(yīng)報(bào)文傳輸完成之后,對(duì)復(fù)制的一份完整報(bào)文進(jìn)行內(nèi)容過(guò)濾操作;如果判斷報(bào)文內(nèi)容是非法的,則將對(duì)應(yīng)的請(qǐng)求報(bào)文的 URL信息添加到黑名單中,如果檢查認(rèn)為是合法的,則允許該連接持續(xù),并將URL信息添加到白名單中。
通過(guò)實(shí)驗(yàn)分析,在過(guò)濾時(shí)間上,URL過(guò)濾階段白名單匹配速度提高了53%,在黑名單的匹配中,速度提高了80%。在內(nèi)容過(guò)濾階段,由于采用的“第一次放過(guò)”策略,不會(huì)給用戶帶來(lái)延遲。既能在一定程度滿足網(wǎng)絡(luò)延遲的要求,又能改善用戶的互聯(lián)網(wǎng)環(huán)境。但仍然存在一些需要改進(jìn)的地方:該過(guò)濾系統(tǒng)是部署在網(wǎng)絡(luò)設(shè)備之上,網(wǎng)絡(luò)設(shè)備作為網(wǎng)絡(luò)節(jié)點(diǎn),擔(dān)負(fù)著繁重的數(shù)據(jù)交換任務(wù),考慮到這些,沒(méi)有對(duì)返回的報(bào)文進(jìn)行實(shí)時(shí)的分析,而是采用“第一次放過(guò)”的過(guò)濾策略;此外,采用向量空間模型來(lái)表示,其缺點(diǎn)在于特征項(xiàng)之間線性無(wú)關(guān)的假設(shè),因此可以考慮特征項(xiàng)之間的關(guān)聯(lián)性等,對(duì)該文本表示模型進(jìn)行更加精確的表示。
[1]劉輝,秦耕,王發(fā)茂.分布式網(wǎng)絡(luò)信息過(guò)濾系統(tǒng)研究與實(shí)現(xiàn)[J].通信技術(shù),2008,41(02):52-53.
[2]關(guān)超,蔣建中,郭軍利. 基于姿態(tài)模型的圖像內(nèi)容過(guò)濾防火墻的研究[J].通信技術(shù),2009,42(02):244-246.
[3]FIELDING R, GETTYS J, FRYSTYK H. Hypertext Transfer Protocol-- HTTP/1.1.RFC2616[S]. [s.l.]:The Internet Society,1999.
[4]XUE Linshi, YING Zhao, XIANG Jundong.Web Page Categorization Based on k-NN and SVM Hybrid Pattern Recognition Algorithm[R].China:Fifth International Conference on Fuzzy Systems and Knowledge Discovery,2008:523-527.
[5]MA Dan, WANG Hanhu, CHEN Mei. A Two-level KNN based Teaching Web Pages Classification Model[R].China: International Conference on Networking and Digital Society,2009:190-193.
[6]XUE Weimin, HUANG Weitong, LU Yuchang. Web Page Classification Based on SVM[R]. China:Proceedings of the 6th World Congress on Intelligent Control and Automation,2006: 6111-6114.