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

?

加密代理服務(wù)器通信行為安全性研究

2015-03-20 10:19曾建瓊
關(guān)鍵詞:代理服務(wù)器字節(jié)數(shù)據(jù)包

曾建瓊 胡 勇

(四川大學(xué)信息安全研究所 四川 610065)

0 引言

隨著信息時(shí)代的到來(lái),互聯(lián)網(wǎng)已經(jīng)成為全球信息發(fā)布、傳播和共享的主要基礎(chǔ)設(shè)施之一。由于某些因素使得人們?cè)趪?guó)內(nèi)上網(wǎng),免不了要和HTTP代理服務(wù)器打交道。代理服務(wù)器作為轉(zhuǎn)發(fā)中間人,人們?cè)诰W(wǎng)絡(luò)上的一切行為都可能被其嚴(yán)密監(jiān)視,因此對(duì)用戶的個(gè)人隱私和安全有著極大的威脅。影響代理服務(wù)器數(shù)據(jù)傳輸?shù)牟话踩蛩刂饕獊?lái)自硬件、軟件、環(huán)境、數(shù)據(jù)傳輸過(guò)程等帶來(lái)的不安全因素,還包括個(gè)人信息資料保密的不安全因素以及系統(tǒng)資源訪問(wèn)的不安全因素等。代理服務(wù)器種種不安全因素的存在,使網(wǎng)絡(luò)安全受到威脅,也為黑客攻擊網(wǎng)絡(luò)遠(yuǎn)程教學(xué)系統(tǒng)提供了可能。可以預(yù)見(jiàn),隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展及Internet的普遍應(yīng)用,代理服務(wù)器的數(shù)據(jù)傳輸?shù)陌踩珕?wèn)題也會(huì)更加突出。

HTTP代理服務(wù)器分加密代理服務(wù)器和普通代理服務(wù)器。如果我們?cè)谧约旱碾娔X上運(yùn)行了某些軟件之后就能訪問(wèn)之前不能訪問(wèn)的網(wǎng)站,那么很可能是加密代理;如果我們直接在瀏覽器中設(shè)置代理服務(wù)器,不用運(yùn)行任何軟件,那么這種類型的代理服務(wù)器就是普通代理。一般來(lái)說(shuō),如果加密代理軟件沒(méi)有問(wèn)題,加密代理的安全性要好于普通代理。加密代理服務(wù)器軟件廣泛采用了不公開(kāi)的密碼算法、密碼協(xié)議、加密代理、動(dòng)態(tài)地址搜索等技術(shù)。本文采用逆向分析技術(shù),對(duì)一款加密代理服務(wù)器軟件(Z軟件)的工作原理進(jìn)行了完整的再現(xiàn),透徹的分析出了其通信和數(shù)據(jù)傳輸過(guò)程,并對(duì)其整個(gè)過(guò)程中的安全性進(jìn)行了研究。

1 通信協(xié)議分析

為了分析Z代理軟件的通信協(xié)議,實(shí)驗(yàn)僅需一臺(tái)Windows操作系統(tǒng)的PC客戶機(jī),同時(shí)在本機(jī)上預(yù)安裝Wireshark,一款網(wǎng)絡(luò)封包分析軟件。通過(guò)捕獲客戶端與服務(wù)器的通信數(shù)據(jù)包,分析它們的通信過(guò)程,最后得出Z代理軟件的通信協(xié)議。

Wireshark是一種網(wǎng)絡(luò)數(shù)據(jù)包分析工具。網(wǎng)絡(luò)數(shù)據(jù)包分析工具的主要作用是捕獲網(wǎng)絡(luò)包,并盡可能詳細(xì)的顯示數(shù)據(jù)包的情況。它使用WinPCAP作為接口,直接與網(wǎng)卡進(jìn)行數(shù)據(jù)報(bào)文交換。使用該工具時(shí),首先在Z代理軟件運(yùn)行之前啟動(dòng)Wireshark的數(shù)據(jù)包捕獲功能,然后通過(guò)對(duì)數(shù)據(jù)包的IP、協(xié)議、端口、長(zhǎng)度和內(nèi)容進(jìn)行過(guò)濾,從大量的數(shù)據(jù)包中提取出滿足如上條件的數(shù)據(jù)包,縮小檢索數(shù)據(jù)包的范圍。

