羅 強(qiáng),段夢軍,吳治霖
(1.海軍裝備部,四川 成都 610036;2.中國電子科技集團(tuán)公司第三十研究所,四川 成都 610041)
隨著網(wǎng)絡(luò)的不斷發(fā)展以及用戶對網(wǎng)絡(luò)使用需求的急劇增長,網(wǎng)絡(luò)規(guī)模不斷擴(kuò)大、網(wǎng)絡(luò)空間趨于復(fù)雜。通過網(wǎng)絡(luò)空間資產(chǎn)探測,可以及時發(fā)現(xiàn)潛在的安全風(fēng)險,避免被不法之徒攻擊。國家把網(wǎng)絡(luò)空間安全概念已提升到一個重要的層次,更加顯示了網(wǎng)絡(luò)空間安全。在網(wǎng)絡(luò)攻防對抗中,首先得了解網(wǎng)絡(luò),要了解網(wǎng)絡(luò)空間,就需要對網(wǎng)絡(luò)空間進(jìn)行資產(chǎn)探測。
網(wǎng)絡(luò)空間資產(chǎn)探測技術(shù)作為網(wǎng)絡(luò)安全的重要基礎(chǔ)技術(shù),是通過主動或被動探測的方法,來繪制網(wǎng)絡(luò)空間上設(shè)備的網(wǎng)絡(luò)節(jié)點(diǎn)和網(wǎng)絡(luò)連接關(guān)系圖,為網(wǎng)絡(luò)設(shè)備進(jìn)行畫像。
近年來,網(wǎng)絡(luò)資產(chǎn)探測技術(shù)已成為網(wǎng)絡(luò)安全領(lǐng)域的研究熱點(diǎn),各國都對此進(jìn)行了深入研究。如美國國防部先進(jìn)研究項(xiàng)目局(Defense Advanced Research Projects Agency,DRAPA)驅(qū)動的X 計(jì)劃,旨在通過快速繪制網(wǎng)絡(luò)戰(zhàn)場地圖,提高國家網(wǎng)絡(luò)戰(zhàn)能力,協(xié)助制定作戰(zhàn)計(jì)劃,促進(jìn)網(wǎng)絡(luò)戰(zhàn)任務(wù)的高效推進(jìn)。美國國土資源部(United States Department of Homeland Security,DHS)驅(qū)動的SHINE 計(jì)劃,通過Shodan 等網(wǎng)絡(luò)空間掃描引擎監(jiān)控美國關(guān)鍵基礎(chǔ)設(shè)施網(wǎng)絡(luò)資源的安全狀態(tài)。該引擎在本地網(wǎng)絡(luò)空間地址列表上進(jìn)行安全態(tài)勢感知,并定期向工業(yè)控制系統(tǒng)應(yīng)急小組(Industrial Control Systems Cyber Emergency Response Team,ICS-CERT)推送安全通知,確保關(guān)鍵基礎(chǔ)設(shè)施網(wǎng)絡(luò)的安全。
我國目前也已在進(jìn)行相關(guān)的研究。我國已經(jīng)實(shí)現(xiàn)對網(wǎng)絡(luò)空間網(wǎng)際互連協(xié)議(Internet Protocol,IP)地址的掃描,達(dá)到資源探測的目的,且能夠?qū)γ總€IP 地址的資源進(jìn)行識別。但相較于目前國外的技術(shù)能力,還需進(jìn)一步突破基于指紋比對的網(wǎng)絡(luò)組件精準(zhǔn)探測技術(shù)。基于指紋庫的網(wǎng)絡(luò)設(shè)備組件識別技術(shù),是網(wǎng)絡(luò)空間探測系統(tǒng)的核心技術(shù)。該技術(shù)可對設(shè)備的特定端口進(jìn)行請求,判斷端口是否開放,并根據(jù)端口返回信息,并利用自主研制的指紋比對技術(shù),結(jié)合自主研制的指紋庫,對設(shè)備類型及所使用的組件進(jìn)行識別。
在工業(yè)控制服務(wù)探測方面,國內(nèi)專門針對網(wǎng)絡(luò)空間工業(yè)控制服務(wù)深度探測技術(shù)研究起步相對較晚。目前,通過網(wǎng)絡(luò)的主動探測技術(shù)可以為一些重要的工業(yè)控制系統(tǒng)提供在線監(jiān)測和識別能力,并可以支持典型的數(shù)據(jù)采集與監(jiān)視控制系統(tǒng)(Supervisory Control and Data Acquisition,SCADA)、可編程邏輯控制器(Programmable Logic Controller,PLC)等工業(yè)控制系統(tǒng)(設(shè)備),Modbus 等工業(yè)控制協(xié)議[1],以及與工業(yè)控制相關(guān)的通用網(wǎng)絡(luò)服務(wù)。但與國外相比,我國的工業(yè)控制服務(wù)探測技術(shù)還存在許多問題,如支持工控設(shè)備/協(xié)議等服務(wù)數(shù)量不足、感知深度不足。與網(wǎng)絡(luò)空間大量存在的標(biāo)準(zhǔn)化的信息系統(tǒng)不同,工業(yè)控制系統(tǒng)及相關(guān)服務(wù)存在大量非標(biāo)準(zhǔn)私有的控制協(xié)議組件,或同一種工控協(xié)議存在多個未公開版本的情況,大多數(shù)工業(yè)控制服務(wù)細(xì)節(jié)掌握在相關(guān)廠家自己手里。
目前,我國需要進(jìn)一步對相關(guān)聯(lián)網(wǎng)特征進(jìn)行深入研究,精準(zhǔn)提取其指紋信息,提供感知廣度和掃描效率。同時還需要結(jié)合不同網(wǎng)絡(luò)資產(chǎn)特點(diǎn),加強(qiáng)對海量聯(lián)網(wǎng)設(shè)備信息高效率掃描、隱蔽式探測和被動式感知等聯(lián)網(wǎng)服務(wù)態(tài)勢感知技術(shù)的研究,確保全方位、多角度的對網(wǎng)絡(luò)空間存在的網(wǎng)絡(luò)資產(chǎn)服務(wù)進(jìn)行準(zhǔn)確感知和高效測繪[2]。
本文主要介紹了目前網(wǎng)絡(luò)資產(chǎn)探測常用方法,歸納和梳理了主動探測的優(yōu)點(diǎn)和缺點(diǎn),重點(diǎn)分析了網(wǎng)絡(luò)資產(chǎn)探測技術(shù)所涉及的關(guān)鍵技術(shù)。
如果與目標(biāo)主機(jī)處于同一網(wǎng)段,使用地址解析協(xié)議(Address Resolution Protocol,ARP)掃描技術(shù)就是最佳的選擇。該方法具有速度快、掃描結(jié)果精確的特點(diǎn),且沒有任何安全措施阻止正常的ARP 包;但當(dāng)與目標(biāo)主機(jī)處于不同網(wǎng)段,則考慮使用其他協(xié)議。
互聯(lián)網(wǎng)中經(jīng)常會出現(xiàn)各種錯誤,為了發(fā)現(xiàn)和處理這些錯誤,互聯(lián)網(wǎng)控制報文協(xié)議(Internet Control Message Protocol,ICMP)應(yīng)運(yùn)而生[3]。相比APR簡單明了的工作模式,ICMP 則要復(fù)雜很多,但I(xiàn)CMP 同樣是互聯(lián)網(wǎng)中不可或缺的協(xié)議。ICMP 協(xié)議位于傳輸控制協(xié)議/網(wǎng)際互連協(xié)議(Transmission Control Protocol/Internet Protocol,TCP/IP)族中的網(wǎng)絡(luò)層,它的目的是在IP 主機(jī)、路由器之間傳遞控制消息。同樣這種協(xié)議也可以用來實(shí)現(xiàn)存活主機(jī) 發(fā)現(xiàn)。
從表1 可以看出,ICMP 的報文可以分為差錯和查詢兩類。查詢報文是用一對請求和應(yīng)答定義的。也就是說,主機(jī)A 為了獲得一些信息,可以向主機(jī)B發(fā)送ICMP數(shù)據(jù)包,主機(jī)B在收到這個數(shù)據(jù)包之后,會給出應(yīng)答。這一點(diǎn)正好符合本文進(jìn)行存活主機(jī)掃描的要求,所以這里的ICMP 存活主機(jī)發(fā)現(xiàn)技術(shù)使用的就是查詢報文。

