《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 掌握網(wǎng)絡(luò)資產(chǎn)的動(dòng)態(tài)變化的新方法

掌握網(wǎng)絡(luò)資產(chǎn)的動(dòng)態(tài)變化的新方法

2021-07-09
來源:數(shù)說安全

  一、摘要

  測(cè)繪最早來源于地理空間地圖的繪制,主要研究測(cè)定和推算地面幾何位置、地球形狀及地球重力場(chǎng),據(jù)此測(cè)量地球表面自然物體和人工設(shè)施的幾何分布,編制各種比例尺地圖的理論和技術(shù)的學(xué)科(維基百科)。

  網(wǎng)絡(luò)空間測(cè)繪和地理信息測(cè)繪的技術(shù)路線類似,“測(cè)”是對(duì)網(wǎng)絡(luò)空間內(nèi)一切可獲得數(shù)據(jù)的測(cè)量機(jī)制的建立,偏向于實(shí)現(xiàn)掃描和探測(cè)的工程問題;“繪”則是根據(jù)對(duì)網(wǎng)絡(luò)空間測(cè)量數(shù)據(jù)關(guān)聯(lián)到地理空間繪制成圖,更傾向于對(duì)數(shù)據(jù)的分析和研究。這兩部分工作重要程度不分伯仲,但目前從行業(yè)整體情況來看,更多的是在網(wǎng)絡(luò)空間掃描,也就是“測(cè)”的部分做主要投入,而對(duì)掃描測(cè)繪數(shù)據(jù)的分析和研究相對(duì)較少。數(shù)據(jù)放在那就只是數(shù)據(jù),只有將生米煮成熟飯,才能發(fā)揮其真正的價(jià)值。

  所以我們會(huì)持續(xù)更新一個(gè)研究專題,主要介紹一些在網(wǎng)絡(luò)空間測(cè)繪數(shù)據(jù)分析方面的研究關(guān)注點(diǎn)和方法,旨在還原真實(shí)網(wǎng)絡(luò)空間全貌,繪制出更有效的地圖指導(dǎo)作戰(zhàn)。接下來將介紹該系列的第一篇文章,網(wǎng)絡(luò)空間數(shù)據(jù)繪制專題——資產(chǎn)地址動(dòng)態(tài)變化研究。

  二、網(wǎng)絡(luò)資產(chǎn)測(cè)繪

  必須掌握動(dòng)態(tài)變化

  相比于地理信息測(cè)繪,網(wǎng)絡(luò)空間測(cè)繪存在一些特殊之處。首先從數(shù)據(jù)維度來講,地理空間的測(cè)繪數(shù)據(jù)是三維的(經(jīng)度、緯度、海拔)且連續(xù),而網(wǎng)絡(luò)空間中將IP地址轉(zhuǎn)化為長(zhǎng)整形后,地址數(shù)據(jù)是一維的,并且每個(gè)點(diǎn)都是獨(dú)立存在并不連續(xù)。此外,二者還有一個(gè)最大的不同之處就是變化頻率,地理信息測(cè)繪數(shù)據(jù)一般變化較慢,而且因?yàn)槭沁B續(xù)的,所以變化趨勢(shì)相對(duì)好預(yù)測(cè),比如珠穆朗瑪峰的每年都會(huì)以一定的高度在增長(zhǎng),但正常情況下一般不會(huì)突然升高或下降幾十米。

  而網(wǎng)絡(luò)空間測(cè)繪數(shù)據(jù)則不同,絕大多數(shù)的IP地址處于變化是常態(tài)。比如存活情況、開放服務(wù)、ASN、地理信息、地址所有者等等維度都是處在動(dòng)態(tài)變化中,并且因?yàn)榫W(wǎng)絡(luò)地址都是離散分布的個(gè)體,變化趨勢(shì)也就更難預(yù)測(cè)。但想要描繪出網(wǎng)絡(luò)空間真實(shí)面貌,就必須對(duì)網(wǎng)絡(luò)地址的變化情況進(jìn)行深入研究。

  互聯(lián)網(wǎng)資產(chǎn)發(fā)現(xiàn)與識(shí)別是資產(chǎn)畫像繪制和風(fēng)險(xiǎn)分析的必要前提,面對(duì)多變的網(wǎng)絡(luò)環(huán)境,如何進(jìn)行資產(chǎn)動(dòng)態(tài)追蹤是目前亟待解決的問題之一。現(xiàn)有方法在執(zhí)行互聯(lián)網(wǎng)資產(chǎn)變化監(jiān)控時(shí),大多僅基于端口、組件、服務(wù)等要素關(guān)注資產(chǎn)數(shù)量上的統(tǒng)計(jì)情況,忽視了對(duì)于具體網(wǎng)絡(luò)地址對(duì)應(yīng)資產(chǎn)的變化標(biāo)記。為填補(bǔ)上述空白,我們提出了一種用于資產(chǎn)變化識(shí)別的新方法,使用該方法,我們可以動(dòng)態(tài)地識(shí)別出固定網(wǎng)絡(luò)地址對(duì)應(yīng)資產(chǎn)是否發(fā)生了改變,有助于掃描策略優(yōu)化、威脅跟蹤等多種安全場(chǎng)景。此外,本文還基于對(duì)變化資產(chǎn)的監(jiān)控與分析,提出了一種加速新出現(xiàn)資產(chǎn)指紋標(biāo)記的策略。

  通過對(duì)互聯(lián)網(wǎng)上暴露資產(chǎn)的長(zhǎng)期跟蹤,我們發(fā)現(xiàn)每輪資產(chǎn)掃描得到的網(wǎng)絡(luò)地址池始終處于動(dòng)態(tài)變化當(dāng)中,這意味著當(dāng)新一輪掃描結(jié)果到來時(shí),過去的資產(chǎn)標(biāo)簽可能已經(jīng)失效。在這種情況下,現(xiàn)有暴露的資產(chǎn)數(shù)量將不能體現(xiàn)真實(shí)的暴露資產(chǎn)規(guī)模,而且過時(shí)的資產(chǎn)標(biāo)簽會(huì)混淆威脅狩獵的溯源。

  進(jìn)一步,正是由于網(wǎng)絡(luò)資產(chǎn)和地址對(duì)應(yīng)的不確定性,每一輪掃描中可能會(huì)存在初次被發(fā)現(xiàn)的資產(chǎn)設(shè)備類型,如果能及時(shí)篩選出這部分資產(chǎn),就能及時(shí)對(duì)其進(jìn)行指紋標(biāo)記,有助于后續(xù)威脅發(fā)現(xiàn)與分析工作的展開。

  因此,為解決上述問題,我們提出了一種監(jiān)控網(wǎng)絡(luò)地址對(duì)應(yīng)資產(chǎn)變化的新方法,該方法能夠?qū)W(wǎng)絡(luò)地址動(dòng)態(tài)變化的資產(chǎn)進(jìn)行標(biāo)定,在用戶搜索某網(wǎng)絡(luò)地址信息時(shí),就能告知其在當(dāng)前時(shí)間節(jié)點(diǎn),該網(wǎng)絡(luò)地址對(duì)應(yīng)資產(chǎn)標(biāo)簽相較過去時(shí)間是否已經(jīng)發(fā)生了變化,從而降低試錯(cuò)成本,提高威脅分析的精準(zhǔn)度;此外,我們還在每一輪掃描中篩選出全部可能的新出現(xiàn)資產(chǎn),使用聚類算法將這些資產(chǎn)劃分為不同的簇,方便后續(xù)利用專家知識(shí)從每個(gè)類簇中提取資產(chǎn)指紋信息。

  三、識(shí)別變化的新方法

  綜合考慮目前現(xiàn)有的資產(chǎn)識(shí)別方法,我們?cè)O(shè)計(jì)出多種監(jiān)控網(wǎng)絡(luò)地址對(duì)應(yīng)資產(chǎn)變化情況的方案,這些方案的目的是盡可能可靠的判斷出多輪掃描后,相同的網(wǎng)絡(luò)地址是否還對(duì)應(yīng)同一個(gè)資產(chǎn)。本節(jié)將對(duì)這些方法進(jìn)行簡(jiǎn)要說明,并通過實(shí)驗(yàn),對(duì)比各方法在不同使用場(chǎng)景下的優(yōu)劣。

  3.1Banner字符串匹配方法

  方案一采用資產(chǎn)banner信息進(jìn)行比對(duì)。Banner是目標(biāo)設(shè)備給訪問者的響應(yīng)通告信息,在掃描過程中,與設(shè)備建立完整的網(wǎng)絡(luò)連接后,我們可以獲取到目標(biāo)系統(tǒng)的banner信息,其中可能會(huì)包含一些標(biāo)識(shí)身份的敏感內(nèi)容,包括軟件開發(fā)商、軟件名稱、服務(wù)類型、版本號(hào)等等。因此,我們考慮能否將最新一輪資產(chǎn)的banner信息與之前最近一輪該地址對(duì)應(yīng)資產(chǎn)的banner進(jìn)行字符串匹配,計(jì)算兩段banner字符串的編輯距離,進(jìn)而通過距離大小來判斷相似度,一旦兩者文本相似性小于閾值,則認(rèn)為該網(wǎng)絡(luò)地址對(duì)應(yīng)資產(chǎn)未發(fā)生變化。

  實(shí)驗(yàn)發(fā)現(xiàn)該方法在banner較長(zhǎng)的情況下比較效率低,banner長(zhǎng)度的統(tǒng)計(jì)結(jié)果如圖1所示,按空白符分詞后,大于100個(gè)詞的banner主要屬于http/https協(xié)議。我們發(fā)現(xiàn),以443端口為例,該端口下資產(chǎn)banner長(zhǎng)度為均值300時(shí)比較耗時(shí)約為32s,資產(chǎn)總數(shù)約為396萬,比較總時(shí)間遠(yuǎn)大于掃描周期(5天),無法做到針對(duì)每一輪數(shù)據(jù)動(dòng)態(tài)更新資產(chǎn)狀態(tài)。