可以利用Wireshark的協(xié)議分析功能從過(guò)濾得到的數(shù)據(jù)包中提取出應(yīng)用層的數(shù)據(jù),大部分代理軟件的應(yīng)用層協(xié)議組織的數(shù)據(jù)在網(wǎng)路上加密傳輸,而且與之通信的服務(wù)器IP地址并不固定,按照常規(guī)比較應(yīng)用層數(shù)據(jù)體中固定字節(jié)或者規(guī)律性字節(jié)的含義,大致分析出Z代理軟件的通信過(guò)程。客戶端在用戶啟動(dòng)后,與其代理服務(wù)器通信過(guò)程如下:

(1)網(wǎng)絡(luò)檢測(cè):客戶端首先會(huì)向固定IP地址發(fā)送3個(gè)ICMP探測(cè)包,用以檢測(cè)網(wǎng)絡(luò)是否暢通。

(2)代理服務(wù)器IP地址和端口獲?。喝绻W(wǎng)絡(luò)暢通,客戶端會(huì)通過(guò)HTTPS加密傳輸協(xié)議向固定的合法網(wǎng)頁(yè)地址獲取代理服務(wù)器的IP地址和端口,由于是通過(guò)HTTPS加密傳輸,因此這些IP地址得到了很好的隱藏,同時(shí)訪問(wèn)的這些網(wǎng)頁(yè)對(duì)應(yīng)的IP地址是在不停的更新變化,因此使國(guó)家防火墻無(wú)法對(duì)固定的IP地址進(jìn)行封鎖。

(3)通信密鑰協(xié)商:發(fā)送UDP請(qǐng)求,建立握手連接,交換傳輸密鑰,為正式發(fā)送數(shù)據(jù)做好準(zhǔn)備。

(4)數(shù)據(jù)通信:客戶端通過(guò)加密傳輸向代理服務(wù)器發(fā)出Web資源訪問(wèn)請(qǐng)求;服務(wù)器解密出客戶端請(qǐng)求,并向網(wǎng)絡(luò)Web資源服務(wù)器明文轉(zhuǎn)發(fā)客戶端請(qǐng)求;Web服務(wù)器響應(yīng)請(qǐng)求,并明文發(fā)送響應(yīng)信息給代理服務(wù)器;代理服務(wù)器把接收到的響應(yīng)信息加密轉(zhuǎn)發(fā)給客戶端,客戶端再解密顯示在瀏覽器中。

經(jīng)過(guò)以上四個(gè)通信過(guò)程,最終建立Z代理軟件客戶端和外部網(wǎng)絡(luò)Web資源之間的連接,實(shí)現(xiàn)客戶端對(duì)外部Web資源的合法訪問(wèn),達(dá)到數(shù)據(jù)通信的目的。

2 通信數(shù)據(jù)安全性分析

由于客戶端在獲取服務(wù)器IP地址和端口號(hào)時(shí),是通過(guò)HTTPS加密傳輸,因此這些IP地址能被很好的隱藏,同時(shí)訪問(wèn)的這些網(wǎng)頁(yè)的IP地址在不停的更新變化,所以國(guó)家防火墻(GFW)無(wú)法對(duì)固定的IP地址進(jìn)行封鎖。除了對(duì)代理服務(wù)器進(jìn)行很好的隱藏外,Z代理軟件對(duì)用戶數(shù)據(jù)也進(jìn)行了很強(qiáng)的加密,從而使網(wǎng)絡(luò)數(shù)據(jù)不具備特征性。因此對(duì)其通信數(shù)據(jù)的進(jìn)一步分析具有重大意義,其中最主要的任務(wù)是解析其通信密鑰協(xié)商過(guò)程,獲得其加密算法和密鑰,還原會(huì)話過(guò)程。

由于Z代理軟件客戶端與代理服務(wù)器之間的通信是經(jīng)過(guò)加密傳輸?shù)?,因此通過(guò)Wireshark對(duì)其通信數(shù)據(jù)包的抓取和分析,并不能得到很詳細(xì)的數(shù)據(jù)信息。而且Z客戶端軟件有很強(qiáng)的反調(diào)試技術(shù),所以使用特定的調(diào)試器對(duì)軟件進(jìn)行動(dòng)態(tài)調(diào)試分析,獲取加密和解密后的數(shù)據(jù),與此同時(shí),結(jié)合IDA靜態(tài)反匯編分析技術(shù),進(jìn)一步解析客戶端與代理服務(wù)器協(xié)商通信密鑰的過(guò)程。

