国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)綜述

2023-01-30 10:23:54李峻辰楊剛芹
關(guān)鍵詞:狀態(tài)機(jī)報(bào)文逆向

李峻辰 程 光 楊剛芹

(東南大學(xué)網(wǎng)絡(luò)空間安全學(xué)院 南京 211189)

(計(jì)算機(jī)網(wǎng)絡(luò)和信息集成教育部重點(diǎn)實(shí)驗(yàn)室(東南大學(xué)) 南京 211189)

(網(wǎng)絡(luò)空間國(guó)際治理研究基地(東南大學(xué)) 南京 211189)

(紫金山實(shí)驗(yàn)室 南京 211102)(jcli@njnet.edu.cn)

網(wǎng)絡(luò)協(xié)議定義了2個(gè)或多個(gè)通信實(shí)體間交互報(bào)文的格式、順序、內(nèi)容以及在接收或發(fā)送這些報(bào)文時(shí)應(yīng)進(jìn)行的狀態(tài)轉(zhuǎn)換,規(guī)定了通信實(shí)體間的行為規(guī)范,保證了在極其復(fù)雜的網(wǎng)絡(luò)環(huán)境下通信實(shí)體仍然可以進(jìn)行預(yù)期準(zhǔn)確的數(shù)據(jù)傳輸.隨著網(wǎng)絡(luò)應(yīng)用逐步向各個(gè)領(lǐng)域滲透,在生產(chǎn)生活、工業(yè)控制、金融服務(wù)等行業(yè)的新型網(wǎng)絡(luò)中,大量滿(mǎn)足需求的APP應(yīng)時(shí)而生.中國(guó)互聯(lián)網(wǎng)絡(luò)信息中心發(fā)布的《第48次中國(guó)互聯(lián)網(wǎng)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》[1]指出,截至2021年6月,我國(guó)市場(chǎng)上檢測(cè)到的APP數(shù)量已達(dá)到302萬(wàn)款,其中游戲、日常工具、電子商務(wù)和社交通信類(lèi)APP數(shù)量占比超過(guò)半數(shù),同時(shí)物聯(lián)網(wǎng)終端應(yīng)用也在不斷增長(zhǎng).這些APP交互所使用的通信協(xié)議,相較于RFC規(guī)定的HTTP,TLS,SMTP等公開(kāi)協(xié)議來(lái)說(shuō)即為私有協(xié)議,其并未公開(kāi)協(xié)議格式、協(xié)議語(yǔ)法或協(xié)議交互實(shí)例,僅在應(yīng)用內(nèi)部通信、傳輸數(shù)據(jù)時(shí)使用,亦可稱(chēng)之為未知協(xié)議.應(yīng)用種類(lèi)的層出不窮直接造成網(wǎng)絡(luò)私有協(xié)議的多樣性,且其特殊性質(zhì)使得其在工業(yè)控制、軍事通信、虛擬網(wǎng)絡(luò)和惡意軟件中得到廣泛應(yīng)用,同時(shí)私有協(xié)議規(guī)范的未知性也給當(dāng)前網(wǎng)絡(luò)安全監(jiān)管帶來(lái)了極大的挑戰(zhàn).因此,針對(duì)私有協(xié)議的分析對(duì)保障整個(gè)網(wǎng)絡(luò)生態(tài)環(huán)境的穩(wěn)定具有重大意義.

目前對(duì)私有協(xié)議分析的主要手段是協(xié)議逆向技術(shù),由于協(xié)議規(guī)范未知,只能結(jié)合逆向思維,基于協(xié)議交互產(chǎn)生的實(shí)例來(lái)逆向推斷協(xié)議的運(yùn)作行為以及格式規(guī)范,協(xié)助分析人員理解私有協(xié)議的功能、性能以及安全性.協(xié)議逆向技術(shù)根據(jù)其分析對(duì)象的不同主要有2種實(shí)現(xiàn)方法[2-3]:一是基于實(shí)現(xiàn)協(xié)議規(guī)范的應(yīng)用程序指令來(lái)完成協(xié)議逆向分析;二是基于協(xié)議通信所產(chǎn)生的網(wǎng)絡(luò)流量來(lái)完成協(xié)議逆向分析.

部分研究基于實(shí)現(xiàn)協(xié)議規(guī)范的應(yīng)用程序指令對(duì)私有協(xié)議進(jìn)行逆向分析[4-12],但該方法需要的條件較為嚴(yán)苛,其逆向分析的實(shí)體是應(yīng)用程序.需要對(duì)采用該協(xié)議通信的應(yīng)用程序進(jìn)行監(jiān)控,訪問(wèn)其運(yùn)行環(huán)境,實(shí)時(shí)記錄下程序運(yùn)行產(chǎn)生的各種指令,分析指令解析報(bào)文的過(guò)程與指令間包含的協(xié)議狀態(tài)轉(zhuǎn)換信息等以獲得協(xié)議格式的規(guī)范.一般情況下,實(shí)現(xiàn)私有協(xié)議的應(yīng)用程序源碼不易獲取,也難以提供合適的環(huán)境來(lái)捕獲其運(yùn)行產(chǎn)生的指令,因此基于實(shí)現(xiàn)協(xié)議規(guī)范的應(yīng)用程序指令的協(xié)議逆向技術(shù)不是普遍適用的.相較而言,基于協(xié)議通信產(chǎn)生的網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)需要的條件較為簡(jiǎn)單,其逆向分析的實(shí)體是網(wǎng)絡(luò)流量.網(wǎng)絡(luò)流量獲取手段眾多且可執(zhí)行性較強(qiáng),如今的wireshark,tcpdump等工具均可在終端網(wǎng)卡或主干網(wǎng)路由器處截獲網(wǎng)絡(luò)流量,其大致可以分為2種:一種是已知某種應(yīng)用產(chǎn)生的私有協(xié)議流量,可在終端主機(jī)運(yùn)行應(yīng)用以獲取充足的流量,用于分析該應(yīng)用的私有協(xié)議規(guī)范,理解協(xié)議交互行為.另一種是未知應(yīng)用產(chǎn)生的未知流量,即全未知流量,可在主干網(wǎng)路由器截獲,其復(fù)雜的混淆性導(dǎo)致無(wú)法簡(jiǎn)單地分析,但很可能包含暗網(wǎng)、惡意軟件、惡意攻擊等私有協(xié)議流量,對(duì)這部分私有協(xié)議的分析具有極高的實(shí)用性,加強(qiáng)網(wǎng)絡(luò)監(jiān)管人員對(duì)這部分公害信息的監(jiān)管能力.

一方面,中國(guó)信息通信研究院發(fā)布的《2020年上半年工業(yè)互聯(lián)網(wǎng)安全態(tài)勢(shì)綜述》[13]指出,工業(yè)互聯(lián)網(wǎng)設(shè)備漏洞數(shù)量多、級(jí)別高,針對(duì)工業(yè)互聯(lián)網(wǎng)的攻擊方式以異常流量、僵尸網(wǎng)絡(luò)為主,同時(shí)車(chē)聯(lián)網(wǎng)成為網(wǎng)絡(luò)攻擊的新趨向.因此針對(duì)工業(yè)互聯(lián)網(wǎng)設(shè)備的私有協(xié)議逆向分析必不可少,可以降低協(xié)議設(shè)計(jì)的脆弱性,發(fā)現(xiàn)協(xié)議漏洞,提高設(shè)備安全性.同時(shí)針對(duì)攻擊的異常流量逆向分析亦具有意義,挖掘出異常流量的固有特征,更適用于對(duì)攻擊流量的防御.另一方面,雖然目前協(xié)議設(shè)計(jì)與發(fā)展越來(lái)越注重用戶(hù)隱私,協(xié)議加密化趨勢(shì)凸顯,但加密協(xié)議存在握手、密鑰交換、身份認(rèn)證等明文傳輸階段,且協(xié)議報(bào)文中存在明文字段標(biāo)識(shí)協(xié)議類(lèi)型,不同協(xié)議的明文數(shù)據(jù)量并不相同[14],因此基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)亦可挖掘出加密協(xié)議明文字段的報(bào)文格式,且這部分明文字段格式可作為私有加密協(xié)議的固有特征,用于精準(zhǔn)識(shí)別私有加密協(xié)議流量.近些年來(lái)基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)取得高速發(fā)展[15],從初期的人為分析到目前的自動(dòng)化分析,從初期的協(xié)議規(guī)范推斷到目前的協(xié)議行為理解,均有突破性的研究成果并應(yīng)用于眾多領(lǐng)域:僵尸網(wǎng)絡(luò)通信推斷與行為理解[16]、網(wǎng)絡(luò)蜜罐協(xié)議檢測(cè)和狀態(tài)機(jī)模型分析[17-18]、協(xié)議漏洞挖掘以及脆弱性檢測(cè)[19-20]、安卓應(yīng)用協(xié)議行為分析[21]、無(wú)線(xiàn)自定協(xié)議理解與重構(gòu)[22-23]、無(wú)人機(jī)等工控協(xié)議建模[24-26]、物聯(lián)網(wǎng)設(shè)備安全性分析[27-28]等等.因此本文旨在對(duì)基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)已有研究進(jìn)行詳細(xì)分類(lèi)論述,為進(jìn)一步的研究奠定基礎(chǔ).

1 基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)

網(wǎng)絡(luò)通信發(fā)送方遵守5層協(xié)議體系結(jié)構(gòu)由上到下逐層封裝需要傳輸?shù)臄?shù)據(jù),接收方則由下到上逐層解封,得到對(duì)方發(fā)送的數(shù)據(jù)報(bào)文.每一層均由協(xié)議來(lái)規(guī)定封裝與解封數(shù)據(jù)的相應(yīng)規(guī)則,因此每層數(shù)據(jù)報(bào)文均為協(xié)議通信產(chǎn)生的實(shí)例.由于5層協(xié)議體系結(jié)構(gòu)中物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層屬于互聯(lián)網(wǎng)基礎(chǔ)設(shè)施建設(shè),其遵循的協(xié)議由一套完整的RFC規(guī)定來(lái)保證全世界的互通,所以私有協(xié)議逆向技術(shù)主要面向應(yīng)用層協(xié)議,基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)所使用的實(shí)例即為協(xié)議數(shù)據(jù)單元(protocol data unit, PDU).協(xié)議逆向技術(shù)的目標(biāo)是根據(jù)某協(xié)議的PDU集合推斷得到協(xié)議規(guī)范,本文提出包含預(yù)推理、協(xié)議格式推斷、語(yǔ)義分析、協(xié)議狀態(tài)機(jī)推理4個(gè)步驟的基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)框架,如圖1所示.同時(shí)從研究方法的本質(zhì)出發(fā)對(duì)上述4個(gè)步驟的相關(guān)工作進(jìn)行梳理、分類(lèi),組織結(jié)構(gòu)如圖2所示.

常規(guī)而言,由于網(wǎng)絡(luò)傳輸?shù)膹?fù)雜環(huán)境,使用采集工具獲取到的數(shù)據(jù)均是混雜的、不完全純凈的,這就使得基于網(wǎng)絡(luò)流量的分析均需要對(duì)直接獲取的流量進(jìn)行預(yù)處理:分流、去重傳、會(huì)話(huà)重組等,從混雜的流量中獲取目標(biāo)協(xié)議的網(wǎng)絡(luò)流量.因此,基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)輸入的是一批經(jīng)過(guò)預(yù)處理的單一某協(xié)議流量.

近些年來(lái)隱私保護(hù)、安全需求受到大眾的關(guān)注,TLS/SSL,SSH,QUIC等加密協(xié)議相繼出現(xiàn)并廣泛應(yīng)用于各種通信領(lǐng)域,導(dǎo)致互聯(lián)網(wǎng)上的加密流量激增[29].由于加密算法的特性,報(bào)文序列被加密為無(wú)規(guī)律的高熵序列,具有較高的離散程度,導(dǎo)致其無(wú)法直接分析.但加密協(xié)議報(bào)文中存在的未加密字段依然可以挖掘一些規(guī)律,因此基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)面向的是未加密或非全加密協(xié)議的網(wǎng)絡(luò)流量.

網(wǎng)絡(luò)協(xié)議保證通信雙方傳輸數(shù)據(jù)的準(zhǔn)確性,因此一個(gè)協(xié)議的制定包含許多約束與規(guī)則,如連接的建立、傳輸參數(shù)的設(shè)置、數(shù)據(jù)交換等,不同約束與規(guī)則對(duì)應(yīng)不同的報(bào)文格式與協(xié)議狀態(tài),即若要得到準(zhǔn)確的協(xié)議格式與交互模型,就需要更加完整、更加全面的協(xié)議流量.因此,基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)要求網(wǎng)絡(luò)流量包含協(xié)議交互的各種報(bào)文格式,要有更加完整的交互.

綜上所述,基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)的分析對(duì)象具有3個(gè)特點(diǎn):1)單一某協(xié)議的經(jīng)過(guò)預(yù)處理的網(wǎng)絡(luò)流量;2)未加密或非全加密協(xié)議的網(wǎng)絡(luò)流量;3)包含全面協(xié)議交互的各種報(bào)文、行為的網(wǎng)絡(luò)流量.

2 預(yù)推理

預(yù)推理是私有協(xié)議逆向技術(shù)必不可少的前置步驟,其立足于協(xié)議流量分析協(xié)議的固有屬性,為協(xié)議逆向的后續(xù)分析提供基礎(chǔ)知識(shí).預(yù)推理的主要任務(wù)是:1)協(xié)議類(lèi)型判斷;2)協(xié)議報(bào)文聚類(lèi);3)協(xié)議報(bào)文分段.

協(xié)議類(lèi)型由協(xié)議流量報(bào)文構(gòu)成決定,5層協(xié)議體系結(jié)構(gòu)的各層PDU構(gòu)成有3種形式:1)二進(jìn)制形式,即協(xié)議報(bào)文由連續(xù)比特構(gòu)成,且固定長(zhǎng)度比特組合的值即為該固定位置上的取值,具有一定語(yǔ)義,例如TCP,SMB協(xié)議等;2)文本形式,即協(xié)議報(bào)文由連續(xù)可讀的ASCII碼構(gòu)成,特殊字符串具有特殊的語(yǔ)義,例如HTTP,SMTP協(xié)議等;3)混合形式,即協(xié)議報(bào)文使用可讀ASCII碼標(biāo)識(shí)協(xié)議中的具有語(yǔ)義的字段,使用連續(xù)比特標(biāo)識(shí)該協(xié)議關(guān)鍵詞的取值,例如直播應(yīng)用常使用的應(yīng)用層協(xié)議HTTP-FLV、微信文件傳輸協(xié)議等.因此,基于報(bào)文構(gòu)成協(xié)議也可以分為3種類(lèi)型:1)二進(jìn)制類(lèi)協(xié)議;2)文本類(lèi)協(xié)議;3)混合型協(xié)議.

Fig.1 Architecture of private protocol reverse engineering based on network traffic圖1 基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)框架

Fig.2 Classification structure of private protocol reverse engineering based on network traffic圖2 現(xiàn)有基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)分類(lèi)結(jié)構(gòu)

由于報(bào)文構(gòu)成的特殊性,協(xié)議逆向技術(shù)在初期就需要明確被分析協(xié)議的類(lèi)型,針對(duì)性地使用不同的方法,因此協(xié)議類(lèi)型的判斷為后續(xù)的分析方法奠定了基調(diào).目前學(xué)術(shù)界僅通過(guò)報(bào)文的構(gòu)成字節(jié)是否是可讀ASCII碼來(lái)自動(dòng)化判斷或在協(xié)議類(lèi)型已知的先驗(yàn)知識(shí)下開(kāi)展協(xié)議逆向技術(shù)的研究,因此本文僅對(duì)協(xié)議報(bào)文聚類(lèi)與協(xié)議報(bào)文分段2方面的現(xiàn)有研究進(jìn)行詳細(xì)介紹.