表1 ICMP 報文類型
響應(yīng)請求和應(yīng)答是用來測試發(fā)送與接收兩端鏈路及目標(biāo)主機(jī)TCP/IP 協(xié)議是否正常,只要接收就是正常。日常使用最多的ping 命令就是利用了響應(yīng)請求和應(yīng)答。主機(jī)A 向主機(jī)B 發(fā)送ICMP 報文,如果途中沒有異常,則主機(jī)B 返回ICMP 報文,說明主機(jī)B 為存活主機(jī)。但ping 工具使用率較高,所以許多用于防護(hù)主機(jī)的防火墻設(shè)備都隔絕ICMP 數(shù)據(jù)通過[4]。
由于Ping 方式被很多網(wǎng)絡(luò)屏蔽,因此另尋他法。ICMP 時間戳請求允許系統(tǒng)查詢另一個系統(tǒng)的當(dāng)前時間,返回的建議值是自午夜起的毫秒數(shù),即協(xié)調(diào)世界時(Coordinated Universal Time,UTC)。如果想知道B 主機(jī)是否在線,還可以向B 主機(jī)發(fā)送一個ICMP 時間戳請求,如果得到應(yīng)答的話就可以視為B 主機(jī)在線。當(dāng)然,其實(shí)數(shù)據(jù)包內(nèi)容并不重要,重要的是是否收到了回應(yīng)[5]。
ICMP 地址掩碼請求由源主機(jī)發(fā)送給無盤系統(tǒng),以便在啟動過程中獲得自己的子網(wǎng)掩碼。盡管互聯(lián)網(wǎng)工程任務(wù)組(the Internet Engineering Task Force,IETF)發(fā)布的一系列備忘錄(Request For Comments,RFC)規(guī)定除非系統(tǒng)是地址掩碼的授權(quán)代理,否則它不能發(fā)送地址掩碼響應(yīng)。但是,大多數(shù)主機(jī)在收到請求時都會發(fā)送響應(yīng);如果想知道主機(jī)B 是否在線,您還可以向主機(jī)B 發(fā)送ICMP 掩碼地址請求,如果您得到響應(yīng),可以視作主機(jī)B在線[6]。
TCP 協(xié)議是一種可靠的傳輸協(xié)議,連接到TCP/IP 協(xié)議套件中的各層允許以字節(jié)流的形式發(fā)送和接收數(shù)據(jù)。為了使服務(wù)器和客戶機(jī)以不同的速度生成和使用數(shù)據(jù),TCP 提供了發(fā)送和兩個接收服務(wù)。此外,TCP 提供全雙工服務(wù),數(shù)據(jù)同時能雙向流動[7]。通信的每一方都有兩個緩沖器來發(fā)送和接收數(shù)據(jù)。TCP 向消息中添加一個漸進(jìn)式確認(rèn)序列號,以告訴發(fā)送方接收方希望接收下一個字節(jié)。如果在指定的時間內(nèi)沒有收到確認(rèn)信息,則會再次發(fā)送數(shù)據(jù)包,從而確保TCP 是可靠的傳輸層協(xié)議。
通常,Ping 掃描使用TCP ACK 和ICMP Echo請求來響應(yīng)目標(biāo)是否存活。當(dāng)目標(biāo)主機(jī)的防火墻阻止這些請求時,可以使用TCP SYN Ping 掃描來判斷目標(biāo)主機(jī)是否處于存活狀態(tài),但在某些情況下,防火墻會丟棄RST 包。在這種情況下,掃描結(jié)果將不準(zhǔn)確。此時,需要指定一個端口或端口范圍,以避免這種情況。TCP ACK Ping 掃描與TCP SYN Ping掃描是非常類似的,唯一的區(qū)別是設(shè)置TCP 的標(biāo)志位是ACK 而不是SYN。此探測方法可以探測阻止SYN 數(shù)據(jù)包或ICMP 回顯請求的主機(jī)。雖然許多防火墻將阻止SYN 數(shù)據(jù)包,但是TCP ACK Ping 掃描和TCP SYN Ping 掃描的結(jié)合可以大大提高通過防火墻的概率。發(fā)送1 個ACK 標(biāo)志的TCP 包給目標(biāo)主機(jī),如果目標(biāo)主機(jī)不是存活狀態(tài)則不響應(yīng)該請求,如果目標(biāo)主機(jī)在線則會返回一個RST 包。
用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol,UDP)也是一個位于傳輸層的協(xié)議,它完成的工作與TCP是相同的。然而,由于UDP 協(xié)議是非面向連接導(dǎo)向的,UDP 端口的探測不能像TCP 端口的探測那樣依賴于連接建立過程,也就是說,不能嘗試telnet等TCP 協(xié)議類型命令,這也導(dǎo)致了UDP 端口掃描的可靠性不高。因此,雖然UDP 協(xié)議比TCP 協(xié)議簡單,但是掃描UDP 端口是相當(dāng)困難的[8]。
當(dāng)一個UDP 端口收到一個UDP 數(shù)據(jù)包時,如果該端口關(guān)閉,它將向發(fā)送端回一個ICMP 端口無法訪問的數(shù)據(jù)包;如果它是開放的,它將忽略數(shù)據(jù)包,也就是說,它將被丟棄而不返回任何信息。
這樣做的好處是可以完成對UDP 端口的探測,但缺點(diǎn)是掃描結(jié)果的可靠性相對較低。因?yàn)楫?dāng)一個UDP 數(shù)據(jù)包被發(fā)送而沒有收到響應(yīng)時,可能是因?yàn)閁DP 端口打開了,也可能是因?yàn)閿?shù)據(jù)包在傳輸過程中丟失了。此外,掃描速度非常慢[9]。原因是RFC1812 限制了ICMP 錯誤消息的生成速度。例如,Linux 將ICMP 數(shù)據(jù)包的生成速率限制為每4 s 80 次。當(dāng)超過此限制時,它將暫停1/4 s。
端口探測根據(jù)協(xié)議劃分可以分為TCP 端口探測和UDP 端口探測。由于TCP 技術(shù)相對UDP 技術(shù)要復(fù)雜一些,所以TCP 的探測手段也比UDP 多。圖1 為端口掃描的方式。

