網(wǎng)絡空間資產(chǎn)探測關(guān)鍵技術(shù)研究_第1頁
網(wǎng)絡空間資產(chǎn)探測關(guān)鍵技術(shù)研究_第2頁
網(wǎng)絡空間資產(chǎn)探測關(guān)鍵技術(shù)研究_第3頁
網(wǎng)絡空間資產(chǎn)探測關(guān)鍵技術(shù)研究_第4頁
網(wǎng)絡空間資產(chǎn)探測關(guān)鍵技術(shù)研究_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

0引言隨著網(wǎng)絡的不斷發(fā)展以及用戶對網(wǎng)絡使用需求的急劇增長,網(wǎng)絡規(guī)模不斷擴大、網(wǎng)絡空間趨于復雜。通過網(wǎng)絡空間資產(chǎn)探測,可以及時發(fā)現(xiàn)潛在的安全風險,避免被不法之徒攻擊。在國家把網(wǎng)絡空間安全概念提升到一個重要的層次時,其更顯重要。在網(wǎng)絡攻防對抗中,首先得了解網(wǎng)絡,要了解網(wǎng)絡空間,就需要對網(wǎng)絡空間進行資產(chǎn)探測。網(wǎng)絡空間資產(chǎn)探測技術(shù)作為網(wǎng)絡安全的重要基礎技術(shù),是通過主動或被動探測的方法,來繪制網(wǎng)絡空間上設備的網(wǎng)絡節(jié)點和網(wǎng)絡連接關(guān)系圖,為網(wǎng)絡設備進行畫像。近年來,網(wǎng)絡資產(chǎn)探測技術(shù)已成為網(wǎng)絡安全領(lǐng)域的研究熱點,各國都對此進行了深入研究。如美國國防部先進研究項目局(DefenseAdvancedResearchProjectsAgency,DRAPA)驅(qū)動的X計劃,旨在通過快速繪制網(wǎng)絡戰(zhàn)場地圖,提高國家網(wǎng)絡戰(zhàn)能力,協(xié)助制定作戰(zhàn)計劃,促進網(wǎng)絡戰(zhàn)任務的高效推進。美國國土資源部(UnitedStatesDepartmentofHomelandSecurity,DHS)驅(qū)動的SHINE計劃,通過Shodan等網(wǎng)絡空間掃描引擎監(jiān)控美國關(guān)鍵基礎設施網(wǎng)絡資源的安全狀態(tài),在本地網(wǎng)絡空間地址列表上進行安全態(tài)勢感知,并定期向工業(yè)控制系統(tǒng)應急小組(IndustrialControlSystemsCyberEmergencyResponseTeam,ICS-CERT)推送安全通知,確保關(guān)鍵基礎設施網(wǎng)絡安全的安全。我國目前也已在進行相關(guān)方面的研究。我國已經(jīng)實現(xiàn)對網(wǎng)絡空間網(wǎng)際互連協(xié)議(InternetProtocol,IP)地址的掃描,達到資源探測的目的,且能夠?qū)γ總€IP地址的資源進行識別。但相較于目前國外的技術(shù)能力,還需進一步突破基于指紋比對的網(wǎng)絡組件精準探測技術(shù)。基于指紋庫的網(wǎng)絡設備組件識別技術(shù),是網(wǎng)絡空間探測系統(tǒng)的核心技術(shù)。該技術(shù)可對設備的特定端口進行請求,判斷端口是否開放,并根據(jù)端口返回信息,并利用自主研制的指紋比對技術(shù),結(jié)合自主研制的指紋庫,對設備類型及所使用的組件進行識別。在工業(yè)控制服務探測方面,國內(nèi)專門針對網(wǎng)絡空間工業(yè)控制服務深度探測技術(shù)研究起步相對較晚。目前,通過網(wǎng)絡的主動探測技術(shù)可以為一些重要的工業(yè)控制系統(tǒng)提供在線監(jiān)測和識別能力,并可以支持典型的數(shù)據(jù)采集與監(jiān)視控制系統(tǒng)(Supervisorycontrolanddataacquisition,SCADA)、可編程邏輯控制器(Programmablelogiccontroller,PLC)等工業(yè)控制系統(tǒng)(設備),Modbus等工業(yè)控制協(xié)議,以及與工業(yè)控制相關(guān)的通用網(wǎng)絡服務。但與國外相比,我國的工業(yè)控制服務探測技術(shù)還存在許多問題,如支持工控設備/協(xié)議等服務數(shù)量不足、感知深度不足。與網(wǎng)絡空間大量存在的標準化的信息系統(tǒng)不同,工業(yè)控制系統(tǒng)及相關(guān)服務存在大量非標準私有的控制協(xié)議組件,或同一種工控協(xié)議存在多個未公開版本的情況,大多數(shù)工業(yè)控制服務細節(jié)掌握在相關(guān)廠家自己手里。目前,我國需要進一步對相關(guān)聯(lián)網(wǎng)特征進行深入研究,精準提取其指紋信息,提供感知廣度和掃描效率。同時還需要結(jié)合不同網(wǎng)絡資產(chǎn)特點,加強對海量聯(lián)網(wǎng)設備信息高效率掃描、隱蔽式探測和被動式感知等聯(lián)網(wǎng)服務態(tài)勢感知技術(shù)的研究,確保全方位、多角度的對網(wǎng)絡空間存在的網(wǎng)絡資產(chǎn)服務進行準確感知和高效測繪。本文主要介紹了目前網(wǎng)絡資產(chǎn)探測常用方法,歸納和梳理了主動探測的優(yōu)點和缺點,重點分析了網(wǎng)絡資產(chǎn)探測技術(shù)所涉及的關(guān)鍵技術(shù)。1基于ICMP存活主機發(fā)現(xiàn)技術(shù)如果與目標主機處于同一網(wǎng)段,使用地址解析協(xié)議(AddressResolutionProtocol,ARP)掃描技術(shù)就是最佳的選擇。該方法具有速度快,掃描結(jié)果精確的特點,且沒有任何安全措施阻止正常的ARP包。但當與目標主機處于不同網(wǎng)段,則考慮使用其他協(xié)議?;ヂ?lián)網(wǎng)中經(jīng)常會出現(xiàn)各種錯誤,為了發(fā)現(xiàn)和處理這些錯誤,互聯(lián)網(wǎng)控制報文協(xié)議(InternetControlMessageProtocol,ICMP)應運而生。相比APR簡單明了的工作模式,ICMP則要復雜很多,但ICMP同樣是互聯(lián)網(wǎng)中不可或缺的協(xié)議。ICMP協(xié)議位于傳輸控制協(xié)議/網(wǎng)際互連協(xié)議(TransmissionControlProtocol/InternetProtocol,TCP/IP)族中的網(wǎng)絡層,它的目的是在IP主機、路由器之間傳遞控制消息。同樣這種協(xié)議也可以用來實現(xiàn)存活主機發(fā)現(xiàn)。表1ICMP報文類型從表1可以看出,ICMP的報文可以分為差錯和查詢兩類。查詢報文是用一對請求和應答定義的。也就是說,主機A為了獲得一些信息,可以向主機B發(fā)送ICMP數(shù)據(jù)包,主機B在收到這個數(shù)據(jù)包之后,會給出應答。這一點正好符合本文進行存活主機掃描的要求,所以這里的ICMP存活主機發(fā)現(xiàn)技術(shù)使用的就是查詢報文。1.1利用ICMP響應請求和應答探測存活主機響應請求和應答是用來測試發(fā)送與接收兩端鏈路及目標主機TCP/IP協(xié)議是否正常,只要接收就是正常。日常使用最多的ping命令就是利用了響應請求和應答。主機A向主機B發(fā)送ICMP報文,如果途中沒有異常,則主機B返回ICMP報文,說明主機B為存活主機。但ping工具使用率較高,所以許多用于防護主機的防火墻設備都隔絕ICMP數(shù)據(jù)通過。1.2通過時間戳請求和應答進行存活主機探測由于Ping方式被很多網(wǎng)絡屏蔽,因此另尋他法。ICMP時間戳請求允許系統(tǒng)查詢另一個系統(tǒng)的當前時間,返回的建議值是自午夜起的毫秒數(shù),即協(xié)調(diào)世界時(CoordinatedUniversalTime,UTC)。如果想知道B主機是否在線,還可以向B主機發(fā)送一個ICMP時間戳請求,如果得到應答的話就可以視為B主機在線。當然,其實數(shù)據(jù)包內(nèi)容并不重要,重要的是是否收到了回應。1.3通過ICMP地址掩碼進行存活主機探測ICMP地址掩碼請求由源主機發(fā)送給無盤系統(tǒng),以便在啟動過程中獲得自己的子網(wǎng)掩碼。盡管互聯(lián)網(wǎng)工程任務組(theInternetEngineeringTaskForce,IETF)發(fā)布的一系列備忘錄(RequestForComments,RFC)規(guī)定除非系統(tǒng)是地址掩碼的授權(quán)代理,否則它不能發(fā)送地址掩碼響應。但是,大多數(shù)主機在收到請求時都會發(fā)送響應。如果想知道主機B是否在線,您還可以向主機B發(fā)送ICMP掩碼地址請求,如果您得到響應,可以視作主機B在線。2基于TCP存活主機發(fā)現(xiàn)技術(shù)TCP協(xié)議是一種可靠的傳輸協(xié)議,連接到TCP/IP協(xié)議套件中的各層允許以字節(jié)流的形式發(fā)送和接收數(shù)據(jù)。為了使服務器和客戶機以不同的速度生成和使用數(shù)據(jù),TCP提供了發(fā)送和兩個接收服務。此外,TCP提供全雙工服務,數(shù)據(jù)同時能雙向流動。通信的每一方都有兩個緩沖器來發(fā)送和接收數(shù)據(jù)。TCP向消息中添加一個漸進式確認序列號,以告訴發(fā)送方接收方希望接收下一個字節(jié)。如果在指定的時間內(nèi)沒有收到確認信息,則會再次發(fā)送數(shù)據(jù)包,從而確保TCP是可靠的傳輸層協(xié)議。通常,Ping掃描使用TCPACK和ICMPEcho請求來響應目標是否存活。當目標主機的防火墻阻止這些請求時,可以使用TCPSYNPing掃描來判斷目標主機是否處于存活狀態(tài),但在某些情況下,防火墻會丟棄RST包。在這種情況下,掃描結(jié)果將不準確。此時,需要指定一個端口或端口范圍,以避免這種情況。TCPACKPing掃描與TCPSYNPing掃描是非常類似的,唯一的區(qū)別是設置TCP的標志位是ACK而不是SYN。此探測方法可以探測阻止SYN數(shù)據(jù)包或ICMP回顯請求的主機。雖然許多防火墻將阻止SYN數(shù)據(jù)包,但是TCPACKPing掃描和TCPSYNPing掃描的結(jié)合可以大大提高通過防火墻的概率。發(fā)送1個ACK標志的TCP包給目標主機,如果目標主機不是存活狀態(tài)則不響應該請求,如果目標主機在線則會返回一個RST包。3基于UDP存活主機發(fā)現(xiàn)技術(shù)用戶數(shù)據(jù)報協(xié)議(UserDatagramProtocol,UDP)也是一個位于傳輸層的協(xié)議,它完成的工作與TCP是相同的。然而,由于UDP協(xié)議是非面向連接導向的,UDP端口的探測不能像TCP端口的探測那樣依賴于連接建立過程,也就是說,不能嘗試telnet等TCP協(xié)議類型命令,這也導致了UDP端口掃描的可靠性不高。因此,雖然UDP協(xié)議比TCP協(xié)議簡單,但是掃描UDP端口是相當困難的。當一個UDP端口收到一個UDP數(shù)據(jù)包時,如果該端口關(guān)閉,它將向發(fā)送端回一個ICMP端口無法訪問的數(shù)據(jù)包;如果它是開放的,它將忽略數(shù)據(jù)包,也就是說,它將被丟棄而不返回任何信息。這樣做的好處是可以完成對UDP端口的探測,但缺點是掃描結(jié)果的可靠性相對較低。因為當一個UDP數(shù)據(jù)包被發(fā)送而沒有收到響應時,可能是因為UDP端口打開了,也可能是因為數(shù)據(jù)包在傳輸過程中丟失了。此外,掃描速度非常慢。原因是RFC1812限制了ICMP錯誤消息的生成速度。例如,Linux將ICMP數(shù)據(jù)包的生成速率限制為每4s80次。當超過此限制時,它將暫停1/4s。4端口、服務本掃描端口探測根據(jù)協(xié)議劃分可以分為TCP端口探測和UDP端口探測。由于TCP技術(shù)相對UDP技術(shù)要復雜一些,所以TCP的探測手段也比UDP多。圖1為端口掃描的方式。圖1端口掃描方法其中,同步序列編號(SynchronizeSequenceNumbers,SYN)掃描是最為流行的一種掃描方式,掃描方式速度極快,可以在一秒鐘掃描上千個端口,SYN掃描也不容易被網(wǎng)絡中的安全設備所發(fā)現(xiàn)。如圖3所示為服務及版本探測探測流程圖。在探測流程中,先執(zhí)行端口探測,端口探測同時也是服務和版本探測的基礎,通過端口探測可以排除離線網(wǎng)絡設備和關(guān)閉的端口,從而縮小了后續(xù)探測任務的規(guī)模,提高識別效率。本文采用基于半連接TCPSYN的方法,如圖2所示。其掃描原理是向目標主機的端口發(fā)送SYN包請求連接,目標接收到SYN包后用SYN/ACK響應,探測主機接收到SYN/ACK斷開連接后用RST包請求代替ACK響應。這樣,三方握手就沒有完成,無法建立正常的TCP連接。因此,此掃描不會記錄在系統(tǒng)日志中,且這種掃描技術(shù)通常不會在目標主機上留下掃描痕跡。圖2半連接TCPSYN掃描原理服務和版本探測是通過服務Banner信息進行指紋比對,從而實現(xiàn)對網(wǎng)絡空間中的服務和版本的識別。由于每種服務都有著不同的Banner信息,因此可以對服務和版本探測進行識別??蛻舳伺c服務器連接后,服務器會向客戶端反饋一些信息,這些信息中可能包含所需的服務和版本信息。在數(shù)據(jù)處理過程中對掃描的IP地址和端口數(shù)據(jù)進行分類。分類是將具有相同開放端口的IP地址分類為1個類別,然后針對每個類別,使用多線程方法分別執(zhí)行服務和版本探測。在服務和版本探測中,通過端口來判斷某些服務是不準確的,因為服務可以通過端口映射來改變。banner信息使用軟件本身返回的信息為服務和版本探測提供基礎。信息的差異可以幫助完成對網(wǎng)絡中服務和版本的探測。在這個過程中,由于需要記錄發(fā)送數(shù)據(jù)包的狀態(tài)信息,所以需要使用傳統(tǒng)的探測方法來探測整個過程中的服務和版本。完成端口掃描后,如果開放端口為TCP端口,先建立連接并等待6s,一些常見的服務如FTP、SSH等則會發(fā)送一些banner信息,這個過程稱為空探針。將收到的banner信息和服務指紋進行匹配,假如服務完全匹配成功,則該端口的服務識別到此結(jié)束,如果未成功則繼續(xù)掃描??仗结樒ヅ涫』蛘遀DP探測端口,則會按照指紋順序進行探測和識別。如果都匹配失敗,則判斷指紋中是否有回退指令,并按照回退指令發(fā)送探測包,并利用響應數(shù)據(jù)進行指紋匹配,直到匹配指紋結(jié)束。圖3服務及版本探測探測流程5操作系統(tǒng)掃描操作系統(tǒng)探測是根據(jù)應用層獲取的banner信息和TCP/IP指紋特征探測操作系統(tǒng)。根據(jù)應用層獲取的banner信息,可以直接獲取一些終端設備的操作系統(tǒng)。當banner與指紋匹配時,就可以完成對這部分設備的操作系統(tǒng)探測。例如,可以根據(jù)一些Web服務的HTTP報頭信息來獲取操作系統(tǒng)的具體信息。操作系統(tǒng)的探測可以分為兩類:傳統(tǒng)的操作系統(tǒng)識別技術(shù)和基于TCP/IP協(xié)議棧指紋的操作系統(tǒng)識別技術(shù)。傳統(tǒng)的操作系統(tǒng)標識又分為兩類:一種是使用操作系統(tǒng)提供的Telnet、文件傳輸協(xié)議(FileTransferProtocol,F(xiàn)TP)和Ping。當客戶端使用Telnet和FTP命令時,服務器返回包含操作系統(tǒng)類型的特定信息,另一種是通過Ping探測目標主機操作系統(tǒng)的方法,根據(jù)返回的生存時間(TimeToLive,TTL)值確定操作系統(tǒng)的類型,因為TCP協(xié)議棧在通信時沒有指定TTL跳轉(zhuǎn)值。不同的操作系統(tǒng)中,TTL值是不同的,如表2所示。通過TTL判斷操作系統(tǒng)的方法雖然簡單,但是TTL的值是可以進行更改的,所以結(jié)果可信度不高。表2常用操作系統(tǒng)的TTL和窗口大小目前,應用最廣泛的操作系統(tǒng)識別方法是基于TCP/IP協(xié)議棧指紋的,因為TCP/IP協(xié)議棧的設計不同,可以利用這些不同的特征來識別操作系統(tǒng)。一般分為主動探測和被動探測兩種方法。(1)主動探測:客戶端主動向目標主機發(fā)送信息。目標主機響應此信息并使用一些信息進行響應。通過分析返回的信息,可以知道遠程主機的操作系統(tǒng)類型。這些信息可以等于主機通過Telnet和FTP等正常網(wǎng)絡程序交換的信息,也可以是一些精心構(gòu)造的、正常的或不完整的數(shù)據(jù)包。(2)被動探測:并不向目標系統(tǒng)發(fā)送任何數(shù)據(jù)包,而是通過各種抓包工具來手機流經(jīng)網(wǎng)絡的數(shù)據(jù)報文,再從這些報文中得到目標計算機的操作系統(tǒng)信息。主動探測對探測IP具有針對性的特點,而且方便部署,所以在操作系統(tǒng)探測中較為常用??梢酝ㄟ^目標系統(tǒng)對探針的不同反應,發(fā)現(xiàn)不同操作系統(tǒng)的差異。通過向目標主機發(fā)送特定格式的探針(數(shù)據(jù)包)來查看目標主機的響應數(shù)據(jù),這一過程就是操作系統(tǒng)指紋分析的過程。數(shù)據(jù)包進行調(diào)整的部分包括窗口大小、窗口字段、分片標識、時間戳、序號以及其他一些細節(jié),例如TTL等。主動探測通過發(fā)送多達16個探針的操作系統(tǒng)指掃描包,這些探針利用了TCP、UDP、ICMP等各種協(xié)議?;谥鲃犹綔y操作系統(tǒng)識別流程如下文所述。(1)向目標主機端口連續(xù)發(fā)送6個帶有SYN標志的TCP數(shù)據(jù)包,響應數(shù)據(jù)構(gòu)成SEQ、OPS、WIN、T1等指紋特征值。(2)發(fā)送兩個不同的ICMPecho請求,響應數(shù)據(jù)構(gòu)成IE指紋特征值;(3)發(fā)送一個UDP包給一個關(guān)閉的端口,響應數(shù)據(jù)構(gòu)成U1指紋特征值;(4)發(fā)送帶ECN位的TCP請求,響應數(shù)據(jù)構(gòu)成ECN指紋特征值;(5)最后一組是發(fā)送6個不同的TCP包,這6個TCP包的響應結(jié)果將對應T2到T7的各項指紋特征值,其中T2、T3、T4會發(fā)給打開的TCP端口,T5、T6、T7會發(fā)給關(guān)閉的TCP端口;(6)結(jié)果處理。對返回的數(shù)據(jù)包進行計算和組織,形成向量,然后將生成的向量結(jié)果與指紋數(shù)據(jù)庫文件中的結(jié)果進行匹配,以確定被探測主機的操作系統(tǒng)類型。這就完成了單個操作系統(tǒng)的探測過程。操作系統(tǒng)指紋通過主動探測獲取的TCP/IP響應包進行指紋抽取,抽取字段主要包括SCAN、SEQ、WIN、ECN、T1~T7、U1和IE等,指紋示例如下文所示。每一次掃描結(jié)果都用%作為分隔符。SCAN字段中顯示的是使用的主機掃描的信息。其中:D=9/2表示掃描日期;OT=80%CT=7指出在指紋識別過程中使用的TCP端口;CU=31290指出了在指紋識別過程中使用的UDP端口;PV=N表示目標IP地址不屬于私有地址;DS=4指出了從探測點到目標主機的距離跳數(shù);G=Y指出這次掃描效果較好;TM=57C9147B指出掃描所消耗的時間;P表示探測主機的操作系統(tǒng)類型。SEQ字段中:SP=102表示TCP的初始序列號(ISN);GCD=1表示TCP的增量;ISR=10C表示ISN的序率;TI=Z給出了SEQ探針回應數(shù)據(jù)包中IP頭部的ID值;這里面的Z表示所有IP數(shù)據(jù)包中的id字段都設置為0;II=I給出了ICMP探針回應數(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表示目標是否對探測端進行了回應;DF=Y表示IP數(shù)據(jù)包的分段標志位是否被設置;T=40表示回應數(shù)據(jù)包IP中的TTL值;W=3354表示TCP初始化窗口的大小信息;O=M5B4NNS表示TCP選項的信息;CC=Y表示目標的擁塞控制能力;Y表示目標支持ECN。第1個TCP探針回應為T1;第2個探針是設置了DF位的內(nèi)容為空的數(shù)據(jù)包。這個數(shù)據(jù)包

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論