2.1 協(xié)議報(bào)文聚類(lèi)

高吞吐量的互聯(lián)網(wǎng)主干流量具有極其復(fù)雜的混淆性,多種應(yīng)用層協(xié)議報(bào)文混雜在一段流量中,且每種協(xié)議又包含多種協(xié)議格式.但一般情況下,所屬同一協(xié)議的報(bào)文具有相同的類(lèi)型且格式上具有一定的相似性,因此可以衡量協(xié)議報(bào)文間的相似度,實(shí)現(xiàn)協(xié)議報(bào)文的相似性聚類(lèi).具體協(xié)議報(bào)文聚類(lèi)方法可以分為2類(lèi):一類(lèi)面向協(xié)議格式,另一類(lèi)則面向協(xié)議種類(lèi).由此對(duì)應(yīng)產(chǎn)生不同的聚類(lèi)簇:1)不同協(xié)議格式的聚類(lèi)簇,用來(lái)推斷協(xié)議格式,直接保證格式推斷的準(zhǔn)確性;2)不同協(xié)議種類(lèi)的聚類(lèi)簇,用來(lái)對(duì)未知協(xié)議混雜流量進(jìn)行初分類(lèi),使每個(gè)聚類(lèi)簇內(nèi)包含的報(bào)文盡量同屬一種協(xié)議,保證協(xié)議逆向技術(shù)輸入的協(xié)議種類(lèi)單一性.

協(xié)議報(bào)文聚類(lèi)不但需要采用合適的方法度量協(xié)議報(bào)文之間的相似度,還需要相應(yīng)的聚類(lèi)算法或直接推斷協(xié)議報(bào)文的標(biāo)識(shí)性字段,將標(biāo)記為同類(lèi)的報(bào)文劃分為一個(gè)類(lèi)簇.大多協(xié)議逆向技術(shù)均采用常規(guī)的聚類(lèi)算法進(jìn)行聚類(lèi),如最近鄰聚類(lèi)算法[30]、非加權(quán)組平均法[31](unweighted pair-group method with arithmetic means, UPGMA)、圍繞中心劃分(partitioning around medoids, PAM)算法[32]、DBSCAN(density-based spatial clustering of applications with noise)算法[33]、近鄰傳播(affinity propagation, AP)算法[34]等.

結(jié)合常規(guī)聚類(lèi)算法,研究人員重點(diǎn)關(guān)注采用不同方式度量協(xié)議報(bào)文間的相似度來(lái)實(shí)現(xiàn)面向協(xié)議格式的報(bào)文聚類(lèi).Shevertalov等人[35]在提出的協(xié)議狀態(tài)機(jī)推理方法PEXT中使用最長(zhǎng)公共子序列(longest common sub-sequence, LCSS)長(zhǎng)度標(biāo)準(zhǔn)化度量協(xié)議報(bào)文間的相似度并采用凝聚層次聚類(lèi)算法進(jìn)行聚類(lèi).之后,Ji等人[25]將文獻(xiàn)[35]所提方法應(yīng)用到無(wú)人機(jī)無(wú)線(xiàn)控制協(xié)議逆向分析中.Bossert等人[36]提出基于語(yǔ)義信息的協(xié)議報(bào)文聚類(lèi)算法.在收集到協(xié)議會(huì)話(huà)相關(guān)語(yǔ)義信息的基礎(chǔ)上,采用3層聚類(lèi)方法:首先結(jié)合報(bào)文時(shí)間戳與流向,以語(yǔ)義信息作為先驗(yàn)知識(shí)將協(xié)議會(huì)話(huà)劃分為不同動(dòng)作的報(bào)文類(lèi)簇;之后將具有相同上下文語(yǔ)義信息的協(xié)議報(bào)文再聚類(lèi),并為每個(gè)協(xié)議報(bào)文生成一個(gè)上下文簽名標(biāo)記序列;最后采用擴(kuò)展的序列比對(duì)算法計(jì)算報(bào)文間的語(yǔ)義相似度,生成相似度矩陣,并對(duì)UPGMA進(jìn)行同樣的優(yōu)化使其考慮語(yǔ)義信息以完成對(duì)不同格式協(xié)議報(bào)文的最終聚類(lèi).Luo等人[37]對(duì)前人提出的協(xié)議關(guān)鍵詞提取方法進(jìn)行改進(jìn),在此基礎(chǔ)上提出一種報(bào)文類(lèi)型感知的協(xié)議報(bào)文聚類(lèi)方法.該方法首先在N-gram分段的基礎(chǔ)上采用TFIDF(term frequency-inverse document frequency)算法過(guò)濾不重要的候選協(xié)議字段,接著采用候選協(xié)議字段的概率分布信息來(lái)描述協(xié)議報(bào)文的類(lèi)型分布,最后基于上述分布計(jì)算協(xié)議報(bào)文間的相似度矩陣,并采用UPGMA對(duì)協(xié)議報(bào)文進(jìn)行聚類(lèi).Li等人[38]把模糊理論引入?yún)f(xié)議報(bào)文聚類(lèi),提出一種基于粗糙集理論的協(xié)議報(bào)文聚類(lèi)方法.該方法使用ProWord方法[39]產(chǎn)生的連續(xù)多個(gè)分段點(diǎn)位置作為粗糙集中的屬性集,之后基于粗糙集理論以及屬性集和協(xié)議格式間的映射關(guān)系對(duì)不同格式的協(xié)議報(bào)文進(jìn)行聚類(lèi),即使用分段位置衡量協(xié)議報(bào)文間的相似度,直接對(duì)協(xié)議報(bào)文集合聚類(lèi)劃分.

部分研究人員針對(duì)不同協(xié)議種類(lèi)的報(bào)文進(jìn)行研究,以合適的粒度度量未知協(xié)議報(bào)文間相似度,實(shí)現(xiàn)面向協(xié)議種類(lèi)的報(bào)文聚類(lèi),應(yīng)用于多種類(lèi)協(xié)議混雜的 情 況.Sun等 人[40]引 入 ABNF(augmented Backus-Naur form)規(guī)則來(lái)計(jì)算候選協(xié)議字段間距離(token format distance, TFD),將協(xié)議報(bào)文以字節(jié)為單位劃分為候選協(xié)議字段,并根據(jù)ABNF為每個(gè)候選協(xié)議字段定義一組屬性,結(jié)合Jaccard指數(shù)來(lái)計(jì)算TFD.之后在TFD的基礎(chǔ)上結(jié)合編輯距離對(duì)序列比對(duì)算法進(jìn)行改進(jìn):基于報(bào)文頭部前20個(gè)字節(jié)來(lái)計(jì)算協(xié)議報(bào)文間 距 離(message format distance, MFD ).最 后 基 于MFD相似度矩陣,采用DBSCAN算法對(duì)混雜協(xié)議流量進(jìn)行聚類(lèi),使用輪廓系數(shù)與鄧恩指數(shù)協(xié)助聚類(lèi)過(guò)程中的參數(shù)選擇,生成不同種類(lèi)的協(xié)議報(bào)文聚類(lèi)簇.

2.2 協(xié)議報(bào)文分段

網(wǎng)絡(luò)中傳輸?shù)膱?bào)文是一組長(zhǎng)度不定的連續(xù)比特,其經(jīng)由各層協(xié)議逐層解析,理解比特組合含義,這就要求協(xié)議規(guī)范中必須明確規(guī)定字段分段點(diǎn),將任意相鄰分段點(diǎn)間的比特組合理解為協(xié)議規(guī)定的值.由此協(xié)議報(bào)文分段就是確定報(bào)文序列分段點(diǎn)的過(guò)程,其與自然語(yǔ)言處理里的分詞(tokenization)具有相似的目標(biāo).因此自然語(yǔ)言處理的傳統(tǒng)分詞方法同樣被引入了協(xié)議報(bào)文分段中,主要包括:N-gram分詞算法與基于分隔符的分詞.

除此之外,研究人員也在積極探索協(xié)議報(bào)文結(jié)構(gòu),考究協(xié)議關(guān)鍵詞的特點(diǎn),提出創(chuàng)新性協(xié)議報(bào)文分段方法,主要可以分為3類(lèi):基于信息論投票的報(bào)文分段、基于決策模型的報(bào)文分段與基于比特結(jié)構(gòu)的報(bào)文分段.

由于協(xié)議報(bào)文的分段點(diǎn)是確定的,具有較低的隨機(jī)性,因此部分研究將信息熵理論引入?yún)f(xié)議報(bào)文分段算法,以實(shí)現(xiàn)報(bào)文分段點(diǎn)的提取.Zhang等人[39]在提出的協(xié)議關(guān)鍵詞提取方法ProWord中將無(wú)監(jiān)督專(zhuān)家投票算法應(yīng)用于流量分析.該方法以字節(jié)為單位,引入詞內(nèi)熵與詞邊界熵的概念作為專(zhuān)家值,結(jié)合專(zhuān)家投票算法對(duì)滑動(dòng)窗口中報(bào)文序列的每個(gè)位置進(jìn)行投票,最后選擇投票值序列的極大值點(diǎn)與超過(guò)設(shè)定閾值的位置點(diǎn)作為協(xié)議報(bào)文的分段點(diǎn).基于同樣的思想,Sun等人[41]引入統(tǒng)計(jì)信息,亦從信息論的角度提出協(xié)議報(bào)文分段算法ProSeg.該算法以字節(jié)為單位計(jì)算單字節(jié)信息熵與相鄰2個(gè)字節(jié)間的互信息,結(jié)合協(xié)議關(guān)鍵詞的字節(jié)信息熵規(guī)律,采用專(zhuān)家投票算法以信息熵和互信息為專(zhuān)家值確定協(xié)議報(bào)文的分段點(diǎn).Jiang等人[42]提出一種基于鄰域信息的協(xié)議報(bào)文分段點(diǎn)提取算法ABInfer,提出新穎的實(shí)體距離(entry distance)來(lái)度量相鄰2個(gè)字節(jié)間距離,其本質(zhì)是計(jì)算單字節(jié)位字符集合的熵值,之后采用最近鄰聚類(lèi)算法迭代將相鄰字節(jié)進(jìn)行聚類(lèi)合并,最終推斷得到協(xié)議字段邊界.

協(xié)議報(bào)文分段點(diǎn)的確定過(guò)程可以理解為在報(bào)文字節(jié)序列中字段邊界的決策問(wèn)題,因此部分研究考慮到學(xué)術(shù)界方法的積累,將一些常用模型引入?yún)f(xié)議報(bào)文分段中,以實(shí)現(xiàn)報(bào)文分段點(diǎn)的提取.黎敏等人[43]將 隱 半 馬 爾 可 夫 模 型(hidden semi-Markov models,HsMM)[44]引入?yún)f(xié)議逆向分析,提出抗噪二進(jìn)制協(xié)議報(bào)文最佳分段方法.該方法使用HsMM模型對(duì)協(xié)議報(bào)文進(jìn)行建模,將候選協(xié)議字段作為與隱狀態(tài)相關(guān)的觀察狀態(tài),將字段長(zhǎng)度作為隱狀態(tài)的持續(xù)時(shí)間,因此協(xié)議報(bào)文的分段問(wèn)題就轉(zhuǎn)化為求解HsMM模型最大似然概率的隱狀態(tài)序列問(wèn)題.之后采用Baum-Welch方法對(duì)參數(shù)進(jìn)行迭代估計(jì)以完善HsMM模型,并采用Viterbi算法推斷得到有最大似然概率估計(jì)的隱狀態(tài)序列與具有最佳隱狀態(tài)持續(xù)時(shí)間的各候選協(xié)議字段長(zhǎng)度,從而獲得最佳協(xié)議報(bào)文分段點(diǎn).Tao等人[45]將貝葉斯決策模型引入?yún)f(xié)議逆向分析,提出針對(duì)二進(jìn)制協(xié)議的報(bào)文分段方法PRE-Bin.在采用輪廓系數(shù)指導(dǎo)的K-means聚類(lèi)基礎(chǔ)上結(jié)合UPGMA算法獲得最優(yōu)數(shù)量的協(xié)議報(bào)文聚類(lèi)簇,在類(lèi)簇內(nèi)采用基于比特的優(yōu)化序列比對(duì)算法,重新設(shè)計(jì)匹配過(guò)程與回溯規(guī)則,得到包含表示字段邊界特征的空格的匹配序列.最后根據(jù)局部性原理與最大后驗(yàn)概率提出2個(gè)準(zhǔn)則,并基于貝葉斯決策完成空格是否是最合適協(xié)議報(bào)文分段點(diǎn)的估計(jì).Luo等人[46-47]將報(bào)文分段問(wèn)題考慮為時(shí)間序列的突變點(diǎn)檢測(cè)問(wèn)題,突變點(diǎn)標(biāo)識(shí)時(shí)間序列中一段時(shí)間的凸起與報(bào)文分段點(diǎn)標(biāo)識(shí)字節(jié)序列的結(jié)束具有一定的相似性.該方法將協(xié)議報(bào)文序列假設(shè)為q階馬爾可夫過(guò)程以計(jì)算前綴條件概率與報(bào)文倒置后的后綴條件概率,結(jié)合協(xié)議報(bào)文分段點(diǎn)未知的特性,使用極大極小形式表示突變點(diǎn)檢測(cè)問(wèn)題.之后提出多累積和算法(multi-CUSUM)實(shí)現(xiàn)協(xié)議報(bào)文分段點(diǎn)檢測(cè).

協(xié)議報(bào)文由比特序列構(gòu)成,比特間關(guān)系反映報(bào)文的結(jié)構(gòu)信息,因此部分研究以比特為粒度,挖掘比特間的表征關(guān)系,以實(shí)現(xiàn)報(bào)文分段點(diǎn)的提取.Kleber等人[48]重點(diǎn)關(guān)注協(xié)議報(bào)文的內(nèi)部結(jié)構(gòu),提出一種新穎的報(bào)文分段方法NEMESYS.該方法定義字節(jié)間的位一致性 (bit congruence, BC),即相鄰 2 個(gè)字節(jié)間同位取值相同的個(gè)數(shù)與字節(jié)長(zhǎng)度的比值,因此遍歷報(bào)文序列任意相鄰字節(jié)均可計(jì)算BC并生成位一致性值序列.在此序列基礎(chǔ)上,任意2個(gè)連續(xù)值可得到位一致性差值,由此可將報(bào)文序列基于BC轉(zhuǎn)換為位一致性差值向量,該向量?jī)H由報(bào)文字節(jié)組成決定,文中稱(chēng)之為報(bào)文的內(nèi)部結(jié)構(gòu)特征.之后采用標(biāo)準(zhǔn)高斯濾波器對(duì)位一致性差值向量進(jìn)行平滑操作消除噪聲,報(bào)文分段點(diǎn)則由平滑后差值向量的上升邊緣拐點(diǎn)來(lái)決定.如果平滑差值向量在某一區(qū)間內(nèi)存在多個(gè)上升邊,則選擇對(duì)應(yīng)未平滑差值向量區(qū)間內(nèi)較為陡峭的上升邊緣作為報(bào)文分段點(diǎn).同樣,Marchetti等人[49]針對(duì)汽車(chē)控制區(qū)域網(wǎng)絡(luò)(controller area network, CAN)中的汽車(chē)通信數(shù)據(jù)幀進(jìn)行分析,提出一種基于位變化率的汽車(chē)通信數(shù)據(jù)幀分段方法READ.該方法在通過(guò)ID字段進(jìn)行聚類(lèi)的汽車(chē)通信數(shù)據(jù)幀聚類(lèi)簇上,引入位翻轉(zhuǎn)速率的概念,通過(guò)時(shí)序上相鄰的2個(gè)報(bào)文計(jì)算任意位的累計(jì)翻轉(zhuǎn)(bit-Flip)次數(shù)序列,之后對(duì)上述序列按位除以數(shù)據(jù)負(fù)載長(zhǎng)度并取對(duì)數(shù)得到幅度序列.最后通過(guò)以下階段篩選協(xié)議報(bào)文分段點(diǎn):首先篩選幅度序列的極大值點(diǎn)作為初報(bào)文分段點(diǎn);之后考慮計(jì)數(shù)器以及CRC字段的幅度序列與位翻轉(zhuǎn)頻率特征,擴(kuò)充報(bào)文分段點(diǎn).