2.1 密鑰協(xié)商過(guò)程分析

經(jīng)過(guò)反匯編和逆向調(diào)試分析發(fā)現(xiàn),為了逃避監(jiān)控手段,Z代理軟件采用了很強(qiáng)的加密方法來(lái)處理用戶數(shù)據(jù),主要有RSA、AES和RC4。RSA公鑰加密算法是一種非對(duì)稱密碼算法,需要一對(duì)密鑰,其中公鑰加密,私鑰解密。RSA加密算法被用于通信前期的密鑰協(xié)商過(guò)程,然后分別用AES和RC4算法加密通信數(shù)據(jù)包頭部和數(shù)據(jù)部分??蛻舳撕头?wù)器AES密鑰協(xié)商過(guò)程如下:

(1)客戶端隨機(jī)生成32個(gè)字節(jié)的AES密鑰,經(jīng)過(guò)RSA的公鑰加密后發(fā)送給服務(wù)器,告訴服務(wù)器以后發(fā)給客戶端的數(shù)據(jù)都用該密鑰加密。

(2)服務(wù)器在收到這個(gè)包后用本身的私鑰解密,得到客戶端AES密鑰。然后再更新AES密鑰,最后用客戶端的AES密鑰加密服務(wù)器更新后的AES密鑰,并發(fā)送給客戶端,告訴客戶端以后發(fā)往服務(wù)器的數(shù)據(jù)都用這個(gè)密鑰加密。

(3)客戶端在收到服務(wù)器的響應(yīng)包后,用自己本地AES密鑰解密,得到了和服務(wù)器的通信AES密鑰,以后發(fā)往服務(wù)器的數(shù)據(jù)都用這個(gè)密鑰加密。

RC4密鑰的協(xié)商過(guò)程與AES密鑰協(xié)商過(guò)程類似,只是使用的RSA公鑰不同。所有的密鑰協(xié)商完成后就開(kāi)始進(jìn)行數(shù)據(jù)通信了,在通信過(guò)程中,還會(huì)不定期的更新客戶端的本地密碼本。

客戶端發(fā)往服務(wù)器的第一個(gè)數(shù)據(jù)包頭部信息中:(1)每次發(fā)送第一個(gè)包時(shí),頭四個(gè)字節(jié)固定為0x00表示是發(fā)往服務(wù)器的包,而如果是0x01的話則表示是從服務(wù)器回來(lái)的包。(2)第二個(gè)四字節(jié)代表的是用來(lái)進(jìn)行校驗(yàn)用的四字節(jié)。(3)第三個(gè)四字節(jié)包含數(shù)據(jù)包長(zhǎng)度信息,如果是第一個(gè)字節(jié)為0命令號(hào)的數(shù)據(jù)包,則當(dāng)前四字節(jié)內(nèi)容和0x7FF進(jìn)行按位相與操作后則是數(shù)據(jù)的有效長(zhǎng)度,如果是03或者04命令號(hào)的包,則該四字節(jié)右移0x15位后則是包的有長(zhǎng)度。(4)第四個(gè)四字節(jié)中高四個(gè)比特位表示的是命令,如果是0或者2則表示該包攜帶密鑰,如果是為3的話則表示服務(wù)器發(fā)送過(guò)來(lái)的應(yīng)答請(qǐng)求,如果是4則表示是確認(rèn)信息,不包含有效的信息,而剩下的則表示的是序號(hào)。(5)緊接著是內(nèi)容固定為0x1500的兩個(gè)字節(jié)數(shù)據(jù)。(6)接著的32個(gè)字節(jié)為本地客戶端的原始密鑰種子。經(jīng)過(guò)擴(kuò)展后變成了256字節(jié)的輪密鑰,以后從服務(wù)器發(fā)過(guò)來(lái)的數(shù)據(jù)均用該密鑰解密。(7)最后是一些隨機(jī)產(chǎn)生的數(shù)據(jù)。

從服務(wù)器發(fā)送回來(lái)的數(shù)據(jù)包格式與客戶端發(fā)送的數(shù)據(jù)包格式類似,在數(shù)據(jù)包類型前面增加了0x10字節(jié)隨機(jī)數(shù),在固定值0x1500前面增加了八個(gè)字節(jié)的未知信息。

2.2 通信數(shù)據(jù)包格式分析

