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

?

基于網(wǎng)絡(luò)報(bào)文流量的協(xié)議密文分析方法

2020-11-14 08:37張玉濤朱玉娜
關(guān)鍵詞:哈希密文報(bào)文

◆張玉濤 朱玉娜

加解密技術(shù)

基于網(wǎng)絡(luò)報(bào)文流量的協(xié)議密文分析方法

◆張玉濤1朱玉娜2

(1.解放軍91286部隊(duì) 山東 266003;2.解放軍91033部隊(duì) 山東 266035)

應(yīng)用層各種載荷特征對(duì)密碼協(xié)議安全性進(jìn)行分析至關(guān)重要?,F(xiàn)有方法僅考慮報(bào)文載荷中的明文信息,無(wú)法有效利用密文數(shù)據(jù)信息特征。本文基于密文長(zhǎng)度特征和報(bào)文載荷內(nèi)容相關(guān)特征對(duì)協(xié)議密文所使用的加密體制進(jìn)行分析識(shí)別,為密文數(shù)據(jù)信息的有效利用提供了新的解決思路。

密碼協(xié)議;網(wǎng)絡(luò)報(bào)文流量;協(xié)議分析;密文分析

1 引言

隨著密碼技術(shù)的廣泛應(yīng)用,密碼協(xié)議被大量應(yīng)用在互聯(lián)網(wǎng)各種核心、關(guān)鍵應(yīng)用中,與密碼協(xié)議相關(guān)的各種數(shù)據(jù)在網(wǎng)絡(luò)流量中比重日益增加,對(duì)密碼協(xié)議的流量分析已成為當(dāng)前網(wǎng)絡(luò)安全技術(shù)中的研究關(guān)鍵技術(shù)之一。密碼協(xié)議運(yùn)行過(guò)程中,頻繁使用數(shù)據(jù)加密、數(shù)字簽名、公鑰證書、校驗(yàn)和驗(yàn)證等各種密碼技術(shù)對(duì)關(guān)鍵信息進(jìn)行加密和保護(hù),可用明文信息較少,僅依靠有限的明文信息難以滿足安全應(yīng)用的需求,因此必須充分發(fā)掘和利用協(xié)議報(bào)文中包含的密文數(shù)據(jù)特征。

目前,網(wǎng)絡(luò)協(xié)議分析技術(shù)主要包括兩種思路:基于網(wǎng)絡(luò)報(bào)文流量信息的分析方法和基于目標(biāo)主機(jī)程序執(zhí)行軌跡的分析方法?;诰W(wǎng)絡(luò)報(bào)文流量信息的分析方法主要通過(guò)捕獲網(wǎng)絡(luò)通信流量數(shù)據(jù),基于流量端口、載荷中的明文數(shù)據(jù)、數(shù)據(jù)包的統(tǒng)計(jì)特征等實(shí)施分析。如圖1所示,基于著名的網(wǎng)絡(luò)協(xié)議分析工具Wireshark對(duì)SSL協(xié)議encrypted handshake message消息進(jìn)行解析,Wireshark僅能夠識(shí)別出該消息內(nèi)容為密文,但對(duì)加密消息任何其余特征無(wú)法進(jìn)行進(jìn)一步分析和利用。借助特定二進(jìn)制分析平臺(tái),基于目標(biāo)主機(jī)上協(xié)議相關(guān)的應(yīng)用程序運(yùn)行狀態(tài)特征是網(wǎng)絡(luò)協(xié)議分析的另一種思路。該類方法[1-2]雖然可以處理加密報(bào)文,但是需要在目標(biāo)主機(jī)上獲取執(zhí)行協(xié)議的應(yīng)用程序信息,并部署特定監(jiān)測(cè)工具,進(jìn)而才能實(shí)現(xiàn)對(duì)特定程序運(yùn)行過(guò)程信息的獲取。因此,該類方法技術(shù)實(shí)現(xiàn)復(fù)雜,應(yīng)用局限性較大,無(wú)法真正滿足網(wǎng)絡(luò)環(huán)境中對(duì)數(shù)據(jù)報(bào)文監(jiān)測(cè)需求。