綜上所述,預(yù)推理的協(xié)議報(bào)文聚類(lèi)與協(xié)議報(bào)文分段2方面研究分別面向協(xié)議格式推斷與協(xié)議關(guān)鍵詞提取.協(xié)議報(bào)文聚類(lèi)盡最大可能將相似格式報(bào)文或相似類(lèi)型協(xié)議報(bào)文聚到同一類(lèi)簇內(nèi),以提高協(xié)議格式推斷的準(zhǔn)確度.協(xié)議報(bào)文分段盡最大可能選取最合適的報(bào)文分段點(diǎn),將報(bào)文序列劃分為更小的子序列,以減少冗余字段對(duì)協(xié)議關(guān)鍵詞提取的影響.但協(xié)議報(bào)文分段中可以使用協(xié)議報(bào)文聚類(lèi)簇計(jì)算熵值信息,協(xié)議報(bào)文聚類(lèi)中亦可使用協(xié)議報(bào)文分段點(diǎn)來(lái)計(jì)算報(bào)文間的相似度,因此預(yù)處理這2方面研究?jī)?nèi)容相輔相成,共同為后期推斷提供精確的信息.表1和表2分類(lèi)概述了預(yù)推理部分相關(guān)研究的主要內(nèi)容,包括面向協(xié)議類(lèi)型、方法內(nèi)核與對(duì)比分析等.表1、表2中忽略了常用的協(xié)議報(bào)文聚類(lèi)算法與協(xié)議報(bào)文分段算法,重點(diǎn)對(duì)比分析創(chuàng)新性研究.可以看出,協(xié)議報(bào)文聚類(lèi)重點(diǎn)關(guān)注報(bào)文間相似度度量,采用不同的相似度計(jì)算方法就會(huì)產(chǎn)生不同的結(jié)果.協(xié)議報(bào)文分段重點(diǎn)關(guān)注二進(jìn)制協(xié)議報(bào)文的分段,因?yàn)槎M(jìn)制協(xié)議目前廣泛使用,尤其是在惡意網(wǎng)絡(luò)、軍事網(wǎng)絡(luò)、物聯(lián)網(wǎng)絡(luò)協(xié)議中,且二進(jìn)制協(xié)議報(bào)文分段具有一定的挑戰(zhàn)性,無(wú)法通過(guò)報(bào)文數(shù)據(jù)人為分段,因此二進(jìn)制協(xié)議報(bào)文分段可以很大程度上提高協(xié)議逆向技術(shù)的自動(dòng)化程度,具有較高的研究?jī)r(jià)值.

3 協(xié)議格式推斷

協(xié)議格式推斷是私有協(xié)議逆向技術(shù)的核心步驟,其在協(xié)議預(yù)推理的基礎(chǔ)上實(shí)現(xiàn)協(xié)議逆向技術(shù)的階段性目標(biāo):協(xié)議格式集合.

Table 1 Summary of Protocol Packets Clustering表1 協(xié)議報(bào)文聚類(lèi)方法概述

Table 2 Summary of Protocol Packets Segmentation表2 協(xié)議報(bào)文分段方法概述

對(duì)協(xié)議報(bào)文集合進(jìn)行報(bào)文分段,從各候選協(xié)議字段中篩選得到協(xié)議關(guān)鍵詞或直接采用序列比對(duì)方法將協(xié)議報(bào)文的公共對(duì)齊字段篩選為協(xié)議關(guān)鍵詞,并描述協(xié)議關(guān)鍵詞的屬性.因此協(xié)議格式推斷的第1個(gè)任務(wù)就是篩選協(xié)議關(guān)鍵詞并推斷其固有屬性.在協(xié)議逆向技術(shù)中,協(xié)議關(guān)鍵詞被定義為具有特殊語(yǔ)義且不可再分割的原子比特序列,每個(gè)協(xié)議關(guān)鍵詞遵循協(xié)議規(guī)范定義的屬性:位置、長(zhǎng)度、數(shù)據(jù)類(lèi)型等,數(shù)據(jù)類(lèi)型可以用其值域來(lái)描述,可能是數(shù)值型、ASCII碼或枚舉列表(枚舉列表是由協(xié)議規(guī)范預(yù)設(shè)的,即該協(xié)議關(guān)鍵詞每次只能選擇預(yù)設(shè)值中的一個(gè)出現(xiàn)在報(bào)文中).但由于協(xié)議報(bào)文的復(fù)雜性與報(bào)文分段的不準(zhǔn)確性,導(dǎo)致協(xié)議關(guān)鍵詞提取過(guò)程必然存在一定的冗余,尤其是文本類(lèi)協(xié)議,存在大量無(wú)意義的字符串對(duì)協(xié)議關(guān)鍵詞提取造成影響,因此如何準(zhǔn)確刪除這些冗余字段是本任務(wù)的研究重點(diǎn).

協(xié)議報(bào)文由上述各個(gè)協(xié)議關(guān)鍵詞構(gòu)成,協(xié)議功能的復(fù)雜性要求協(xié)議報(bào)文具有一定的多樣性,因此協(xié)議格式推斷的第2個(gè)任務(wù)是推斷協(xié)議關(guān)鍵詞之間的關(guān)系,之后第3個(gè)任務(wù)便是通過(guò)實(shí)例報(bào)文將協(xié)議關(guān)鍵詞間關(guān)系進(jìn)行組合,得到復(fù)雜的協(xié)議格式.協(xié)議關(guān)鍵詞根據(jù)其位置不同存在次序、并列、互斥與層級(jí)等結(jié)構(gòu)關(guān)系.次序關(guān)系即部分協(xié)議關(guān)鍵詞總是按順序位置且同時(shí)出現(xiàn)在報(bào)文中;并列關(guān)系即部分協(xié)議關(guān)鍵詞的位置不固定,其前后順序并不影響協(xié)議處理的結(jié)果,此種關(guān)系多出現(xiàn)在文本類(lèi)協(xié)議中;互斥關(guān)系即部分協(xié)議關(guān)鍵詞在同一位置上不同時(shí)出現(xiàn)但總出現(xiàn)其中一個(gè);層級(jí)關(guān)系即部分協(xié)議關(guān)鍵詞可構(gòu)成復(fù)合字段,該復(fù)合字段可作為具有特殊語(yǔ)義的高層協(xié)議關(guān)鍵詞.多種復(fù)雜關(guān)系的組合構(gòu)成了具有不同功能的協(xié)議報(bào)文,但協(xié)議關(guān)鍵詞間的關(guān)系亦存在回路、重復(fù)等冗余,因此如何準(zhǔn)確描述協(xié)議關(guān)鍵詞間關(guān)系并將其合并為復(fù)雜關(guān)系組合,構(gòu)成協(xié)議格式是本任務(wù)的研究重點(diǎn).

為完成上述任務(wù),研究人員開(kāi)拓思路,實(shí)時(shí)跟進(jìn)學(xué)術(shù)界最新理論,將序列比對(duì)、概率統(tǒng)計(jì)、頻繁項(xiàng)挖掘以及深度學(xué)習(xí)引入?yún)f(xié)議格式推斷中,因此協(xié)議格式推斷可以相應(yīng)劃分為基于上述4種理論核心的推斷方法.

3.1 基于序列比對(duì)的協(xié)議格式推斷

序列比對(duì)是生物信息領(lǐng)域一個(gè)古老的課題,最早用來(lái)計(jì)算核酸序列之間的相似性,通過(guò)對(duì)齊每一位核酸確定序列間的差異量.由于構(gòu)成報(bào)文的字節(jié)序列與核酸序列之間具有一定的相似性,因此序列比對(duì)算法被引入私有協(xié)議逆向分析中,其中最常用的2種序列比對(duì)算法為全局序列比對(duì)Needleman-Wunsch(NW)算法[50]和局部序列比對(duì)Smith-Waterman(SW)算法[51],均通過(guò)在合適的位置插入空格來(lái)將2個(gè)序列對(duì)齊到同樣的長(zhǎng)度,通過(guò)得分函數(shù)定義匹配、不匹配或插入空格的獎(jiǎng)懲分?jǐn)?shù)生成得分矩陣,并通過(guò)回溯得到2個(gè)序列的公共對(duì)齊序列,將序列相似度數(shù)字化以直觀表示.NW算法保證找到序列間的全局最優(yōu)對(duì)齊序列,而SW算法確定序列間的最長(zhǎng)公共子序列,因此就要求采用NW算法的2個(gè)序列必須具有高度相似性,而SW算法允許將相似的一組序列聚在一起以供后續(xù)分析.NW算法更適合用來(lái)推斷協(xié)議格式,而SW算法更適合用來(lái)計(jì)算報(bào)文相似度度量.

Beddoe[52]提出 PI(protocol informatics)方法,利用序列比對(duì)算法實(shí)現(xiàn)私有協(xié)議逆向分析.該方法首先采用SW算法根據(jù)上下文信息計(jì)算協(xié)議報(bào)文間的相似性矩陣,之后結(jié)合非加權(quán)組平均法UPGMA與NW算法將矩陣中相似度最高的2個(gè)報(bào)文進(jìn)行序列對(duì)齊,并將對(duì)齊后的序列添加至相似性矩陣中并更新計(jì)算相似度,最終得到完整的協(xié)議公共報(bào)文序列,即協(xié)議格式.Gorbunov等人[53]在提出的AutoFuzz可擴(kuò)展協(xié)議模糊測(cè)試框架中,同樣采用NW算法將報(bào)文序列進(jìn)行對(duì)齊,只不過(guò)其首先采用報(bào)文頭部4個(gè)字節(jié)對(duì)協(xié)議報(bào)文進(jìn)行聚類(lèi),在各個(gè)類(lèi)簇內(nèi)使用了NW算法得到公共報(bào)文序列,生成協(xié)議格式.之后Razo等人[54]將PI方法應(yīng)用于Android應(yīng)用流量上,成功識(shí)別5個(gè)固定不變的協(xié)議關(guān)鍵詞與2個(gè)動(dòng)態(tài)變化字段.而Ji等人[25]則將PI方法應(yīng)用到無(wú)人機(jī)無(wú)線(xiàn)控制協(xié)議逆向分析中,推斷無(wú)人機(jī)控制協(xié)議的報(bào)文格式.更有Zhang等人[55]考慮協(xié)議分析的實(shí)時(shí)性,提出一種增量式協(xié)議格式逆向分析方法IPFRA,其主要也使用PI方法在初步得到的協(xié)議格式上近實(shí)時(shí)地增量推斷更加完善的協(xié)議格式.

基于序列比對(duì)的思想,部分研究制定新的匹配規(guī)則與得分函數(shù),主要考慮基于字節(jié)的序列比對(duì)算法會(huì)造成誤對(duì)齊的現(xiàn)象以及不匹配字段間可能具有一定的相似度,從2個(gè)方面對(duì)NW算法進(jìn)行改進(jìn)、推斷協(xié)議格式.部分研究重點(diǎn)解決基于字節(jié)的序列比對(duì)造成的誤對(duì)齊問(wèn)題,Cui等人[56]在RolePlayer方法中使用序列比對(duì)算法對(duì)報(bào)文序列進(jìn)行對(duì)齊以查找協(xié)議中的動(dòng)態(tài)可變字段,并在Discoverer方法[57]中對(duì)序列比對(duì)算法進(jìn)行改進(jìn),提出了一種基于字段類(lèi)型的序列比對(duì)算法.Discoverer將序列對(duì)齊粒度轉(zhuǎn)化為token,將協(xié)議報(bào)文轉(zhuǎn)化為由text,binary這2類(lèi)token組成的序列并劃分為不同的報(bào)文簇.采用規(guī)則分析token的屬性與類(lèi)型,并制定3條規(guī)則篩選FD(field distinguisher)字段,之后依據(jù)FD字段將報(bào)文類(lèi)簇遞歸聚類(lèi)為多個(gè)子報(bào)文簇,采用基于token類(lèi)型的NW算法將同類(lèi)序列進(jìn)行對(duì)齊:若存在同一位置上token具有相似的屬性和類(lèi)型且滿(mǎn)足固定約束,則判斷為token匹配,以推斷協(xié)議格式.同樣,Esoul等人[58]將基于段的序列比對(duì)算法引入?yún)f(xié)議格式推斷.在使用TF-IDF算法標(biāo)準(zhǔn)化候選協(xié)議字段分布的基礎(chǔ)上,對(duì)協(xié)議報(bào)文進(jìn)行基于全鏈(complete-link)原則的凝聚層次聚類(lèi);之后在聚類(lèi)簇內(nèi)采用DIALIGN 2多序列比對(duì)算法[59]對(duì)協(xié)議報(bào)文序列對(duì)齊;最后引入位置權(quán)值矩陣,并設(shè)定閾值提取協(xié)議報(bào)文公共對(duì)齊序列,推斷協(xié)議格式.

協(xié)議報(bào)文固定位置的字段取值雖然不同,但存在一定的規(guī)律,因此部分研究重點(diǎn)關(guān)注字段在對(duì)齊時(shí)是否具有可推斷的關(guān)系,改進(jìn)匹配得分函數(shù),提高對(duì)不匹配字段的寬容度,推斷更加合理的協(xié)議格式.Bossert等人[36]提出基于語(yǔ)義信息的協(xié)議格式推斷與協(xié)議關(guān)鍵詞關(guān)系挖掘方法Netzob,此處的語(yǔ)義信息具體指的是與協(xié)議會(huì)話(huà)相關(guān)的環(huán)境信息,例如協(xié)議標(biāo)識(shí)、IP地址、主機(jī)地址等.Netzob在語(yǔ)義信息與上下文數(shù)據(jù)對(duì)協(xié)議報(bào)文聚類(lèi)的基礎(chǔ)上,對(duì)NW算法進(jìn)行擴(kuò)展:改進(jìn)NW算法的得分函數(shù)使其對(duì)語(yǔ)義敏感,引入語(yǔ)義匹配與不匹配參數(shù)以生成NW算法的對(duì)齊矩陣,使協(xié)議報(bào)文基于語(yǔ)義信息完成對(duì)齊;在合并階段采用優(yōu)化的UPGMA,定義合并質(zhì)量函數(shù)計(jì)算不同的得分以實(shí)現(xiàn)在固定閾值下的迭代合并過(guò)程,得到由語(yǔ)義信息標(biāo)識(shí)的協(xié)議格式;最后Netzob還對(duì)協(xié)議關(guān)鍵詞間的關(guān)系進(jìn)行挖掘,利用協(xié)議關(guān)鍵詞的長(zhǎng)度、偏移與取值等,采用最大信息系數(shù)(maximal information coefficient, MIC)與 Pearson 系數(shù)計(jì)算其是否線(xiàn)性相關(guān),以表示字段間的依賴(lài)關(guān)系.Meng等人[60]則針對(duì)二進(jìn)制協(xié)議提出了一種層次聚類(lèi)與概率對(duì)齊相結(jié)合的協(xié)議格式推斷方法.首先采用PRE-Bin方法[45]中的聚類(lèi)方式對(duì)協(xié)議報(bào)文進(jìn)行聚類(lèi),在此基礎(chǔ)上引入基于Pair-HMM的多序列比對(duì)算法.該算法采用期望精度來(lái)衡量序列間的相似性,對(duì)NW算法進(jìn)行改進(jìn),對(duì)齊時(shí)空格的懲罰分?jǐn)?shù)設(shè)置為0,匹配與不匹配的得分由后驗(yàn)概率給出.之后根據(jù)各種數(shù)據(jù)的統(tǒng)計(jì)特點(diǎn),如變化率、均值等,將相鄰的字段分開(kāi)并重組以推斷協(xié)議格式.Kleber等人[61]創(chuàng)新性地考慮候選協(xié)議字段間的不相似性,對(duì)前期的語(yǔ)義分析工作[62]進(jìn)行擴(kuò)展,提出一種二進(jìn)制協(xié)議逆向方法NEMETYL.該方法考慮到候選協(xié)議字段長(zhǎng)度并不相同,便通過(guò)將高維向量嵌入低維空間中來(lái)實(shí)現(xiàn)將Canberra距離的概念推廣到不同長(zhǎng)度的向量,從而計(jì)算得到候選協(xié)議字段間的Canberra不相似矩陣;之后對(duì)NW算法進(jìn)行改進(jìn),即計(jì)算得分矩陣時(shí)考慮候選協(xié)議字段間的不相似性,結(jié)合Hirschberg對(duì)齊算法生成協(xié)議報(bào)文間的不相似性矩陣;最后在DBSCAN算法對(duì)協(xié)議報(bào)文聚類(lèi)的基礎(chǔ)上,選擇聚類(lèi)簇內(nèi)與其余報(bào)文均具有最低不相似性的報(bào)文作為中心,迭代式將其余報(bào)文與中心報(bào)文對(duì)齊合并,推斷得到協(xié)議格式.