圖1 端口掃描方法
其中,同步序列編號(Synchronize Sequence Numbers,SYN)掃描是最為流行的一種掃描方式,掃描方式速度極快,可以在一秒鐘掃描上千個端口,SYN 掃描也不容易被網(wǎng)絡(luò)中的安全設(shè)備所發(fā)現(xiàn)[10]。
如圖3 所示為服務(wù)及版本探測探測流程圖。在探測流程中,先執(zhí)行端口探測,端口探測同時也是服務(wù)和版本探測的基礎(chǔ),通過端口探測可以排除離線網(wǎng)絡(luò)設(shè)備和關(guān)閉的端口,從而縮小了后續(xù)探測任務(wù)的規(guī)模,提高識別效率[11]。本文采用基于半連接TCP SYN 的方法,如圖2 所示。其掃描原理是向目標(biāo)主機(jī)的端口發(fā)送SYN 包請求連接,目標(biāo)接收到SYN 包后用SYN/ACK 響應(yīng),探測主機(jī)接收到SYN/ACK 斷開連接后用RST 包請求代替ACK 響應(yīng)[12]。這樣,三方握手就沒有完成,無法建立正常的TCP 連接。因此,此掃描不會記錄在系統(tǒng)日志中,且這種掃描技術(shù)通常不會在目標(biāo)主機(jī)上留下掃描痕跡。