圖1(a)wireshark采集SSL協(xié)議encrypted handshake message報(bào)文

圖1(b) wireshark解析的協(xié)議格式

針對(duì)上述問(wèn)題,基于前期對(duì)協(xié)議密文域識(shí)別的研究[3-4],本文對(duì)采用不同加密體制加密的密文進(jìn)行分析,依靠網(wǎng)絡(luò)數(shù)據(jù)流量信息進(jìn)一步識(shí)別協(xié)議密文特征。

2 定義及相關(guān)說(shuō)明

為了敘述方便,本部分對(duì)文中涉及的相關(guān)概念進(jìn)行定義并說(shuō)明。

(1)密碼協(xié)議協(xié)商階段與傳輸階段

密碼協(xié)議主要目標(biāo)為實(shí)現(xiàn)通信主體的身份認(rèn)證、為后續(xù)的通信過(guò)程分配保密的會(huì)話密鑰本文將協(xié)議實(shí)現(xiàn)身份認(rèn)證、密鑰分配的過(guò)程稱為協(xié)議協(xié)商階段,后續(xù)通信過(guò)程稱為協(xié)議協(xié)商階段。本文主要關(guān)注密碼協(xié)議協(xié)商階段。

從表2內(nèi)風(fēng)路溫差異常情況來(lái)看,電機(jī)內(nèi)風(fēng)路的熱量沒(méi)有通過(guò)冷卻器帶走。分析存在有兩種可能:一是翅片表面油污等垃圾集結(jié)嚴(yán)重,影響熱交換;二是換熱面積不夠,造成熱量帶不出,僅帶出5 K左右的熱量。

(2)本協(xié)議與二進(jìn)制協(xié)議

協(xié)議根據(jù)其數(shù)據(jù)的傳輸形式可分為文本協(xié)議和二進(jìn)制協(xié)議。文本協(xié)議傳輸?shù)臄?shù)據(jù)通常是可以打印的ASCⅡ字符;二進(jìn)制協(xié)議傳輸?shù)臄?shù)據(jù)是原始的字節(jié)流,而不是可讀文本。

(3)已知規(guī)范協(xié)議與未知規(guī)范協(xié)議

本文將語(yǔ)法、語(yǔ)義、交互步驟已知的協(xié)議稱為已知規(guī)范協(xié)議。目前網(wǎng)絡(luò)中存在很多私有協(xié)議,協(xié)議細(xì)節(jié)未公開,語(yǔ)法、語(yǔ)義、交互步驟缺少公開的描述文檔,本文將這類協(xié)議稱為未知規(guī)范協(xié)議。

(4)加密體制分類

按照加密密鑰和解密密鑰的相關(guān)性特點(diǎn),加密體制通常可分為對(duì)稱加密體制和非對(duì)稱加密體制。按照加密后的信息能否被還原,加密體制可分為可逆加密體制和不可逆加密體制。

為便于描述,本文將哈希也作為一類加密體制,哈希函數(shù)得到的散列值也稱為密文,將加密體制分為對(duì)稱加密體制、非對(duì)稱加密體制、哈希體制三類,其中對(duì)稱加密體制又分為序列密碼加密體制和分組密碼加密體制。這三類體制都可以應(yīng)用于數(shù)據(jù)加密、身份認(rèn)證和數(shù)據(jù)安全傳輸。

3 協(xié)議密文特征分析

對(duì)大量不同類型密碼算法加密的密文進(jìn)行統(tǒng)計(jì)分析,結(jié)果表明密文長(zhǎng)度特征和報(bào)文載荷內(nèi)容相關(guān)特征是區(qū)分不同加密體制的重要要素。

3.1 密文長(zhǎng)度特征

(1)由于經(jīng)哈希函數(shù)處理后的密文散列值長(zhǎng)度為確定固定值,基于該特征可以判定密文是否為哈希值,具體存在兩種情況:

①實(shí)現(xiàn)協(xié)議的網(wǎng)絡(luò)應(yīng)用軟件大部分都明確指定協(xié)議所采用的密碼算法,在該種情況下,協(xié)議中通過(guò)哈希得到的密文報(bào)文長(zhǎng)度應(yīng)當(dāng)始終為固定值。例如,MD5為128bit,SHA為160bit,SHA2/SHA256為256bit。在捕獲到某協(xié)議大量同一位置消息的密文報(bào)文后,由于協(xié)議交互規(guī)范是確定的,因此同一協(xié)議相同位置消息密文始終遵循協(xié)議規(guī)范并采用同一類型加密體制。因此,如果密文長(zhǎng)度始終為確定值(例如,始終為128bit),則該加密體制類型可判定為哈希體制。

②很多典型密碼協(xié)議在執(zhí)行過(guò)程中需協(xié)商所使用的密碼算法,例如SSL協(xié)議、SSH協(xié)議,該種情況下,由于協(xié)議規(guī)范是確定的,因此協(xié)議消息密文采用何種加密體制加密是確定的。同一協(xié)議相同位置消息密文一定采用同一類型加密體制。具體的一次協(xié)議會(huì)話則通過(guò)協(xié)商確定采用的具體密碼算法類型(例如MD5、SHA)。目前常用的哈希函數(shù)對(duì)應(yīng)的散列值長(zhǎng)度取值集合為{128bit、160bit、256bit}。如果協(xié)議中采用某一類加密體制加密后密文長(zhǎng)度取值始終屬于{128bit、160bit、256bit}集合,則該密文采用的加密體制在很大概率上可判定為哈希體制。

(2)對(duì)稱加密體制包含分組密碼和序列密碼兩種方式。協(xié)議分組密碼通常采用CBC加密模式,該加密模式不容易主動(dòng)攻擊,安全性好,適合傳輸長(zhǎng)度長(zhǎng)的報(bào)文,是SSL、IPSEC等重要協(xié)議的標(biāo)準(zhǔn)模式。在CBC加密模式下,密文長(zhǎng)度一定是塊(block)大小的倍數(shù)。當(dāng)前,分組密碼塊大小大都為64bit(AES例外,為128bit),因此分組密碼密文長(zhǎng)度應(yīng)當(dāng)為64bit的倍數(shù)。分組密碼ECB模式同樣為64bit的倍數(shù),CFB模式和OFB模式下分組密碼密文則為8bit的倍數(shù),可能不為64bit整除。而序列密碼則是以一個(gè)元素(一個(gè)字節(jié)或一個(gè)比特)作為基本的處理單元,以字節(jié)為處理單元的序列密碼密文長(zhǎng)度(如RC4)為8bit的倍數(shù),以比特為處理單元的序列密碼密文則可能不為8bit整除。非對(duì)稱加密密文和Hash密文也為8bit的倍數(shù)。因此如果密文不為8bit的倍數(shù),則可認(rèn)定為序列密碼方式,密文為對(duì)稱加密體制類型密文。

(3)在協(xié)議協(xié)商階段,由于協(xié)議具有特定的規(guī)范,協(xié)議相同位置消息報(bào)文長(zhǎng)度分布在一定取值范圍內(nèi)。對(duì)稱加密密文長(zhǎng)度和明文相關(guān),受協(xié)議規(guī)范限制密文長(zhǎng)度不可能太長(zhǎng)。而對(duì)公鑰加密而言,即使對(duì)較短數(shù)據(jù)進(jìn)行加密,得到的密文長(zhǎng)度相對(duì)較長(zhǎng)。如常用的RSA公鑰加密和RSA數(shù)字簽名機(jī)制,為保證信息傳輸?shù)陌踩裕荑€長(zhǎng)度一般不小于1024bit。SET協(xié)議中要求CA采用2048bit長(zhǎng)的RSA密鑰,其他實(shí)體采用1024bit長(zhǎng)的密鑰。google于2013年8月1日起開始采用2048bitRSA密鑰加密和驗(yàn)證服務(wù)。而RSA密文長(zhǎng)度與密鑰長(zhǎng)度相同,因此即使對(duì)短數(shù)據(jù)進(jìn)行加密,密文長(zhǎng)度也較長(zhǎng)。在協(xié)議數(shù)據(jù)傳輸階段,當(dāng)傳輸數(shù)據(jù)小于等于最大傳輸單元MTU時(shí),數(shù)據(jù)報(bào)文長(zhǎng)度為傳輸數(shù)據(jù)長(zhǎng)度,長(zhǎng)度變化較大;當(dāng)傳輸數(shù)據(jù)大于MTU時(shí),在IP層根據(jù)MTU對(duì)數(shù)據(jù)進(jìn)行分片,經(jīng)統(tǒng)計(jì),協(xié)議傳輸階段報(bào)文大部分為固定值,小部分長(zhǎng)度變化較大。由此依據(jù)長(zhǎng)度變化范圍可以判斷該數(shù)據(jù)報(bào)文是處于協(xié)議協(xié)商階段或傳輸階段,隨后,在對(duì)協(xié)議協(xié)商階段密文進(jìn)行分析時(shí),如果密文長(zhǎng)度較長(zhǎng)(大于等于1024bit),則密文很大概率上采用了非對(duì)稱加密體制;而在密文長(zhǎng)度不長(zhǎng)時(shí),則無(wú)法僅依靠長(zhǎng)度特征區(qū)分對(duì)稱加密體制和非對(duì)稱加密體制。

