姜渭鵬,李應(yīng)飛
(超高壓輸電公司大理局,云南 大理 671000)
能源行業(yè)的局域網(wǎng)環(huán)境中,局域網(wǎng)連接了眾多的設(shè)備,安全設(shè)備,主機(jī)設(shè)備,工控設(shè)備,網(wǎng)絡(luò)設(shè)備,安防設(shè)備等。為了保證業(yè)務(wù)安全及信息安全,通常需要資產(chǎn)的臺(tái)賬表去管理這些設(shè)備,被管理的這些設(shè)備通常會(huì)有分區(qū)、IP 地址、MAC地址、設(shè)備類型或者是型號(hào)、操作系統(tǒng)和端口信息,以表格的形式呈現(xiàn)并人工的去管理整個(gè)的局域網(wǎng)里面的設(shè)備。但是在實(shí)際工作環(huán)境中,由于整個(gè)的局域網(wǎng)是不斷的變化的[1],同時(shí)在操作的過程中也可能由于疏忽,導(dǎo)致網(wǎng)線的錯(cuò)接或者是沒有接,原有的資產(chǎn)發(fā)現(xiàn)不了等問題。實(shí)際生產(chǎn)環(huán)境中,上述兩種方案部署和實(shí)施遇到很大的困難?,F(xiàn)場(chǎng)生產(chǎn)設(shè)備負(fù)責(zé)重要的生產(chǎn)業(yè)務(wù),專機(jī)專用,排斥安裝第三方的客戶端探針(agent)監(jiān)測(cè)程序[2]。現(xiàn)場(chǎng)賬號(hào)密碼管理制度指導(dǎo)方針也不允許大量暴露登錄密碼給檢查人員,檢查人員面臨泄漏賬號(hào)密碼的風(fēng)險(xiǎn);同時(shí)現(xiàn)場(chǎng)可能存在過多辦公主機(jī)終端,每個(gè)辦公終端的賬號(hào)密碼都不同,存在不方便收集的問題[3]。因此,安裝客戶端探針(agent)監(jiān)測(cè)程序或通過賬號(hào)密碼登錄兩種方式在現(xiàn)場(chǎng)開展檢查工作時(shí)候不受歡迎,非能普及,并且在很多網(wǎng)絡(luò)設(shè)備和安全設(shè)備等在設(shè)備上裝agent是行不通的,會(huì)引入未知風(fēng)險(xiǎn),并且實(shí)施難度大。本文提出一種憑籍網(wǎng)絡(luò)主動(dòng)掃描的方式,嘗試解決收集并檢查局域網(wǎng)所有設(shè)備工作的問題。使用網(wǎng)絡(luò)主動(dòng)掃描技術(shù)[4],只需要把探測(cè)設(shè)備接入網(wǎng)絡(luò),向目標(biāo)主機(jī)發(fā)起通訊,不需要在目標(biāo)主機(jī)上安裝客戶端探針(agent)程序,不需要維護(hù)賬號(hào)密碼。對(duì)實(shí)際生產(chǎn)環(huán)境中資產(chǎn)檢查收集工作給出參考意見。
為了闡明設(shè)備信息收集(設(shè)備類型和操作系統(tǒng))的方案,本文從設(shè)備的本身的軟件和硬件特性,包括不同的設(shè)備類型,不同的操作系統(tǒng),不同的軟件之間的區(qū)別,來闡明可以使用技術(shù)的手段來自動(dòng)檢測(cè)設(shè)備的操作系統(tǒng)和設(shè)備類型等信息。從設(shè)備的硬件特性上來說,包含CPU的架構(gòu),有ARM,POWERPC,INTE,AMD。從操作系統(tǒng)的參數(shù)來說,不同的操作系統(tǒng),其參數(shù)設(shè)置也是不一樣的。
不同的操作系統(tǒng)TTL的初始值不一樣,比如說window的為128-255,linux為64等。
不同操作系統(tǒng)的串口值不一樣,WIN2000為例,它的TTL為128,窗口大小在17000~18000這個(gè)范圍內(nèi)。
不同的操作系統(tǒng)DF值不一樣,DF值為報(bào)文分片,一般在系統(tǒng)里面設(shè)置一個(gè)報(bào)文的最大的長(zhǎng)度為1580字節(jié),但是網(wǎng)絡(luò)中會(huì)允許傳輸大包,有的操作系統(tǒng)默認(rèn)會(huì)支持報(bào)文分片,將大的報(bào)文分解成一個(gè)一個(gè)小的報(bào)文發(fā)送。
不同的操作系統(tǒng)TOS值不一樣。
不同的操作系統(tǒng)對(duì)ICMP報(bào)文的回包處理方式不同。
從軟件特性來說,不同的軟件會(huì)開放不同的端口,比如開啟了3306 端口,很有可能這臺(tái)設(shè)備就會(huì)當(dāng)作一個(gè)服務(wù)器使用,或者是開啟了web端口,也可以過濾掉很多的嵌入式的設(shè)備[5]。
綜上可知,從原理上可以通過不同設(shè)備的硬件特性,操作系統(tǒng)的差異性,以及軟件的不同的服務(wù)去綜合判斷并獲取設(shè)備信息(比如操作系統(tǒng),和設(shè)備類型等)的可行性。
Nmap探測(cè)工具,Nmap探測(cè)工具集成了操作系統(tǒng)的探測(cè),端口探測(cè),服務(wù)探測(cè),設(shè)備類型識(shí)別,繞過防火墻探測(cè)等一系列的功能,在本文我們只闡述探測(cè)系統(tǒng)和設(shè)備類型的識(shí)別所用到的技術(shù)手段。
Nmap維護(hù)一個(gè)nmap-os-db數(shù)據(jù)庫,存儲(chǔ)了上千種操作系統(tǒng)信息,簡(jiǎn)單一點(diǎn)來說,Nmap通過TCP/IP協(xié)議棧的指紋信息來識(shí)別目標(biāo)主機(jī)的操作系統(tǒng)信息,這主要是利用了RFC標(biāo)準(zhǔn)中,沒有強(qiáng)制規(guī)范了TCP/IP的某些實(shí)現(xiàn),于是不同的系統(tǒng)中TCP/IP的實(shí)現(xiàn)方案可能都有其特定的方式,這些細(xì)節(jié)上的差異,給nmap識(shí)別操作系統(tǒng)信息提供了方案,具體一點(diǎn)說,Nmap分別挑選一個(gè)close和open的端口,分別發(fā)送給一個(gè)經(jīng)過精心設(shè)計(jì)的TCP/UDP數(shù)據(jù)包,當(dāng)然這個(gè)數(shù)據(jù)包也可能是ICMP數(shù)據(jù)包[6]。然后根據(jù)收到返回報(bào)文,生成一份系統(tǒng)指紋。通過對(duì)比檢測(cè)生成的指紋和nmapos-db數(shù)據(jù)庫中的指紋,來查找匹配的系統(tǒng)。
Nmap-os-db文件,指紋頭部使用| 符號(hào)隔開四個(gè)元素,分別是 廠商|操作系統(tǒng)|系統(tǒng)版本|設(shè)備類型,在指紋后面跟著的是指紋字段,分別是 SEQ,OPS,WIN,ECN,T1-T7,U1,IE等基本元素組成,Nmap的檢測(cè)過程正是利用了上述的不同的操作系統(tǒng)和硬件以及應(yīng)用的微小的差別,得到指紋類匹配指紋庫的SEQ,OPS,WIN,ECN,T1-T7,U1,IE字段,如果匹配成功就得到了當(dāng)前設(shè)備的廠商、操作系統(tǒng)、系統(tǒng)版本和設(shè)備類型的具體設(shè)備信息了。
Nmap發(fā)送探測(cè)報(bào)文的具體發(fā)包和探測(cè)流程如下:
①發(fā)送六個(gè)TCP SYN 報(bào)文,來生成4條指紋,分別是SEQ,OPS,WIN,T1。這些數(shù)據(jù)包的序列(sequence)和確認(rèn)號(hào)(acknowledgementnumbers)是隨機(jī)的,tcp選項(xiàng)和tcp窗口字段值也是不同的,其中報(bào)文的會(huì)包含時(shí)間戳的探測(cè),這樣不同的設(shè)備不同的操作系統(tǒng)返回的報(bào)文序列號(hào),窗口,時(shí)間戳等有微小的差別,形成SEQ,OPS,WIN,T1四條指紋。②T2-T7指紋探測(cè)。分別發(fā)送TCP SYN到已經(jīng)探明的不同的端口,同樣是序號(hào),確認(rèn)好,窗口字段DF字段,TTL等字段的不同,構(gòu)造探測(cè)報(bào)文,形成T2-T7字段。③U1 IE指紋探測(cè)。發(fā)送ICMP報(bào)文到設(shè)備,不同的設(shè)備不同的操作系統(tǒng)對(duì)ICMP報(bào)文的返回處理方式不一樣,形成U1 IE指紋。通過上述的報(bào)文探測(cè)就可以得到Nmap-os-db每個(gè)設(shè)備的指紋內(nèi)容,將這些內(nèi)容寫入Nmap-os-db文件里面就,當(dāng)在下一次進(jìn)行掃描的時(shí)候就會(huì)匹配寫入的內(nèi)容,如果匹配上了就可以得到其具體的設(shè)備類型[7-8]。
主動(dòng)掃描工具接入現(xiàn)場(chǎng)網(wǎng)絡(luò),網(wǎng)絡(luò)上實(shí)現(xiàn)和目的終端設(shè)備互聯(lián)互通;命令行測(cè)試效果如下:可以看到端口信息,mac地址,設(shè)備類型,操作系統(tǒng)信息全部探測(cè)出來。
對(duì)比在終端主機(jī)上安裝客戶端探針程序(agent)和收集現(xiàn)場(chǎng)所有的終端主機(jī)賬號(hào)密碼,通過Nmap方式獲取終端上的設(shè)備信息實(shí)施更受歡迎,其唯一條件就是保證探測(cè)設(shè)備和被探測(cè)設(shè)備之間的網(wǎng)絡(luò)可達(dá);該方案減少了目標(biāo)設(shè)備的運(yùn)維成本,避免了主機(jī)安裝agent程序后帶來的業(yè)務(wù)風(fēng)險(xiǎn)及賬號(hào)密碼泄漏的風(fēng)險(xiǎn);實(shí)際資產(chǎn)收集,設(shè)備識(shí)別,現(xiàn)場(chǎng)排查工作中應(yīng)用了該技術(shù),提供了目標(biāo)設(shè)備的識(shí)別檢測(cè)效率,減少了人工收集所帶來的一系列的問題。