李亞超 郁凱旋 渠慎明 李 紅 任一墨 張東生
(1.河南大學 開封 475000)(2.中國科學院大學 北京 100049)
隨著互聯(lián)網技術的迅速發(fā)展,互聯(lián)網設備在網絡空間中占據了越來越重要的地位,并且已經融入到人們的生活當中,例如網絡攝像頭、網絡打印機、路由器等。為了管理和適應公共網絡設備數量的快速增長,獲取網絡設備的特性也顯得非常必要。就很多公共網絡設備而言,人們并不知道它們的詳細信息,例如誰才是這些設備真正的擁有者。
設備的單位歸屬信息在網絡中具有廣泛且重要的應用。可以在同一用戶的不同設備間建立所有權對象關系[1]。對于特定用戶使用的特定物聯(lián)網設備進行分類[2]。
域名系統(tǒng)(Domain Name System,DNS)作為互聯(lián)網的一種公共資源,提供域名和IP地址之間的相互轉換的服務,域名對網絡安全的重要性是毋庸置疑的。根據國家互聯(lián)網應急中心(National Internet Emergency Center,CNCERT)2021年第17期《網絡安全信息與動態(tài)周報》顯示[3],在該周內,我國境內感染計算機惡意程序的主機數量約為96.2萬個,發(fā)現境內被篡改網站數量1003個;被植入后門的網站數量為1185個;針對境內網站的仿冒頁面數量為824個。Yu B等[4]指出,黑客通過域名產生算法(Domain Generation Algorithm,DGA)產生DGA惡意域名,竊取用戶主機上的信息和機密,導致用戶的個人隱私泄露、財產遭受損失。例如,從愛企查和企查查網站中查詢到的信息:(連云港贛榆和安湖國際大酒店有限公司,www.heanhu-hotel.com),通過手工驗證,www.heanhu-hotel.com是一個充值游戲網站,這很有可能會造成用戶隱私泄露,威脅用戶財產安全。由此可以看出,對域名的單位歸屬問題需要引起人們更多的關注。
一種傳統(tǒng)且直接的方法是查詢現有的數據庫來確定域名的所屬單位,例如DNS和WHOIS,用這種方式獲取到的信息包含有域名的諸多屬性,其中包括組織、注冊者、電子郵件和修改日期等。許多研究[5~7]通過查詢WHOIS來獲取設備的注冊信息,為其研究提供數據。但是通過這種方式獲得的域名所屬單位只是域名注冊時注冊者提供的單位信息,并不一定是域名真正的使用單位[8]。
目前針對域名的單位歸屬問題,仍缺乏準確、全面的解決方法。眾所周知,網站鏈接通常主要由HTTP協(xié)議名、網站域名和網頁所在位置三部分組成[9]。本文根據域名與網站對應關系,基于多模態(tài)融合,設計了一個確定域名單位歸屬的方法。與傳統(tǒng)的方法相比,它提高了準確性和實時性。本文的主要貢獻有:
1)設計并實現了一個完整的識別域名單位歸屬的框架。
2)使用多模態(tài)融合的方法,引入了文本信息和圖像信息,對信息進行交叉,提高對域名單位歸屬識別的準確性。
3)在構建的真實的域名數據集上,本文提出的方法能夠實現識別域名單位歸屬,準確率為84%。
本文從域名對應的網站中獲取網站首頁的文字信息和圖像,再對收集到的圖像和文本信息進行識別、處理、分析,從而得到域名所屬的單位。文中介紹的方法主要包括四個步驟:數據收集;對圖像做OCR(Optical Character Recognition,OCR)識別;對文本信息做NER(Named Entity Recognition)識別;對多源數據融合,進而得到單位。具體方法流程見圖1。
圖1 設備單位歸屬的識別框架
1)數據收集:第一步:人工收集少量單位名稱,以這些單位名稱為基礎,采用樹形結構在企業(yè)查詢網站中爬取需要的信息;第二步:在各單位網站中爬取圖像和文字信息。
2)圖像處理:將從各網站中抓取的可能含有單位名稱等信息的圖像進行OCR識別,提取文字信息。
3)文本信息處理:對從單位網站中抓取的文字信息,通過使用NER技術,提取出其中包含的單位名稱。
4)多源數據融合:對獲取到的多源信息,做文本相似度匹配,從而確定域名所屬單位。
數據收集分為兩個部分:第一部分:在免費在線查詢網站中抓取單位和單位對應的網站,獲取域名;第二部分:根據網站鏈接抓取網站中首頁的文字和圖像。
由于在企業(yè)查詢網站中搜索不到政府機構的網站信息,我們采用人工的方式在搜索引擎中收集政府機構和事業(yè)單位的名稱和對應網站,并以此作為第一層級爬取列表。
我們采用樹形結構,以第一層級單位為基礎,以網絡爬蟲的方式在企業(yè)查詢網站中搜索第一層級單位。默認搜索結果中的第一個就是該單位或相關度最高的單位,抓取該單位名稱和對應的網站,同時抓取該單位對應的對外投資企業(yè)和控股企業(yè),作為第二層級單位目錄,以此類推,共獲取有網站的單位1.8萬個。數據的結構類型為(單位,URL),例如:(魯醫(yī)控股有限公司,http://www.sfluyi.com/)。當然,抓取的網站鏈接也有錯誤的情況,例如:(國家海洋局極地考察辦公室,www.chinare.gov.cn/caa/),其真實的鏈接應該是:(國家海洋局極地考察辦公室,http://chinare.mnr.gov.cn/),這是因為企業(yè)查詢網站在采集數據時出現錯誤。對于抓取到的網站鏈接的有效性,我們會在爬取網站信息時做了進一步驗證。隨后,我們根據單位的網站提取出對應域名,例如:(魯醫(yī)控股有限公司,sfluyi.com)。
網站通常以文字和圖像相結合的方式給用戶傳遞信息,所有我們以首頁的文字信息和圖像作為確定域名單位歸屬的數據基礎。
由于網站服務器中不同的目錄路徑或端口對應不同的網頁,甚至是同一個單位下的不同部門,例如:(機關服務局,http://www.nhc.gov.cn/jgfwzx/new_index.shtml),(宣傳司,http://www.nhc.gov.cn/xcs/new_index.shtml),這兩個部門都屬于國家衛(wèi)生健康委員會,所以如果直接使用企業(yè)查詢網站中查詢到的網站鏈接,很可能無法確定域名的單位歸屬。在這里,我們對獲取的原鏈接的目錄路徑進行處理,只保留其根目錄。
我們使用網絡爬蟲抓取網站中的文字和圖像。為了獲取信息更加全面,在抓取網站首頁信息的同時,對網頁頭部自動截圖并保存,截圖的尺寸大小為1024*256像素。
網站中的部分圖像包含文字信息,這些文字信息中可能包含了單位理念、宣傳信息、單位名稱等信息。我們使用開源工具,從抓取到的圖像中識別出文字信息。
OCR技術流程大致包含三個階段,圖像預處理、文字檢測和文字識別。其中,文字檢測和文字識別是OCR識別中最重要的部分。本文使用基于ICDAR2015數據集訓練的開源模型對抓取到的圖像進行文字識別,該模型使用DB(Differentiable Binarization)+CRNN(Convolutional Recurrent Neural Network)的網絡結構。
與傳統(tǒng)文本檢測方法相比,基于分割的文本檢測算法可以更準確地檢測出形狀不規(guī)則的文字。常規(guī)的二值化操作通過設定固定的閾值,難以適應復雜多變的文本檢測場景[10]。DB算法最核心的一點是使用了可微的二值化后處理操作,將二值化操作融合于分割網絡中,更準確地定位文字的邊界框。如式(1)表示出了概率圖P和閾值圖T與二值化圖之間的關系,這使得二值化可微,其中k表示放大因子。
CRNN,即卷積遞歸神經網絡,是一種基于CNN、CTC、BiLSTM方法組合在一起的文字識別算法[11],對特定場景圖像中的文字有較好的識別效果。圖2展示了檢測和識別的過程。
圖2 OCR的輸入、輸出過程
網站首頁的文字中可能包含有公司名稱、產品介紹、位置等信息,因此,我們構造了一個提取工具,用于從網站首頁的文字中提取出單位名稱。
命名體識別(NER)一般用于從自然語言中提取關鍵信息,例如人物、位置、組織、日期等。目前,NER技術已經得到廣泛的使用。韓春燕等[12]將NER技術應用于微博,進行信息提取,可以消除微博中語言表達不規(guī)范造成的干擾。Y Wu[13]將NER技術應用于臨床醫(yī)學中的電子健康記錄,可快速抽取醫(yī)療保健信息。
BiLSTM-CRF是一個經典的NER算法,我們通過建立一個BiLSTM-CRF模型來提取網站文本中的單位名稱。圖3顯示了BiLSTM-CRF模型的典型結構。我們基于Wikipedia[14]對BiLSTM-CRF進行了預訓練,從網站首頁的文本中提取單位名稱。如果字符是單位的開始字符,則句子中的首個字將被標記為“B-ORG”,單位名稱非首字標記為“I-ORG”,如果字符不是單位名稱中的字符,則將其標記為“O”。例如,“中科院作出回應”將被標記為“B-ORG I-ORG I-ORG O O O O”,這意味著“中科院”是單位名稱,其中B-ORG表示該字符是單位名稱的開始字符,I-ORG表示該字符在單位名稱中,O表示字符不是單位名稱的一部分。
圖3 BiLSTM-CRF的典型結構
在這里,我們將從圖像中提取的文字信息稱為圖像文字信息,將從文本中提取到的單位稱為文本單位信息。從圖像和文本中獲取到的信息可能包含有域名所屬的單位名稱,也可能是與之無關的單位名稱和大量的冗余信息。
使用單一數據源確定域名的歸屬單位。我們通過統(tǒng)計頻率的方式,分別從圖像文字信息和文本單位信息中篩選出最高頻次的字符串,將該字符串視為域名的歸屬單位。我們隨機測試了4000個域名,通過單一數據源的方式確定其單位。但是由于單一數據源很有可能缺失部分單位歸屬信息,由此可見,統(tǒng)計頻次的方法不能滿足實際需要。
余弦相似度[15],是用向量空間中兩個向量夾角的余弦值作為衡量兩個個體間差異的大小的度量,余弦值越接近1,兩個向量也就越相似。式(2)是計算兩個向量相似度的公式,其中a和b均為n維向量,xi和yi表示兩個向量各自維度對上的取值。在計算兩個字符串相識度時,每一個字符被賦予一個維度,維度上的取值為該字符在字符串中出現的頻次。例如,A:“中國科學院”,B:“中國科學院大學”,A字符串的向量表示為(1,1,1,1,1,0,0),B字符串的向量表示為(1,1,1,1,1,1,1)。通過式(2)可計算出二者的相識度約為0.85。
我們采用余弦相似度對圖像文字信息和文本單位信息進行兩兩語義交叉匹配,即用各個圖像文字信息對文本單位信息進行逐一匹配。我們取出相似度最高的一對文本作為域名歸屬候選單位,這一對文本中包含兩個單位名稱,一個取自圖像文本信息,另一個取自文本單位信息,如:聯(lián)泓新科,聯(lián)泓新材料科技股份有限公司。
本文使用網絡爬蟲從公開企業(yè)查詢網站中收集單位的網站鏈接,經過域名提取、網站信息采集,數據處理與融合,實現域名歸屬單位的自動查找。
根據3.1所述方法,共采集單位數約1.8萬個,由于采集單位數量較多,為減少工作量,我們根據收集數據時獲取到的單位的性質標簽將單位簡單分為三類,并在各類別單位中隨機抽取部分單位作為實驗數據。圖4為實驗中用到的各類別單位的數量。
圖4 各類別單位的數量
本文設計的框架中,識別域名單位歸屬的準確率主要受以下因素影響:圖像中文字的識別,文字中單位名稱的提取。我們使用準確率和查全率[16]來評估每一步的性能,定義如式(3)和(4)。其中TP表示真正例,FP表示假正例,FN表示假反例。在我們收集的數據集中對模型進行評估,DB+CRNN模型的準確率為86%,查全率為79%,BiLSTM-CRF模型的準確度為88%,查全率為81%。
在本文中,我們對不同類別單位的4000個域名進行實驗,經過與原單位標簽對比和人工驗證,在圖5我們給出了測試時所用域名對應的單位類別的數量和識別成功的數量。實驗結果表明:我們設計的框架其準確率約為84%。圖6給出了本框架與單一數據源在識別域名單位歸屬結果上的對比。
圖5 查詢數和識別成功數
圖6 單一數據源與本方法比較
隨著互聯(lián)網的發(fā)展,域名的單位歸屬識別,監(jiān)管域名信息,了解域名用途,保證域名的使用安全等各個方面,對互聯(lián)網的安全與管理有著非常重要的作用。本文提出融合多模態(tài)信息的方法,在構建的真實數據集上,對域名的單位歸屬識別準確率達到了84%,驗證了本文提出的方法具有一定的可行性。
目前,本文所提出的方法還存在一定的可拓展性,例如:可以根據圖像大小,篩選出包含目標單位名稱的圖像,減少冗余的單位信息。下一步,我們將繼續(xù)完善此方法,并將其擴展到其它網絡設備的歸屬方面。