3.2 基于概率統(tǒng)計(jì)的協(xié)議格式推斷

在協(xié)議逆向分析中,如果候選協(xié)議字段經(jīng)常出現(xiàn)在協(xié)議報(bào)文中,那么其作為協(xié)議關(guān)鍵詞的概率就越高,因此概率統(tǒng)計(jì)經(jīng)常被用來(lái)協(xié)助協(xié)議逆向分析的決策.同時(shí)結(jié)合協(xié)議報(bào)文的特性,部分概率統(tǒng)計(jì)模型也常被用來(lái)對(duì)協(xié)議格式進(jìn)行建模,從中推斷協(xié)議格式.

由于協(xié)議頭部數(shù)據(jù)往往包含更多協(xié)議相關(guān)信息,對(duì)協(xié)議標(biāo)識(shí)有很大作用,因此部分研究重點(diǎn)關(guān)注協(xié)議頭部報(bào)文格式.Wang等人[63]在提出的狀態(tài)機(jī)推理方法Veritas中,采用常規(guī)概率統(tǒng)計(jì)的方式推斷協(xié)議格式,為協(xié)議狀態(tài)機(jī)推理提供基礎(chǔ).其采用K-S(Kolmogorov-Smirnov)統(tǒng)計(jì)檢驗(yàn)方法從N-gram算法生成的候選協(xié)議字段集合中篩選協(xié)議關(guān)鍵詞,并采用最大化原則,盡可能長(zhǎng)地將報(bào)文頭部使用協(xié)議關(guān)鍵詞進(jìn)行重構(gòu),最終推斷協(xié)議頭部報(bào)文格式.同時(shí),Wang等人[64]還提出二進(jìn)制協(xié)議頭部報(bào)文格式推斷算法Biprominer,并創(chuàng)新地以狀態(tài)轉(zhuǎn)移概率圖進(jìn)行描述.該算法從高頻出現(xiàn)的單字節(jié)出發(fā),逐步擴(kuò)展到滿(mǎn)足閾值長(zhǎng)度的字節(jié)序列cells,并將協(xié)議報(bào)文頭部數(shù)據(jù)標(biāo)記為cells序列;之后將相對(duì)位置一致的cells作為一個(gè)類(lèi)簇,提取類(lèi)簇內(nèi)相同的字節(jié)序列作為狀態(tài),計(jì)算狀態(tài)間的轉(zhuǎn)移概率,從而以狀態(tài)轉(zhuǎn)移概率圖的形式描述協(xié)議頭部報(bào)文格式.

協(xié)議報(bào)文使用協(xié)議關(guān)鍵詞標(biāo)識(shí)報(bào)文類(lèi)型與參數(shù)傳遞,協(xié)議關(guān)鍵詞亦為協(xié)議格式的組成部分,因此部分研究重點(diǎn)關(guān)注協(xié)議關(guān)鍵詞的提取.協(xié)議關(guān)鍵詞通常從候選協(xié)議字段中產(chǎn)生,那么協(xié)議關(guān)鍵詞的提取必然伴隨著協(xié)議報(bào)文分段算法的研究.Zhang等人[39]將信息熵理論引入?yún)f(xié)議報(bào)文分段,提出基于專(zhuān)家投票的無(wú)監(jiān)督協(xié)議報(bào)文分段算法,并在此基礎(chǔ)上提出協(xié)議關(guān)鍵詞提取方法ProWord.該方法在候選協(xié)議字段集合上提出了一種結(jié)合多維屬性的候選協(xié)議字段啟發(fā)式排序算法,考慮每個(gè)候選協(xié)議字段的頻率、位置以及長(zhǎng)度,定義了一個(gè)得分函數(shù)以對(duì)多維屬性進(jìn)行統(tǒng)一度量,建立一個(gè)有序結(jié)構(gòu).最后篩選得分top-K的候選協(xié)議字段作為協(xié)議關(guān)鍵詞,并考慮協(xié)議關(guān)鍵詞間的冗余性,結(jié)合公共子串算法與起始位置進(jìn)行冗余過(guò)濾,得到最終的協(xié)議關(guān)鍵詞.Wang等人[65]在針對(duì)工業(yè)協(xié)議提出的逆向分析方法IPART中對(duì)ProWord中的協(xié)議報(bào)文分段算法進(jìn)行改進(jìn),對(duì)候選報(bào)文分段點(diǎn)采用了一種重新定位方法,并篩選固定閾值長(zhǎng)度的候選協(xié)議字段作為協(xié)議關(guān)鍵詞.Luo等人[46-47]在基于時(shí)間序列的突變點(diǎn)檢測(cè)算法對(duì)協(xié)議報(bào)文分段的基礎(chǔ)上,首先通過(guò)統(tǒng)計(jì)分析的方式對(duì)出現(xiàn)概率極低的字段進(jìn)行過(guò)濾,之后結(jié)合協(xié)議關(guān)鍵詞的4種位置信息,提出基于最小描述長(zhǎng)度的MDL-PTA(minimal description length-position test analysis)算法,實(shí)現(xiàn)基于協(xié)議關(guān)鍵詞位置的統(tǒng)計(jì)分析方法,提取協(xié)議關(guān)鍵詞.之后文獻(xiàn)[46?47]還對(duì)協(xié)議關(guān)鍵詞進(jìn)行細(xì)化,推斷了部分語(yǔ)義,并將該方法應(yīng)用于物聯(lián)網(wǎng) (Internet of things,IoT)設(shè)備傳輸協(xié)議的脆弱性檢測(cè)中.同樣,Ye等人[66]認(rèn)為協(xié)議關(guān)鍵詞可以很大程度上標(biāo)識(shí)協(xié)議報(bào)文,基于正確的協(xié)議關(guān)鍵詞對(duì)協(xié)議報(bào)文進(jìn)行聚類(lèi)可以得到更加簡(jiǎn)潔及準(zhǔn)確的協(xié)議格式,并提出NETPLIER方法.提取序列比對(duì)算法產(chǎn)生的連續(xù)對(duì)齊字段,結(jié)合分隔符與長(zhǎng)度閾值篩選候選協(xié)議字段;之后根據(jù)候選協(xié)議字段的不同取值對(duì)協(xié)議報(bào)文進(jìn)行聚類(lèi),并定義4個(gè)可觀察約束以度量聚類(lèi)的效果,將聚類(lèi)結(jié)果轉(zhuǎn)化為直觀可評(píng)價(jià)的數(shù)值,構(gòu)建候選協(xié)議字段與4個(gè)可觀察約束之間的聯(lián)合概率分布以實(shí)現(xiàn)候選協(xié)議字段與聚類(lèi)效果的一一對(duì)應(yīng),即根據(jù)聚類(lèi)的結(jié)果評(píng)價(jià)該候選協(xié)議字段成為協(xié)議關(guān)鍵詞的可能性.篩選后驗(yàn)概率最大的候選協(xié)議字段作為協(xié)議關(guān)鍵詞,即選取產(chǎn)生聚類(lèi)效果最好的候選協(xié)議字段.

除了常規(guī)概率統(tǒng)計(jì)方法之外,部分研究使用概率模型對(duì)協(xié)議報(bào)文進(jìn)行建模,從而提取協(xié)議關(guān)鍵詞或推斷協(xié)議格式.目前被引入私有協(xié)議逆向分析的概率模型有潛在狄利克雷分配(latent Dirichlet allocation,LDA)模型[67]與隱馬爾可夫模型(hidden Markov models,HMM)[68]及其擴(kuò)展.

LDA模型是自然語(yǔ)言處理中常用的概率模型,用來(lái)識(shí)別大規(guī)模語(yǔ)料庫(kù)中潛在的主題信息,簡(jiǎn)單有效.LDA認(rèn)為語(yǔ)料庫(kù)中的所有文檔都是由基本單詞組成,文檔可以包含多個(gè)主題,因此文檔可以使用主題的概率分布來(lái)形式化描述,主題可以使用基本單詞的概率分布來(lái)形式化描述.因此,只要選定類(lèi)似的語(yǔ)料庫(kù)、文檔與基本單詞便可以通過(guò)2個(gè)概率分布來(lái)對(duì)實(shí)體進(jìn)行建模,最終推斷得到所需的主題信息.基于網(wǎng)絡(luò)流量的私有協(xié)議逆向分析在形式上十分類(lèi)似于自然語(yǔ)言處理,因此LDA模型的應(yīng)用具有一定可行性.Wang等人[69]提出的ProDecoder方法基于LDA模型挖掘候選協(xié)議字段間的潛在關(guān)系,推斷協(xié)議關(guān)鍵詞,最終通過(guò)聚類(lèi)得到協(xié)議格式.該方法使用協(xié)議報(bào)文集合作為語(yǔ)料庫(kù),將協(xié)議關(guān)鍵詞作為需要推斷的主題,同時(shí)還是N-gram候選協(xié)議字段的概率分布.為此需要確定語(yǔ)料庫(kù)中每個(gè)報(bào)文的協(xié)議關(guān)鍵詞的概率分布與每個(gè)協(xié)議關(guān)鍵詞的N-gram候選協(xié)議字段的概率分布.為解決上述問(wèn)題,ProDecoder結(jié)合了一種經(jīng)典的馬爾可夫鏈蒙特卡羅算法即吉布斯采樣(Gibbs sampling)來(lái)有效地找到近似解,從而獲得協(xié)議關(guān)鍵詞;之后將協(xié)議報(bào)文使用相關(guān)的協(xié)議關(guān)鍵詞與其概率進(jìn)行標(biāo)記,并采用層次聚類(lèi)方法將報(bào)文集聚類(lèi)為子類(lèi),在類(lèi)簇內(nèi)采用漸進(jìn)式NW算法得到協(xié)議格式.同樣,Li等人[70]使用上述基于LDA模型的算法提取協(xié)議關(guān)鍵詞,結(jié)合基于FP-Growth算法的關(guān)聯(lián)分析方法挖掘協(xié)議關(guān)鍵詞間的關(guān)系,但其并沒(méi)有進(jìn)一步推斷協(xié)議格式.

HMM是一種統(tǒng)計(jì)分析模型,用來(lái)描述一個(gè)含有隱狀態(tài)未知參數(shù)的馬爾可夫模型,并從已知的觀測(cè)狀態(tài)中推斷未知的隱狀態(tài)參數(shù).因此只要選定類(lèi)似的已知狀態(tài)鏈,即可對(duì)實(shí)體進(jìn)行HMM建模,結(jié)合算法最優(yōu)化HMM模型以推斷未知參數(shù).協(xié)議會(huì)話(huà)報(bào)文序列與單一報(bào)文字節(jié)序列均可類(lèi)似為HMM模型的觀測(cè)狀態(tài)鏈,報(bào)文類(lèi)型與協(xié)議關(guān)鍵詞則為對(duì)應(yīng)的觀測(cè)狀態(tài),因此將HMM應(yīng)用至基于網(wǎng)絡(luò)流量的協(xié)議逆向技術(shù)是可行的.Whalen等人[71]將協(xié)議視為一個(gè)隨機(jī)過(guò)程,協(xié)議報(bào)文視為該隨機(jī)過(guò)程的輸入字符串,協(xié)議以不同概率發(fā)送不同的協(xié)議報(bào)文實(shí)現(xiàn)信息交互,將HMM引入?yún)f(xié)議逆向分析技術(shù)中,提出基于協(xié)議會(huì)話(huà)構(gòu)建ε-machine來(lái)獲得滿(mǎn)足協(xié)議報(bào)文結(jié)構(gòu)的HMM模型,并推斷相應(yīng)的參數(shù).首先采用最小熵聚類(lèi)算法對(duì)協(xié)議報(bào)文進(jìn)行聚類(lèi),并使用PI方法[52]發(fā)現(xiàn)報(bào)文頭部邊界.在過(guò)濾掉高熵?cái)?shù)據(jù)后,結(jié)合協(xié)議報(bào)文的時(shí)間序列與狀態(tài)分類(lèi)算法構(gòu)建最小確定HMM模型εmachine.且該模型的狀態(tài)轉(zhuǎn)換以圖的形式表示協(xié)議頭部報(bào)文格式,并伴生出部分特有信息:信源熵率等.同樣基于隱馬爾可夫模型,Cai等人[72]對(duì)黎敏等人提出的基于HsMM的最佳報(bào)文分段算法[43]進(jìn)行優(yōu)化擴(kuò)展,使用2個(gè)矩陣分別代表候選協(xié)議字段和隱狀態(tài)之間的映射關(guān)系與候選協(xié)議字段間的位置關(guān)系,以完善的HsMM模型表示協(xié)議格式信息,從而得到協(xié)議關(guān)鍵詞;之后采用協(xié)議關(guān)鍵詞關(guān)系衡量協(xié)議報(bào)文間的相似度并基于AP聚類(lèi)算法對(duì)協(xié)議報(bào)文進(jìn)行聚類(lèi),為后續(xù)協(xié)議狀態(tài)機(jī)推斷做準(zhǔn)備.同樣,Li等人[73]將HsMM應(yīng)用到協(xié)議關(guān)鍵詞的挖掘中,根據(jù)協(xié)議關(guān)鍵詞的特性使用統(tǒng)計(jì)頻率度量字段成為協(xié)議關(guān)鍵詞的可能性,篩選top-K作為協(xié)議關(guān)鍵詞的候選集合,最后利用上述HsMM模型與Viterbi算法確定候選協(xié)議字段是否確實(shí)是協(xié)議關(guān)鍵詞.而He等人[74]將HMM應(yīng)用于工業(yè)物聯(lián)網(wǎng)(industrial Internet of things,IIoT)協(xié)議逆向分析中,以發(fā)現(xiàn)IIoT網(wǎng)絡(luò)協(xié)議的漏洞.

3.3 基于頻繁項(xiàng)挖掘的協(xié)議格式推斷