3.2 報(bào)文有效載荷相關(guān)特征

協(xié)議在協(xié)商自己所采用的密碼套件時(shí),一般采用明文形式,如SSL協(xié)議、SSH協(xié)議等。因此,可以通過(guò)檢測(cè)報(bào)文內(nèi)容確定密文所采用的加密體制類型。

(1)對(duì)已知規(guī)范協(xié)議而言,通過(guò)協(xié)議規(guī)范及報(bào)文中的密碼套件信息可以確定密文所使用的加密體制。例如,

其中“00 05”為SSL協(xié)議Server Hello報(bào)文的密碼套件信息,由SSL規(guī)范可知協(xié)議采用的密碼套件信息為TLS_RSA_WITH_RC4_128_SHA(0x0005),即協(xié)議采用的密碼算法為RSA密碼算法、RC4密碼算法、SHA算法。由上分析可知,RSA密文長(zhǎng)度通常為1024bit或者2048bit;RC4密文屬于序列密碼密文,密文長(zhǎng)度為8bit的倍數(shù),不一定為64bit倍數(shù);SHA散列值長(zhǎng)度為160bit。對(duì)密文進(jìn)行解析時(shí),結(jié)合密文長(zhǎng)度即可確定密文采用的加密體制類型。例如,對(duì)圖1的密文消息而言,密文長(zhǎng)度為36byte=288bit,不是RSA密文和SHA散列值,因此可判定為對(duì)稱加密密文。更進(jìn)一步,SSL要求使用分組密碼加密時(shí)采用CBC模式,CBC模式下密文為64bit的倍數(shù),而288bit不為64bit整除,因此該密文可進(jìn)一步識(shí)別為序列密碼算法——RC4對(duì)稱加密算法,為對(duì)稱加密體制密文。

(2)對(duì)未知規(guī)范協(xié)議而言,文本協(xié)議為可打印字符,可以得到協(xié)議所采用的密碼算法,例如:假定SSH規(guī)范未知,由于SSH屬于文本協(xié)議,從SSH的Client:key exchange init消息中(如圖2所示)可以看出,客戶端采用了DH算法、對(duì)稱加密算法(AES/3DES)、哈希算法(MD5/SHA1)。結(jié)合密文長(zhǎng)度特征可進(jìn)一步確定密文采用的加密體制類型。當(dāng)未知規(guī)范協(xié)議為二進(jìn)制協(xié)議時(shí),則無(wú)法挖掘其中的密碼套件信息。

圖2 wireshark采集的SSH協(xié)議:Client:key exchange init報(bào)文

由上可知,對(duì)采集的同一協(xié)議大量報(bào)文中的密文長(zhǎng)度進(jìn)行分析,可以識(shí)別哈希和部分密文的加密體制類型。當(dāng)報(bào)文載荷包含密碼套件信息時(shí),也可以進(jìn)一步確定密文采用的加密體制。但是如果從協(xié)議報(bào)文載荷無(wú)法檢測(cè)任何密碼算法相關(guān)信息,對(duì)單個(gè)密文則無(wú)法識(shí)別加密體制類型。