圖2 半連接TCP SYN 掃描原理

圖3 服務(wù)及版本探測探測流程
服務(wù)和版本探測是通過服務(wù)Banner 信息進(jìn)行指紋比對,從而實(shí)現(xiàn)對網(wǎng)絡(luò)空間中的服務(wù)和版本的識別。由于每種服務(wù)都有著不同的Banner 信息,因此可以對服務(wù)和版本探測進(jìn)行識別[13]。客戶端與服務(wù)器連接后,服務(wù)器會向客戶端反饋一些信息,這些信息中可能包含所需的服務(wù)和版本信息。
在數(shù)據(jù)處理過程中對掃描的IP 地址和端口數(shù)據(jù)進(jìn)行分類。分類是將具有相同開放端口的IP 地址分類為1 個類別,然后針對每個類別,使用多線程方法分別執(zhí)行服務(wù)和版本探測[14]。在服務(wù)和版本探測中,通過端口來判斷某些服務(wù)是不準(zhǔn)確的,因?yàn)榉?wù)可以通過端口映射來改變。Banner 信息使用軟件本身返回的信息為服務(wù)和版本探測提供基礎(chǔ)。信息的差異可以幫助完成對網(wǎng)絡(luò)中服務(wù)和版本的探測。在這個過程中,由于需要記錄發(fā)送數(shù)據(jù)包的狀態(tài)信息,所以需要使用傳統(tǒng)的探測方法來探測整個過程中的服務(wù)和版本[15]。
完成端口掃描后,如果開放端口為TCP 端口,先建立連接并等待6 s,一些常見的服務(wù)如FTP、SSH 等則會發(fā)送一些banner 信息,這個過程稱為空探針。將收到的banner 信息和服務(wù)指紋進(jìn)行匹配,假如服務(wù)完全匹配成功,則該端口的服務(wù)識別到此結(jié)束,如果未成功則繼續(xù)掃描。空探針匹配失敗或者UDP 探測端口,則會按照指紋順序進(jìn)行探測和識別。如果都匹配失敗,則判斷指紋中是否有回退指令,并按照回退指令發(fā)送探測包,并利用響應(yīng)數(shù)據(jù)進(jìn)行指紋匹配,直到匹配指紋結(jié)束。
操作系統(tǒng)探測是根據(jù)應(yīng)用層獲取的banner 信息和TCP/IP 指紋特征探測操作系統(tǒng)。根據(jù)應(yīng)用層獲取的banner 信息,可以直接獲取一些終端設(shè)備的操作系統(tǒng)。當(dāng)banner 與指紋匹配時,就可以完成對這部分設(shè)備的操作系統(tǒng)探測。例如,可以根據(jù)一些Web 服務(wù)的HTTP 報頭信息來獲取操作系統(tǒng)的具體信息[16]。
操作系統(tǒng)的探測可以分為兩類:傳統(tǒng)的操作系統(tǒng)識別技術(shù)和基于TCP/IP 協(xié)議棧指紋的操作系統(tǒng)識別技術(shù)。傳統(tǒng)的操作系統(tǒng)標(biāo)識又分為兩類:一種是使用操作系統(tǒng)提供的Telnet、文件傳輸協(xié)議(File Transfer Protocol,F(xiàn)TP)和Ping。當(dāng)客戶端使用Telnet 和FTP 命令時,服務(wù)器返回包含操作系統(tǒng)類型的特定信息,另一種是通過Ping 探測目標(biāo)主機(jī)操作系統(tǒng)的方法,根據(jù)返回的生存時間(Time To Live,TTL)值確定操作系統(tǒng)的類型,因?yàn)門CP 協(xié)議棧在通信時沒有指定TTL 跳轉(zhuǎn)值。不同的操作系統(tǒng)中,TTL 值是不同的[17],如表2 所示。通過TTL判斷操作系統(tǒng)的方法雖然簡單,但是TTL 的值是可以進(jìn)行更改的,所以結(jié)果可信度不高。