微信圖片_20210709184441.png

  圖1.各端口掃描資產(chǎn)banner長(zhǎng)度均值

  3.2基于Simhash的部分banner匹配方法

  由方案一,我們進(jìn)一步改進(jìn)得到方案二,采用Simhash算法對(duì)高維特征向量先進(jìn)行降維,再比較得到的哈希值的距離。傳統(tǒng)hash算法通??梢杂糜趯?duì)一段文本生成指紋,但如果輸入信息一旦發(fā)生輕微的變化,對(duì)應(yīng)的hash值就會(huì)有很大的改變。在資產(chǎn)變化識(shí)別場(chǎng)景下,相同資產(chǎn)的banner信息在多輪掃描中很有可能局部發(fā)生改變,比如其中的時(shí)間項(xiàng)、動(dòng)態(tài)序列號(hào)等。因此,我們需要hash值的相似程度能直接反映輸入內(nèi)容的相似程度。Simhash是Google提出用于海量網(wǎng)頁(yè)去重的一種敏感hash算法,該算法將單個(gè)文本轉(zhuǎn)換成一個(gè)定長(zhǎng)的特征字,通過判斷兩特征字間的距離是不是小于指定閾值從而判斷兩個(gè)文本是否相似。這里,我們將該算法用于判定資產(chǎn)變化情況,能夠降低比較的時(shí)間復(fù)雜度,同樣選取300詞長(zhǎng)度的banner字符串進(jìn)行比較,計(jì)算其simhash后求歐氏距離的時(shí)間花費(fèi)下降為0.0053s。

