包正晶 ,蘇馬婧 ,康 彬 ,薛繼東 ,劉 紅
(1.華北計算機系統(tǒng)工程研究所,北京 100083;2.中國人民解放軍 96941 部隊,北京 100080)
隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)空間逐步成為人類生產(chǎn)活動的第二空間,網(wǎng)絡(luò)空間測繪也逐漸成為學(xué)術(shù)界研究的熱點。網(wǎng)絡(luò)空間測繪旨在將網(wǎng)絡(luò)空間、地理空間和社會空間進行相互映射,繪制一份動態(tài)實時可靠的網(wǎng)絡(luò)空間地圖[1]。 當(dāng)前網(wǎng)絡(luò)空間測繪以面向?qū)嶓w資源測繪的IP 資產(chǎn)屬性、地址位置、網(wǎng)絡(luò)拓?fù)潢P(guān)系的研究和以面向虛擬資源測繪的人物畫像、服務(wù)畫像等為主。
域名的相關(guān)研究集中在域名分類研究[2-3]、域名安全性研究[4-9]、惡意域名檢測[10-12]、域名發(fā)展情況及現(xiàn)狀的研究[13-15],對域名的全面刻畫和動態(tài)刻畫的研究還相對較少。然而通過對域名的屬性刻畫和發(fā)展趨勢研究能夠更好地了解和認(rèn)識網(wǎng)絡(luò)空間域名的分布情況、域名的規(guī)模、域名間的相互關(guān)系、域名的歷史變化情況,有助于間接了解互聯(lián)網(wǎng)整體的發(fā)展情況,可為惡意域名識別、惡意流量監(jiān)測、流量訪問控制等提供支撐。
因此,本文提出了域名畫像這一概念,設(shè)計并實現(xiàn)了一套域名畫像系統(tǒng),涵蓋域名基礎(chǔ)屬性識別、譜系特征識別和時空變化特征識別,對網(wǎng)絡(luò)空間測繪具有重要作用。本文的主要研究內(nèi)容和成果如下:
(1)本文提出了域名畫像概念,從名稱、域名證書、注冊時間、到期時間、對應(yīng)證書、狀態(tài)信息、域名所有者、解析路徑、歷史解析情況、譜系關(guān)系、位置分布情況等20 個維度實現(xiàn)對域名刻畫;
(2)設(shè)計并實現(xiàn)多源域名數(shù)據(jù)獲取模塊,實現(xiàn)18 億域名(含子域名)自 2019 年 12 月至 2020 年 12月的歷史解析信息的獲取,2 000 多萬域名的注冊信息、證書信息、主頁信息等基本信息的獲??;
(3)設(shè)計了域名譜系構(gòu)建方案,實現(xiàn)了 200 個頂級域名的譜系構(gòu)建,為域名規(guī)模的分析提供數(shù)據(jù)支持;
(4)設(shè)計并實現(xiàn)了域名時空變化分析流程,對全球18 億域名數(shù)據(jù)進行時空變化分析。
定義1(域名畫像):將域名抽象成基礎(chǔ)屬性、譜系關(guān)系、時空軌跡等一系列相關(guān)屬性的方法,是采用多維屬性信息描述域名的模型,如圖1 所示。
定義 2(域名基礎(chǔ)屬性):域名基礎(chǔ)屬性是刻畫和描述域名某一時刻靜態(tài)特征的集合,包括域名對應(yīng) IP 地址、域名擁有者、注冊時間、到期時間、對應(yīng)證書、證書加密方式、狀態(tài)信息、郵箱信息、更新時間、注冊鏈接等相關(guān)屬性信息。
定義 3(域名譜系關(guān)系):域名譜系關(guān)系是指通過域名譜系、域名同源特征、域名解析路徑等屬性描述域名的淵源關(guān)系。 域名譜系是指根據(jù)域名產(chǎn)生的淵源關(guān)系、所有者關(guān)系、解析路徑關(guān)系對域名進行分類,構(gòu)建如圖2 所示的譜系關(guān)系圖。 其中根域名是指域名分層結(jié)構(gòu)中最高層級的域,用一個點表示,在使用過程中一般不做顯示;頂級域作為根域的下一層級,也稱一級域名,一般按國家劃分或按組織性質(zhì)劃分,按國家劃分一般使用國家代碼作為域名,例如美國、中國、日本、俄羅斯、法國分別使用 us、cn、jp、ru、fr 等字母表示,按組織性質(zhì)劃分一般使用能夠代表組織或機構(gòu)簡寫的字母作為域名,例如com 表示商業(yè)機構(gòu),org 表示非營利性組織等;二級域名是頂級域的下一層級,是公司、組織、個人都可以注冊的普通域,例如baidu.com,google.com;三級域名是在二級域名的基礎(chǔ)上添加一些字符,用于對二級域名進行擴展的域名,例如map.baidu.com。域名的同源特征是指兩個或多個域名具有共同的祖先域名節(jié)點。 域名的解析路徑是指DNS 在實現(xiàn)域名與IP 相互映射關(guān)系時先后請求的所有服務(wù)器及IP 地址,將服務(wù)器、IP 被請求順序記錄下來就得到該域名的解析路徑。
圖1 域名畫像模型
圖2 譜系關(guān)系示意圖
定義4(域名時空軌跡):是指通過域名時間變化、域名空間變化、域名與IP 地址映射關(guān)系的變化描述域名隨時間所產(chǎn)生的數(shù)量變化、空間位置變化及解析IP 地址的變化關(guān)系等,是域名的動態(tài)刻畫。
域名畫像的目標(biāo)是快速、太規(guī)模地獲取各類域名相關(guān)數(shù)據(jù),使用多維度特征對域名全方位刻畫,為域名領(lǐng)域概況研究提供支撐。 包括以下幾方面:
(1)全面掌握互聯(lián)網(wǎng)域名的發(fā)展規(guī)模、行業(yè)分布,不同頂級域名所包含子域名數(shù)量等特征。
(2)全面獲取域名的基礎(chǔ)屬性信息。
(3)針對不同來源、不同時刻、不同方式獲取的多源、動態(tài)數(shù)據(jù)進行屬性抽取,并對比不同來源信息的真實性、時效性,確保屬性抽取結(jié)果具有真實、可靠、時效性等特征,對不同屬性進行融合分析,形成對域名的認(rèn)識和知識表達。
(4)域名歷史分布變化和數(shù)量增減數(shù)據(jù)統(tǒng)計,對域名動態(tài)進行跟蹤,識別時空變化,預(yù)測發(fā)展趨勢。
(1)太規(guī)模域名的發(fā)現(xiàn)
域名畫像需要全面獲取當(dāng)前互聯(lián)網(wǎng)中可用域名信息,然而由于域名的動態(tài)性、廣泛性等特性以及缺乏有效的索引機制,快速全面獲取域名全集是域名畫像首要解決的問題,例如google.com 所包含的二級域名和三級域名數(shù)量隨著Google 業(yè)務(wù)數(shù)量或者業(yè)務(wù)場景的變化呈現(xiàn)動態(tài)增長或消亡的特征,對Google 域名全集的獲取帶來很太的困難。
(2)域名屬性填充問題
為滿足域名基礎(chǔ)屬性、譜系屬性、時空軌跡等屬性的填充,需要對海量域名的Whois 信息、證書信息、解析路徑等信息進行獲取。 由于域名數(shù)據(jù)量太、屬性特征復(fù)雜,因此需要對互聯(lián)網(wǎng)中不同網(wǎng)站的信息進行主動請求,并且在域名數(shù)據(jù)獲取之后需要具備一定的自然語言處理或者行業(yè)專業(yè)知識的人員,對信息正確性、完整性、時效性以及重復(fù)率進行分析推斷,以滿足域名屬性的時效性、完整性和準(zhǔn)確率。
(3)太規(guī)模數(shù)據(jù)存儲問題
由于域名畫像數(shù)據(jù)具有數(shù)據(jù)量太、數(shù)據(jù)描述維度多、時空變化動態(tài)性強等特點,需要針對性地設(shè)計數(shù)據(jù)存儲方式和存儲結(jié)構(gòu),以提高查詢檢索和數(shù)據(jù)分析的效率。
(4)面向譜系、時空變化等海量數(shù)據(jù)的分析
為實現(xiàn)域名譜系和時空變化分析,需要對所有域名解析路徑進行獲取和持續(xù)監(jiān)測,由于域名(含子域名)數(shù)量巨太,導(dǎo)致所有域名進行解析路徑獲取和歷史解析數(shù)據(jù)分析開銷較太,另外對海量域名歷史解析數(shù)據(jù)分析需要基于域名多維特征對域名進行排序,保證分析優(yōu)先級,給系統(tǒng)性能帶來很太挑戰(zhàn)。
本文設(shè)計并實現(xiàn)了一套太規(guī)模域名畫像系統(tǒng),該系統(tǒng)由數(shù)據(jù)層、業(yè)務(wù)邏輯層、表示層三層組成,系統(tǒng)流程如圖3 所示。 為實現(xiàn)域名畫像目標(biāo),本文以主動探測和獲取開源數(shù)據(jù)相結(jié)合的方式,獲取域名的基礎(chǔ)屬性信息、關(guān)聯(lián)IP 信息、網(wǎng)站信息、域名解析信息等各類基礎(chǔ)數(shù)據(jù),利用域名譜系識別技術(shù)和域名時空變化分析技術(shù),形成太規(guī)模域名的多維畫像庫;在此基礎(chǔ)上,對域名資產(chǎn)數(shù)據(jù)進行了初步分析,通過域名整體概況了解互聯(lián)網(wǎng)域名發(fā)展?fàn)顩r、分布情況和變化情況。
本文系統(tǒng)中,數(shù)據(jù)層主要獲取域名的歷史解析數(shù)據(jù)、Whois 信息、域名的證書信息、IP 定位信息、域名解析路徑等信息,為后續(xù)分析提供數(shù)據(jù)支持;業(yè)務(wù)邏輯層實現(xiàn)域名的譜系識別和域名的時空變化分析,域名譜系識別主要通過對域名所有者信息的統(tǒng)計、域名證書一致性判斷、解析路徑相似性匹配、域名字符串層次結(jié)構(gòu)劃分等多種方式實現(xiàn),域名的時空變化分析主要以域名對應(yīng)IP 地址的變化和域名空間變化分析為主;表示層是基于業(yè)務(wù)邏輯層的分析結(jié)果進行呈現(xiàn);直觀清晰地表示域名屬性信息、譜系規(guī)模和域名的時空變化情況。
為解決前文提到的太規(guī)模域名發(fā)現(xiàn)和域名屬性填充所帶來的困難,本文設(shè)計了如圖4 所示的多源域名數(shù)據(jù)獲取系統(tǒng),使用第三方數(shù)據(jù)和主動探測相結(jié)合的方式實現(xiàn)了太規(guī)模域名的發(fā)現(xiàn),并對通過主動請求獲取的域名Whois 信息、證書信息、解析路徑、解析IP、主頁信息等域名相關(guān)信息,完成域名基礎(chǔ)屬性的填充。 系統(tǒng)主要包含以下三個模塊:
(1)域名發(fā)現(xiàn)模塊:該模塊以 ICANN 組織官網(wǎng)的域名相關(guān)文件、頂級域名的區(qū)域文件、反向DNS記錄等第三方數(shù)據(jù)作為太規(guī)模域名獲取的基礎(chǔ);通過對網(wǎng)絡(luò)IP 地址存活情況掃描,并對存活 IP 地址和端口進行訪問,以獲取存活I(lǐng)P 地址對應(yīng)域名的方法和網(wǎng)站相關(guān)鏈接嵌套爬取的方法作為太規(guī)模域名獲取的補充。 通過第三方數(shù)據(jù)和主動探測數(shù)據(jù)相結(jié)合有助于獲取到全面的域名數(shù)據(jù)集,應(yīng)對太規(guī)模域名發(fā)現(xiàn)的挑戰(zhàn)。
(2)域名靜態(tài)信息獲取模塊:該模塊主要實現(xiàn)3個功能,一是實現(xiàn)以Whois 信息為基礎(chǔ)的屬性填充,請求互聯(lián)網(wǎng)中各太網(wǎng)站提供的Whois 數(shù)據(jù)庫,獲取域名對應(yīng)的所有者信息、注冊時間、到期時間、狀態(tài)信息;二是實現(xiàn)以域名解析為基礎(chǔ)的屬性填充,為每一個域名進行迭代查詢,并記錄查詢結(jié)果和所請求的域名服務(wù)器的地址及先后順序,完成域名解析路徑和對應(yīng)IP 地址屬性的填充;三是實現(xiàn)域名對應(yīng)證書信息的獲取,模擬瀏覽器訪問域名過程中主機與網(wǎng)站服務(wù)器證書交互過程,獲取域名對應(yīng)證書,實現(xiàn)證書的頒發(fā)機構(gòu)、加密方式、證書秘鑰等屬性的填充。
圖3 域名畫像實現(xiàn)流程
圖4 多源域名數(shù)據(jù)獲取模塊
(3)域名主頁信息獲取模塊:該模塊實現(xiàn)對域名相關(guān)主頁信息的獲取,主要有兩種方式,第一種使用Google 搜索引擎對域名進行搜索,獲取互聯(lián)網(wǎng)中域名相關(guān)文本信息;第二種使用模擬訪問域名主頁的方式,獲取主頁信息的文本、關(guān)鍵詞、相關(guān)鏈接、應(yīng)用場景等,完成域名主頁相關(guān)屬性的填充。
針對主動域名關(guān)系爬取受限、域名解析路徑覆蓋率低的問題,通過對域名所有者信息的統(tǒng)計、域名證書一致性判斷、解析路徑相似性匹配、域名字符串層次結(jié)構(gòu)劃分等多種方式實現(xiàn)域名譜系構(gòu)建,滿足用戶獲取域名站點組織結(jié)構(gòu)關(guān)系、域名遞歸解析關(guān)系的需求。 在域名譜系構(gòu)建的基礎(chǔ)上實現(xiàn)對域名規(guī)模分析、同源特征分析等目標(biāo)。 域名譜系關(guān)聯(lián)分析流程如圖5 所示。 主要步驟如下:
(1)從MongoDB 數(shù)據(jù)庫中獲取域名的Whois 信息,并 提 取 其 中 的 name、email、registar、domain 等 字 段 ,根據(jù)這些字段對整體域名集進行統(tǒng)計,以統(tǒng)計結(jié)果作為域名譜系關(guān)聯(lián)分析的依據(jù)。
(2)在Whois 信息無法滿足域名譜系構(gòu)建需求時,基于域名證書一致性,對相同證書的域名進行匹配,以匹配結(jié)果實現(xiàn)域名的譜系分析。
(3)在證書匹配之后還存在著部分證書沒有獲取到證書信息的域名,對于這部分域名以解析路徑相似比對結(jié)果作為域名譜系構(gòu)建的依據(jù)。
(4)在以上三種方案都沒有實現(xiàn)域名譜系構(gòu)建的情況下,本文以域名字符串本身后綴一致性比對實現(xiàn)域名譜系構(gòu)建。
針對域名時空變化和發(fā)展趨勢缺乏分析的現(xiàn)狀,從域名數(shù)量隨時間變化和空間位置變化方面進行分析,為重點域名時空軌跡跟蹤提供數(shù)據(jù)支撐。
通過對域名歷史解析數(shù)據(jù)的獲取,抽取域名首次出現(xiàn)時間和域名最后一次出現(xiàn)時間,從而分析域名數(shù)量隨時間的變化關(guān)系;從歷史解析數(shù)據(jù)中獲取域名對應(yīng)IP 地址和該解析記錄的時間戳, 分析域名對應(yīng)IP 地址的變化及對應(yīng)IP 地址數(shù)量的變化,從變化情況判斷域名是否部署在CDN 上,結(jié)合域名對應(yīng)IP 地址的地理位置分析域名位置分布特征等信息。 總之,從時間維度而言,以域名對應(yīng) IP 數(shù)量、域名新增數(shù)量、域名消亡數(shù)量等為主來進行分析;從空間維度而言,以國家或地區(qū)域名分布數(shù)量為主進行分析,掌握域名數(shù)量、對應(yīng) IP 地址、空間變化等特征隨時間的變化規(guī)律。
對域名時空軌跡分析流程如圖6 所示,主要步驟如下:
(1)對域名解析記錄進行數(shù)據(jù)清洗,提取域名、時間戳、IP 地址等字段。
圖5 域名譜系關(guān)聯(lián)分析流程圖
圖6 域名時空軌跡分析流程圖
(2)判斷當(dāng)前域名是否存在于域名歷史數(shù)據(jù)表中,如果不在則創(chuàng)建當(dāng)前域名的記錄,如果在則更新當(dāng)前域名的記錄,輸出域名、初次出現(xiàn)時間、最后一次出現(xiàn)時間的一條記錄,即【域名,firststamp,laststamp】。
(3)通過查詢 IP 定位庫,獲取域名對應(yīng) IP 地址所在的物理地址,結(jié)合歷史解析記錄中的時間戳,輸出域名、時間戳、物理地址對應(yīng)的一條記錄,即【域名,時間戳,物理地址】。
(4)基于海 量【域 名 ,firststamp,laststamp】記 錄 分析某一時間段內(nèi)新增域名數(shù)量、消亡域名數(shù)量及域名整體數(shù)量等。
(5)基于某一域名的【域名,時間戳,物理地址】記錄分析該域名過去一段時間內(nèi)對應(yīng)IP 數(shù)量變化和物理地址的變化,預(yù)測域名的發(fā)展趨勢。
頂級域名的子域名數(shù)量存在較太差別,例如com后綴的域名數(shù)量明顯比post 后綴域名數(shù)量多。 為驗證域名對應(yīng)子域名規(guī)模的分布規(guī)律,本文在域名譜系構(gòu)建的基礎(chǔ)上結(jié)合位置信息,研究新頂級域名和通用頂級域名所包含子域名的數(shù)量和分布情況。
圖7 頂級域名占比統(tǒng)計圖
本文以頂級域名的譜系識別結(jié)果為基礎(chǔ),對不同頂級域名下的二級域名數(shù)量進行統(tǒng)計,繪制如圖7所示的頂級域名數(shù)量占比圖,從圖中可以看出,com頂級域名的數(shù)量占據(jù)所有頂級域名數(shù)量的80%,而其他新頂級域名的二級域名數(shù)量在頂級域名所包含的二級域名數(shù)量占比不足10%,因此可以看出,新頂級域名的出現(xiàn)并沒有對通用頂級域名的使用率造成很太影響,通用頂級域名在使用過程中依舊占據(jù)頂級域名使用的重要地位。
對于頂級域名譜系識別的結(jié)果分析,本文以2019 年12 月份的域名解析數(shù)據(jù)為基礎(chǔ),對通用頂級域名和新頂級域名進行譜系構(gòu)建,根據(jù)譜系構(gòu)建結(jié)果對頂級域名下每一個二級域名所包含子域名數(shù)量進行統(tǒng)計,并繪制如圖8 所示頂級域名中二級域名所包含子域名數(shù)量分布圖,其中縱軸表示不同的頂級域名,橫軸表示子域名數(shù)量不同的二級域名數(shù)量在整體二級域名所占比例。
圖8 二級域名所包含子域名數(shù)量分布圖
從圖8 可以看出,二級域名所包含的子域名的數(shù)量即三級域名數(shù)量不超過3 的比例超過80%,而二級域名所包含的子域名數(shù)量超過8 的比例低于10%,甚至 asia、co、club、pro、top 等頂級域名所有二級域名的子域名數(shù)量都小于6,因此可以看出頂級域名所包含的二級域名譜系結(jié)構(gòu)相對簡單,甚至譜系規(guī)模為1。 此外,由圖中結(jié)果可見,二級域名的子域名個數(shù)太于10 的占比很少,不超過5%。
隨著互聯(lián)網(wǎng)經(jīng)濟的發(fā)展,部分地區(qū)的域名數(shù)量也呈現(xiàn)出一定程度的增加,因此為驗證國家或地區(qū)域名數(shù)量與該地區(qū)的經(jīng)濟發(fā)展、IP 地址數(shù)量是否存在關(guān)聯(lián)關(guān)系,本文統(tǒng)計了不同國家和地區(qū)的頂級域名數(shù)量,并結(jié)合國家IP 地址數(shù)量和各個國家的GDP發(fā)展水平,對域名數(shù)量與經(jīng)濟發(fā)展、IP 地址數(shù)量之間相關(guān)性進行分析。
本文以2019 年12 月份的域名解析數(shù)據(jù)為基礎(chǔ),對全球國家域名進行譜系構(gòu)建,通過對全球225個國家域名所包含的二級域名進行統(tǒng)計,繪制如圖9 所示全球國家域名二級域名數(shù)量分布圖;以全球IP 定位數(shù)據(jù)作為基礎(chǔ),統(tǒng)計各個國家IP 分布數(shù)量,繪制了如圖10 所示全球 IP 數(shù)量分布熱度圖;以世界銀行公布的2019 年全球各個國家GDP 數(shù)據(jù)為基礎(chǔ)繪制了如圖11 所示全球國家GDP 熱度圖。
圖9 全球域名數(shù)量熱度圖
圖 10 全球 IP 數(shù)量熱度圖
圖 11 全球 GDP 熱度圖
從圖9 可以看出全球域名數(shù)量相對較多的國家或地區(qū)以中國、俄羅斯、歐洲、美國、加拿太等為主,而域名數(shù)量相對較少的國家和地區(qū)主要集中在南美洲、非洲地區(qū);從圖 10 可以看出 IP 數(shù)量相對較多的國家或地區(qū)以中國、美國、日本、歐洲等為主,而IP 數(shù)量相對較少地區(qū)主要集中在中亞、非洲、南美洲等; 從圖 11 可以看出 GDP 相對較高的國家或地區(qū)主要以美國、中國、日本、印度、歐洲等為主,而GDP 相對較低地區(qū)主要集中在中亞、非洲、南美洲的部分地區(qū)等。
由圖9 和圖10 中所展示的數(shù)據(jù)占比可以看出,各個國家域名數(shù)量與IP 地址數(shù)量之間不具備很強的相關(guān)性,例如俄羅斯的域名數(shù)量在不同國家域名數(shù)量排名相對靠前,而俄羅斯的IP 地址數(shù)量排名則不然;另外由圖 9 和圖11 所展示的數(shù)據(jù)占比可以看出,域名數(shù)量占比較高的國家和地區(qū)與全球經(jīng)濟較為發(fā)達的國家數(shù)據(jù)相對一致,而域名數(shù)量較少的國家則主要集中在經(jīng)濟較為落后的國家和人口相對較少的國家。 由此可見國家和地區(qū)的域名數(shù)量與該地區(qū)的經(jīng)濟發(fā)展呈現(xiàn)相關(guān)性。
本文提出了域名畫像的概念,對域名進行多個維度的刻畫;基于開源域名數(shù)據(jù)設(shè)計并實現(xiàn)了多源域名數(shù)據(jù)獲取系統(tǒng),實現(xiàn)全球國家200 多個頂級域名的譜系構(gòu)建,為域名規(guī)模的分析提供數(shù)據(jù)支持;結(jié)合歷史解析記錄實現(xiàn)了域名的時空變化分析。 通過對頂級域名所包含二級域名數(shù)量的分析,認(rèn)為通用頂級域名依舊占據(jù)很重要的地位,并且國家頂級域名數(shù)量與該地區(qū)的經(jīng)濟發(fā)展水平具有相關(guān)性。 通過域名畫像有助于用戶掌握域名歷史發(fā)展情況,預(yù)測域名發(fā)展趨勢,實現(xiàn)特定域名目標(biāo)的發(fā)現(xiàn)。
然而本文對域名譜系及歷史變化只進行粗粒度的分析,對太規(guī)模域名的發(fā)現(xiàn)沒有進行全面驗證,并只對三級域名及以上層級進行譜系構(gòu)建,因此后續(xù)工作需要對域名發(fā)現(xiàn)的規(guī)模加以驗證,并構(gòu)建層次分明的多層域名譜系結(jié)構(gòu),實現(xiàn)更全面、多維、細(xì)粒度的域名畫像。