密鑰協(xié)商完成之后,代理客戶端和服務(wù)器就使用協(xié)商好的密鑰進(jìn)行加密傳輸,其中AES密鑰用于加密通信數(shù)據(jù)包的頭部信息,RC4密鑰用于加密通信數(shù)據(jù)包的數(shù)據(jù)部分??蛻舳嗽谑盏椒?wù)器的響應(yīng)包后,會(huì)利用序號(hào)發(fā)送一個(gè)表示收到應(yīng)答包的數(shù)據(jù)給服務(wù)器,然后分別把數(shù)據(jù)包的頭部信息和數(shù)據(jù)信息發(fā)送到本地進(jìn)程的兩個(gè)不同端口解密。

通信數(shù)據(jù)包格式的頭部信息比密鑰協(xié)商數(shù)據(jù)包的頭部信息短,經(jīng)過(guò)解密后的從服務(wù)器發(fā)送回來(lái)的數(shù)據(jù)包頭部信息中:(1)第一個(gè)十六字節(jié)是隨機(jī)參數(shù)的數(shù)據(jù);(2)第二個(gè)十六字節(jié)中頭四個(gè)字節(jié)為0x01表示是服務(wù)器發(fā)送過(guò)來(lái)的數(shù)據(jù),第二個(gè)四個(gè)字節(jié)右移0x15位后則表示的是數(shù)據(jù)包的大小,接著四個(gè)字節(jié)用來(lái)進(jìn)行校驗(yàn),最后四個(gè)字節(jié)中,最高四個(gè)比特表示命令號(hào),剩下的字節(jié)表示序號(hào)暫時(shí)沒(méi)有發(fā)現(xiàn)什么用,不過(guò)如果是回來(lái)的同一個(gè)應(yīng)答的話,則該四字節(jié)相同。

本地進(jìn)程的另外一個(gè)端口受到數(shù)據(jù)后,利用一個(gè)256字節(jié)的密碼本進(jìn)行解密,該解密算法為反饋解密,每解一包會(huì)把256個(gè)字節(jié)的更新一次。密碼本過(guò)一段時(shí)間后會(huì)利用服務(wù)器發(fā)送過(guò)來(lái)的包更新一次。

3 結(jié)論

本文就目前代理服務(wù)器的安全問(wèn)題,對(duì)某款代理軟件的通信數(shù)據(jù)安全性進(jìn)行了研究。首先通過(guò)網(wǎng)絡(luò)抓包大致分析了Z代理軟件的通信協(xié)議,然后采用反匯編逆向分析技術(shù)詳細(xì)分析了其通信密鑰協(xié)商過(guò)程和通信數(shù)據(jù)包格式。得出以下結(jié)論:本文所分析研究的Z代理軟件在密鑰協(xié)商過(guò)程中存在一定的脆弱性,黑客可以利用它來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)的截取以及還原,從而獲得用戶的個(gè)人信息以及通信內(nèi)容信息,給用戶的安全帶來(lái)威脅。同時(shí)本文為代理軟件的深入分析,如加解密算法研究和通信數(shù)據(jù)還原,打下了基礎(chǔ),還可以作為分析這一類軟件的參考。

[1]陳帆,谷大武等.FreeGate軟件的逆向分析.全國(guó)計(jì)算機(jī)安全學(xué)術(shù)交流會(huì)論文集(第二十三卷).2008.

[2]韓紀(jì)宏.一類互聯(lián)網(wǎng)軟件的分析與控制.上海交通大學(xué).2007.

[3]Chris Eagle.IDA Pro權(quán)威指南(第2版).石華耀,段桂菊譯.人民郵電出版社.2014.

[4]段鋼.加密與解密(第三版).電子工業(yè)出版社.2008.

猜你喜歡
代理服務(wù)器字節(jié)數(shù)據(jù)包
二維隱蔽時(shí)間信道構(gòu)建的研究*
No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
民用飛機(jī)飛行模擬機(jī)數(shù)據(jù)包試飛任務(wù)優(yōu)化結(jié)合方法研究
No.10 “字節(jié)跳動(dòng)手機(jī)”要來(lái)了?
地鐵信號(hào)系統(tǒng)中代理服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)
SmartSniff
IP地址隱藏器
簡(jiǎn)談MC7字節(jié)碼
人類進(jìn)入“澤它時(shí)代”
一種容侵系統(tǒng)的設(shè)計(jì)