微信圖片_20210709184448.png

  圖2.基于simhash的資產(chǎn)變化識(shí)別

  該方案整體流程如圖2所示。首先,基于先前對(duì)于banner長(zhǎng)度的統(tǒng)計(jì),我們可知HTTP/HTTPs協(xié)議的banner整體長(zhǎng)度過長(zhǎng),影響比對(duì)效率。因此,我們根據(jù)html語(yǔ)法,僅截取這些協(xié)議響應(yīng)包中的部分信息,經(jīng)綜合考慮,最終選定包中“<body>”前的內(nèi)容,這部分內(nèi)容既包含了響應(yīng)頭又留有標(biāo)題、元數(shù)據(jù)和url等重要資產(chǎn)信息,能很大程度上區(qū)分不同資產(chǎn);同時(shí)該段內(nèi)容長(zhǎng)度適中,如圖3所示,約有95%的資產(chǎn)該部分特征詞個(gè)數(shù)小于100,基本能滿足系統(tǒng)對(duì)于分析效率的要求。

微信圖片_20210709184235.jpg

  圖3.“<body>”前banner特征詞個(gè)數(shù)分布

  下一步對(duì)抽取的banner信息進(jìn)行缺失值處理和清洗操作,去除banner中所有的html標(biāo)簽和空白字符,同時(shí)將所有日期等已知影響判斷的文本片段刪除。之后,使用Simhash算法將該段banner信息映射為定長(zhǎng)的64位二進(jìn)制編碼,采用隨機(jī)超平面的離散化方法完成了文本的低維度表示;最后,選用了歐式距離用于度量?jī)少Y產(chǎn)hash碼的相似程度,一旦距離小于給定閾值,則認(rèn)為兩輪掃描的網(wǎng)絡(luò)地址對(duì)應(yīng)資產(chǎn)未發(fā)生變化,我們?cè)谝延芯哂邢嗤Y產(chǎn)標(biāo)記的數(shù)據(jù)集上進(jìn)行閾值選取。除了用于判斷網(wǎng)絡(luò)地址對(duì)應(yīng)資產(chǎn)變化情況外,計(jì)算得到的資產(chǎn)hash碼還可用于后續(xù)反向追蹤資產(chǎn)對(duì)應(yīng)網(wǎng)絡(luò)地址的變化路徑。

  四、做標(biāo)記

  本節(jié)利用上一節(jié)提出的相同資產(chǎn)判別方案,為每一輪掃描得到的暴露資產(chǎn)添加變化情況標(biāo)記,該標(biāo)記有利于掃描策略優(yōu)化、威脅跟蹤等多種安全應(yīng)用。

  4.1標(biāo)記流程

  我們將網(wǎng)絡(luò)地址資產(chǎn)變化情況分為四種,分別為:new、changed、unchanged和stable,每輪掃描中,每個(gè)網(wǎng)絡(luò)地址的資產(chǎn)變化情況都會(huì)屬于四者之一。

  new:代表該網(wǎng)絡(luò)地址從未在歷史的掃描中出現(xiàn),暫將其代表的資產(chǎn)視為新增資產(chǎn)。

  changed:代表該網(wǎng)絡(luò)地址曾在歷史的掃描中出現(xiàn),并且利用上一節(jié)中方法判斷,其對(duì)應(yīng)的資產(chǎn)和前一次發(fā)現(xiàn)時(shí)相比發(fā)生了變化。

  unchanged:代表該網(wǎng)絡(luò)地址曾在歷史的掃描中出現(xiàn),并且利用基于Simhash的部分banner匹配方法,能判定其對(duì)應(yīng)的資產(chǎn)和前一次發(fā)現(xiàn)時(shí)相比未發(fā)生改變。

  stable:一旦某個(gè)網(wǎng)絡(luò)地址資產(chǎn)變化標(biāo)記為changed的次數(shù)大于設(shè)定的閾值,就將其標(biāo)記為stable,表示比較長(zhǎng)的一段時(shí)間內(nèi)網(wǎng)絡(luò)地址從未發(fā)生過變化的資產(chǎn)。同時(shí)對(duì)于每種協(xié)議,維護(hù)一個(gè)stable庫(kù)。各狀態(tài)間的轉(zhuǎn)換關(guān)系如圖4所示。