表2 常用操作系統(tǒng)的TTL 和窗口大小
目前,應(yīng)用最廣泛的操作系統(tǒng)識別方法是基于TCP/IP 協(xié)議棧指紋的,因?yàn)門CP/IP 協(xié)議棧的設(shè)計(jì)不同,可以利用這些不同的特征來識別操作系統(tǒng)。一般分為主動探測和被動探測兩種方法。
(1)主動探測:客戶端主動向目標(biāo)主機(jī)發(fā)送信息。目標(biāo)主機(jī)響應(yīng)此信息并使用一些信息進(jìn)行響應(yīng)。通過分析返回的信息,可以知道遠(yuǎn)程主機(jī)的操作系統(tǒng)類型。這些信息可以等于主機(jī)通過Telnet 和FTP 等正常網(wǎng)絡(luò)程序交換的信息,也可以是一些精心構(gòu)造的、正常的或不完整的數(shù)據(jù)包。
(2)被動探測:并不向目標(biāo)系統(tǒng)發(fā)送任何數(shù)據(jù)包,而是通過各種抓包工具來手機(jī)流經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)報文,再從這些報文中得到目標(biāo)計(jì)算機(jī)的操作系統(tǒng)信息。
主動探測對探測IP 具有針對性的特點(diǎn),而且方便部署,所以在操作系統(tǒng)探測中較為常用。可以通過目標(biāo)系統(tǒng)對探針的不同反應(yīng),發(fā)現(xiàn)不同操作系統(tǒng)的差異。通過向目標(biāo)主機(jī)發(fā)送特定格式的探針(數(shù)據(jù)包)來查看目標(biāo)主機(jī)的響應(yīng)數(shù)據(jù),這一過程就是操作系統(tǒng)指紋分析的過程。數(shù)據(jù)包進(jìn)行調(diào)整的部分包括窗口大小、窗口字段、分片標(biāo)識、時間戳、序號以及其他一些細(xì)節(jié),例如TTL 等。
主動探測通過發(fā)送多達(dá)16 個探針的操作系統(tǒng)指掃描包,這些探針利用了TCP、UDP、ICMP 等各種協(xié)議。基于主動探測操作系統(tǒng)識別流程如下文所述。
(1)向目標(biāo)主機(jī)端口連續(xù)發(fā)送6 個帶有SYN標(biāo)志的TCP 數(shù)據(jù)包,響應(yīng)數(shù)據(jù)構(gòu)成SEQ、OPS、WIN、T1 等指紋特征值[18]。
(2)發(fā)送兩個不同的ICMP echo 請求,響應(yīng)數(shù)據(jù)構(gòu)成IE 指紋特征值;
(3)發(fā)送一個UDP 包給一個關(guān)閉的端口,響應(yīng)數(shù)據(jù)構(gòu)成U1 指紋特征值;
(4)發(fā)送帶ECN 位的TCP 請求,響應(yīng)數(shù)據(jù)構(gòu)成ECN 指紋特征值;
(5)最后一組是發(fā)送6 個不同的TCP 包,這6 個TCP 包的響應(yīng)結(jié)果將對應(yīng)T2 到T7 的各項(xiàng)指紋特征值,其中T2、T3、T4 會發(fā)給打開的TCP 端口,T5、T6、T7 會發(fā)給關(guān)閉的TCP 端口;
(6)結(jié)果處理。對返回的數(shù)據(jù)包進(jìn)行計(jì)算和組織,形成向量,然后將生成的向量結(jié)果與指紋數(shù)據(jù)庫文件中的結(jié)果進(jìn)行匹配,以確定被探測主機(jī)的操作系統(tǒng)類型。這就完成了單個操作系統(tǒng)的探測過程。
操作系統(tǒng)指紋通過主動探測獲取的TCP/IP 響應(yīng)包進(jìn)行指紋抽取,抽取字段主要包括SCAN、SEQ、WIN、ECN、T1~T7、U1 和IE 等,指紋示例如下文所示。
(1)SCAN(V=7.70%E%D=9/2%OT=80%CT=7%CU=31290%PV=N%DS=4%DC=I%G=Y%TM=57C9 147BP=i686-pc-windows-windows)
(2)SEQ(SP=102%GCD=1%ISR=10C%TI=Z%II=I%TS=7)
(3)OPS(O1=M5B4ST11%O2=M5B4ST11%O3=M5B4ST11%O4=M5B4ST11%O5=M5B4ST11%O6=M5 B4ST11)
(4)WIN(W1=2DA0%W2=2DA0%W3=2DA0%W4=2DA0%W5=2DA0%W6=2DA0%)
(5)ECN(R=Y%DF=Y%T=40W=3354%O=M5B 4NNS%CC=Y%Q=)
(6)T1(R=Y%DF=Y%T=40%S=O%A=S+%F=A S%RD=0%Q=)
(7)T2(R=N)
(8)T3(R=N)
(9)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q)
(10)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q)
(11)T6(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q)
(12)T7(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q)
(13)U1(R=Y%DF=N%T=40IPL=164%UN=0%RIPL=G%RID=G%ROPCK=G%RUCK=G%RUD=G)
(14)IE(R=Y%DFI=N%T=40%CD=S)
每一次掃描結(jié)果都用%作為分隔符。
SCAN字段中顯示的是使用的主機(jī)掃描的信息。其中:D=9/2 表示掃描日期;OT=80%CT=7 指出在指紋識別過程中使用的TCP 端口;CU=31290 指出了在指紋識別過程中使用的UDP 端口;PV=N 表示目標(biāo)IP 地址不屬于私有地址;DS=4 指出了從探測點(diǎn)到目標(biāo)主機(jī)的距離跳數(shù);G=Y 指出這次掃描效果較好;TM=57C9147B 指出掃描所消耗的時間;P 表示探測主機(jī)的操作系統(tǒng)類型。
SEQ 字段中:SP=102 表示TCP 的初始序列號(ISN);GCD=1 表示TCP 的增量;ISR=10C 表示ISN 的序率;TI=Z 給出了SEQ 探針回應(yīng)數(shù)據(jù)包中IP 頭部的ID 值;這里面的Z 表示所有IP 數(shù)據(jù)包中的id 字段都設(shè)置為0;II=I 給出了ICMP 探針回應(yīng)數(shù)據(jù)包中IP 頭部的ID 值;TS=7 給出了返回的TCP數(shù)據(jù)包時間戳的信息。
OPS 字段中:如O1=M5B4 表示TCP 數(shù)據(jù)包每次能夠傳輸?shù)淖畲髷?shù)據(jù)分段;ST11 表示ACK 的可選信息和數(shù)據(jù)包的時間戳內(nèi)容;N 表示為空操作;W0 表示窗口大小。
WIN 字段中的測試表示6 個探針返回值的初始化窗口大小。
ECN 字段中:R=Y 表示目標(biāo)是否對探測端進(jìn)行了回應(yīng);DF=Y 表示IP 數(shù)據(jù)包的分段標(biāo)志位是否被設(shè)置;T=40 表示回應(yīng)數(shù)據(jù)包IP 中的TTL值;W=3354 表示TCP 初始化窗口的大小信息;O=M5B4NNS 表示TCP 選項(xiàng)的信息;CC=Y 表示目標(biāo)的擁塞控制能力;Y 表示目標(biāo)支持ECN。
第1 個TCP 探針回應(yīng)為T1;第2 個探針是設(shè)置了DF 位的內(nèi)容為空的數(shù)據(jù)包。這個數(shù)據(jù)包的窗口大小為128,回應(yīng)為T2;第3 個TCP 探針是一個設(shè)置了FIN、URG、PSH 以及SYN 標(biāo)識的數(shù)據(jù)包,這個數(shù)據(jù)包的大小為256,回應(yīng)為T3;第4 個探針是一個設(shè)置了ACK的TCP包,這個包同樣也設(shè)置了DF位,大小為1 024,回應(yīng)為T4;第5 個探針是一個窗口大小為31 337 的數(shù)據(jù)包,回應(yīng)為T5;第6 個數(shù)據(jù)包和第4 個數(shù)據(jù)相似,但窗口為32 768,而且這個數(shù)據(jù)包通常是發(fā)往關(guān)閉的端口,回應(yīng)為T6;發(fā)送的第7個數(shù)據(jù)包設(shè)置了FIN、URG 和PSH 標(biāo)志位,這個探針同樣發(fā)往一個關(guān)閉的端口,窗口大小為65 532,回應(yīng)為T7;
U1 的結(jié)果是根據(jù)UDP 數(shù)據(jù)包探測返回的結(jié)果,這個探針的數(shù)據(jù)部分是300 個C 字符,回應(yīng)為U1。
IE 探測基于ICMP 協(xié)議響應(yīng)結(jié)果。
主動探測的優(yōu)點(diǎn)是對探測IP 具有針對性,即使這些目標(biāo)不主動生成流量或流量不通過探測節(jié)點(diǎn),也可以通過構(gòu)造探測包對其進(jìn)行探測,探測載荷的部署節(jié)點(diǎn)也更加靈活。然而,主動探測也有一定的局限性,當(dāng)目標(biāo)監(jiān)測到探測行為可能會主動屏蔽來歷不明的探測包,這樣就無法獲得準(zhǔn)確的探測結(jié)果。通過主動探測也無法準(zhǔn)確獲得某些網(wǎng)絡(luò)節(jié)點(diǎn)之間的拓?fù)溥B接關(guān)系。此外,主動探測會產(chǎn)生額外的探測流量,導(dǎo)致網(wǎng)絡(luò)負(fù)載增加,所以主動探測將不可避免地干擾網(wǎng)絡(luò)的當(dāng)前狀態(tài),導(dǎo)致探測結(jié)果出現(xiàn)一定偏差。
設(shè)備資產(chǎn)識別對網(wǎng)絡(luò)安全評估與威脅預(yù)警有著重要的意義,網(wǎng)絡(luò)空間已成為國民經(jīng)濟(jì)和社會生活的重要場所,網(wǎng)絡(luò)技術(shù)已成為考察和衡量國家核心技術(shù)的重要指標(biāo),網(wǎng)絡(luò)安全已成為國家安全的重要構(gòu)成。網(wǎng)絡(luò)資產(chǎn)探測是認(rèn)識、研究網(wǎng)絡(luò)空間的根基,研究網(wǎng)絡(luò)資產(chǎn)探測有助于加強(qiáng)網(wǎng)絡(luò)安全事件應(yīng)急指揮能力建設(shè)。國內(nèi)可實(shí)現(xiàn)對網(wǎng)絡(luò)空間IP地址的掃描,達(dá)到網(wǎng)絡(luò)資源探測的目的,能夠?qū)γ總€IP 地址的資源進(jìn)行識別;但相較于國外的技術(shù)能力,還需進(jìn)一步突破精準(zhǔn)探測等關(guān)鍵技術(shù)。