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

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

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

  一、摘要

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

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

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

  二、網(wǎng)絡資產(chǎn)測繪

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

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

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

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

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

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

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

  三、識別變化的新方法

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

  3.1Banner字符串匹配方法

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

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

微信圖片_20210709184441.png

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

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

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

微信圖片_20210709184448.png

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

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

微信圖片_20210709184235.jpg

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

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

  四、做標記

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

  4.1標記流程

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

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

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

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

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

微信圖片_20210709184238.jpg

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

  4.2具體應用

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

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

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

微信圖片_20210709184242.jpg

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

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

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

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

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

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

微信圖片_20210709184246.jpg

  六、總結

  本文基于對暴露資產(chǎn)的網(wǎng)絡地址變化的分析,提出了一種基于banner信息比對的資產(chǎn)變化識別方法。使用該方法,我們在搜索引擎中增加了地址對應資產(chǎn)變化情況這一標記維度,能夠幫助分析人員提升溯源準確度,同時也能用于優(yōu)化引擎的地址掃描策略。此外,我們將聚類算法應用于識別每輪掃描中新出現(xiàn)的資產(chǎn)設備,提升后續(xù)指紋的提取效率。




電子技術圖片.png

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