微信圖片_20210709184238.jpg

  圖4.資產(chǎn)狀態(tài)轉(zhuǎn)換圖

  4.2具體應(yīng)用

  資產(chǎn)變化標(biāo)記有助于提高威脅溯源準(zhǔn)確性,一旦有分析人員溯源追蹤到某個(gè)網(wǎng)絡(luò)地址,我們的標(biāo)記可以幫助其判斷該網(wǎng)絡(luò)地址對(duì)應(yīng)的資產(chǎn)在指定時(shí)間區(qū)間內(nèi)是否發(fā)生過變化,若發(fā)生過變化,我們會(huì)提供目標(biāo)資產(chǎn)網(wǎng)絡(luò)地址變化的可能集合,幫助分析人員重新溯源目標(biāo),提升溯源的效率和準(zhǔn)確率。此外,每輪的資產(chǎn)變化統(tǒng)計(jì)還可幫助地址掃描策略的優(yōu)化。某網(wǎng)絡(luò)地址一旦被標(biāo)記為stable,那么在之后的多輪(可自定義輪數(shù))中,我們將不對(duì)該地址進(jìn)行掃描,從而節(jié)約掃描帶寬和掃描節(jié)點(diǎn)投入,減少掃描節(jié)點(diǎn)被識(shí)別為惡意應(yīng)用的可能,維護(hù)一個(gè)持續(xù)穩(wěn)定的掃描地址池。

  五、發(fā)現(xiàn)新出現(xiàn)資產(chǎn)

  在收集到的大量的banner響應(yīng)信息中,我們發(fā)現(xiàn)相同設(shè)備類別的資產(chǎn)往往在響應(yīng)報(bào)文的結(jié)構(gòu)和內(nèi)容上具備很高的語(yǔ)義相似性,不同設(shè)別類別的資產(chǎn)則差別較大,如圖5所示,上方兩個(gè)被標(biāo)識(shí)為dahua camera的資產(chǎn)banner信息和下方Axis Camera有明顯區(qū)別。

