李 強(qiáng), 賈煜璇, 宋金珂, 李 紅, 朱紅松, 孫利民
1北京交通大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院 北京 中國(guó)100044
2 中國(guó)科學(xué)院大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院 北京 中國(guó) 100049
3中國(guó)科學(xué)院信息工程研究所 北京 中國(guó) 100093
網(wǎng)絡(luò)空間是相互連接的信息系統(tǒng)基礎(chǔ)設(shè)施所形成的人造空間, 人們?cè)诰W(wǎng)絡(luò)空間開(kāi)展各類相關(guān)活動(dòng)并傳遞各類信息。它是互聯(lián)網(wǎng)(Internet)、電信網(wǎng)絡(luò)、廣域網(wǎng)和局域網(wǎng)等基礎(chǔ)信息設(shè)施構(gòu)建的相互依存的網(wǎng)絡(luò)。隨著物聯(lián)網(wǎng)在社會(huì)各個(gè)領(lǐng)域的廣泛應(yīng)用, 越來(lái)越多的物聯(lián)網(wǎng)信息分布在網(wǎng)絡(luò)空間, 包括操作系統(tǒng)、應(yīng)用服務(wù)和物理設(shè)備等等。據(jù) Gartner報(bào)道[1], 每天都有上百萬(wàn)的物聯(lián)網(wǎng)設(shè)備接入網(wǎng)絡(luò)空間, 預(yù)計(jì)在2020年接入網(wǎng)絡(luò)空間的物聯(lián)網(wǎng)設(shè)備將接近250億。物聯(lián)網(wǎng)信息已經(jīng)成為了網(wǎng)絡(luò)空間的重要資產(chǎn)。
物聯(lián)網(wǎng)融入網(wǎng)絡(luò)空間的同時(shí), 也暴露了許多安全問(wèn)題。2016年10月21日, 黑客利用大量被Mirai病毒感染的物聯(lián)網(wǎng)設(shè)備, 發(fā)動(dòng)了針對(duì)Dyn管理DNS服務(wù)器的DDoS攻擊, 影響范圍涵蓋了美國(guó)東海岸、西海岸和歐洲部分地區(qū), 導(dǎo)致Twitter、GitHub、亞馬遜、PayPal、BBC、華爾街日?qǐng)?bào)等很多知名網(wǎng)站無(wú)法訪問(wèn)。研究人員Antonakakis[2]分析了感染Mirai病毒的物聯(lián)網(wǎng)設(shè)備, 提取了相關(guān)的設(shè)備種類信息, 包括設(shè)備類型、廠商和相關(guān)品牌型號(hào)。因此, 一旦出現(xiàn)物聯(lián)網(wǎng)設(shè)備被惡意濫用, 受到破壞性攻擊, 物聯(lián)網(wǎng)信息泄露等安全問(wèn)題, 都會(huì)為整個(gè)網(wǎng)絡(luò)空間的安全帶來(lái)了巨大風(fēng)險(xiǎn)和挑戰(zhàn)。2016年4月19日, 習(xí)總書(shū)記在網(wǎng)絡(luò)安全和信息化工作座談會(huì)上強(qiáng)調(diào)了金融、能源、電力、通信、交通等領(lǐng)域的關(guān)鍵信息基礎(chǔ)設(shè)施在經(jīng)濟(jì)社會(huì)運(yùn)行中的重要性, 保障關(guān)鍵信息基礎(chǔ)設(shè)施的安全是網(wǎng)絡(luò)安全的重中之重, 研究網(wǎng)絡(luò)空間物聯(lián)網(wǎng)的搜索則是保障關(guān)鍵信息基礎(chǔ)設(shè)施安全的前提。
圖1 物聯(lián)網(wǎng)搜索框架Figure 1 Framework of Internet of Things Search
近幾年, 網(wǎng)絡(luò)空間物聯(lián)網(wǎng)信息搜索成為了工業(yè)界和學(xué)術(shù)界的研究熱點(diǎn)。工業(yè)界, J. Matherly首次發(fā)布Shodan[4]網(wǎng)絡(luò)設(shè)備搜索引擎。Shodan 是物聯(lián)網(wǎng)搜索的重要里程碑, 發(fā)現(xiàn)了互聯(lián)網(wǎng)上大量的工控設(shè)備和監(jiān)控設(shè)備。學(xué)術(shù)界, 密西根大學(xué)的安全團(tuán)隊(duì)推出了Censys[5]搜索引擎。Censys利用網(wǎng)絡(luò)空間快速探測(cè)工具Zmap, 每個(gè)星期更新一次IPv4空間主流的網(wǎng)絡(luò)協(xié)議, 包括 HTTP, FTP, Telnet等應(yīng)用層協(xié)議。Censys結(jié)合設(shè)備識(shí)別工具Ztag來(lái)識(shí)別網(wǎng)絡(luò)空間中的工業(yè)控制系統(tǒng)以及運(yùn)行Modbus 工業(yè)控制協(xié)議的設(shè)備[6]。
網(wǎng)絡(luò)空間物聯(lián)網(wǎng)信息搜索, 即探測(cè)和識(shí)別物聯(lián)網(wǎng)相關(guān)信息。傳統(tǒng)搜索(谷歌、百度)是基于網(wǎng)絡(luò)爬蟲(chóng),抓取網(wǎng)頁(yè)內(nèi)容, 利用文本分析技術(shù)結(jié)合排序算法建立高效索引, 為用戶提供查詢服務(wù)。物聯(lián)網(wǎng)信息搜索不同于傳統(tǒng)的信息搜索技術(shù), 采用網(wǎng)絡(luò)探測(cè)技術(shù),結(jié)合物聯(lián)網(wǎng)指紋, 發(fā)現(xiàn)和識(shí)別網(wǎng)絡(luò)空間中的物聯(lián)網(wǎng)信息。
網(wǎng)絡(luò)空間物聯(lián)網(wǎng)信息搜索的相關(guān)技術(shù)研究已經(jīng)有十幾年的發(fā)展歷史。網(wǎng)絡(luò)空間物聯(lián)網(wǎng)信息搜索主要涉及兩個(gè)關(guān)鍵技術(shù), 探測(cè)技術(shù)和識(shí)別技術(shù)。研究工作[7]總結(jié)了近 20年探測(cè)技術(shù)的發(fā)展歷史, 分析了探測(cè)技術(shù)面臨的問(wèn)題和挑戰(zhàn)。Nmap[3]是最早的網(wǎng)絡(luò)探測(cè)工具, 通過(guò)發(fā)送探測(cè)包和收集響應(yīng)包, 完成網(wǎng)絡(luò)空間探測(cè)任務(wù)。Nmap的探測(cè)范圍比較全面, 但探測(cè)速度較慢。近年來(lái), 密西根大學(xué)研究團(tuán)隊(duì)提出的Zmap[8]極大地提高了網(wǎng)絡(luò)探測(cè)速度, 可以在數(shù)十分鐘內(nèi)完成40億的IPv4地址空間的探測(cè)。Zmap的探測(cè)速率是 Nmap探測(cè)速率的數(shù)千倍。Xuan[9]提出了ARE原型系統(tǒng), 在Zmap搜索的結(jié)果上, 自動(dòng)生成物聯(lián)網(wǎng)信息。J.Richard[10]的綜述工作總結(jié)了探測(cè)技術(shù)在網(wǎng)絡(luò)安全檢測(cè)方面的應(yīng)用和發(fā)展。識(shí)別技術(shù)是基于探測(cè)技術(shù)收集的數(shù)據(jù), 提取物聯(lián)網(wǎng)相關(guān)信息, 例如操作系統(tǒng)、應(yīng)用服務(wù)、物理設(shè)備種類和標(biāo)識(shí)信息。研究人員Zain[11]提出了利用TCP數(shù)據(jù)包重傳超時(shí)時(shí)延來(lái)識(shí)別網(wǎng)絡(luò)空間中的操作系統(tǒng)版本信息, T.Kohno[13]提出了利用設(shè)備的時(shí)鐘偏移提取物聯(lián)網(wǎng)設(shè)備的標(biāo)識(shí)信息。目前國(guó)內(nèi)外缺少對(duì)物聯(lián)網(wǎng)信息識(shí)別技術(shù)的綜述性工作。
針對(duì)網(wǎng)絡(luò)空間物聯(lián)網(wǎng)信息搜索的關(guān)鍵技術(shù), 本篇論文綜述性地分析和總結(jié)了相關(guān)研究工作進(jìn)展, 并闡述了它所面臨的問(wèn)題與挑戰(zhàn)。圖 1 描述了物聯(lián)網(wǎng)信息搜索研究進(jìn)展的相關(guān)工作總結(jié)。論文從三個(gè)方面分析物聯(lián)網(wǎng)信息搜索: 物聯(lián)網(wǎng)信息種類, 關(guān)鍵技術(shù)和基于物聯(lián)網(wǎng)信息搜索的典型應(yīng)用。首先, 論文闡述了四類典型的物聯(lián)網(wǎng)信息: 操作系統(tǒng)信息、應(yīng)用服務(wù)信息、設(shè)備種類信息和標(biāo)識(shí)信息。文獻(xiàn)[3, 14, 17-18, 27]從探測(cè)時(shí)間和精度方面, 介紹了操作系統(tǒng)信息搜索的研究工作; 文獻(xiàn)[19-22]基于通用應(yīng)用層協(xié)議和專有協(xié)議,分別闡述應(yīng)用服務(wù)搜索的研究工作; 文獻(xiàn)[23-26]描述了提取設(shè)備種類信息的研究工作, 包括設(shè)備類型、廠商和品牌型號(hào)信息; 文獻(xiàn)[28-31]闡述了基于物理信息標(biāo)識(shí)的研究工作。其次, 物聯(lián)網(wǎng)信息搜索的關(guān)鍵技術(shù)包括探測(cè)技術(shù)和識(shí)別技術(shù)。論文從主動(dòng)探測(cè)、被動(dòng)偵聽(tīng)和探測(cè)策略等三個(gè)方面, 分析探測(cè)技術(shù)的優(yōu)缺點(diǎn)。文獻(xiàn)[8, 33-40]討論了主動(dòng)探測(cè)和被動(dòng)偵聽(tīng)的優(yōu)缺點(diǎn); 基于探測(cè)順序、探測(cè)服務(wù)器和探測(cè)包數(shù)目, 文獻(xiàn)[41-45]闡述了探測(cè)策略的相關(guān)研究工作。識(shí)別技術(shù)包括基于分類模型的指紋生成技術(shù)和基于標(biāo)語(yǔ)的指紋生成技術(shù)?;诜诸惸P偷闹讣y生成技術(shù)[12,18,24,48-49]需要采集訓(xùn)練數(shù)據(jù)提取特征值,利用學(xué)習(xí)算法生成識(shí)別物聯(lián)網(wǎng)信息的指紋。標(biāo)語(yǔ)識(shí)別技術(shù)[9,49-53]需要提取物理設(shè)備的硬編碼信息, 生成識(shí)別物聯(lián)網(wǎng)信息的指紋。最后, 論文介紹了基于物聯(lián)網(wǎng)信息搜索的典型應(yīng)用: 互聯(lián)網(wǎng)空間測(cè)量[55-61]和大規(guī)模安全事件分析[63-70]。本篇論文是第一個(gè)總結(jié)網(wǎng)絡(luò)空間物聯(lián)網(wǎng)信息搜索研究進(jìn)展的綜述性文章。
論文的組織結(jié)構(gòu)如下: 章節(jié) 2提出了物聯(lián)網(wǎng)信息搜索的總體架構(gòu), 章節(jié) 3闡述了網(wǎng)絡(luò)空間中典型的物聯(lián)網(wǎng)信息, 章節(jié) 4總結(jié)和分析了物聯(lián)網(wǎng)信息搜索的關(guān)鍵技術(shù), 章節(jié) 5闡述了基于物聯(lián)網(wǎng)信息搜索的應(yīng)用, 第六章是論文的總結(jié)和展望。
物聯(lián)網(wǎng)信息搜索, 通過(guò)布置探測(cè)器, 采取主動(dòng)或被動(dòng)的探測(cè)技術(shù), 結(jié)合探測(cè)策略, 收集網(wǎng)絡(luò)空間中的相關(guān)數(shù)據(jù), 結(jié)合物聯(lián)網(wǎng)信息的識(shí)別技術(shù), 生成物聯(lián)網(wǎng)信息的相關(guān)指紋, 從而提取網(wǎng)絡(luò)空間中的物聯(lián)網(wǎng)信息。網(wǎng)絡(luò)空間, 論文基于已有的學(xué)術(shù)定義“在相互連接的信息系統(tǒng)基礎(chǔ)設(shè)施的人造空間, 人們?cè)诰W(wǎng)絡(luò)空間開(kāi)展各類相關(guān)活動(dòng)并傳遞各類信息”, 包含了互聯(lián)網(wǎng)(Internet)、電信網(wǎng)絡(luò)、廣域網(wǎng)和局域網(wǎng)。
本篇論文提出了網(wǎng)絡(luò)空間物聯(lián)網(wǎng)信息搜索的架構(gòu), 如圖 2 所示。物聯(lián)網(wǎng)信息搜索架構(gòu)主要包括三個(gè)部分: 探測(cè)、識(shí)別和應(yīng)用。物聯(lián)網(wǎng)信息探測(cè)主要收集網(wǎng)絡(luò)空間中的傳輸層信息、網(wǎng)絡(luò)層信息和應(yīng)用層信息。根據(jù)數(shù)據(jù)收集方式的不同, 探測(cè)技術(shù)可以分為主動(dòng)探測(cè)和被動(dòng)偵聽(tīng); 根據(jù)探測(cè)器、探測(cè)報(bào)的數(shù)目和探測(cè)順序的不同, 探測(cè)技術(shù)可以采用不同的策略去探測(cè)網(wǎng)絡(luò)空間。物聯(lián)網(wǎng)信息識(shí)別, 基于探測(cè)技術(shù)收集的數(shù)據(jù), 識(shí)別模塊發(fā)現(xiàn)和提取網(wǎng)絡(luò)空間中的物聯(lián)網(wǎng)信息。物聯(lián)網(wǎng)信息的指紋, 基于生成指紋方式的不同,分為基于分類模型的物聯(lián)網(wǎng)指紋和基于標(biāo)語(yǔ)的物聯(lián)網(wǎng)指紋。物聯(lián)網(wǎng)信息識(shí)別, 通過(guò)匹配網(wǎng)絡(luò)空間中的探測(cè)數(shù)據(jù)和指紋, 從而提取相關(guān)的物聯(lián)網(wǎng)信息, 完成物聯(lián)網(wǎng)信息搜索。應(yīng)用模塊, 基于海量的物聯(lián)網(wǎng)信息,確定數(shù)據(jù)分析的方法, 采用具體的數(shù)據(jù)存儲(chǔ)方式建立數(shù)據(jù)索引和構(gòu)建可視化界面, 提供可視化物聯(lián)網(wǎng)信息。本文主要介紹兩類基于物聯(lián)網(wǎng)搜索的典型應(yīng)用: 大規(guī)模安全事件分析和互聯(lián)網(wǎng)空間測(cè)量。研究人員可以根據(jù)物聯(lián)網(wǎng)信息搜索架構(gòu)(圖2)搭建原型系統(tǒng),建立基于物聯(lián)網(wǎng)信息搜索的大規(guī)模安全事件分析和量化分析的模型, 發(fā)現(xiàn)網(wǎng)絡(luò)空間中的潛在隱患。
圖2 物聯(lián)網(wǎng)信息搜索架構(gòu)Figure 2 Architecture of Internet of Things Search
本章節(jié)從操作系統(tǒng)信息、應(yīng)用服務(wù)信息、設(shè)備種類和設(shè)備標(biāo)識(shí)信息四類典型的物聯(lián)網(wǎng)信息。
操作系統(tǒng)信息是, 作為典型的物聯(lián)網(wǎng)信息, 是指運(yùn)行的操作系統(tǒng)版本和型號(hào)。識(shí)別技術(shù)的研究早期主要集中于操作系統(tǒng)識(shí)別, 隨后逐漸擴(kuò)展到應(yīng)用服務(wù)、設(shè)備類型和標(biāo)識(shí)等方面。操作系統(tǒng)信息不僅包含運(yùn)行在個(gè)人計(jì)算機(jī)、服務(wù)器, 還包含許多小型的嵌入式設(shè)備, 例如路由器、打印機(jī)、攝像頭。Li[27]分析了數(shù)千種種嵌入式設(shè)備固件, 發(fā)現(xiàn)大部分的固件采用簡(jiǎn)化版本Linux操作系統(tǒng)。這些嵌入式設(shè)備的操作系統(tǒng)運(yùn)行在設(shè)備固件上。設(shè)備固件是基于ARM或者M(jìn)IPS架構(gòu), 運(yùn)行在設(shè)備的只讀內(nèi)存區(qū)域, 一旦設(shè)備運(yùn)行, 固件會(huì)自動(dòng)加載。
操作系統(tǒng)是基于 TCP/IP 協(xié)議棧實(shí)現(xiàn)上的差異性來(lái)進(jìn)行識(shí)別, 其研究重點(diǎn)集中在降低識(shí)別時(shí)間和提高識(shí)別精度兩個(gè)方面。Nmap[3]是最早來(lái)識(shí)別操作系統(tǒng)的研究工具, 它采用15個(gè)探測(cè)包組合(其中包括12個(gè)TCP報(bào)文、1個(gè)UDP報(bào)文和2個(gè)ICMP報(bào)文), 基于回應(yīng)包頭字段內(nèi)容(TCP/IP協(xié)議棧的報(bào)文初始化大小、TTL 值、TCP滑動(dòng)窗口大小、最大分段長(zhǎng)度等特征)的差異性來(lái)構(gòu)建不同操作系統(tǒng)版本的指紋。Nmap識(shí)別操作系統(tǒng)信息有兩個(gè)限制: (1)隨著操作系統(tǒng)版本種類的增多, 識(shí)別精度會(huì)下降; (2)探測(cè)包的數(shù)目較多, 僅適合設(shè)備數(shù)量有限的操作系統(tǒng)識(shí)別。Xprobe[14]利用不同探測(cè)包獲取信息的差異來(lái)選取探測(cè)包, 并優(yōu)化重排發(fā)送序列, 使用少量探測(cè)包來(lái)識(shí)別操作系統(tǒng), 但識(shí)別精度也有所降低。P0f[15]采用被動(dòng)偵聽(tīng)的方式, 不發(fā)送任何探測(cè)包, 僅分析 TCP/IP報(bào)文和數(shù)據(jù)流量, 其識(shí)別精度和速度依賴于探測(cè)器的布置情況。SinFP[16]結(jié)合了主動(dòng)探測(cè)和被動(dòng)偵聽(tīng),僅采用少量正常的 TCP報(bào)文進(jìn)行探測(cè), 通過(guò)被動(dòng)偵聽(tīng)到的報(bào)文來(lái)識(shí)別操作系統(tǒng), 在發(fā)送少量報(bào)文的情況下實(shí)現(xiàn)了操作系統(tǒng)的識(shí)別。研究人員 Z.Shamsi[11]提出了 Heshel, 采用發(fā)送單個(gè)數(shù)據(jù)包(TCP-SYN)和被探測(cè)對(duì)象生成的重傳(TCP-ACK), 提取數(shù)據(jù)包間的重傳時(shí)延, 識(shí)別操作系統(tǒng)信息。單數(shù)據(jù)包的識(shí)別技術(shù), 極大地縮短了操作系統(tǒng)信息的搜索時(shí)間, 適應(yīng)于大規(guī)模的網(wǎng)絡(luò)探測(cè), 但也面臨著網(wǎng)絡(luò)抖動(dòng)、丟包等帶來(lái)的精確度不高的問(wèn)題。研究人員[17]提出了一個(gè)無(wú)參數(shù)的 EM 算法來(lái)確定重傳超時(shí)延遲的分布和概率條件, 分析了網(wǎng)絡(luò)丟包和抖動(dòng)對(duì)超時(shí)重傳時(shí)延的影響, 得到單數(shù)據(jù)包識(shí)別精度的上界。研究人員David[18]提出了基于機(jī)器學(xué)習(xí)的操作系統(tǒng)識(shí)別面臨著與Nmap同樣的問(wèn)題, 當(dāng)識(shí)別種類增多時(shí), 性能明顯下降。
在識(shí)別時(shí)間上, 大規(guī)模操作系統(tǒng)信息搜索只能識(shí)別粗粒度版本信息。在識(shí)別精度上, 隨著操作系統(tǒng)版本種類的增多, 識(shí)別準(zhǔn)確率會(huì)下降。
應(yīng)用層服務(wù)運(yùn)行在物聯(lián)網(wǎng)設(shè)備上, 提供遠(yuǎn)程訪問(wèn)和配置管理等基本的功能。設(shè)備廠商開(kāi)發(fā)這些應(yīng)用服務(wù), 并嵌入到物聯(lián)網(wǎng)設(shè)備的只讀存儲(chǔ)器(ROM)中。應(yīng)用層的服務(wù)信息包含了物聯(lián)網(wǎng)設(shè)備的相關(guān)信息。應(yīng)用層服務(wù)信息包括基于通用應(yīng)用協(xié)議的服務(wù)和基于專有協(xié)議的服務(wù)。表格 1 描述了常見(jiàn)的通用協(xié)議和專有協(xié)議。如果通用協(xié)議和專有協(xié)議運(yùn)行在TCP/IP協(xié)議棧, 那么, 探測(cè)技術(shù)就能收集相關(guān)的應(yīng)用服務(wù)數(shù)據(jù), 識(shí)別技術(shù)提取應(yīng)用服務(wù)信息。本章節(jié)分析能夠遠(yuǎn)程獲得的應(yīng)用服務(wù)信息的研究工作。
表1 應(yīng)用層協(xié)議Table 1 Application Layer Protocol
通用應(yīng)用層協(xié)議, 包括HTTP, FTP, Telnet等等。一般來(lái)說(shuō), 應(yīng)用層協(xié)議和端口進(jìn)行綁定來(lái)實(shí)現(xiàn)應(yīng)用服務(wù)端到端之間的通信。端口信息采用16比特來(lái)描述, 在0 ~ 65536(216)之間。通用應(yīng)用層協(xié)議運(yùn)行在固定的端口, 例如HTTP默認(rèn)開(kāi)放80端口, FTP協(xié)議開(kāi)放 21端口, Telnet開(kāi)放 23端口。目前常用的工具Nmap[3]和Xprobe[14]都支持通用應(yīng)用層協(xié)議相關(guān)信息的提取?;?TCP的應(yīng)用服務(wù), 首先需要建立三次握手協(xié)議, 然后發(fā)送應(yīng)用層探測(cè)包獲取服務(wù)相關(guān)的信息; 基于UDP的應(yīng)用服務(wù), 服務(wù)器得到UDP的響應(yīng)包后再發(fā)送探測(cè)包, 獲取服務(wù)相關(guān)的信息。Web服務(wù)是網(wǎng)絡(luò)空間中最常見(jiàn)的應(yīng)用層服務(wù), WhatWeb[19]和 Wapplyzer[20]是提取 web應(yīng)用服務(wù)信息的典型工具。WhatWeb擁有1000多個(gè)插件, 每一個(gè)插件能識(shí)別一項(xiàng)web服務(wù)的信息。Wapplyzer提供了開(kāi)源代碼,采用正則表達(dá)式去提取Web服務(wù)的相關(guān)信息。Nmap和Xprobe 支持通用應(yīng)用層協(xié)議探測(cè), 覆蓋范圍大于WhatWeb和Wapplyzer; 而WhatWeb和Wapplyzer對(duì) Web服務(wù)識(shí)別的精細(xì)度, 超過(guò)了通用的探測(cè)器Nmap和Xprobe。
專有協(xié)議包括了工業(yè)控制系統(tǒng)協(xié)議(Modbus、Siemens S7和BACnet等等), 如表格 1 所示。Onvif是監(jiān)控設(shè)備的專有協(xié)議, 利用不同廠商的監(jiān)控設(shè)備在應(yīng)答報(bào)文上的差異性來(lái)識(shí)別設(shè)備的類型信息。工業(yè)控制設(shè)備常常運(yùn)行一些專有的協(xié)議進(jìn)行遠(yuǎn)程數(shù)據(jù)讀取和控制(Supervisory Control And Data Acquisition,SCADA), 例如, Modbus協(xié)議(即工業(yè)領(lǐng)域通信協(xié)議)常用于工業(yè)電子設(shè)備之間的連接, BACnet協(xié)議用于樓宇自動(dòng)化控制, 供暖、通風(fēng)、空調(diào)、燈光控制和門(mén)禁控制等等。研究人員Z. Durumeric[6]分析了Modbus和Siemens S7協(xié)議, 并采用主動(dòng)探測(cè)和單包方式, 發(fā)現(xiàn)了數(shù)萬(wàn)個(gè)基于Modbus和Siemens S7的工業(yè)控制設(shè)備。Claude[21]等研究人員通過(guò)網(wǎng)絡(luò)望遠(yuǎn)鏡, 分析了15種工業(yè)控制協(xié)議, 解析了這些協(xié)議的數(shù)據(jù)報(bào)文, 并推測(cè)當(dāng)前網(wǎng)絡(luò)空間中工業(yè)控制設(shè)備的狀況。Xuan等人[22]進(jìn)一步解析了17種主流的工業(yè)控制協(xié)議, 并提出了工業(yè)控制快速發(fā)現(xiàn)算法,可以在 24小時(shí)內(nèi)完成40億IP地址空間工業(yè)控制協(xié)議的搜索。專有協(xié)議在設(shè)備具體實(shí)現(xiàn)上的巨大差異, 加大了采用專有探測(cè)包進(jìn)行搜索的難度。專有協(xié)議的報(bào)文格式需要在對(duì)協(xié)議本身理解的基礎(chǔ)上, 進(jìn)而有效地解析這些探測(cè)包, 提取應(yīng)用層服務(wù)的相關(guān)信息。因此, 專有協(xié)議需要花費(fèi)大量精力去分析哪些指令和報(bào)文可以用來(lái)識(shí)別, 目前國(guó)內(nèi)外缺少對(duì)專有協(xié)議解析的研究工作。
網(wǎng)絡(luò)空間中存在著海量、異構(gòu)的物理設(shè)備, 包括
辦公設(shè)備、監(jiān)控設(shè)備、網(wǎng)絡(luò)設(shè)備、工業(yè)控制設(shè)備等等。物理設(shè)備既可以作為終端節(jié)點(diǎn)訪問(wèn)網(wǎng)絡(luò)空間的服務(wù), 也可以作為網(wǎng)絡(luò)空間的基礎(chǔ)設(shè)施, 支持?jǐn)?shù)據(jù)轉(zhuǎn)發(fā)和傳輸。設(shè)備種類信息包括設(shè)備類型、廠商和品牌型號(hào)。圖 3展示了設(shè)備種類信息的分層結(jié)構(gòu), 設(shè)備種類信息可以分為: (1)設(shè)備類型, 包括監(jiān)控?cái)z像頭、網(wǎng)絡(luò)打印機(jī)、路由器和工業(yè)控制設(shè)備; (2)設(shè)備的廠商信息, 常見(jiàn)的有大華、??低?、D-Link和
Netgear; (3)設(shè)備的型號(hào)信息, 即廠商生產(chǎn)的產(chǎn)品信息。??低?Hikvision) 是監(jiān)控?cái)z像頭的生產(chǎn)廠家,D-Link是生產(chǎn)路由器和監(jiān)控設(shè)備的廠商, 發(fā)布了上百種不同型號(hào)的產(chǎn)品, 包括DXS-3400系列的交換機(jī),DCS-470X系列的攝像頭等。識(shí)別設(shè)備種類信息, 即識(shí)別該設(shè)備屬于哪種類型、來(lái)自于哪個(gè)廠商和具體的產(chǎn)品型號(hào)。
圖3 設(shè)備種類信息Figure 3 Information of Device Type
研究人員 Cui等人[23]提出了基于設(shè)備應(yīng)用層通用協(xié)議(HTTP/SSH/TELNET等)的差異性, 通過(guò)人工手段, 提取協(xié)議的特征字段來(lái)生成設(shè)備類型指紋。Cui的工作[23]是第一個(gè)大規(guī)模利用設(shè)備指紋, 搜索網(wǎng)絡(luò)空間中的物理設(shè)備信息的研究工作, 但是基于手工提取的設(shè)備種類指紋較為簡(jiǎn)單, 也無(wú)法驗(yàn)證識(shí)別的準(zhǔn)確率和召回率。Nmap[3]的指紋庫(kù)包含了 Cui的研究工作所涉及到的設(shè)備種類指紋[23], 其利用正則表達(dá)式來(lái)匹配識(shí)別設(shè)備種類信息?,F(xiàn)階段的設(shè)備種類信息的識(shí)別, 都是利用通用協(xié)議關(guān)鍵字段的差異性來(lái)識(shí)別的。Xuan[9]在2018年的USENIX上, 結(jié)合利用自然語(yǔ)言處理技術(shù)和標(biāo)語(yǔ)抓取技術(shù), 自動(dòng)生成了設(shè)備種類的規(guī)則。相對(duì)于Nmap識(shí)別指紋庫(kù), Xuan的工作不需要訓(xùn)練數(shù)據(jù), 在一個(gè)星期之內(nèi), 生產(chǎn)了10萬(wàn)條設(shè)備種類的規(guī)則, 并且規(guī)則能識(shí)別更細(xì)粒度的設(shè)備種類(圖3所示)。
研究人員A.Khakpour[24]提出了利用 TCP數(shù)據(jù)包的特征來(lái)識(shí)別防火墻類別。A.Khakpour提取防火墻進(jìn)出口的數(shù)據(jù)流量和 TCP字段的特征值, 結(jié)合機(jī)器學(xué)習(xí)算法訓(xùn)練模型, 識(shí)別防火墻種類信息。 S.Radhakrishnan[25]發(fā)現(xiàn)了設(shè)備硬件時(shí)鐘偏差導(dǎo)致的網(wǎng)絡(luò)行為差異, 提出基于神經(jīng)網(wǎng)絡(luò)的指紋生成算法GTID, 通過(guò)實(shí)驗(yàn)證明了該算法不僅可以發(fā)現(xiàn)移動(dòng)設(shè)備(iPads, iPhones, Google Phones)和協(xié)議類型(Skype,SCP, ICMP), 而且可以發(fā)現(xiàn)未定義的新設(shè)備, 在發(fā)現(xiàn)虛假設(shè)備方面也有一定表現(xiàn)。
工業(yè)控制設(shè)備種類信息的識(shí)別, 是基于設(shè)備運(yùn)行工業(yè)控制協(xié)議的前提下進(jìn)行的。研究人員Claude[21]和Xuan[22]等人解析了工業(yè)協(xié)議, 在全球范圍內(nèi)找到了二十多萬(wàn)種工業(yè)控制設(shè)備, 基于工業(yè)控制協(xié)議信息,分析了這些物理設(shè)備的基本功能、所屬類別以及設(shè)備在空間和時(shí)間的分布規(guī)律。文獻(xiàn)[6]采用縱包(Crowdsourcing)的方式, 鼓勵(lì)研究人員和開(kāi)放人員利用插件腳本的形式, 增加設(shè)備種類識(shí)別的指紋。識(shí)別方式和 Nmap[3]工具相同, 采用正則表達(dá)式進(jìn)行匹配, 目前支持的設(shè)備類型較少且識(shí)別能力有限。
設(shè)備廠商會(huì)將監(jiān)控設(shè)備種類信息硬編碼在設(shè)備應(yīng)用層服務(wù)。研究人員Qiang[26]發(fā)現(xiàn)不同廠商的監(jiān)控設(shè)備具備不同的圖形化交互界面(Graphic User Interface, GUI)。研究工作[26]提出了基于GUI的監(jiān)控設(shè)備種類信息識(shí)別算法, 通過(guò) HTTP協(xié)議自動(dòng)提取監(jiān)控設(shè)備的web頁(yè)面信息, 并在整個(gè)IPv4空間中發(fā)現(xiàn)了160萬(wàn)個(gè)監(jiān)控設(shè)備。北美歐洲大規(guī)模斷網(wǎng)的Mirai病毒干擾的物聯(lián)網(wǎng)設(shè)備大多都屬于監(jiān)控設(shè)備, 例如攝像頭、NVR和DVR。研究人員M.Antonakakis[2]利用HTTP的標(biāo)語(yǔ)信息存儲(chǔ)的廠商硬編碼信息, 并結(jié)合Nmap[3]的指紋庫(kù), 分析了這些監(jiān)控設(shè)備的廠商和品牌種類信息。
目前, 設(shè)備類型信息的搜索采用基于分類模型的指紋生成技術(shù)[26], 或者采用基于標(biāo)語(yǔ)的指紋生成技術(shù)[2-3,23], 在四章節(jié), 本文將會(huì)介紹識(shí)別的關(guān)鍵技術(shù)。
設(shè)備種類信息代表了同一類別的設(shè)備信息, 而設(shè)備標(biāo)識(shí)表示單個(gè)設(shè)備的信息。標(biāo)識(shí)信息即 ID, 是區(qū)別設(shè)備之間的標(biāo)識(shí)符。典型的標(biāo)識(shí)方法包括: 基于IP地址的標(biāo)識(shí), 基于MAC地址的標(biāo)識(shí)和基于Cookie的標(biāo)識(shí)。
IP地址是由組織機(jī)構(gòu)IANA進(jìn)行統(tǒng)一分配和發(fā)布的, 同時(shí), 動(dòng)態(tài)地址分配協(xié)議(Dynamic Host Configuration Protocol, DHCP)使得每個(gè)IP地址具有一定租賃期限。超過(guò)租賃期限后, 物聯(lián)網(wǎng)設(shè)備的 IP地址會(huì)發(fā)生改變。研究工作[28]通過(guò)大規(guī)模測(cè)量和分析發(fā)現(xiàn), IP地址的租賃期限從一個(gè)小時(shí)到數(shù)個(gè)星期不等,平均租賃期限約為24小時(shí)。動(dòng)態(tài)變化的IP地址無(wú)法作為標(biāo)識(shí)信息。MAC地址是48比特(6個(gè)字節(jié)), 其中后面24比特是由廠商生成和定義的。MAC地址只能在局域網(wǎng)空間內(nèi)獲得, 可以唯一標(biāo)識(shí)單個(gè)設(shè)備。網(wǎng)絡(luò)空間中, 我們無(wú)法獲得MAC地址信息。Cookie或者用戶登入信息, 要求應(yīng)用服務(wù)器采集或者用戶主動(dòng)輸入, 應(yīng)用范圍非常受限。網(wǎng)絡(luò)空間中, 這些標(biāo)識(shí)的搜索具有很大的局限性, 無(wú)法作為物聯(lián)網(wǎng)標(biāo)識(shí)信息。本章節(jié)介紹了基于設(shè)備本身物理信息標(biāo)識(shí)的相關(guān)研究工作。由于設(shè)備的硬件和系統(tǒng)在設(shè)計(jì)和實(shí)現(xiàn)上具有差異性, 因此可以通過(guò)間接的方式, 將獲得的物理特性作為設(shè)備的標(biāo)識(shí)信息。
研究人員 T.Kohno[13]提出將時(shí)鐘偏移的物理信息作為設(shè)備的標(biāo)識(shí)。網(wǎng)絡(luò)時(shí)鐘協(xié)議(Network Time Protocol)是計(jì)算機(jī)系統(tǒng)通過(guò)發(fā)送數(shù)據(jù)包來(lái)校正系統(tǒng)時(shí)鐘的網(wǎng)絡(luò)協(xié)議, 不同的設(shè)備運(yùn)行時(shí), 硬件的實(shí)現(xiàn)和系統(tǒng)運(yùn)行也有所不同, 這就造成了設(shè)備的時(shí)鐘和標(biāo)準(zhǔn)時(shí)鐘的同步出現(xiàn)了細(xì)微的差別。T.Kohno的研究工作提出了結(jié)合主動(dòng)探測(cè)和被動(dòng)偵聽(tīng)兩種方式, 提取一段連續(xù)TCP報(bào)文頭部的時(shí)鐘值, 其中td表示被探測(cè)對(duì)象的時(shí)鐘值, ts表示探測(cè)服務(wù)器的時(shí)鐘值。時(shí)鐘的偏移值分別為:?;谶B續(xù)的的偏移對(duì)(xi, yi) , 通過(guò)多項(xiàng)式擬合的方式, 即y = a +a x +a x2+…+a xk,k) 將得到的參數(shù)來(lái)表示設(shè)備的物理特性。這種方法的優(yōu)點(diǎn)在于可以通過(guò)探測(cè)包和響應(yīng)包之間的時(shí)間戳差異建立設(shè)備的物理指紋, 這種指紋和具體設(shè)備相關(guān),難以修改, 因而可以作為設(shè)備的標(biāo)識(shí)信息。
物理信息的限制在于兩個(gè)方面: (1)網(wǎng)絡(luò)抖動(dòng)、丟包和時(shí)間差異值不穩(wěn)定的問(wèn)題, 會(huì)導(dǎo)致物理特性不穩(wěn)定和誤差值的提高。S.Zander[29]在此基礎(chǔ)上, 提出時(shí)鐘偏移的測(cè)量主要有兩方面的誤差: 網(wǎng)絡(luò)干擾和時(shí)間戳量化誤差。時(shí)鐘量化誤差產(chǎn)生的噪聲比網(wǎng)絡(luò)干擾大一個(gè)到多個(gè)數(shù)量級(jí)。S.Zander 的研究工作提出了一種基于時(shí)鐘同步抽樣的測(cè)量方式, 很大程度地減少了時(shí)間戳量化的誤差。Xuan[30]提出基于分層結(jié)構(gòu)的設(shè)備時(shí)鐘偏移, 首先采取額外的信息對(duì)網(wǎng)絡(luò)空間中的物理設(shè)備進(jìn)行分層, 包括設(shè)備種類、所屬機(jī)構(gòu)、和位置信息, 在分層結(jié)構(gòu)的末端節(jié)點(diǎn), 再采用時(shí)鐘偏移計(jì)算物聯(lián)網(wǎng)設(shè)備的物理特性, 以此減少網(wǎng)絡(luò)抖動(dòng)帶來(lái)的影響。(2)計(jì)算設(shè)備的時(shí)鐘偏移需要大量連續(xù)的數(shù)據(jù)報(bào), 需要花費(fèi)很高的代價(jià), 不利于大規(guī)模網(wǎng)絡(luò)空間的探測(cè)。獲取設(shè)備的時(shí)鐘偏移值, 需要連續(xù)的2000到3000個(gè)數(shù)據(jù)包, 否則會(huì)帶來(lái)很大的誤差。
物聯(lián)網(wǎng)標(biāo)識(shí)信息還可以用來(lái)發(fā)現(xiàn)和檢測(cè)網(wǎng)絡(luò)空間的異常行為。研究人員D.Formby[31]發(fā)現(xiàn)真實(shí)的和偽造的工業(yè)控制設(shè)備的響應(yīng)包在時(shí)間上具有差異性。D.Formby的研究工作利用響應(yīng)時(shí)間的差異提取設(shè)備的標(biāo)識(shí)和模型, 如果發(fā)現(xiàn)偽造的設(shè)備, 那么認(rèn)為當(dāng)前的工業(yè)控制系統(tǒng)被偽造或被入侵導(dǎo)致物理特性改變, 從而保護(hù)工業(yè)控制系統(tǒng)。研究人員D.Urbina[32]認(rèn)為工業(yè)控制設(shè)備的電壓在時(shí)間序列上的變化規(guī)律可以作為標(biāo)識(shí)信息, 即使隱藏攻擊行為,也會(huì)導(dǎo)致正常的設(shè)備標(biāo)識(shí)發(fā)生改變。D.Urbina的研究工作利用物理特性提取設(shè)備標(biāo)識(shí), 建立正常設(shè)備模型, 有效地發(fā)現(xiàn)工業(yè)控制系統(tǒng)中的攻擊行為和異常現(xiàn)象。
網(wǎng)絡(luò)空間中的物聯(lián)網(wǎng)信息具有三個(gè)特性: 海量動(dòng)態(tài)、異構(gòu)和自組織。數(shù)以億萬(wàn)的物聯(lián)網(wǎng)設(shè)備接入網(wǎng)絡(luò)空間, 形成了海量的物聯(lián)網(wǎng)信息。這些物聯(lián)網(wǎng)信息無(wú)時(shí)不刻在變化, 例如動(dòng)態(tài) IP地址, 新設(shè)備的安裝和舊設(shè)備的拆除。設(shè)備的移動(dòng)性進(jìn)一步加劇了網(wǎng)絡(luò)空間物聯(lián)網(wǎng)信息的動(dòng)態(tài)性。海量動(dòng)態(tài)的物聯(lián)網(wǎng)信息的探測(cè)具有實(shí)時(shí)性要求。物聯(lián)網(wǎng)信息各不相同, 數(shù)據(jù)格式異構(gòu), 設(shè)備種類繁多, 識(shí)別技術(shù)需要精細(xì)化地獲取物聯(lián)網(wǎng)信息。物聯(lián)網(wǎng)應(yīng)用在網(wǎng)絡(luò)空間是自組織式的分布, 探測(cè)技術(shù)需要能夠遍歷整個(gè)網(wǎng)絡(luò)空間, 識(shí)別技術(shù)需要全面地發(fā)現(xiàn)和識(shí)別物聯(lián)網(wǎng)信息。本章節(jié)主要從探測(cè)技術(shù)和識(shí)別技術(shù)分別介紹相關(guān)研究工作。
探測(cè)技術(shù)已經(jīng)有了近20年的發(fā)展歷史, 圖 4描述了物聯(lián)網(wǎng)信息探測(cè)技術(shù)的框架。物聯(lián)網(wǎng)信息包括傳輸層信息, 網(wǎng)絡(luò)層信息和應(yīng)用層信息; 根據(jù)物聯(lián)網(wǎng)信息收集方式的不同, 探測(cè)技術(shù)可以分為主動(dòng)探測(cè)和被動(dòng)偵聽(tīng); 根據(jù)探測(cè)器、探測(cè)數(shù)目和探測(cè)順序的不同, 物聯(lián)網(wǎng)探測(cè)可以采取調(diào)度策略完成網(wǎng)絡(luò)空間探測(cè)。下面分別介紹探測(cè)技術(shù)各個(gè)模塊的相關(guān)工作。
圖4 網(wǎng)絡(luò)空間中物聯(lián)網(wǎng)探測(cè)技術(shù)Figure 4 IOT Detection Technology in Cyberspace
4.1.1 主動(dòng)探測(cè)
主動(dòng)探測(cè)是指探測(cè)器向網(wǎng)絡(luò)空間發(fā)送探測(cè)包并接受響應(yīng)包, 通過(guò)分析和挖掘響應(yīng)包來(lái)推測(cè)被探測(cè)對(duì)象的相關(guān)信息。攻擊者在發(fā)起一次攻擊之前, 會(huì)使用主動(dòng)探測(cè)來(lái)發(fā)現(xiàn)脆弱設(shè)備和信息; 安全研究人員利用主動(dòng)探測(cè)檢測(cè)當(dāng)前網(wǎng)絡(luò)環(huán)境的基本情況, 及時(shí)發(fā)現(xiàn)高危漏洞, 更新安全補(bǔ)丁。主動(dòng)探測(cè)針對(duì)不同的物聯(lián)網(wǎng)信息會(huì)發(fā)送不同的探測(cè)報(bào)文。
在網(wǎng)絡(luò)層, 探測(cè)器會(huì)發(fā)送ICMP數(shù)據(jù)包到一個(gè)目的 IP地址, 如果得到響應(yīng), 就可以得知存活在該 IP地址上的當(dāng)前主機(jī)或設(shè)備。ICMP不需要指定特定的端口, 主動(dòng)探測(cè)可以通過(guò)是否應(yīng)答來(lái)得知被探測(cè)對(duì)象是否存活。早期的探測(cè)技術(shù)[7]都是采用ICMP數(shù)據(jù)包完成網(wǎng)絡(luò)空間的搜索任務(wù)。常用的工具Nmap[3]和Xprobe[14]都支持ICMP數(shù)據(jù)包探測(cè)。目前, 許多防火墻和入侵檢測(cè)系統(tǒng)都會(huì)阻塞探測(cè)器的ICMP數(shù)據(jù)包。
在傳輸層, 主動(dòng)探測(cè)通過(guò)發(fā)送TCP或者UDP數(shù)據(jù)包來(lái)發(fā)現(xiàn)被探測(cè)對(duì)象開(kāi)放了哪些端口和服務(wù)。TCP探測(cè)包需要建立狀態(tài)連接, UDP探測(cè)包則不需要。如果被探測(cè)對(duì)象返回相應(yīng)的數(shù)據(jù)包, 探測(cè)器就可以得知開(kāi)放的TCP端口和UDP端口。主動(dòng)探測(cè)基于TCP鏈接方式, 可以分為半鏈接和全鏈接。半鏈接探測(cè)是指探測(cè)服務(wù)器發(fā)送一個(gè)TCP-SYN探測(cè)報(bào)到被探測(cè)對(duì)象的某個(gè)端口(例如 21端口), 如果被探測(cè)對(duì)象開(kāi)放了FTP應(yīng)用服務(wù), 就會(huì)返回一個(gè)TCP-ACK響應(yīng)包??焖賿呙韫ぞ遉map[8]采用這種半TCP鏈接的方法實(shí)現(xiàn)了全網(wǎng)探測(cè)。研究人員[33]也提出了基于這種半鏈接方式探測(cè)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu), 能夠在一個(gè)小時(shí)就可以找到IPv4空間內(nèi)所有路由信息(即/24網(wǎng)段信息)。采用全鏈接方式, 探測(cè)服務(wù)器和被探測(cè)對(duì)象則會(huì)建立三次握手協(xié)議, 進(jìn)而探測(cè)應(yīng)用層的數(shù)據(jù), 直到探測(cè)服務(wù)器不再響應(yīng), 此次探測(cè)任務(wù)結(jié)束。這種全鏈接的探測(cè)方式有2個(gè)限制: (1)TCP鏈接會(huì)消耗被探測(cè)對(duì)象的資源; (2)全鏈接方式的探測(cè)時(shí)間遲較長(zhǎng), 無(wú)法快速完成大規(guī)模物聯(lián)網(wǎng)信息搜索。
在應(yīng)用層, 主動(dòng)探測(cè)通過(guò)發(fā)送應(yīng)用層的探測(cè)包來(lái)解析相應(yīng)的應(yīng)用服務(wù), 章節(jié)3.2闡述了應(yīng)用層服務(wù)搜索的相應(yīng)研究工作。應(yīng)用程序信息是指運(yùn)行在被探測(cè)對(duì)象上的應(yīng)用和服務(wù)的相關(guān)信息。研究人員Genevieve[34]結(jié)合了主動(dòng)探測(cè)和被動(dòng)偵聽(tīng)來(lái)量化網(wǎng)絡(luò)空間的應(yīng)用服務(wù)信息。Nessus[35]利用發(fā)送到網(wǎng)絡(luò)空間的探測(cè)包來(lái)評(píng)估了脆弱性的主動(dòng)探測(cè)工具。中科院信工所研究團(tuán)隊(duì)通過(guò)主動(dòng)探測(cè)技術(shù)發(fā)現(xiàn)網(wǎng)絡(luò)空間的監(jiān)控設(shè)備[26]和工業(yè)控制設(shè)備[22], 并做了進(jìn)一步的監(jiān)測(cè)和分析。
主動(dòng)探測(cè)的優(yōu)點(diǎn)在于, 它可以靈活地選擇探測(cè)范圍和需要探測(cè)的內(nèi)容。通過(guò)布置多個(gè)探測(cè)器, 主動(dòng)探測(cè)可以實(shí)時(shí)地獲取被探測(cè)對(duì)象的信息。不足之處在于容易被防火墻阻塞, 不能夠穿透網(wǎng)關(guān)和 NAT(網(wǎng)絡(luò)地址轉(zhuǎn)化), 甚至可能會(huì)影響遠(yuǎn)程主機(jī)的正常運(yùn)行。如果發(fā)送數(shù)據(jù)包速度過(guò)快, 很容易被認(rèn)為是一種攻擊行為, 大量的探測(cè)包會(huì)對(duì)網(wǎng)絡(luò)環(huán)境造成不良影響。因此, 主動(dòng)探測(cè)需要盡可能地減輕對(duì)網(wǎng)絡(luò)空間的影響, 保證合法性和合理性, 這是網(wǎng)絡(luò)空間中物聯(lián)網(wǎng)搜索需要銘記的地方。
4.1.2 被動(dòng)偵聽(tīng)
被動(dòng)偵聽(tīng)通過(guò)布置在網(wǎng)絡(luò)邊界的探測(cè)器, 收集網(wǎng)絡(luò)空間的數(shù)據(jù), 分析和挖掘數(shù)據(jù)包進(jìn)而推測(cè)被探測(cè)對(duì)象的相關(guān)信息。探測(cè)器可以通過(guò)專用硬件或軟件, 結(jié)合數(shù)據(jù)包解析技術(shù)獲取相關(guān)的物聯(lián)網(wǎng)信息。攻擊者常常采用被動(dòng)偵聽(tīng)來(lái)發(fā)現(xiàn)當(dāng)前網(wǎng)絡(luò)空間的脆弱點(diǎn), 為進(jìn)一步的攻擊做準(zhǔn)備; 入侵檢測(cè)系統(tǒng)(IDS)則利用被動(dòng)偵聽(tīng)技術(shù)發(fā)現(xiàn)網(wǎng)絡(luò)空間中的異常和安全隱患。
被動(dòng)偵聽(tīng)主要捕獲傳輸層和應(yīng)用層的服務(wù)信息,它可以在路由器上復(fù)制一個(gè)虛擬端口, 將所有經(jīng)過(guò)路由器的數(shù)據(jù)包都復(fù)制到探測(cè)器上, 因而不影響當(dāng)前路由或者網(wǎng)關(guān)的正常運(yùn)行。在傳輸層, 被動(dòng)偵聽(tīng)主要解析TCP和UDP數(shù)據(jù)流?;赥CP數(shù)據(jù)包, 被動(dòng)偵聽(tīng)需要捕獲TCP連接建立的消息(即SYN數(shù)據(jù)包),得知三次握手完成的情況, 若 TCP數(shù)據(jù)包的(SYN/ACK)消息成對(duì)存在, 則 TCP服務(wù)建立成功?;赨DP數(shù)據(jù)包, 由于UDP不要求被探測(cè)對(duì)象返回響應(yīng)包, 所以被動(dòng)偵聽(tīng)需要通過(guò)觀察流量來(lái)識(shí)別UDP服務(wù)情況。研究人員F. Donelson[36]通過(guò)研究TCP 的頭部信息分析和推測(cè)了網(wǎng)絡(luò)空間中的Web服務(wù)。在應(yīng)用層, 被動(dòng)偵聽(tīng)技術(shù)只能分析 HTTP, FTP這樣的主流應(yīng)用層協(xié)議。針對(duì)通用協(xié)議的數(shù)據(jù)包, 報(bào)文字段較為固定, 因此很容易推斷出被探測(cè)對(duì)象的信息; 針對(duì)專有協(xié)議或者加密的應(yīng)用層數(shù)據(jù)包, 被動(dòng)偵聽(tīng)則通過(guò)流量來(lái)推測(cè)具體的應(yīng)用服務(wù)情況。
被動(dòng)偵聽(tīng)技術(shù)常常用來(lái)檢測(cè)當(dāng)前網(wǎng)絡(luò)環(huán)境中的資產(chǎn)、異常和設(shè)備信息, 結(jié)合TCP, ARP和ICMP協(xié)議來(lái)生成應(yīng)用程序指紋, 分析檢測(cè)出的數(shù)據(jù)包, 從而實(shí)現(xiàn)匹配。Wireshark是常見(jiàn)的被動(dòng)偵聽(tīng)分析工具, 它可以直接解析IP包、TCP包、UDP包等報(bào)文。P0f[15]利用被動(dòng)偵聽(tīng)數(shù)據(jù)包來(lái)識(shí)別出當(dāng)前網(wǎng)絡(luò)環(huán)境的操作系統(tǒng)信息。入侵檢測(cè)系統(tǒng) Bro和Snort都是利用被動(dòng)偵聽(tīng)技術(shù)來(lái)收集網(wǎng)絡(luò)數(shù)據(jù)包, 從而發(fā)現(xiàn)異常和入侵行為。研究人員 Michael Bailey[37]提出了被動(dòng)偵聽(tīng)設(shè)施的分布式檢測(cè)算法, 用來(lái)分析網(wǎng)絡(luò)空間的潛在危險(xiǎn), 并且利用它們進(jìn)行局域網(wǎng)內(nèi)的入侵檢測(cè)和安全評(píng)估。全球規(guī)模最大的被動(dòng)偵聽(tīng)設(shè)施是CAIDA的網(wǎng)絡(luò)望遠(yuǎn)鏡(Telescope)[38], 256分之一的IPv4地址空間(即156萬(wàn)個(gè)IP地址)都可以被網(wǎng)絡(luò)望遠(yuǎn)鏡實(shí)時(shí)偵聽(tīng)和分析。許多研究工作都是基于網(wǎng)絡(luò)望遠(yuǎn)鏡來(lái)探測(cè)和發(fā)現(xiàn)網(wǎng)絡(luò)空間中的安全問(wèn)題。David Moore 等研究人員[39]指出了如何利用網(wǎng)絡(luò)望遠(yuǎn)鏡去檢測(cè)網(wǎng)絡(luò)空間中的安全事件, 諸如分布式拒絕服務(wù)攻擊, 僵尸網(wǎng)絡(luò), 蠕蟲(chóng)和木馬的傳播。類似于網(wǎng)絡(luò)望遠(yuǎn)鏡, 瑞士理工的研究人員 Eduard[40]通過(guò)布置 46 所校園和研究機(jī)構(gòu)的被動(dòng)偵聽(tīng)設(shè)施, 建立分類模型來(lái)預(yù)測(cè)網(wǎng)絡(luò)空間的主動(dòng)探測(cè)行為和網(wǎng)絡(luò)中不可達(dá)的區(qū)域, 總結(jié)了基于被動(dòng)偵聽(tīng)識(shí)別的網(wǎng)絡(luò)空間中潛在的安全事件。
被動(dòng)偵聽(tīng)最大的優(yōu)點(diǎn)在于對(duì)被探測(cè)對(duì)象的影響可以忽略不計(jì), 它不需要給被探測(cè)對(duì)象發(fā)送任何數(shù)據(jù)包, 不消耗資源。同時(shí)被動(dòng)偵聽(tīng)也不會(huì)被認(rèn)為是一種攻擊行為, 并且還可以捕獲那些被防火墻阻塞的數(shù)據(jù)包, 具有很強(qiáng)的穿透性。被動(dòng)偵聽(tīng)最大的局限在于其缺乏靈活性, 無(wú)法應(yīng)用于大規(guī)模的網(wǎng)絡(luò)空間探測(cè)。如果這段網(wǎng)絡(luò)空間的數(shù)據(jù)包不經(jīng)過(guò)探測(cè)器, 那么被動(dòng)偵聽(tīng)無(wú)法得到任何信息。
研究人員 J.Richard[10]總結(jié)了主動(dòng)探測(cè)和被動(dòng)偵聽(tīng)的優(yōu)缺點(diǎn), 主動(dòng)探測(cè)不需要布置監(jiān)測(cè)服務(wù)器, 但是會(huì)消耗被探測(cè)對(duì)象資源, 且發(fā)現(xiàn)不了被阻塞的設(shè)備和服務(wù); 被動(dòng)偵聽(tīng)的使用范圍受到監(jiān)測(cè)服務(wù)器布置范圍的限制, 但卻不會(huì)消耗被探測(cè)對(duì)象資源, 并且可以發(fā)現(xiàn)一些間歇性的和被阻塞的設(shè)備和服務(wù)。
4.1.3 探測(cè)策略
根據(jù)探測(cè)服務(wù)器、探測(cè)包的數(shù)目和探測(cè)順序的不同, 網(wǎng)絡(luò)空間搜索可以設(shè)計(jì)不同的策略和算法去發(fā)現(xiàn)和識(shí)別物聯(lián)網(wǎng)設(shè)備。本章節(jié)總結(jié)已有的相關(guān)工作, 并闡述這些因素對(duì)網(wǎng)絡(luò)空間探測(cè)策略的影響。
探測(cè)器。當(dāng)探測(cè)器數(shù)目較少時(shí), 探測(cè)方式較為簡(jiǎn)單, 通過(guò)發(fā)送數(shù)據(jù)包并接受和解析響應(yīng)包來(lái)完成物聯(lián)網(wǎng)搜索的任務(wù)。少量的探測(cè)器會(huì)受到許多限制, 比如上下行帶寬會(huì)導(dǎo)致探測(cè)時(shí)間過(guò)長(zhǎng), 數(shù)據(jù)失真使得可信度下降等等。當(dāng)探測(cè)器數(shù)目較多時(shí), 可以分配探測(cè)任務(wù)到多個(gè)探測(cè)器上, 同時(shí)設(shè)計(jì)調(diào)度算法分布式地執(zhí)行探測(cè)任務(wù), 提高探測(cè)速率。C. Gates[41]提出了分布式的、多源服務(wù)器協(xié)作探測(cè)網(wǎng)絡(luò)空間的方式, 從而節(jié)省了探測(cè)時(shí)間。這種分布式搜索方式很難被察覺(jué), 探測(cè)任務(wù)調(diào)度問(wèn)題轉(zhuǎn)化為集合覆蓋問(wèn)題, 在理論上優(yōu)化了搜索服務(wù)器數(shù)目和位置固定的分布, 通過(guò)分析得出多個(gè)探測(cè)器之間存在時(shí)間和空間上的關(guān)聯(lián)關(guān)系。
服務(wù)器的位置也是影響網(wǎng)絡(luò)空間探測(cè)的重要因素。在內(nèi)部網(wǎng)絡(luò)空間中, 內(nèi)部網(wǎng)絡(luò)系統(tǒng)管理員利用探測(cè)器發(fā)現(xiàn)可疑的設(shè)備和安全隱患, 及時(shí)打上補(bǔ)丁來(lái)保證內(nèi)部網(wǎng)絡(luò)安全, 進(jìn)行安全審計(jì)工作。研究人員D.Whyte[42]研究發(fā)現(xiàn), 內(nèi)部網(wǎng)絡(luò)空間搜索是保證內(nèi)部網(wǎng)絡(luò)空間安全的重要技術(shù), 他利用內(nèi)部網(wǎng)絡(luò)搜索結(jié)合DNS異常檢測(cè), 發(fā)現(xiàn)了企業(yè)網(wǎng)絡(luò)中被蠕蟲(chóng)感染的計(jì)算機(jī)和嵌入式設(shè)備。在外部網(wǎng)絡(luò)空間中, 探測(cè)器需要考慮到搜索行為對(duì)外部網(wǎng)絡(luò)行為所造成的影響,否則會(huì)被認(rèn)為是一種網(wǎng)絡(luò)入侵行為, 帶來(lái)法律問(wèn)題。探測(cè)器探索網(wǎng)絡(luò)空間時(shí), 需要考慮到網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Transformation, NAT)造成的影響,網(wǎng)絡(luò)地址轉(zhuǎn)換通過(guò)將內(nèi)部網(wǎng)絡(luò)保留的IP地址和外部網(wǎng)絡(luò)空間全球唯一的IP地址進(jìn)行轉(zhuǎn)換, 解決了IP地址不足的問(wèn)題并隱藏了內(nèi)部網(wǎng)絡(luò)的信息。
探測(cè)順序。國(guó)際組織機(jī)構(gòu)IANA將IPv4地址空間連續(xù)分配給不同的國(guó)家和組織機(jī)構(gòu), 互聯(lián)網(wǎng) IPv4地址空間大約有n=232個(gè)數(shù)目, 約等于40億。我們用集合 S = { d1, d2,… ,dn}表示探測(cè)網(wǎng)絡(luò)空間, 其中di表示空間中的具體地址, 探測(cè)空間大小|S|等于n。針對(duì)網(wǎng)絡(luò)空間S有三個(gè)探測(cè)順序: 順序探測(cè), 塊探測(cè)和隨機(jī)探測(cè)。順序探測(cè), 即不打亂集合 S中地址的次序,按照 d1, d2,… ,dn的順序?qū)⒕W(wǎng)絡(luò)空間中的每一個(gè)地址都探測(cè)一遍, 保證了探測(cè)的完整性。這種探測(cè)方式很簡(jiǎn)單而且容易實(shí)現(xiàn), 很多網(wǎng)絡(luò)測(cè)量的研究工作都采用這種順序的探測(cè)策略。順序探測(cè)最大缺點(diǎn)是探測(cè)報(bào)文都是連續(xù)發(fā)送給同一地址空間, 消耗網(wǎng)絡(luò)資源的同時(shí)也容易被認(rèn)為是一種入侵行為。塊探測(cè)首先將集合 S中的地址空間劃分為數(shù)個(gè)地址塊, 每一個(gè)地址塊的大小相同, 即 S = { s1, s2,… ,sk}, 其中探測(cè)順序是分別抽取每個(gè)子地址空間塊 Si的地址進(jìn)行探測(cè), 直到探測(cè)完成。Heidemann[43]等研究人員采用塊探測(cè)完成了3.4億個(gè)IPv4地址空間探測(cè)的任務(wù)。隨機(jī)探測(cè)是指打亂集合S中地址空間的次序, 然后完成探測(cè)任務(wù)。許多相關(guān)工作都采用了隨機(jī)探測(cè)順序地址隨機(jī)化的探測(cè)方法, 一般采用置換群的線性同余隨機(jī)化方法,保障了地址空間探測(cè)的完整性和每個(gè)地址僅探測(cè)一次的準(zhǔn)確性。研究人員Leonard[44]分析了隨機(jī)探測(cè)順序?qū)Ρ惶綔y(cè)對(duì)象的影響, 并認(rèn)為一般的入侵檢測(cè)系統(tǒng)和防火墻很難發(fā)現(xiàn)這種隨機(jī)探測(cè)方式。Z. Durumeric[45]提出的Zmap工具, 就是采用隨機(jī)探測(cè)順序完成了網(wǎng)絡(luò)空間探測(cè)任務(wù)。
探測(cè)包數(shù)目。探測(cè)器發(fā)送探測(cè)包, 是收集被探測(cè)對(duì)象數(shù)據(jù)和識(shí)別信息的前提。被動(dòng)偵聽(tīng)通過(guò)布置探測(cè)服務(wù)器直接采集數(shù)據(jù)包, 探測(cè)包的數(shù)目為 0, 即無(wú)需要發(fā)送任何探測(cè)包, 只有主動(dòng)探測(cè)才需要發(fā)送探測(cè)包, 進(jìn)行物聯(lián)網(wǎng)信息收集。
當(dāng)探測(cè)包的數(shù)目為 1時(shí), 探測(cè)方式可以稱之為水平掃描。研究人員Leonard[46]利用水平掃描, 探測(cè)了六種網(wǎng)絡(luò)協(xié)議(DNS, HTTP, SMTP, EPMAP, ICMP和 UDP), 在 3.5Gbps的網(wǎng)絡(luò)帶寬下, 24小時(shí)內(nèi)完成了IPv4的網(wǎng)絡(luò)空間探測(cè)。目前最流行的網(wǎng)絡(luò)探測(cè)工作Zmap和MASSCAN, 就是將一個(gè)TCP-SYN數(shù)據(jù)報(bào)文隨機(jī)地發(fā)送給每一個(gè)被探測(cè)地址, 從而完成網(wǎng)絡(luò)空間的存活性測(cè)量。理論上, Zmap和MASSCAN在擁有千兆帶寬的條件下, 可以在數(shù)十分鐘內(nèi)完成40億個(gè)IPv4地址空間的探測(cè), 但實(shí)際過(guò)程中受到網(wǎng)絡(luò)帶寬和丟包的影響, 過(guò)快的探測(cè)速率會(huì)導(dǎo)致探測(cè)覆蓋率大大降低。中科院信息工程研究所研究人員發(fā)現(xiàn)[22], 當(dāng)探測(cè)速率超過(guò)每秒 50萬(wàn)個(gè)探測(cè)包時(shí), 很多被探測(cè)對(duì)象不會(huì)返回?cái)?shù)據(jù)。
當(dāng)探測(cè)包數(shù)目很多時(shí), 探測(cè)方式可以稱之為垂直掃描。我們可以發(fā)送多個(gè)數(shù)據(jù)包對(duì)單個(gè)設(shè)備進(jìn)行全方位的信息收集, 包括開(kāi)放端口、正在運(yùn)行的服務(wù),操作系統(tǒng)類型和版本、設(shè)備種類、廠商和型號(hào)、固件版本等等。然而, 研究人員認(rèn)為發(fā)送過(guò)多的數(shù)據(jù)包是一種危害網(wǎng)絡(luò)空間正常服務(wù)的行為。垂直掃描收集的信息雖然比較全面和豐富, 但其需要建立完整的TCP連接且等待回復(fù)的時(shí)間較長(zhǎng), 效率較低。
網(wǎng)絡(luò)空間中識(shí)別物聯(lián)網(wǎng)信息需要提取其相應(yīng)的指紋, 圖 5 描述了基于指紋的物聯(lián)網(wǎng)信息的識(shí)別過(guò)程, 通過(guò)指紋生成技術(shù)將網(wǎng)絡(luò)探測(cè)的不同數(shù)據(jù)信息轉(zhuǎn)換為指紋, 進(jìn)一步匹配得到相應(yīng)的物聯(lián)網(wǎng)信息。物聯(lián)網(wǎng)信息的指紋需要三個(gè)條件: (1)輸入: 探測(cè)包和響應(yīng)包; (2)處理函數(shù): 匹配規(guī)則或者代價(jià)函數(shù); (3)輸出:物聯(lián)網(wǎng)信息。指紋生成技術(shù)可以分為兩類: 基于分類模型的指紋生成和基于標(biāo)語(yǔ)的指紋生成, 本章節(jié)分別從這兩個(gè)方面闡述物聯(lián)網(wǎng)信息指紋生成技術(shù)的相關(guān)研究工作。
圖5 基于指紋技術(shù)的物聯(lián)網(wǎng)信息識(shí)別Figure 5 Internet of Things Information Recognition Base on Fingerprint
4.2.1 基于分類模型的指紋生成技術(shù)
基于分類模型的指紋生成技術(shù)需要將物聯(lián)網(wǎng)信息的訓(xùn)練數(shù)據(jù)進(jìn)行特征值選取和學(xué)習(xí)算法的分類,本章節(jié)從特征值選取和學(xué)習(xí)算法兩個(gè)方面來(lái)闡述指紋生成技術(shù)的相關(guān)研究工作。
(1) 特征提取
特征提取是基于網(wǎng)絡(luò)空間探測(cè)收集的數(shù)據(jù), 選取具有區(qū)分度的特征向量。如果采用主動(dòng)探測(cè), 訓(xùn)練數(shù)據(jù)是成對(duì)<探測(cè)包, 響應(yīng)包>出現(xiàn)的, 如果采用被動(dòng)偵聽(tīng), 訓(xùn)練數(shù)據(jù)的形式是<空, 響應(yīng)包>, 其中數(shù)據(jù)包可以來(lái)自于傳輸層、網(wǎng)絡(luò)層和應(yīng)用層的協(xié)議。
傳輸層數(shù)據(jù)的報(bào)文頭部可以用來(lái)提取相關(guān)特征值。TCP數(shù)據(jù)報(bào)文頭部包括了協(xié)議序號(hào)初始值(ISN)、IP 生存時(shí)間初始值(TTL)、TCP滑動(dòng)窗口尺寸、最大分段長(zhǎng)度等信息, Nmap[3]工具提取了6個(gè)TCP包和8個(gè) UDP包報(bào)文頭部的信息, 將此作為識(shí)別操作系統(tǒng)版本的特征值。探測(cè)器和被探測(cè)對(duì)象可以根據(jù)網(wǎng)絡(luò)時(shí)鐘同步協(xié)議, 將記錄的當(dāng)前時(shí)鐘作為識(shí)別設(shè)備的特征值。T.Kohno[13]利用TCP數(shù)據(jù)報(bào)文頭部字段存儲(chǔ)的時(shí)間戳來(lái)計(jì)算被探測(cè)對(duì)象的時(shí)鐘偏移, 生成設(shè)備標(biāo)識(shí)符的特征值。研究工作[11]則利用數(shù)據(jù)包重傳超時(shí)時(shí)延作為識(shí)別操作系統(tǒng)版本的特征值。傳輸過(guò)程中數(shù)據(jù)包重傳超時(shí)時(shí)延方記錄了收到數(shù)據(jù)包的超時(shí)上限值, 若未收到確認(rèn)數(shù)據(jù)包, 發(fā)送方會(huì)重傳這個(gè)(Retransmission timeouts, RTO)數(shù)據(jù)包, 若收到了數(shù)據(jù)包, 則重置重傳定時(shí)器。探測(cè)服務(wù)器發(fā)送TCP-SYN數(shù)據(jù)報(bào)到被探測(cè)對(duì)象, 被探測(cè)對(duì)象會(huì)將返回的 ACK-SYNs數(shù)據(jù)報(bào)重傳的個(gè)數(shù)和時(shí)延包含在TCP報(bào)文頭部的TTL中, 當(dāng)設(shè)備運(yùn)行不同版本的操作系統(tǒng)時(shí), 所包含的 ACK-SYNs的時(shí)延和重置次數(shù)是不同的, 因此這種差異性也可以作為操作系統(tǒng)版本的特征值。數(shù)據(jù)報(bào)來(lái)回時(shí)間延遲(Round-Trip Time)可以記錄探測(cè)服務(wù)器和被探測(cè)對(duì)象之間數(shù)據(jù)報(bào)的延遲, 因此利用在ICMP或者TCP數(shù)據(jù)報(bào)文頭部設(shè)置的存活時(shí)間(TTL)的數(shù)據(jù), 結(jié)合數(shù)據(jù)報(bào)來(lái)回時(shí)間的延遲, 可以探測(cè)當(dāng)前網(wǎng)絡(luò)空間的拓?fù)浣Y(jié)構(gòu)。研究人員Robert[33]利用半鏈接的TCP探測(cè)和來(lái)回時(shí)間延遲,在一個(gè)小時(shí)內(nèi)完成了IPv4所有網(wǎng)段的拓?fù)浣Y(jié)構(gòu)的探測(cè)。Caballero[12]提出了一種基于比特流的特征值提取方法, 將每對(duì)探測(cè)報(bào)和響應(yīng)包作為候選集合, 查詢并提取有效的、區(qū)分較大的比特流段, 以此作為設(shè)備識(shí)別的特征值。這種方法需要預(yù)先了解協(xié)議內(nèi)容,否則無(wú)法獲得有效的比特流段。流量信息也可以作為生成指紋的特征值, 研究人員[24]發(fā)送了四組報(bào)文(完全相同的TCP包, 不同源端口的TCP包, 完全相同的UDP包和不同源端口的UDP包)到防火墻, 將防火墻處理每組報(bào)文的時(shí)間差異作為指紋特征。
(2) 學(xué)習(xí)算法
選取好特征值和訓(xùn)練數(shù)據(jù)后, 物聯(lián)網(wǎng)信息的識(shí)別還需要利用學(xué)習(xí)算法訓(xùn)練和推導(dǎo)出一個(gè)代價(jià)函數(shù),輸出當(dāng)前設(shè)備的信息。
學(xué)習(xí)算法可以分為監(jiān)督式學(xué)習(xí)和非監(jiān)督式學(xué)習(xí)。監(jiān)督式學(xué)習(xí), 要求訓(xùn)練數(shù)據(jù)帶有標(biāo)簽, 而非監(jiān)督式學(xué)習(xí)則不需要。文獻(xiàn)[12]利用決策樹(shù)學(xué)習(xí)算法,通過(guò)數(shù)據(jù)報(bào)比特流的特征值獲得的數(shù)個(gè)決策樹(shù)模型作為代價(jià)函數(shù), 并作為識(shí)別設(shè)備操作系統(tǒng)版本的指紋。研究人員David[18]通過(guò)實(shí)驗(yàn)發(fā)現(xiàn)基于分類模型的指紋存在幾個(gè)問(wèn)題, 它不僅需要大量帶有標(biāo)簽的數(shù)據(jù), 而且只在識(shí)別小規(guī)模的設(shè)備種類時(shí)性能較好。文獻(xiàn)[47]提出了半監(jiān)督的聚類算法, 訓(xùn)練數(shù)據(jù)中包括了帶有標(biāo)記的數(shù)據(jù)包和未帶標(biāo)記的數(shù)據(jù)包, 將網(wǎng)絡(luò)協(xié)議特征進(jìn)行分簇, 從而將網(wǎng)絡(luò)信息劃分到不同群組, 然而此方法依然只能適應(yīng)于小范圍的設(shè)備操作系統(tǒng)信息的識(shí)別。研究人員[48]在前者工作的基礎(chǔ)上, 引入了兩種計(jì)算指紋特征距離的算法, 該工作采用ROCK和QROCK兩類算法提取指紋特征值, 結(jié)合監(jiān)督式的支持向量機(jī)學(xué)習(xí)算法和非監(jiān)督式的分簇算法生成操作系統(tǒng)指紋信息。研究人員Qiang[26]采用SVM、樸素貝葉斯、決策樹(shù)和神經(jīng)網(wǎng)絡(luò)等監(jiān)督式學(xué)習(xí)算法, 生成監(jiān)控設(shè)備的指紋, 利用HTTP流量和報(bào)文在結(jié)構(gòu)上的相似性識(shí)別了網(wǎng)絡(luò)空間中的監(jiān)控設(shè)備。在監(jiān)控設(shè)備識(shí)別方面, Qiang的研究工作具有比較高效和正確的分類性能。
4.2.2 基于標(biāo)語(yǔ)識(shí)別的指紋生成技術(shù)
基于標(biāo)語(yǔ)的指紋生成技術(shù), 即通過(guò)物聯(lián)網(wǎng)信息的訓(xùn)練數(shù)據(jù)進(jìn)行標(biāo)語(yǔ)信息的選取和規(guī)則的匹配。物聯(lián)網(wǎng)設(shè)備的廠商開(kāi)發(fā)、生產(chǎn)和發(fā)布設(shè)備產(chǎn)品之后, 會(huì)在網(wǎng)絡(luò)協(xié)議棧中嵌入信息, 我們將這些信息稱為標(biāo)語(yǔ)信息。我們可以通過(guò)分析被探測(cè)對(duì)象的數(shù)據(jù)報(bào)文頭部或者協(xié)議本身來(lái)找到標(biāo)語(yǔ)信息?;跇?biāo)語(yǔ)的指紋生成技術(shù)包括三個(gè)步驟: (1)收集網(wǎng)絡(luò)空間探測(cè)數(shù)據(jù); (2)提取和存儲(chǔ)標(biāo)語(yǔ)信息; (3)匹配探測(cè)數(shù)據(jù)和標(biāo)語(yǔ)。如果能夠分析數(shù)據(jù)報(bào)文的格式, 那么我們可以從中提取相關(guān)的標(biāo)語(yǔ)信息; 如果數(shù)據(jù)報(bào)格式未知, 則需要逆向工程或者協(xié)議分析來(lái)獲取標(biāo)語(yǔ)信息。
文獻(xiàn)[23]是第一個(gè)利用標(biāo)語(yǔ)信息進(jìn)行設(shè)備指紋提取的研究工作, 基于人工采集的方式, 提取應(yīng)用層協(xié)議的特征字段, 作為嵌入設(shè)備的指紋。研究人員Caballero. J[50]提出了Polyglot, 利用動(dòng)態(tài)二進(jìn)制代碼分析完成了協(xié)議逆向分析, 提取數(shù)據(jù)報(bào)文的特殊字段, 包括方向字段、字段分隔符和協(xié)議關(guān)鍵字等, 作為設(shè)備指紋。然而, 基于協(xié)議逆向的Polyglot對(duì)于提取長(zhǎng)度字段等信息具有較低的正確率, 不能在實(shí)際工作中自動(dòng)生成設(shè)備指紋。Wondracek[51]提出了利用動(dòng)態(tài)污點(diǎn)分析技術(shù)動(dòng)態(tài)提取應(yīng)用程序的執(zhí)行過(guò)程,并且分析程序如何處理協(xié)議消息, 實(shí)現(xiàn)動(dòng)態(tài)的協(xié)議逆向。該方法能夠正確的提取協(xié)議格式以及長(zhǎng)度等字段, 在分析之前需要手動(dòng)將消息進(jìn)行分類, 進(jìn)而自動(dòng)生成設(shè)備指紋?;趨f(xié)議逆向和污點(diǎn)分析的標(biāo)語(yǔ)生成指紋, 要求大量的人力和時(shí)間, 不適合大規(guī)模設(shè)備指紋的自動(dòng)生成。研究人員D. Brumley[52]則從白盒測(cè)試角度提出了用符號(hào)執(zhí)行方法提取指紋模型的技術(shù), 通過(guò)分析不同系統(tǒng)上的協(xié)議固件, 找到不同系統(tǒng)實(shí)現(xiàn)協(xié)議的差異性, 進(jìn)而推斷能夠觸發(fā)差異的有效探測(cè)報(bào)文。這種方法需要對(duì)程序進(jìn)行修改和插樁, 時(shí)間復(fù)雜度較高, 且需要大量的人工分析。研究人員P. Comparetti[53]提出了Prospex工具, 實(shí)現(xiàn)自動(dòng)地推斷協(xié)議狀態(tài), 其不僅依賴于消息的結(jié)構(gòu)特征, 而且將每個(gè)消息對(duì)服務(wù)器行為的影響進(jìn)行分類,自動(dòng)將消息分成不同的類型。
研究人員 Z.Xu[49]發(fā)現(xiàn)當(dāng)設(shè)備被惡意程序(C&C方式)感染后, 設(shè)備返回的 HTTP報(bào)文頭部會(huì)將自身的IP地址和服務(wù)信息編碼成難以理解的字段。研究工作[49]建立了有效的、高效的且能夠用于主動(dòng)檢測(cè)遠(yuǎn)程惡意服務(wù)器的指紋, 利用包括污點(diǎn)追蹤, 動(dòng)態(tài)切片和符號(hào)執(zhí)行等動(dòng)態(tài)二進(jìn)制分析技術(shù), 解決了當(dāng)前探測(cè)方法在用于大量惡意軟件的基于C&C協(xié)議情況下的不適用。Mirai病毒感染的監(jiān)控設(shè)備識(shí)別[2]也是采用基于標(biāo)語(yǔ)的方式生成的設(shè)備指紋。
本章節(jié)主要從互聯(lián)網(wǎng)空間測(cè)量和大規(guī)模安全事件分析這兩方面來(lái)介紹網(wǎng)絡(luò)空間物聯(lián)網(wǎng)搜索的典型應(yīng)用。
互聯(lián)網(wǎng)空間測(cè)量是指探測(cè)IPv4空間的可見(jiàn)(可訪問(wèn))地址, 提取相關(guān)信息, 作為大規(guī)模物聯(lián)網(wǎng)信息搜索的典型應(yīng)用。網(wǎng)絡(luò)空間探測(cè)要大于互聯(lián)網(wǎng)空間測(cè)量, 許多物聯(lián)網(wǎng)信息都隱藏在網(wǎng)關(guān)、路由之后, 例如企業(yè)網(wǎng)或者家庭網(wǎng)絡(luò)。互聯(lián)網(wǎng)測(cè)量空間具有40億個(gè)IPv4地址, 利用探測(cè)技術(shù)收集可見(jiàn)地址的相關(guān)數(shù)據(jù),并結(jié)合指紋技術(shù)識(shí)別物聯(lián)網(wǎng)信息。
互聯(lián)網(wǎng)測(cè)量早期的工作主要集中于如何提高網(wǎng)絡(luò)測(cè)量的速率。J. Heidemann[43]提出了加快探測(cè)速度的三個(gè)關(guān)鍵因素: 并發(fā), 分段, 探測(cè)包數(shù)目, 并以此提出了一個(gè)優(yōu)化探測(cè)算法, 通過(guò)降低探測(cè)鏈接時(shí)間、去除重傳等手段, 在 30天內(nèi)完成了整個(gè) IPv4 空間的探測(cè)。此外, J. Heidemann的研究工作Census為了加快全球網(wǎng)絡(luò)空間探索速率, 采用普查方式探測(cè)整個(gè)網(wǎng)絡(luò)空間和抽樣方式推測(cè)其余部分網(wǎng)絡(luò)空間。Leonard[54]提出了IRLscanner, 一種通過(guò)地址排列和拆分算法來(lái)調(diào)節(jié)掃描速率的方法(GIW, Globally IP Wide), 結(jié)合并行處理服務(wù)器, 只要24小時(shí)就能完成IPv4空間的探測(cè)。IRLscanner不僅降低了被入侵檢測(cè)設(shè)備發(fā)現(xiàn)的概率, 而且大大減少了原來(lái)花費(fèi)數(shù)周甚至數(shù)月的掃描時(shí)間代價(jià), 搜索過(guò)程變得很“友善”,不會(huì)影響被探測(cè)網(wǎng)絡(luò)的正常使用。研究工作[55]介紹了一種利用僵尸設(shè)備作為搜索服務(wù)器進(jìn)行分布式搜索以完成全球網(wǎng)絡(luò)空間搜索任務(wù)的方法。美國(guó)密歇根大學(xué)的 Z. Durumeric[8]提出了一種快速的主機(jī)存活掃描器—Zmap, 與之前研究工作的不同點(diǎn)在于Zmap不是真正建立TCP鏈接, 而是進(jìn)行半鏈接的無(wú)狀態(tài)搜索, 它可以在單臺(tái)計(jì)算機(jī)上數(shù)個(gè)小時(shí)內(nèi)完成整個(gè)IPv4地址空間的單端口掃描, 且兩輪達(dá)到98%以上的主機(jī)覆蓋率。如果充分利用當(dāng)前網(wǎng)絡(luò)帶寬,Zmap可以在1Gbps上行帶寬下45分鐘內(nèi)完成全網(wǎng)的探測(cè)。更進(jìn)一步, 如果網(wǎng)絡(luò)帶寬達(dá)到10Gbps上行帶寬, 可以在理論值5分鐘內(nèi)完成全網(wǎng)空間的探測(cè)。對(duì)于ZMap而言, 無(wú)論是45分鐘還是5分鐘, 這種探測(cè)都是在網(wǎng)絡(luò)上下行帶寬充分、無(wú)阻塞的前提下完成的。然而實(shí)際情況常常并不滿足前提, 當(dāng)速率過(guò)快時(shí), 設(shè)備發(fā)現(xiàn)率會(huì)大幅度降低。因此, 密西根大學(xué)的研究團(tuán)隊(duì)搭建了網(wǎng)絡(luò)空間搜索引擎——Censys[6], 并公開(kāi)了物聯(lián)網(wǎng)設(shè)備搜索引擎的實(shí)現(xiàn)細(xì)節(jié)、關(guān)鍵源碼和數(shù)據(jù)。
近幾年, 許多研究工作基于網(wǎng)絡(luò)測(cè)量收集的數(shù)據(jù)分析了具體的物聯(lián)網(wǎng)信息。Krishnamurthy. B[56].提出了基于網(wǎng)絡(luò)空間上下文情景來(lái)發(fā)現(xiàn)運(yùn)行Web客戶端的設(shè)備, 考慮到邊界網(wǎng)關(guān)協(xié)議(BGP)會(huì)聚合大量的 Web客戶端, 相同邊界的設(shè)備會(huì)在相似管理的控制中, 他利用分簇算法將其劃分為不同集群, 進(jìn)而加快運(yùn)行Web客戶端的設(shè)備發(fā)現(xiàn)速度。Cai. X[57]通過(guò)主動(dòng)探測(cè)探測(cè)了百分之一的網(wǎng)絡(luò)空間, 并設(shè)計(jì)聚類算法估計(jì)了網(wǎng)絡(luò)空間的使用情況。Cai. X考慮到鄰近的地址一般具有相似的特性, 因此利用地址塊進(jìn)行聚類分析推斷其他網(wǎng)絡(luò)空間的情況, 包括地址使用率、動(dòng)態(tài)地址分配的程度、變化以及網(wǎng)絡(luò)區(qū)域管理策略等。Hong.Y[58]提出PIPMiner, 自動(dòng)分析流行的IP地址PIPs(Populated IP Addresses)。網(wǎng)絡(luò)空間中某些地址會(huì)提供資源和服務(wù), 大量用戶會(huì)請(qǐng)求和訪問(wèn)它們, 因此PIPMiner 結(jié)合機(jī)器學(xué)習(xí)和時(shí)間序列分析技術(shù)來(lái)識(shí)別這些特別的網(wǎng)絡(luò)空間地址。Xu.K[59]探索了在同一個(gè)網(wǎng)絡(luò)前綴的互聯(lián)網(wǎng)中終端主機(jī)行為的相似性, 利用二分圖對(duì)網(wǎng)絡(luò)流量建立模型, 并建立單模式映射圖(one-mode projection graphs)采集終端主機(jī)流量行為的相似特征, 通過(guò)應(yīng)用一個(gè)簡(jiǎn)單高效的譜聚類算法將相同地址前綴的終端主機(jī)分成了不同的行為集群。Quan.L[60]提出了Trinocular, 一個(gè)利用主動(dòng)探測(cè)來(lái)了解邊緣網(wǎng)絡(luò)可靠性的運(yùn)行中斷(outage)檢測(cè)系統(tǒng), 其利用簡(jiǎn)單的以故障為中心的網(wǎng)絡(luò)空間模型, 結(jié)合貝葉斯推斷驅(qū)動(dòng)的探測(cè)方式來(lái)推斷出當(dāng)前的網(wǎng)絡(luò)空間狀態(tài)。該方法在目標(biāo)網(wǎng)絡(luò)中僅產(chǎn)生 0.7%的負(fù)擔(dān), 并且能夠在330秒之內(nèi)檢測(cè)出所有至少持續(xù)11分鐘故障的網(wǎng)絡(luò)空間。D. Springall等人[61]結(jié)合Zmap和應(yīng)用層協(xié)議FTP的標(biāo)語(yǔ), 在40億的IP地址空間中找到了1300萬(wàn)個(gè)FTP服務(wù)器, 其中110萬(wàn)個(gè)允許“匿名”(公共)訪問(wèn), 并通過(guò)分析發(fā)現(xiàn)20,000臺(tái) FTP服務(wù)器允許公共寫(xiě)入訪問(wèn), 這為全球網(wǎng)絡(luò)空間安全帶來(lái)了很大的隱患。Xuan 等人[23]分析了17種主流的工業(yè)控制協(xié)議, 提出了工業(yè)控制快速發(fā)現(xiàn)算法, 在全球范圍內(nèi)找到了二十多萬(wàn)個(gè)工業(yè)控制設(shè)備, 并分析了設(shè)備在空間和時(shí)間的分布規(guī)律。Qiang等人[26]發(fā)現(xiàn)監(jiān)控設(shè)備的 web頁(yè)面可以作為識(shí)別監(jiān)控設(shè)備的指紋, 因此提出了利用 HTTP協(xié)議提取監(jiān)控設(shè)備的 web頁(yè)面信息, 結(jié)合機(jī)器學(xué)習(xí)算法生成監(jiān)控設(shè)備的指紋。Claude et.al等研究人員[21]通過(guò)網(wǎng)絡(luò)望遠(yuǎn)鏡分析了十五種工業(yè)控制協(xié)議, 解析了這些協(xié)議的數(shù)據(jù)報(bào)文, 并推測(cè)當(dāng)前網(wǎng)絡(luò)空間中工業(yè)控制設(shè)備的現(xiàn)狀。
隨著物聯(lián)網(wǎng)在各個(gè)領(lǐng)域的不斷發(fā)展, 近年來(lái)針對(duì)物聯(lián)網(wǎng)相關(guān)的安全事件層出不窮, 網(wǎng)絡(luò)空間物聯(lián)網(wǎng)信息搜索則可以幫助研究人員大規(guī)模地分析這些安全事件。我們通過(guò)分析三類大規(guī)模安全事件, 來(lái)說(shuō)明物聯(lián)網(wǎng)信息搜索對(duì)網(wǎng)絡(luò)空間安全的作用。
僵尸網(wǎng)絡(luò)是一種網(wǎng)絡(luò)攻擊手段, 許多設(shè)備感染了蠕蟲(chóng)、病毒或者木馬就會(huì)成為僵尸網(wǎng)絡(luò)的一部分,并對(duì)正常運(yùn)行的服務(wù)進(jìn)行攻擊, 造成嚴(yán)重的經(jīng)濟(jì)損失, 帶來(lái)國(guó)家安全隱患。早期, S.Staniford研究人員[62]分析了三種類型的蠕蟲(chóng)病毒, 分別是 Code Red I,Code Red II, 和Nimda, 并發(fā)現(xiàn)將近超過(guò)1000萬(wàn)臺(tái)主機(jī)成為了僵尸網(wǎng)絡(luò)。Staniford認(rèn)為, 成為僵尸網(wǎng)絡(luò)的設(shè)備還會(huì)利用剩余的時(shí)間和計(jì)算資源進(jìn)行網(wǎng)絡(luò)空間探測(cè), 發(fā)現(xiàn)更多潛在的設(shè)備, 從而進(jìn)行下一步的感染。Alberto.D[64]利用來(lái)自于UCSD網(wǎng)絡(luò)望遠(yuǎn)鏡的數(shù)據(jù)發(fā)現(xiàn)了之前沒(méi)有公開(kāi)過(guò)的大規(guī)模利用300萬(wàn)IP地址僵尸網(wǎng)絡(luò)進(jìn)行的隱蔽掃描行為 —— Sality僵尸網(wǎng)絡(luò)對(duì)SIP服務(wù)器的水平掃描, 并對(duì)該掃描行為進(jìn)行了測(cè)量和分析。Alberto. D發(fā)現(xiàn)為期12天的掃描發(fā)源于大約3百萬(wàn)個(gè)不同的IP地址, 這些僵尸網(wǎng)絡(luò)使用了分布式協(xié)作的掃描策略, 針對(duì)VoIP相關(guān)的SIP服務(wù)器進(jìn)行攻擊。近期 Mirai病毒感染的物聯(lián)網(wǎng)設(shè)備[2]主要包括監(jiān)控?cái)z像頭、網(wǎng)絡(luò)視頻記錄服務(wù)器和數(shù)字視頻記錄服務(wù)器, 將近 100多萬(wàn)個(gè)監(jiān)控設(shè)備形成了僵尸網(wǎng)絡(luò), 并對(duì)DNS服務(wù)器進(jìn)行了DDoS攻擊, 造成了大規(guī)模的網(wǎng)絡(luò)中斷。
物聯(lián)網(wǎng)設(shè)備存在大量的安全漏洞和隱患, 因此對(duì)物理設(shè)備的安全分析是保障網(wǎng)絡(luò)空間安全的前提。A. Cui 等人[65]發(fā)現(xiàn)惠普打印機(jī)升級(jí)固件時(shí), 惡意用戶可以篡改或者攻擊網(wǎng)絡(luò)傳輸數(shù)據(jù), 造成打印機(jī)功能損壞。他們分析了整個(gè)IPv4空間內(nèi)所有可以訪問(wèn)的打印機(jī), 發(fā)現(xiàn) 9萬(wàn)個(gè)惠普的網(wǎng)絡(luò)打印機(jī)可以被攻擊, 而且這些打印機(jī)大多安置在政府、教育機(jī)構(gòu)和其他敏感環(huán)境。2014年 4月, 心臟出血漏洞(Heartbleed)讓互聯(lián)網(wǎng)倍感意外, 這個(gè)漏洞是商業(yè)互聯(lián)網(wǎng)出現(xiàn)以來(lái)最重要的漏洞之一, 攻擊者可以利用這個(gè)漏洞對(duì)服務(wù)器站點(diǎn)的內(nèi)容進(jìn)行遠(yuǎn)程讀取并獲取敏感信息。Z. Durumeric等人[66]進(jìn)行了全面的、基于測(cè)量的漏洞影響分析, 追蹤漏洞主機(jī)的數(shù)量, 監(jiān)控了隨時(shí)間的發(fā)展漏洞的修補(bǔ)情況, 并評(píng)估和分析了其對(duì)HTTPS生態(tài)環(huán)境的影響以及一些企圖利用該漏洞的攻擊行為, 而且他們發(fā)現(xiàn)仍然有大約 24%~55%的服務(wù)器站點(diǎn)還存在著這個(gè)漏洞。Simurgh.A[67]通過(guò)全球網(wǎng)絡(luò)空間搜索的數(shù)據(jù)挖掘了2013年伊朗大選期間的網(wǎng)絡(luò)測(cè)量, 來(lái)調(diào)查伊朗的網(wǎng)絡(luò)審查狀態(tài),并提出了基于HTTP主機(jī)的攔截、關(guān)鍵字過(guò)濾、DNS劫持和基于協(xié)議的限制等技術(shù)機(jī)制判斷出審查基礎(chǔ)設(shè)施的網(wǎng)絡(luò)拓?fù)? 且發(fā)現(xiàn)該審查網(wǎng)絡(luò)很大程度上依賴于集中式設(shè)備。
惡意服務(wù)器是網(wǎng)絡(luò)空間安全的主要威脅, 在打擊網(wǎng)絡(luò)犯罪分子的斗爭(zhēng)中, 準(zhǔn)確地識(shí)別潛在的惡意服務(wù)器基礎(chǔ)設(shè)施至關(guān)重要。Xu 等人[49]針對(duì)惡意服務(wù)器自動(dòng)建立了有效的、高效的、并且能夠用于主動(dòng)檢測(cè)遠(yuǎn)程惡意服務(wù)器的指紋, 利用包括污點(diǎn)追蹤、動(dòng)態(tài)切片和符號(hào)執(zhí)行等動(dòng)態(tài)二進(jìn)制分析技術(shù), 解決了當(dāng)前的探測(cè)方法在用于大量惡意軟件的基于C&C協(xié)議情況下的不適用。針對(duì)物聯(lián)網(wǎng)設(shè)備的多樣性, Z.Xu[68]通過(guò)污點(diǎn)跟蹤、動(dòng)態(tài)切片和符號(hào)執(zhí)行技術(shù)對(duì)惡意二進(jìn)制代碼進(jìn)行了動(dòng)態(tài)分析, 提取惡意代碼對(duì)特定請(qǐng)求數(shù)據(jù)包的特定處理方式, 構(gòu)建惡意服務(wù)器指紋, 利用指紋進(jìn)行主動(dòng)探測(cè)發(fā)現(xiàn)惡意服務(wù)器。Zhang等人[69]對(duì)100 000多臺(tái)良性服務(wù)器、45 000臺(tái)惡意服務(wù)器和 4萬(wàn)次重定向進(jìn)行了深入分析, 從它們的位置、結(jié)構(gòu)、角色和關(guān)系等角度確定了一系列惡意網(wǎng)絡(luò)基礎(chǔ)設(shè)施的不同特征, 并提出一個(gè)輕量級(jí)而有效的惡意服務(wù)檢測(cè)系統(tǒng)。Liao等人[70]在CCS 2016上針對(duì)惡意者使用云托管服務(wù)來(lái)進(jìn)行惡意在線活動(dòng)的問(wèn)題, 提出了利用主動(dòng)探測(cè)發(fā)現(xiàn)惡意云倉(cāng)庫(kù)的方法,基于收集的已知惡意云倉(cāng)庫(kù), 分析其網(wǎng)頁(yè)的跳轉(zhuǎn)模式, 提取出唯一表征惡意云倉(cāng)庫(kù)的集體特征, 并基于此特征構(gòu)建了一個(gè)掃描程序, 在 Amazon, Google等150K網(wǎng)站上檢測(cè)到超過(guò)600個(gè)惡意云倉(cāng)庫(kù)。Krupp等人[63]在CCS 2016上基于發(fā)動(dòng)放大DDoS攻擊之前會(huì)進(jìn)行掃描的特性, 來(lái)檢測(cè)放大 DDoS攻擊背后的基礎(chǔ)設(shè)施, 首先對(duì)掃描器建立指紋, 在執(zhí)行放大攻擊的偵察過(guò)程中利用指紋將后續(xù)的攻擊鏈接到掃描器, 然后使用基于 TTL存活時(shí)間的三邊測(cè)量技術(shù)將掃描器映射到發(fā)起攻擊的實(shí)際基礎(chǔ)設(shè)施上。最后確定了34個(gè)作為放大DDoS攻擊源的網(wǎng)絡(luò), 準(zhǔn)確率高達(dá)98%。
隨著物聯(lián)網(wǎng)在網(wǎng)絡(luò)空間的不斷發(fā)展, 物聯(lián)網(wǎng)相關(guān)信息和技術(shù)已成為網(wǎng)絡(luò)空間中的重要部分, 物聯(lián)網(wǎng)信息搜索也處于網(wǎng)絡(luò)空間安全攻防體系中的核心位置。物聯(lián)網(wǎng)信息搜索, 通過(guò)布置探測(cè)器, 采取主動(dòng)或被動(dòng)的探測(cè)技術(shù), 結(jié)合探測(cè)策略, 收集網(wǎng)絡(luò)空間中的相關(guān)數(shù)據(jù), 基于物聯(lián)網(wǎng)信息的指紋技術(shù), 識(shí)別網(wǎng)絡(luò)空間中的物聯(lián)網(wǎng)信息。本篇論文在技術(shù)層面, 闡述了物聯(lián)網(wǎng)信息搜索相關(guān)研究工作的進(jìn)展, 給出了網(wǎng)絡(luò)空間物聯(lián)網(wǎng)信息搜索的定義, 分析和總結(jié)了物聯(lián)網(wǎng)信息搜索的方法、策略和識(shí)別的關(guān)鍵技術(shù)研究。本篇論文是總結(jié)網(wǎng)絡(luò)空間物聯(lián)網(wǎng)搜索信息研究進(jìn)展的綜述性文章。