頻繁項(xiàng)挖掘是大數(shù)據(jù)分析領(lǐng)域常用的分析推斷數(shù)據(jù)間關(guān)系的方法,用來(lái)挖掘數(shù)據(jù)集中經(jīng)常一起出現(xiàn)的信息.頻繁項(xiàng)挖掘算法均需要設(shè)定支持度與置信度來(lái)衡量信息間關(guān)聯(lián)規(guī)則的強(qiáng)度.類(lèi)比到協(xié)議逆向分析中,協(xié)議報(bào)文由協(xié)議關(guān)鍵詞構(gòu)成,如果任意多個(gè)關(guān)鍵詞經(jīng)常在協(xié)議報(bào)文中同時(shí)出現(xiàn)且覆蓋較高比例的協(xié)議報(bào)文,那么這一組協(xié)議關(guān)鍵詞即可構(gòu)成協(xié)議格式.因此頻繁項(xiàng)挖掘經(jīng)常用來(lái)提取協(xié)議關(guān)鍵詞與協(xié)議格式,主要采用的頻繁項(xiàng)挖掘方法有Apriori算法[75]、FP-Growth算法[76]與PrefixSpan算法[77]等.

Apriori算法是經(jīng)典的數(shù)據(jù)挖掘算法,其認(rèn)為頻繁項(xiàng)集的非空子集也一定是頻繁的,因此它的基本思路是采用層次搜索的迭代方式,由候選的(k?1)-項(xiàng)集來(lái)挖掘k-項(xiàng)集,并逐一判斷k-項(xiàng)集是否頻繁.部分研究重點(diǎn)對(duì)支持度進(jìn)行創(chuàng)新,提出不同類(lèi)型的支持度以提高Apriori算法的挖掘精準(zhǔn)度.Luo等人[78]基于頻繁項(xiàng)挖掘的思想提出協(xié)議逆向分析方法AutoReEngine.首先定義2個(gè)支持度,即會(huì)話(huà)支持度和特定站點(diǎn)會(huì)話(huà)支持度,結(jié)合約束以迭代自增式生成頻繁項(xiàng),并量化每個(gè)頻繁項(xiàng)的4種位置類(lèi)型,以位置方差的形式反映其位置變化,由此推斷得到協(xié)議關(guān)鍵詞;之后設(shè)置面向協(xié)議關(guān)鍵詞組的會(huì)話(huà)支持度以及特定站點(diǎn)會(huì)話(huà)支持度,采用Apriori算法挖掘得到協(xié)議關(guān)鍵詞組集合,并基于此將協(xié)議報(bào)文進(jìn)行聚類(lèi).在不同聚類(lèi)簇中以協(xié)議關(guān)鍵詞組為骨架分析其余可變字段的屬性,得到協(xié)議格式.Lee等人[79]對(duì)分隔符進(jìn)行詳細(xì)推斷分析,考慮頻率、偏移、熵值等特征對(duì)報(bào)文進(jìn)行分段,并采用基于消息、流與服務(wù)3種支持度的Apriori算法補(bǔ)充候選協(xié)議字段.

部分研究重點(diǎn)關(guān)注對(duì)Apriori算法的改進(jìn),在改進(jìn)的基礎(chǔ)上提出相應(yīng)的算法,以實(shí)現(xiàn)協(xié)議逆向分析.Goo等人[80]在Apriori的基礎(chǔ)上提出基于樹(shù)形結(jié)構(gòu)的 CSP(contiguous sequence pattern)算法,分層使用最小支持度的概念,以挖掘協(xié)議報(bào)文的靜態(tài)字段,并進(jìn)行了擴(kuò)展,提出相應(yīng)的協(xié)議格式推斷方法[81].其根據(jù)協(xié)議關(guān)鍵詞長(zhǎng)度是否固定以及是否可預(yù)測(cè)定義了4種協(xié)議關(guān)鍵詞類(lèi)型,利用CSP算法挖掘固定長(zhǎng)度的可預(yù)測(cè)靜態(tài)協(xié)議關(guān)鍵詞;之后根據(jù)設(shè)定閾值與統(tǒng)計(jì)數(shù)據(jù)將剩余字段劃分為其他3種類(lèi)型,即推斷得到的協(xié)議格式均由上述4種類(lèi)型協(xié)議字段填充,但該協(xié)議格式并不具有代表性,在此不進(jìn)行贅述.秦中元等人[82]考慮二進(jìn)制協(xié)議在使用頻繁項(xiàng)挖掘時(shí)的長(zhǎng)度與篩選問(wèn)題,對(duì)其進(jìn)行改進(jìn)來(lái)推斷二進(jìn)制協(xié)議報(bào)文格式.首先以半字節(jié)為單位,應(yīng)用長(zhǎng)度為1,2,3,4的4種N-gram算法構(gòu)造候選協(xié)議字段,并同時(shí)記錄候選協(xié)議字段的頻率及位置信息;之后結(jié)合支持度閾值與位置熵來(lái)挖掘滿(mǎn)足條件的頻繁項(xiàng),將其作為協(xié)議關(guān)鍵詞;最后采用正向最大匹配算法與專(zhuān)家投票算法推斷得到二進(jìn)制協(xié)議的報(bào)文分段點(diǎn),并基于詞邊界熵信息對(duì)報(bào)文分段點(diǎn)進(jìn)一步篩選以推斷正確的協(xié)議格式.

FP-Growth算法構(gòu)建樹(shù)形結(jié)構(gòu),每個(gè)頻繁項(xiàng)均作為樹(shù)的結(jié)點(diǎn),并擁有相應(yīng)的計(jì)數(shù)與關(guān)聯(lián)信息;之后在樹(shù)上遞歸挖掘出所有頻繁項(xiàng),并在頻繁項(xiàng)間產(chǎn)生關(guān)聯(lián)規(guī)則.Li等人[83]采用ProWord方法[39]生成候選協(xié)議字段,規(guī)定候選協(xié)議字段的長(zhǎng)度范圍與位置信息熵以進(jìn)行預(yù)篩選;之后在候選協(xié)議字段上采用FP-Growth算法挖掘頻繁項(xiàng)集合,并結(jié)合字段間關(guān)系過(guò)濾噪音,保留最大支持度的頻繁項(xiàng)作為有效的協(xié)議關(guān)鍵詞.Lin等人[84]在FP-Growth算法的基礎(chǔ)上,提出CFSM(closed frequent sequences mining)算法來(lái)挖掘協(xié)議關(guān)鍵詞以及位置信息,并基于這些信息提出CFGM(closed frequent groups mining)算法推斷協(xié)議關(guān)鍵詞間的關(guān)系.CFGM基于最長(zhǎng)公共子序列長(zhǎng)度與F-DBSCAN算法對(duì)協(xié)議報(bào)文進(jìn)行聚類(lèi);之后在類(lèi)簇內(nèi)采用N-gram算法生成候選協(xié)議字段,以散列表(Hash table)形式存儲(chǔ)并挖掘協(xié)議關(guān)鍵詞;最后基于協(xié)議關(guān)鍵詞的位置信息構(gòu)建樹(shù)形結(jié)構(gòu),反映協(xié)議關(guān)鍵詞間的并列、順序以及層次關(guān)系,從而推斷協(xié)議格式.

PrefixSpan算法的目標(biāo)是挖掘滿(mǎn)足最小支持度的頻繁序列模式,與FP-Growth算法的目標(biāo)稍有不同,但其與Apriori算法類(lèi)似,從長(zhǎng)度為1的前綴開(kāi)始挖掘序列模式,并搜索數(shù)據(jù)集合得到長(zhǎng)度為1的前綴對(duì)應(yīng)的頻繁序列,之后遞歸挖掘長(zhǎng)度為2的前綴對(duì)應(yīng)的頻繁序列,直到滿(mǎn)足長(zhǎng)度閾值為止.朱玉娜等人[85]提出一種面向加密協(xié)議的格式解析方法SPFPA,基于頻繁序列挖掘提取加密協(xié)議中具有時(shí)序關(guān)系的協(xié)議關(guān)鍵詞.SPFPA規(guī)定了2種頻繁項(xiàng):以字節(jié)為單位的固定偏移頻繁單字節(jié)和滿(mǎn)足最小長(zhǎng)度閾值的頻繁字節(jié)序列.設(shè)定支持度以實(shí)現(xiàn)上述頻繁項(xiàng)的提取,并構(gòu)建包含頻繁項(xiàng)的頻率、偏移、相鄰與關(guān)聯(lián)等信息的樹(shù)形結(jié)構(gòu).最后采用PrefixSpan算法的思想構(gòu)建投影庫(kù),在樹(shù)上以層次順序挖掘協(xié)議關(guān)鍵詞序列,即可得到加密協(xié)議明文區(qū)域的報(bào)文格式.

3.4 基于深度學(xué)習(xí)的協(xié)議格式推斷

深度學(xué)習(xí)重點(diǎn)應(yīng)用于分類(lèi)領(lǐng)域,因此基于深度學(xué)習(xí)的協(xié)議格式推斷也類(lèi)似地將格式推斷轉(zhuǎn)化為協(xié)議關(guān)鍵詞類(lèi)型的分類(lèi)問(wèn)題.先利用已知類(lèi)型的協(xié)議關(guān)鍵詞訓(xùn)練分類(lèi)器,之后將協(xié)議報(bào)文分段的候選協(xié)議字段輸入,從而得到協(xié)議關(guān)鍵詞,并重構(gòu)協(xié)議格式.

Zhao等人[90]結(jié)合工業(yè)控制協(xié)議的特征,將卷積神經(jīng)網(wǎng)絡(luò)引入?yún)f(xié)議逆向分析中,考慮協(xié)議會(huì)話(huà)報(bào)文集的時(shí)序關(guān)系,提出一種基于長(zhǎng)短期記憶全卷積神經(jīng) 網(wǎng)絡(luò) (long short-term memory fully convolutional neural, LSTM-FCN)模型[91]的私有工業(yè)控制協(xié)議的格式推斷算法.首先對(duì)大量已知公開(kāi)工業(yè)控制協(xié)議數(shù)據(jù)按照規(guī)范進(jìn)行字段劃分,將5種類(lèi)型的字段結(jié)合數(shù)據(jù)時(shí)序關(guān)系生成時(shí)序集合,并輸入LSTM-FCN分類(lèi)模型進(jìn)行訓(xùn)練;之后對(duì)于私有工業(yè)控制協(xié)議以字節(jié)為單位進(jìn)行分段,劃分為時(shí)序集合,采用訓(xùn)練好的模型確定上述候選協(xié)議字段的類(lèi)型.以字節(jié)為單位的劃分必然存在過(guò)分段的情況,因此考慮對(duì)連續(xù)類(lèi)型的字節(jié)進(jìn)行融合得到完整的協(xié)議關(guān)鍵詞,最終推斷出私有工業(yè)控制協(xié)議格式.之后Yang等人[92]基于同樣的思想,使用已知6種類(lèi)型的字段集合訓(xùn)練LSTMFCN模型.將協(xié)議報(bào)文按照0.5B,1B,2B,4B這4種粒度進(jìn)行劃分;并使用訓(xùn)練好的模型對(duì)所有字節(jié)序列進(jìn)行分類(lèi)并記錄分類(lèi)結(jié)果;最后使用區(qū)域劃分算法,考慮字節(jié)序列分類(lèi)結(jié)果的分布集中程度,以標(biāo)準(zhǔn)差來(lái)衡量,得到最佳的字節(jié)序列分類(lèi)結(jié)果,推斷未知協(xié)議格式.

綜上所述,協(xié)議格式推斷承接預(yù)推理的結(jié)果展開(kāi)進(jìn)一層次的私有協(xié)議逆向分析,其輸出結(jié)果為協(xié)議關(guān)鍵詞與協(xié)議報(bào)文格式集合,挖掘更多私有協(xié)議規(guī)范.表3分類(lèi)概述了協(xié)議格式推斷部分相關(guān)研究的主要內(nèi)容,包括面向協(xié)議類(lèi)型、方法基礎(chǔ)、推斷算法與對(duì)比分析等.表3中將采用了相同方法但應(yīng)用場(chǎng)景不同的研究歸為一類(lèi),與其他方法進(jìn)行對(duì)比分析.由表3可知,序列比對(duì)算法打開(kāi)了基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)的大門(mén),之后由于序列比對(duì)算法的局限性與自然語(yǔ)言處理的興起,部分概率統(tǒng)計(jì)方法逐漸成為研究的熱潮,同時(shí)數(shù)據(jù)挖掘方法的應(yīng)用亦使得基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)更加完善.

4 語(yǔ)義分析

語(yǔ)義分析是私有協(xié)議逆向技術(shù)的進(jìn)階步驟,其主要是為了推斷報(bào)文字段(包括協(xié)議關(guān)鍵詞與其余字段)或協(xié)議報(bào)文的語(yǔ)義信息,從而更好地理解協(xié)議.目前所有的方法均依賴(lài)于分析人員的最終解釋?zhuān)从煞治鋈藛T定義語(yǔ)義字段的種類(lèi)并提出對(duì)應(yīng)的分析方法.因此語(yǔ)義分析的第1個(gè)任務(wù)是定義報(bào)文字段的語(yǔ)義種類(lèi),第2個(gè)任務(wù)是針對(duì)不同種類(lèi)型語(yǔ)義字段提出相應(yīng)的分析方法.

本文把報(bào)文字段的語(yǔ)義信息主要分為4種:1)環(huán)境參數(shù)相關(guān)語(yǔ)義,其主要指的是與環(huán)境系統(tǒng)相關(guān)的一些設(shè)置參數(shù),例如端口、地址、結(jié)點(diǎn)名、文件名以及時(shí)間戳等,這類(lèi)語(yǔ)義信息可以通過(guò)記錄傳輸環(huán)境相關(guān)信息,通過(guò)報(bào)文字段取值對(duì)比來(lái)進(jìn)行分析;2)標(biāo)識(shí)性語(yǔ)義,其主要指的是與類(lèi)型標(biāo)識(shí)相關(guān)的一些標(biāo)識(shí)符,例如計(jì)數(shù)器、報(bào)文類(lèi)型標(biāo)識(shí)符以及會(huì)話(huà)ID、序列ID等,這類(lèi)語(yǔ)義信息可以通過(guò)對(duì)協(xié)議不同格式報(bào)文進(jìn)行對(duì)比來(lái)加以分析,判斷報(bào)文字段取值是否自增或自減、是否在同類(lèi)報(bào)文中保持不變等;3)指示性語(yǔ)義,其主要指的是反映其他字段屬性或整體的報(bào)文字段,例如指示其他字段的長(zhǎng)度、偏移量、偏移指針以及校驗(yàn)碼(反映報(bào)文整體散列值)等,這類(lèi)語(yǔ)義信息可以通過(guò)在報(bào)文字段的次序關(guān)系中,挖掘前字段的值是否表示后字段的某一屬性,校驗(yàn)碼則可以通過(guò)嘗試各種散列算法來(lái)分析;4)特殊語(yǔ)義,其主要指的是部分協(xié)議特有的報(bào)文字段,例如工控協(xié)議的功能代碼字段以及加密協(xié)議的加密字段等,這類(lèi)語(yǔ)義信息需要提出針對(duì)性的方法進(jìn)行檢測(cè).

Table 3 Summary of Protocol Format Inference表3 協(xié)議格式推斷方法概述

本文將現(xiàn)有語(yǔ)義分析研究方法分為2類(lèi):基于字段取值的語(yǔ)義分析以及基于先驗(yàn)知識(shí)模板匹配的語(yǔ)義分析.

4.1 基于字段取值的語(yǔ)義分析