微信圖片_20210709184242.jpg

  圖5.不同資產(chǎn)類別的banner響應(yīng)信息

  由上一節(jié)的資產(chǎn)變化判定邏輯可知,每輪掃描中變化情況為new和changed的資產(chǎn)很有可能屬于之前從未出現(xiàn)過的資產(chǎn)類別,即新增資產(chǎn)。如果能將這些banner信息進(jìn)行相似整合, 有助于對(duì)新出現(xiàn)的資產(chǎn)類型進(jìn)行標(biāo)注,從而描繪出網(wǎng)絡(luò)空間新增資產(chǎn)態(tài)勢(shì)。

  根據(jù)協(xié)議我們將所有待標(biāo)記的新增資產(chǎn)分為MQTT、UPnP、onvif、Dahua-DVR、FTP、SSH、Telnet、SIP、RTSP、HTTP十類,分別對(duì)每種協(xié)議的新增資產(chǎn)進(jìn)行無監(jiān)督聚類,就能得到協(xié)議內(nèi)部的新增資產(chǎn)分布情況。具體來說,首先提取出新增資產(chǎn)對(duì)應(yīng)的banner后,將其中不包含資產(chǎn)設(shè)備信息的條目過濾掉,比如非定制化的普通404、503等錯(cuò)誤響應(yīng)。由于多種資產(chǎn)設(shè)備在這些情況下banner響應(yīng)信息可能相同,這就會(huì)影響資產(chǎn)聚類的準(zhǔn)確性。下一步需要對(duì)過濾后剩余banner信息進(jìn)行向量化處理,這里采用了目前常用的文本向量化加權(quán)技術(shù)TF-IDF;最后通過用于數(shù)據(jù)降維的PCA算法,提取數(shù)據(jù)的主要特征分量,降維后的向量就用來作為資產(chǎn)聚類的輸入。

  目前常用的聚類算法包括基于距離的K-Means算法,基于層次劃分的Hierarchical算法,基于密度的DBSCAN等多種。由于每種協(xié)議都需要進(jìn)行參數(shù)的動(dòng)態(tài)調(diào)整,綜合考慮新增資產(chǎn)的數(shù)量級(jí)以及時(shí)間開銷,我們選用KMeans算法進(jìn)行資產(chǎn)聚類。

  KMeans算法的基本思想是以空間中k個(gè)點(diǎn)為中心進(jìn)行聚類,對(duì)最靠近它們的對(duì)象歸類,通過迭代的方法,逐次更新各聚類中心的值,直至收斂或到達(dá)中止條件。

  聚類后使用輪廓系數(shù)(Silhouette coefficient)對(duì)無監(jiān)督聚類效果進(jìn)行評(píng)價(jià),以針對(duì)http協(xié)議下8000端口的新增資產(chǎn)聚類結(jié)果為例,圖6所示是輪廓系數(shù)最接近1時(shí)(≈0.87)的聚類效果,明顯看出,經(jīng)過聚類之后,我們確實(shí)能夠得到新增資產(chǎn)中各個(gè)可能資產(chǎn)類別的聚類簇,該聚類結(jié)果能夠用于后續(xù)指紋提取以及人工標(biāo)記,加速了新出現(xiàn)的設(shè)備的發(fā)現(xiàn)進(jìn)程。

微信圖片_20210709184246.jpg

  六、總結(jié)

  本文基于對(duì)暴露資產(chǎn)的網(wǎng)絡(luò)地址變化的分析,提出了一種基于banner信息比對(duì)的資產(chǎn)變化識(shí)別方法。使用該方法,我們?cè)谒阉饕嬷性黾恿说刂穼?duì)應(yīng)資產(chǎn)變化情況這一標(biāo)記維度,能夠幫助分析人員提升溯源準(zhǔn)確度,同時(shí)也能用于優(yōu)化引擎的地址掃描策略。此外,我們將聚類算法應(yīng)用于識(shí)別每輪掃描中新出現(xiàn)的資產(chǎn)設(shè)備,提升后續(xù)指紋的提取效率。




電子技術(shù)圖片.png

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。