4 協(xié)議密文識(shí)別

該方法流程如圖3所示,描述如下。

圖3 協(xié)議密文識(shí)別

Step 1:如果協(xié)議報(bào)文的明文載荷提供了密碼算法信息,則結(jié)合該算法密文長(zhǎng)度進(jìn)一步確定該密文對(duì)應(yīng)的加密體制類型。否則,結(jié)合密文長(zhǎng)度信息進(jìn)一步進(jìn)行判定。

Step 2:如果密文長(zhǎng)度屬于{128bit、160bit、256bit},確定是否為哈希函數(shù)。由于大部分協(xié)議的實(shí)現(xiàn)程序已經(jīng)明確協(xié)議所使用的密碼算法,因此哈希值長(zhǎng)度確定。如果密文始終為128bit(或者始終為160bit、始終為256bit),則密文很大概率上采用了哈希體制;如果協(xié)議在協(xié)商過(guò)程中確定密碼算法,同樣根據(jù)一段時(shí)間內(nèi)協(xié)議報(bào)文長(zhǎng)度確定哈希體制,如果報(bào)文長(zhǎng)度始終屬于{128bit、160bit、256bit},則報(bào)文在很大概率上采用了哈希體制。

Step 3:如果密文長(zhǎng)度不屬于{128bit、160bit、256bit},進(jìn)一步進(jìn)行判定。本文主要關(guān)注協(xié)議協(xié)商階段,根據(jù)數(shù)據(jù)包長(zhǎng)度變化可以確定協(xié)議協(xié)商階段和傳輸階段。如果該協(xié)議密文載荷信息屬于協(xié)商階段報(bào)文,且長(zhǎng)度較長(zhǎng)時(shí)(大于1024bit),則能夠以更高的識(shí)別率確定該密文采用了非對(duì)稱加密體制。

Step 4:如果密文長(zhǎng)度不為8bit的倍數(shù),則密文很大概率采用序列密碼,判定密文為對(duì)稱加密密文。

Step 5:其他情況,密文加密體制無(wú)法判斷。

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

本文對(duì)大量不同類型密碼算法加密的密文進(jìn)行統(tǒng)計(jì)分析,基于密文長(zhǎng)度信息和協(xié)議載荷內(nèi)容相關(guān)信息識(shí)別哈希函數(shù)和部分加密算法,為密文數(shù)據(jù)信息的有效利用提供了新的解決思路。

[1]WANG Zhi,JIANG Xu-xian,CUI Wei-dong,et al. ReFormat:automatic reverse engineering of encrypted messages[C]// Proc of European Symposium on Research in Computer Security.2009:200-215.

[2]CABALLERO J,Song D.Automatic protocol reverse-engineering: message format extraction and field semantics inference[C]. Computer Network,vol.57(2),page(s):451-474,F(xiàn)ebrurary 2013.

[3]朱玉娜,韓繼紅,袁霖,等. SPFPA:一種面向未知安全協(xié)議的格式解析方法[J]. 計(jì)算機(jī)研究與發(fā)展,2015,52(10):2200-2211.

[4]朱玉娜,韓繼紅,袁霖,等.基于熵估計(jì)的安全協(xié)議密文域識(shí)別方法[J].電子與信息學(xué)報(bào),2016,38(8):1865-1871.

猜你喜歡
哈希密文報(bào)文
基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
一種支持動(dòng)態(tài)更新的可排名密文搜索方案
基于特征選擇的局部敏感哈希位選擇算法
基于模糊數(shù)學(xué)的通信網(wǎng)絡(luò)密文信息差錯(cuò)恢復(fù)
哈希值處理 功能全面更易用
低軌星座短報(bào)文通信中的擴(kuò)頻信號(hào)二維快捕優(yōu)化與實(shí)現(xiàn)
支持多跳的多策略屬性基全同態(tài)短密文加密方案
文件哈希值處理一條龍
密鑰共享下跨用戶密文數(shù)據(jù)去重挖掘方法*
淺析反駁類報(bào)文要點(diǎn)