基于字段取值的語(yǔ)義分析需要將同一范圍的字段值生成數(shù)值集合,通過(guò)取值來(lái)判斷其所屬語(yǔ)義,同時(shí)對(duì)部分協(xié)議的特殊語(yǔ)義字段針對(duì)性的提出檢測(cè)方法.

Cui等人[56]在RolePlayer方法中提出了4種具有語(yǔ)義信息的動(dòng)態(tài)字段:1)端口、地址;2)長(zhǎng)度;3)參數(shù);4)cookie,特定于雙方會(huì)話(huà)中的不透明數(shù)據(jù),例如事務(wù)ID.該方法將端口、地址以及參數(shù)作為先驗(yàn)知識(shí)利用NW算法,對(duì)報(bào)文分段對(duì)齊,從協(xié)議格式的角度推斷長(zhǎng)度、參數(shù)2種語(yǔ)義字段.針對(duì)cookie,特殊制定了4條規(guī)則(包括前綴、后綴匹配等)進(jìn)行判斷.之后在提出的Discoverer方法[57]中又增加了2種字段語(yǔ)義:1)偏移量;2)偏移指針;并對(duì)RolePlayer方法的語(yǔ)義分析方法從字段取值分析的角度進(jìn)行擴(kuò)展:分析字段取值集合與對(duì)應(yīng)后續(xù)報(bào)文字段的長(zhǎng)度、偏移量的差 異 性.Bermudez等 人[93-94]提 出 的 FieldHunter方法,對(duì)基于字段取值的語(yǔ)義分析方法進(jìn)行完善,針對(duì)性地提出6種字段語(yǔ)義與對(duì)應(yīng)檢測(cè)方法:1)針對(duì)報(bào)文類(lèi)型,結(jié)合請(qǐng)求、響應(yīng)報(bào)文字段具有高相關(guān)性的特點(diǎn),采用信息論的方法度量報(bào)文字段間的因果關(guān)系,引入閾值進(jìn)行篩選;2)針對(duì)報(bào)文長(zhǎng)度,結(jié)合報(bào)文長(zhǎng)度與字段取值呈線(xiàn)性相關(guān)的特點(diǎn),使用Pearson系數(shù)與線(xiàn)性相關(guān)方程進(jìn)行篩選;3)針對(duì)主機(jī)ID、會(huì)話(huà)ID,由于主機(jī)ID、會(huì)話(huà)ID均與IP地址強(qiáng)相關(guān),因此計(jì)算字段取值與IP地址信息的聯(lián)合分布,同樣引入閾值進(jìn)行篩選;4)針對(duì)傳輸ID,使用信息熵來(lái)評(píng)價(jià)字段取值的隨機(jī)性,并結(jié)合請(qǐng)求、響應(yīng)報(bào)文分析字段一致性,引入最小支持度和最小字段長(zhǎng)度進(jìn)行篩選;5)針對(duì)計(jì)數(shù)器,計(jì)算連續(xù)2個(gè)協(xié)議報(bào)文的字段差值,篩選熵值較低的字段作為計(jì)數(shù)器語(yǔ)義字段.

之后的基于字段取值的語(yǔ)義分析相關(guān)研究也多是基于FieldHunter方法,但部分研究重點(diǎn)關(guān)注協(xié)議的特殊語(yǔ)義信息,提出針對(duì)性的分析方法.Carli等人[95]針對(duì)解密后的惡意軟件流量提出了一種協(xié)議逆向技術(shù),定義了4種字段語(yǔ)義,并針對(duì)加密字段采用Shannon熵和N截?cái)囔貦z測(cè)報(bào)文字段的隨機(jī)性.Ladi等人[96]提出一種面向二進(jìn)制協(xié)議的語(yǔ)義分析方法,定義了7種字段語(yǔ)義,并針對(duì)長(zhǎng)度前綴字符串、空結(jié)尾字符串等采用指針逐字節(jié)進(jìn)行分析,檢測(cè)其是否滿(mǎn)足語(yǔ)義的屬性.Wang等人[65]在提出的IPART方法中定義了工控協(xié)議的4種字段語(yǔ)義.針對(duì)功能代碼,提出基于字段范圍內(nèi)不同數(shù)值個(gè)數(shù)、字段偏移和字段條目,結(jié)合自定義公式計(jì)算得分,選擇得分最高的字段作為功能代碼語(yǔ)義.張蔚瑤等人[97]在其提出的協(xié)議模糊測(cè)試工具UPAFuzz中定義了5種字段語(yǔ)義,并將語(yǔ)義字段分為2類(lèi):一類(lèi)為取值無(wú)限的字段,如序列號(hào)、文本字段等;另一類(lèi)為取值有限的字段,如檢驗(yàn)碼、長(zhǎng)度等,針對(duì)性地提出循環(huán)對(duì)比法來(lái)進(jìn)行推斷.

(2)濃鹽酸易揮發(fā),反應(yīng)制取的氯氣中含有HCl,裝置B中飽和食鹽水的作用是除去Cl2中的HCl;若裝置C發(fā)生堵塞,裝置B中的壓強(qiáng)會(huì)增大,長(zhǎng)頸漏斗中液面上升,形成水柱。

4.2 基于模板匹配的語(yǔ)義分析

基于模板匹配的語(yǔ)義分析方法需要正確的先驗(yàn)知識(shí)生成各類(lèi)語(yǔ)義字段的統(tǒng)一模板,之后判斷未知語(yǔ)義的報(bào)文字段與模板之間的關(guān)系,從而確定報(bào)文字段的所屬語(yǔ)義.

Ji等人[25]在對(duì)無(wú)人機(jī)私有飛行控制協(xié)議分析時(shí),提出一種分析CRC與奇偶校驗(yàn)碼字段的方法.該方法采用PI方法[52]提取出協(xié)議的靜態(tài)字段、動(dòng)態(tài)字段等,考慮到校驗(yàn)碼字段通常在協(xié)議報(bào)文數(shù)據(jù)末位且沒(méi)有明顯趨勢(shì)特征進(jìn)行過(guò)濾,并采用一系列邏輯異或公式生成模板,匹配報(bào)文字段以篩選出校驗(yàn)碼語(yǔ)義字段.Kleber等人[62]在準(zhǔn)確的已知字段語(yǔ)義信息作為先驗(yàn)知識(shí)的基礎(chǔ)上采用聚類(lèi)方法分析未知報(bào)文字段語(yǔ)義.該方法首先將已知語(yǔ)義信息的字段解釋為字節(jié)值向量,通過(guò)Canberra距離定義其不相似性,并使用DBSCAN算法對(duì)字段進(jìn)行聚類(lèi);之后在類(lèi)簇內(nèi)生成描述該語(yǔ)義信息的數(shù)字模板,即已知字段語(yǔ)義信息與數(shù)據(jù)模板一一對(duì)應(yīng);最后采用NEMESYS方法[48]對(duì)協(xié)議報(bào)文進(jìn)行分段,并計(jì)算報(bào)文字段與數(shù)據(jù)模板的馬氏距離(Mahalanobis distance)來(lái)確定其所屬語(yǔ)義信息.文獻(xiàn)[62]分析得到數(shù)據(jù)模板的語(yǔ)義字段類(lèi)型包括:1)檢驗(yàn)碼;2)浮點(diǎn)型數(shù)據(jù);3)ID;4)IPv4地址;5)時(shí)間戳等.Wang等人[98]重點(diǎn)關(guān)注工業(yè)控制協(xié)議逆向分析,在提出的MSERA方法中定義了7種字段語(yǔ)義:1)協(xié)議標(biāo)識(shí)符;2)長(zhǎng)度;3)序列號(hào);4)CRC校驗(yàn)碼;5)時(shí)間戳;6)功能代碼;7)站點(diǎn)標(biāo)識(shí)符,即客戶(hù)端和服務(wù)器的身份標(biāo)識(shí)字段.之后根據(jù)上述7個(gè)語(yǔ)義字段的取值特征以及位置特征生成特征模板,利用啟發(fā)式方法進(jìn)行字段語(yǔ)義的識(shí)別,并將識(shí)別的字段進(jìn)行標(biāo)記.然后采用基于報(bào)文長(zhǎng)度的DBSCAN聚類(lèi)算法進(jìn)行聚類(lèi),并利用NW算法對(duì)齊以篩選出報(bào)文分段點(diǎn),最后在動(dòng)態(tài)字段上迭代挖掘上次未識(shí)別出的字段語(yǔ)義:協(xié)議標(biāo)識(shí)符、長(zhǎng)度等,同時(shí)對(duì)于字節(jié)取值為空的特殊情況進(jìn)行了考慮.

綜上所述,語(yǔ)義分析重點(diǎn)承接協(xié)議格式推斷中的協(xié)議關(guān)鍵詞提取的結(jié)果,賦予報(bào)文字段更多屬性,并作為協(xié)議狀態(tài)機(jī)推理的基礎(chǔ).同時(shí)方便分析人員構(gòu)造更完整的協(xié)議報(bào)文,以實(shí)現(xiàn)對(duì)協(xié)議交互的測(cè)試.語(yǔ)義類(lèi)型由人為定義,因此語(yǔ)義分析結(jié)果均由分析人員進(jìn)行解釋.表4分類(lèi)概述了語(yǔ)義分析部分相關(guān)研究的主要內(nèi)容,包括各個(gè)研究工作中定義的4種字段語(yǔ)義與對(duì)比分析.由表4可知,語(yǔ)義分析采用的方法主要是基于字段取值分析,同時(shí)針對(duì)普通語(yǔ)義以及部分協(xié)議的特殊語(yǔ)義進(jìn)行分析,或基于已知語(yǔ)義字段生成匹配規(guī)則,從而實(shí)現(xiàn)對(duì)未知字段語(yǔ)義類(lèi)型的判斷.

Table 4 Summary of Semantic Analysis表4 語(yǔ)義分析方法概述

5 協(xié)議狀態(tài)機(jī)推理

協(xié)議狀態(tài)機(jī)推理是私有協(xié)議逆向技術(shù)的升華步驟,其在協(xié)議逆向前3個(gè)步驟的基礎(chǔ)上,匯總所有已知信息、分析結(jié)果推理協(xié)議逆向技術(shù)的最終目標(biāo):協(xié)議狀態(tài)機(jī).

協(xié)議狀態(tài)機(jī)是協(xié)議狀態(tài)之間轉(zhuǎn)換的數(shù)學(xué)模型,本文將協(xié)議狀態(tài)定義為在接受特定事件(收到特定類(lèi)型報(bào)文)或執(zhí)行相應(yīng)動(dòng)作(發(fā)送特定類(lèi)型報(bào)文)時(shí)的狀態(tài).狀態(tài)轉(zhuǎn)換就是協(xié)議在執(zhí)行上述操作后從一個(gè)狀態(tài)轉(zhuǎn)換為下一個(gè)狀態(tài)的過(guò)程,即不同類(lèi)型的協(xié)議報(bào)文是影響協(xié)議狀態(tài)轉(zhuǎn)換的主要因素.可以使用一個(gè)三元組來(lái)表示:M=(S, P, δ),其中S表示協(xié)議的有限狀態(tài)集合,包括協(xié)議的初始狀態(tài)與結(jié)束狀態(tài),P表示不同類(lèi)型的報(bào)文集合,δ表示狀態(tài)轉(zhuǎn)移函數(shù),其接受不同類(lèi)型的報(bào)文實(shí)現(xiàn)狀態(tài)的轉(zhuǎn)換.報(bào)文是引起協(xié)議狀態(tài)轉(zhuǎn)換的主要條件,而不是狀態(tài)本身.因此協(xié)議狀態(tài)機(jī)推理的第1個(gè)任務(wù)就是篩選出不同類(lèi)型的協(xié)議報(bào)文,并基于此完成第2個(gè)任務(wù),即上述協(xié)議狀態(tài)機(jī)的構(gòu)建.如果使用圖來(lái)描述協(xié)議狀態(tài)機(jī)的話(huà),那么結(jié)點(diǎn)即為協(xié)議的不同狀態(tài),相鄰結(jié)點(diǎn)之間的邊即為不同類(lèi)型的報(bào)文引起的狀態(tài)轉(zhuǎn)換.

建立一個(gè)完備的協(xié)議狀態(tài)機(jī),需要協(xié)議交互時(shí)各種情況存在的會(huì)話(huà)報(bào)文序列以詳盡地推斷完整的狀態(tài)轉(zhuǎn)換,構(gòu)建的狀態(tài)機(jī)也十分龐大,必然存在狀態(tài)冗余的情況.因此協(xié)議狀態(tài)機(jī)推理的第3個(gè)任務(wù)就是協(xié)議狀態(tài)機(jī)的簡(jiǎn)化.需要推理狀態(tài)間存在的潛在循環(huán),挖掘初始狀態(tài)的唯一性、狀態(tài)間轉(zhuǎn)換的次序性以及狀態(tài)接受報(bào)文類(lèi)型的多樣性,將狀態(tài)間的轉(zhuǎn)換(邊)或狀態(tài)(結(jié)點(diǎn))進(jìn)行合并化簡(jiǎn),但需要遵循狀態(tài)機(jī)的每一條從初始狀態(tài)出發(fā)到結(jié)束狀態(tài)的路徑均為協(xié)議一次完整的會(huì)話(huà).

由于方法的獨(dú)立性,現(xiàn)有研究中均會(huì)提出一套完整的協(xié)議狀態(tài)機(jī)推理方案,其中必然包括前3個(gè)步驟的推斷方法,具有一定的共通性,因此本節(jié)會(huì)對(duì)其進(jìn)行簡(jiǎn)要概述,并將重點(diǎn)放在狀態(tài)機(jī)構(gòu)建與狀態(tài)機(jī)簡(jiǎn)化上.

5.1 傳統(tǒng)協(xié)議狀態(tài)機(jī)推理

協(xié)議交互報(bào)文是協(xié)議狀態(tài)轉(zhuǎn)換的引發(fā)條件,因此常規(guī)協(xié)議交互式是協(xié)議狀態(tài)機(jī)推理的最基本方法,部分研究根據(jù)全部協(xié)議會(huì)話(huà)進(jìn)行狀態(tài)機(jī)推理,之后制定規(guī)則對(duì)協(xié)議狀態(tài)機(jī)進(jìn)行簡(jiǎn)化.

Leita等人[17]為了自動(dòng)化生成蜜罐腳本,提出了名為ScriptGen的方法,針對(duì)蜜罐專(zhuān)有協(xié)議的網(wǎng)絡(luò)流量進(jìn)行分析,并生成蜜罐腳本部署在現(xiàn)網(wǎng)中以便分析人員測(cè)試未知的協(xié)議.ScriptGen是第一個(gè)基于報(bào)文交互流量生成協(xié)議狀態(tài)機(jī)的工具,設(shè)定協(xié)議狀態(tài)的最大出度閾值與最大狀態(tài)數(shù)閾值控制協(xié)議狀態(tài)機(jī)的上限結(jié)構(gòu),以迭代方式逐個(gè)添加所有協(xié)議會(huì)話(huà)來(lái)構(gòu)建協(xié)議狀態(tài)機(jī).之后采用PI方法[52]判斷2個(gè)報(bào)文是否語(yǔ)義上相似,并以不同字節(jié)的個(gè)數(shù)作為報(bào)文間距離進(jìn)行聚類(lèi)(宏聚類(lèi));在宏聚類(lèi)的基礎(chǔ)上,提出區(qū)域分析算法以不同區(qū)域的異變性作為距離再一次進(jìn)行聚類(lèi)(微聚類(lèi)).最后根據(jù)聚類(lèi)后的結(jié)果將相似類(lèi)簇內(nèi)的狀態(tài)和轉(zhuǎn)換合并,簡(jiǎn)化協(xié)議狀態(tài)機(jī).Trifilo等人[99]針對(duì)二進(jìn)制協(xié)議狀態(tài)機(jī)的推理進(jìn)行了研究,并創(chuàng)新性提出狀態(tài)分裂算法.首先逐字節(jié)統(tǒng)計(jì)分析其方差分布的變化(variance of the distribution of variances, VDV),得到標(biāo)識(shí)報(bào)文不同類(lèi)型的相關(guān)字段,并基于上述字段提出狀態(tài)分裂算法定義協(xié)議狀態(tài)并挖掘狀態(tài)間的轉(zhuǎn)換;之后以滑動(dòng)窗口的形式遍歷協(xié)議會(huì)話(huà)報(bào)文序列,得到每個(gè)窗口內(nèi)的狀態(tài)序列,將連續(xù)3個(gè)窗口中的任意2個(gè)狀態(tài)序列進(jìn)行對(duì)比以分離出不存在的狀態(tài),如此便創(chuàng)建了只有幾個(gè)正確狀態(tài)的狀態(tài)轉(zhuǎn)化;最后狀態(tài)分裂算法導(dǎo)致生成的協(xié)議狀態(tài)機(jī)具有多余的轉(zhuǎn)換邊,因此制定2個(gè)規(guī)則來(lái)對(duì)狀態(tài)機(jī)進(jìn)行簡(jiǎn)化.

部分研究將協(xié)議報(bào)文連續(xù)子序列作為狀態(tài),推理協(xié)議狀態(tài)機(jī).Shevertalov等人[35]提出協(xié)議狀態(tài)機(jī)推理工具PEXT,首先將聚類(lèi)后的報(bào)文使用簇ID進(jìn)行標(biāo)記,則一個(gè)會(huì)話(huà)的報(bào)文序列就生成一組編號(hào)序列,采用最長(zhǎng)公共子串算法篩選出子序列并將其組合為狀態(tài);之后利用上述狀態(tài)集合對(duì)所有協(xié)議會(huì)話(huà)進(jìn)行標(biāo)記,基于標(biāo)記后的多個(gè)狀態(tài)序列構(gòu)建協(xié)議狀態(tài)轉(zhuǎn)換圖;最后采用基于報(bào)文流向的2個(gè)轉(zhuǎn)換對(duì)協(xié)議狀態(tài)機(jī)進(jìn)行化簡(jiǎn),并保證每個(gè)轉(zhuǎn)換的離開(kāi)狀態(tài)都是唯一確定的.但PEXT方法構(gòu)建的僅僅是報(bào)文類(lèi)型之間順序模型,有違協(xié)議狀態(tài)機(jī)原理,并不能作為常規(guī)的協(xié)議狀態(tài)機(jī)來(lái)使用,之后的AutoReEngine方法[78]推理的協(xié)議狀態(tài)機(jī)亦是如此.

5.2 基于概率分析的協(xié)議狀態(tài)機(jī)推理

在基于協(xié)議交互的基礎(chǔ)上,部分研究對(duì)交互的過(guò)程進(jìn)行統(tǒng)計(jì)分析,通過(guò)概率分析方法確定狀態(tài)之間的轉(zhuǎn)移,并為協(xié)議狀態(tài)機(jī)添加更多的信息以對(duì)其進(jìn)行完善;或是采用概率模型以構(gòu)建協(xié)議狀態(tài)機(jī),并基于此進(jìn)行優(yōu)化.

Wang等人[63]提出一種基于概率分析的狀態(tài)機(jī)推理方法Veritas,并創(chuàng)新性地定義了一種概率協(xié)議狀態(tài)機(jī),即協(xié)議狀態(tài)機(jī)的概率泛化模型.該方法以協(xié)議報(bào)文頭部字節(jié)序列為基礎(chǔ),結(jié)合PAM算法與Jaccard指數(shù)對(duì)協(xié)議報(bào)文進(jìn)行聚類(lèi),并選擇聚類(lèi)中心作為協(xié)議狀態(tài)報(bào)文,使用協(xié)議狀態(tài)報(bào)文對(duì)協(xié)議會(huì)話(huà)進(jìn)行標(biāo)記,得到報(bào)文狀態(tài)序列.之后計(jì)算任意2個(gè)連續(xù)狀態(tài)之間的頻率,并構(gòu)建有向圖來(lái)描述每對(duì)協(xié)議狀態(tài)之間的連接,最終得到自行定義的概率協(xié)議狀態(tài)機(jī).但其并沒(méi)有進(jìn)一步對(duì)概率協(xié)議狀態(tài)機(jī)進(jìn)行簡(jiǎn)化.Krueger等人[18]為分析蜜罐等惡意軟件協(xié)議提出協(xié)議狀態(tài)機(jī)推理方法PRISMA,其對(duì)ASAP方法[100]進(jìn)行了擴(kuò)展.PRISMA首先按照二進(jìn)制類(lèi)和文本類(lèi)分別提出2種方法對(duì)協(xié)議報(bào)文進(jìn)行聚類(lèi);之后采用馬爾可夫模型構(gòu)建協(xié)議狀態(tài)機(jī),根據(jù)聚類(lèi)簇中的報(bào)文類(lèi)型標(biāo)簽,通過(guò)最大似然估計(jì)初始概率和轉(zhuǎn)換概率,直接學(xué)習(xí)生成馬爾可夫模型;最后將馬爾可夫模型轉(zhuǎn)化為協(xié)議狀態(tài)機(jī),應(yīng)用Moore狀態(tài)機(jī)最小化算法進(jìn)行簡(jiǎn)化.

5.3 基于啟發(fā)式樹(shù)形構(gòu)建的協(xié)議狀態(tài)機(jī)推理

樹(shù)形結(jié)構(gòu)由上到下展開(kāi),符合協(xié)議間狀態(tài)轉(zhuǎn)換的規(guī)律,同時(shí)基于啟發(fā)式樹(shù)形構(gòu)建的過(guò)程也就是協(xié)議狀態(tài)機(jī)構(gòu)建的過(guò)程,當(dāng)基于協(xié)議會(huì)話(huà)的樹(shù)構(gòu)建完整時(shí),即可得到樹(shù)形結(jié)構(gòu)的協(xié)議狀態(tài)機(jī).之后考慮層次結(jié)點(diǎn)間的報(bào)文類(lèi)型是否相似、是否有相同的輸入輸出等以判斷結(jié)點(diǎn)間是否可以合并,從而簡(jiǎn)化協(xié)議狀態(tài)機(jī).

Gorbunov等人[53]提出了基于協(xié)議狀態(tài)機(jī)的可擴(kuò)展協(xié)議模糊測(cè)試框架AutoFuzz.該框架重點(diǎn)為了測(cè)試協(xié)議的安全性與可靠性,發(fā)現(xiàn)協(xié)議漏洞,其構(gòu)造協(xié)議狀態(tài)機(jī)的方法主要是Hsu等人[101]提出的.首先將協(xié)議會(huì)話(huà)中代表狀態(tài)循環(huán)的循環(huán)報(bào)文刪除并記下相應(yīng)的位置;之后生成只有根結(jié)點(diǎn)(初始狀態(tài))的樹(shù)形協(xié)議狀態(tài)機(jī),將所有會(huì)話(huà)序列逐步添加到樹(shù)中:如果該報(bào)文沒(méi)有在樹(shù)中出現(xiàn),則在狀態(tài)結(jié)點(diǎn)上添加葉子結(jié)點(diǎn).針對(duì)會(huì)話(huà)序列繁多導(dǎo)致的狀態(tài)機(jī)樹(shù)龐大問(wèn)題,AutoFuzz提出狀態(tài)等價(jià)原則對(duì)協(xié)議狀態(tài)機(jī)進(jìn)行剪枝化簡(jiǎn).Lee等人[102]基于樹(shù)形協(xié)議狀態(tài)機(jī)提出一種基于狀態(tài)兼容性原則的狀態(tài)機(jī)最小化方法PRETT,在消除冗余狀態(tài)的同時(shí),推導(dǎo)出最小化狀態(tài)機(jī).提出2個(gè)原則測(cè)試樹(shù)每層的候選狀態(tài)與其他狀態(tài)之間的兼容性來(lái)進(jìn)行狀態(tài)合并,消除冗余狀態(tài),最終得到僅由有效狀態(tài)組成的最小化協(xié)議狀態(tài)機(jī).

前綴樹(shù)是一種有序樹(shù)形結(jié)構(gòu),每個(gè)結(jié)點(diǎn)的取值由該結(jié)點(diǎn)在樹(shù)中的位置決定,一個(gè)結(jié)點(diǎn)的所有子孫均具有相同的前綴.部分協(xié)議會(huì)話(huà)前期交互由固定類(lèi)型的報(bào)文序列完成,因此通過(guò)前綴樹(shù)可以更好地構(gòu)建較為簡(jiǎn)潔的協(xié)議狀態(tài)機(jī),從而減輕簡(jiǎn)化協(xié)議狀態(tài)機(jī)的壓力.前綴樹(shù)接受器(prefix tree acceptor, PTA)正是基于前綴樹(shù)而構(gòu)建的接受協(xié)議會(huì)話(huà)的實(shí)例,從而實(shí)現(xiàn)滿(mǎn)足多協(xié)議會(huì)話(huà)的要求.

Antunes等人[103]提出了基于網(wǎng)絡(luò)流量的文本類(lèi)協(xié)議逆向技術(shù)ReverX,主要構(gòu)建2個(gè)PTA來(lái)完成協(xié)議狀態(tài)機(jī)的推理.首先構(gòu)造一個(gè)PTA啟發(fā)式接受所有協(xié)議報(bào)文并記錄轉(zhuǎn)換的頻數(shù);之后采用Moore狀態(tài)機(jī)最小化算法將具有類(lèi)似轉(zhuǎn)換的等價(jià)狀態(tài)合并,以接受相同類(lèi)型報(bào)文的不同實(shí)例,并區(qū)分不同的報(bào)文類(lèi)型;然后將協(xié)議會(huì)話(huà)轉(zhuǎn)換為報(bào)文類(lèi)型序列,再構(gòu)建一個(gè)PTA用來(lái)接受多個(gè)協(xié)議會(huì)話(huà)的報(bào)文類(lèi)型序列,每當(dāng)出現(xiàn)不同類(lèi)型的報(bào)文時(shí),新的狀態(tài)和轉(zhuǎn)換就會(huì)添加到PTA中;最后結(jié)合不同報(bào)文類(lèi)型間的因果關(guān)系,使用積極狀態(tài)合并算法對(duì)協(xié)議狀態(tài)機(jī)進(jìn)行簡(jiǎn)化.Lin等人[104]考慮協(xié)議交互傳輸過(guò)程中存在的數(shù)據(jù)流信息,結(jié)合控制流信息對(duì)傳統(tǒng)的協(xié)議狀態(tài)機(jī)進(jìn)行擴(kuò)展,提出了新型擴(kuò)展協(xié)議狀態(tài)機(jī)推理方法ReFSM.該方法改進(jìn)Apriori算法以挖掘高頻且具有穩(wěn)定位置方差的閉合字節(jié)序列作為協(xié)議關(guān)鍵詞,并使用協(xié)議關(guān)鍵詞將協(xié)議報(bào)文標(biāo)記為不同的報(bào)文類(lèi)型,結(jié)合Jaccard指數(shù)與K-means算法對(duì)協(xié)議報(bào)文進(jìn)行聚類(lèi)確定協(xié)議報(bào)文類(lèi)型數(shù);之后通過(guò)構(gòu)建PTA接受所有協(xié)議會(huì)話(huà),并采用K-tail狀態(tài)合并算法合并具有相同輸入與輸出的等價(jià)狀態(tài)以生成傳統(tǒng)的最小化協(xié)議狀態(tài)機(jī);最后引入數(shù)據(jù)保護(hù)(data guards)概念,其由2部分構(gòu)成:協(xié)議關(guān)鍵詞的詞間約束和協(xié)議報(bào)文間與報(bào)文內(nèi)的依賴(lài)關(guān)系,并將其與協(xié)議狀態(tài)集合作為2部分?jǐn)U展到PTA樹(shù)中以實(shí)現(xiàn)對(duì)傳統(tǒng)的最小化協(xié)議狀態(tài)機(jī)進(jìn)行擴(kuò)展,得到提出的擴(kuò)展協(xié)議狀態(tài)機(jī).

綜上所述,協(xié)議狀態(tài)機(jī)推理匯總協(xié)議格式、協(xié)議關(guān)鍵詞以及語(yǔ)義信息推斷協(xié)議狀態(tài),結(jié)合協(xié)議會(huì)話(huà)推理協(xié)議狀態(tài)機(jī),幫助分析人員更好地理解協(xié)議的交互行為、報(bào)文的收發(fā)規(guī)范,同時(shí)也可以協(xié)助對(duì)協(xié)議進(jìn)行安全性測(cè)試,針對(duì)性地使協(xié)議轉(zhuǎn)換到某一狀態(tài),測(cè)試各種輸入輸出,提高協(xié)議的可靠性.表5分類(lèi)概述了協(xié)議狀態(tài)機(jī)推理部分相關(guān)研究的主要內(nèi)容,包括各個(gè)研究工作中協(xié)議狀態(tài)標(biāo)記方法、狀態(tài)機(jī)構(gòu)建方法以及簡(jiǎn)化方法.由表5可知,協(xié)議狀態(tài)機(jī)推理很大程度上依賴(lài)于不同報(bào)文類(lèi)型的確定,協(xié)議狀態(tài)機(jī)推理越來(lái)越復(fù)雜,對(duì)協(xié)議狀態(tài)機(jī)附加的相關(guān)信息也越來(lái)越完善.

Table 5 Summary of Protocol State Machine Inference表5 協(xié)議狀態(tài)機(jī)推理方法概述

6 總結(jié)與展望

經(jīng)過(guò)對(duì)現(xiàn)有研究方法的對(duì)比分析,本節(jié)重點(diǎn)進(jìn)行總結(jié)與展望,闡述基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)目前存在的主要問(wèn)題與影響因素,并指出未來(lái)研究方向與應(yīng)用場(chǎng)景,最后對(duì)全文進(jìn)行總結(jié)性概述.

6.1 主要問(wèn)題與影響因素

基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)目前已成為國(guó)內(nèi)外研究人員的重點(diǎn)研究?jī)?nèi)容,具有現(xiàn)實(shí)的應(yīng)用價(jià)值與研究意義.盡管其通過(guò)各類(lèi)方法取得不少研究成果,但仍然存在4個(gè)方面的問(wèn)題:

1)數(shù)據(jù)樣本集匱乏.目前私有協(xié)議逆向技術(shù)尚且沒(méi)有公開(kāi)可用的完整標(biāo)記的數(shù)據(jù)集樣本,基于公開(kāi)RFC協(xié)議的流量完成的協(xié)議逆向技術(shù)大多無(wú)法真正應(yīng)用于對(duì)私有協(xié)議的逆向分析.公開(kāi)協(xié)議大多較為簡(jiǎn)單,而私有協(xié)議為了實(shí)現(xiàn)應(yīng)用通信的復(fù)雜功能必然與之不同,存在一定的差異.數(shù)據(jù)樣本集的匱乏亦導(dǎo)致協(xié)議逆向技術(shù)結(jié)果的評(píng)價(jià)指標(biāo)不具有統(tǒng)一性,缺乏可對(duì)比的標(biāo)簽數(shù)據(jù).

2)協(xié)議逆向技術(shù)存在冗余性.協(xié)議逆向技術(shù)基于海量協(xié)議流量推斷,推斷過(guò)程必然存在冗余性,尤其是核心采用概率統(tǒng)計(jì)的協(xié)議逆向技術(shù),即使采用篩選過(guò)濾也無(wú)法完全避免.同時(shí)錯(cuò)誤、冗余的中間結(jié)果對(duì)最終的協(xié)議關(guān)鍵詞、協(xié)議格式以及協(xié)議狀態(tài)機(jī)等均存在影響,如何正確降低中間過(guò)程的冗余,減少其造成的影響,是私有協(xié)議逆向技術(shù)急需解決的主要問(wèn)題.

3)協(xié)議逆向技術(shù)自動(dòng)化程度較低.目前私有協(xié)議逆向技術(shù)的自動(dòng)化程度并不高,部分研究甚至需要大量的先驗(yàn)知識(shí)才能得到較高的準(zhǔn)確度,而基于零先驗(yàn)知識(shí)的研究明顯沒(méi)有達(dá)到理想效果,這就導(dǎo)致協(xié)議逆向技術(shù)難以達(dá)到較高的自動(dòng)化程度.同時(shí),語(yǔ)義分析很大程度上依賴(lài)于先驗(yàn)知識(shí)與人為解釋?zhuān)鄧?yán)重影響協(xié)議逆向技術(shù)的自動(dòng)化程度,或?qū)⒄Z(yǔ)義分析作為附加研究?jī)?nèi)容剔除逆向流程以實(shí)現(xiàn)自動(dòng)化.

4)協(xié)議逆向技術(shù)兼容性與穩(wěn)健性不足.私有協(xié)議逆向技術(shù)的目標(biāo)是適用于多類(lèi)型協(xié)議流量并具有較高的推斷準(zhǔn)確度.然而現(xiàn)有研究多是針對(duì)單一類(lèi)型協(xié)議流量進(jìn)行分析,即使考慮方法的通用性,仍然無(wú)法同時(shí)保證較高的推斷準(zhǔn)確度.且現(xiàn)有研究中提出的方法大多難以直接對(duì)私有協(xié)議進(jìn)行推斷,也從側(cè)面反映現(xiàn)有技術(shù)兼容性與穩(wěn)健性并不高.

綜上所述,私有協(xié)議逆向技術(shù)存在上述問(wèn)題的主要影響因素是私有協(xié)議自身的特殊性與復(fù)雜性,因此在私有協(xié)議與協(xié)議逆向技術(shù)間尋求一個(gè)平衡是解決問(wèn)題的主要途徑.結(jié)合私有協(xié)議相關(guān)先驗(yàn)知識(shí)必然會(huì)提高私有協(xié)議逆向技術(shù)的推斷準(zhǔn)確度,但這就會(huì)影響私有協(xié)議逆向技術(shù)的自動(dòng)化程度,因此如何利用最少的先驗(yàn)知識(shí)實(shí)現(xiàn)最大推斷準(zhǔn)確度的半自動(dòng)化私有協(xié)議逆向技術(shù)是解決問(wèn)題的關(guān)鍵;網(wǎng)絡(luò)應(yīng)用協(xié)議、工業(yè)通信協(xié)議與無(wú)線(xiàn)控制協(xié)議等均具有自身的特性,結(jié)合協(xié)議特殊性同樣可以提高私有協(xié)議逆向技術(shù)的推斷準(zhǔn)確度,但這就會(huì)影響私有協(xié)議逆向技術(shù)的兼容性,如何實(shí)現(xiàn)最大程度的協(xié)議種類(lèi)劃分,在不同種類(lèi)內(nèi)提高私有協(xié)議逆向技術(shù)的普遍適用性亦是解決問(wèn)題的關(guān)鍵.

6.2 未來(lái)研究方向與應(yīng)用場(chǎng)景

基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)可以從4個(gè)方面開(kāi)展未來(lái)的研究:

1)精細(xì)化私有協(xié)議逆向分析.隨著互聯(lián)網(wǎng)應(yīng)用的高頻涌現(xiàn),私有協(xié)議廣泛發(fā)展,同時(shí)惡意軟件等亦使用私有協(xié)議在主干網(wǎng)進(jìn)行通信隱藏以規(guī)避監(jiān)管,因此精細(xì)化私有協(xié)議逆向技術(shù)是一個(gè)重點(diǎn)的研究方向.提高私有協(xié)議逆向技術(shù)的推斷準(zhǔn)確度,同時(shí)提高自動(dòng)化程度與方法兼容性.應(yīng)重點(diǎn)關(guān)注二進(jìn)制協(xié)議的逆向分析,二進(jìn)制協(xié)議相較于文本類(lèi)協(xié)議而言具有透明序列的特性,且目前私有協(xié)議設(shè)計(jì)呈現(xiàn)出二進(jìn)制化趨勢(shì),工業(yè)控制互聯(lián)網(wǎng)、物聯(lián)網(wǎng)等均采用二進(jìn)制協(xié)議來(lái)通信.因此,二進(jìn)制協(xié)議逆向技術(shù)使用范圍會(huì)更加廣泛,更符合實(shí)際應(yīng)用需求,對(duì)其研究更具有意義.針對(duì)二進(jìn)制協(xié)議的逆向技術(shù),需要重點(diǎn)關(guān)注協(xié)議報(bào)文分段與語(yǔ)義分析,如何在合適的位置將報(bào)文序列分開(kāi),確定分段粒度為字節(jié)或半字節(jié),探究字段結(jié)構(gòu)從而達(dá)到精確分段.之后取出任意分段間的比特序列分析其語(yǔ)義,結(jié)合取值分析或模板匹配得到該字段的最近似語(yǔ)義,以語(yǔ)義信息形式描述二進(jìn)制格式則為針對(duì)二進(jìn)制協(xié)議逆向分析的最優(yōu)結(jié)果.

2)協(xié)議報(bào)文聚類(lèi)與協(xié)議狀態(tài)機(jī)推理.協(xié)議報(bào)文聚類(lèi)是協(xié)議逆向技術(shù)的基礎(chǔ),如何度量協(xié)議報(bào)文間相似度,采用合適或創(chuàng)新性的聚類(lèi)算法得到更加緊密的聚類(lèi)簇是一個(gè)重要的研究方向,可以最大化為私有協(xié)議逆向技術(shù)的推斷準(zhǔn)確度提供保障.同時(shí)在協(xié)議報(bào)文聚類(lèi)時(shí),需要關(guān)注不同協(xié)議類(lèi)型的報(bào)文聚類(lèi)與不同協(xié)議格式的報(bào)文聚類(lèi)2方面:基于流粒度挖掘同一類(lèi)協(xié)議報(bào)文的共有屬性,制定合適度量與聚類(lèi)算法,將相似的流聚類(lèi)為協(xié)議流聚類(lèi)簇;并基于報(bào)文粒度挖掘同一格式協(xié)議報(bào)文的共有屬性,將相似格式的協(xié)議報(bào)文聚類(lèi)為協(xié)議格式聚類(lèi)簇,共同為協(xié)議格式推斷做好基礎(chǔ).協(xié)議狀態(tài)機(jī)推理的研究目前尚處于探索階段,對(duì)傳統(tǒng)協(xié)議狀態(tài)機(jī)的擴(kuò)展,使其包含更復(fù)雜的信息,是目前協(xié)議狀態(tài)機(jī)推理的一個(gè)發(fā)展方向.但更應(yīng)該專(zhuān)注于協(xié)議狀態(tài)機(jī)的簡(jiǎn)化,構(gòu)建協(xié)議狀態(tài)機(jī)以后,如何以更加合適的算法進(jìn)行狀態(tài)合并,盡量降低協(xié)議狀態(tài)機(jī)的冗余,更加明顯地展示協(xié)議的行為交互,使分析人員更好地理解協(xié)議相關(guān)設(shè)計(jì)理念,因此也應(yīng)積極探索協(xié)議狀態(tài)機(jī)推理的研究.

3)私有加密協(xié)議逆向分析.越來(lái)越多的私有協(xié)議流量采用加密技術(shù)來(lái)保證用戶(hù)隱私與安全,這就直接導(dǎo)致協(xié)議逆向技術(shù)的部分失效,但針對(duì)存在明文字段的加密協(xié)議,私有協(xié)議逆向技術(shù)依然可用.其可以推斷出加密協(xié)議的明文字段,即確定加密協(xié)議的明文字段與密文字段間的分段點(diǎn),提取加密協(xié)議的明文區(qū)域,并推斷其字段格式.這正是目前加密協(xié)議研究的一個(gè)重點(diǎn)方向,即明文和密文區(qū)域的切分.因此,私有協(xié)議逆向技術(shù)對(duì)加密協(xié)議分析仍具有一定的輔助作用,同時(shí)也可以將明文字段格式作為加密協(xié)議的固有特征進(jìn)行分類(lèi)識(shí)別,從本質(zhì)上提高加密協(xié)議流量識(shí)別準(zhǔn)確率,而不需要訓(xùn)練復(fù)雜的機(jī)器學(xué)習(xí)模型,降低時(shí)間復(fù)雜度,使加密協(xié)議流量識(shí)別更加具有實(shí)際意義.因此,私有加密協(xié)議的逆向分析也是未來(lái)的研究方向之一.

4)全未知流量的逆向分析.對(duì)全未知流量的逆向分析即對(duì)主干網(wǎng)路由器處采集到的多種私有協(xié)議、多種格式混雜的流量進(jìn)行逆向分析,針對(duì)這種混雜流量,未知其私有協(xié)議種類(lèi)、私有協(xié)議格式等,這就要求私有協(xié)議逆向技術(shù)具有智能化分析能力.如何區(qū)分不同種類(lèi)私有協(xié)議流量,并針對(duì)單一私有協(xié)議流量進(jìn)行逆向分析;如何在某種私有協(xié)議數(shù)據(jù)量較少的情況下,智能決策保留協(xié)議流量或擴(kuò)充樣本,完成逆向推斷;如何智能化地發(fā)現(xiàn)主干網(wǎng)中的未知私有協(xié)議,推斷未知私有協(xié)議的協(xié)議格式,給予工程人員最大化的信息協(xié)助決策等.上述問(wèn)題均為目前私有協(xié)議分析面臨的實(shí)際需求,因此,基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)智能化分析是一個(gè)重要的研究方向.

私有協(xié)議逆向技術(shù)面向?qū)嶋H問(wèn)題需求,考慮落地應(yīng)用實(shí)際性,尤其近些年來(lái)具有廣泛的應(yīng)用場(chǎng)景:

1)私有協(xié)議流量識(shí)別[105].協(xié)議關(guān)鍵詞與協(xié)議格式均具有協(xié)議的標(biāo)識(shí)性,屬于協(xié)議的固有特征,因此協(xié)議關(guān)鍵詞組或協(xié)議格式均可以用來(lái)精準(zhǔn)識(shí)別私有協(xié)議流量,通過(guò)規(guī)則匹配以實(shí)現(xiàn)輕量化的識(shí)別,而不需要訓(xùn)練復(fù)雜的機(jī)器學(xué)習(xí)模型,同時(shí)針對(duì)具有明文字段的加密協(xié)議流量亦具有一定的識(shí)別能力.

2)工控協(xié)議漏洞測(cè)試[97].工業(yè)控制協(xié)議需要極其準(zhǔn)確的數(shù)據(jù)傳輸與通信控制,在信息化的大時(shí)代背景下,工業(yè)控制網(wǎng)絡(luò)的興起對(duì)工業(yè)發(fā)展帶來(lái)了極大的便利,工業(yè)控制協(xié)議也應(yīng)運(yùn)而生,但是工業(yè)控制協(xié)議在投入使用前必須經(jīng)過(guò)嚴(yán)格的漏洞測(cè)試,確保不會(huì)造成機(jī)器接收指令執(zhí)行誤操作的現(xiàn)象發(fā)生,以保障工業(yè)安全.同時(shí)工業(yè)控制協(xié)議多采用二進(jìn)制協(xié)議進(jìn)行傳輸,人為對(duì)其流量進(jìn)行分析難度較大,因此私有協(xié)議逆向技術(shù)可以得到廣泛應(yīng)用.

3)物聯(lián)網(wǎng)分析[106].萬(wàn)物互聯(lián)概念的出現(xiàn)造就了目前智能家居、車(chē)載互聯(lián)網(wǎng)以及城市交通信息網(wǎng)等各種物聯(lián)網(wǎng)均投入使用,使生活更加便捷、智能的同時(shí)帶來(lái)不可避免的信息泄露、黑客攻擊等一系列問(wèn)題.因此對(duì)物聯(lián)網(wǎng)通信協(xié)議的逆向分析可以最大程度上保障物聯(lián)網(wǎng)安全,確保物聯(lián)網(wǎng)設(shè)備不被黑客劫持,實(shí)現(xiàn)真正的萬(wàn)物互聯(lián).

6.3 結(jié)束語(yǔ)

私有協(xié)議逆向技術(shù)是當(dāng)前協(xié)議分析領(lǐng)域最具有挑戰(zhàn)的研究之一.本文首先介紹私有協(xié)議逆向技術(shù)的種類(lèi)與研究背景,并重點(diǎn)闡述基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)的研究意義.其次提出基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)框架,從預(yù)推理、協(xié)議格式推斷、語(yǔ)義分析以及協(xié)議狀態(tài)機(jī)推理4個(gè)步驟細(xì)化技術(shù)框架并介紹每步驟的主要任務(wù).之后綜述現(xiàn)有基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)并按照其所屬研究步驟進(jìn)行分類(lèi),并剖析技術(shù)采用的核心研究方法,對(duì)比敘述.最后總結(jié)當(dāng)前基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)存在的主要問(wèn)題,提出問(wèn)題與影響因素的實(shí)際矛盾,指出解決問(wèn)題的關(guān)鍵,并展望基于網(wǎng)絡(luò)流量的私有協(xié)議逆向技術(shù)未來(lái)的研究方向,指出其未來(lái)主要的應(yīng)用場(chǎng)景,為進(jìn)一步的研究奠定基礎(chǔ).

作者貢獻(xiàn)聲明:李峻辰為本文調(diào)研整理文獻(xiàn),設(shè)計(jì)本文的研究框架與撰寫(xiě)結(jié)構(gòu)框架,把握全文思想,按照框架完成本文的撰寫(xiě)、修改、校對(duì)與定稿;程光為本文的研究指導(dǎo)方向,提供研究思路,優(yōu)化本文的研究框架,對(duì)論文進(jìn)行審閱與修訂,提出論文的修改意見(jiàn),并對(duì)整篇論文的質(zhì)量進(jìn)行把關(guān);楊剛芹為本文調(diào)研整理部分文獻(xiàn),協(xié)助完成本文的修改,并協(xié)助對(duì)本文格式進(jìn)行校正.

猜你喜歡
狀態(tài)機(jī)報(bào)文逆向
基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
逆向而行
CTCS-2級(jí)報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
基于有限狀態(tài)機(jī)的交會(huì)對(duì)接飛行任務(wù)規(guī)劃方法
淺析反駁類(lèi)報(bào)文要點(diǎn)
逆向解答
ATS與列車(chē)通信報(bào)文分析
逆向工程技術(shù)及應(yīng)用
FPGA設(shè)計(jì)中狀態(tài)機(jī)安全性研究
基于反熔絲FPGA的有限狀態(tài)機(jī)加固設(shè)計(jì)
自治县| 中卫市| 宜兰市| 滁州市| 商河县| 永济市| 榆中县| 恩平市| 冀州市| 灵川县| 木里| 辽宁省| 南雄市| 桐梓县| 柞水县| 罗城| 土默特右旗| 梧州市| 安宁市| 彭阳县| 达州市| 永州市| 惠安县| 嘉善县| 鄂托克前旗| 西乌珠穆沁旗| 乌拉特前旗| 康平县| 安顺市| 永安市| 安新县| 礼泉县| 盘山县| 武胜县| 微博| 额尔古纳市| 剑阁县| 横山县| 隆昌县| 叙永县| 邹平县|