姚慧峰 陳春玲 潘馳
摘 要:隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和普及,企業(yè)異地分支局域網(wǎng)之間的網(wǎng)絡(luò)通信越來越頻繁,用戶對于安全性和數(shù)據(jù)傳輸?shù)目煽啃砸哺又匾暋a槍σ陨闲枨?,本文對現(xiàn)有的基于TCP代理的數(shù)據(jù)壓縮傳輸系統(tǒng)進(jìn)行了分析,并進(jìn)行安全性優(yōu)化,提高了系統(tǒng)對于攻擊的防御能力和數(shù)據(jù)傳輸?shù)陌踩浴?/p>
關(guān)鍵詞:TCP代理;安全;SYN cookie;OpenSSL
Improvement of security for TCP proxy based on WAN data compression
YAO Hui-feng CHEN Chun-ling PAN Chi(angjing University of Posts and Telecommunications School of Computer Science & Technology,School of Software,Nanjing China 210003)
Abstract:With development of communication technology, network communication between various enterprise or institutions and their remote branch is more and more important and frequent. Users attach great importance to the TCP proxy itself security and secure transmission of data.According to this demand of user, the article analyzes the existing TCP proxy security deficiencies, improves and designs the existing TCP proxy architecture, provides a certain safety and reliability of TCP proxy technology based on WAN data compression.
Key words:TCP proxy;security;SYN cookie;OpenSSL
1 概述
基于TCP代理[1]的數(shù)據(jù)壓縮傳輸系統(tǒng),通過對經(jīng)過互聯(lián)網(wǎng)的數(shù)據(jù)流進(jìn)行壓縮傳輸,提高了帶寬的利用率,很好地滿足了異地局域網(wǎng)互相通信的需求。但已有的TCP代理技術(shù)更多關(guān)注的是數(shù)據(jù)傳輸速率,忽略了用戶對安全性的需求,本文分析了現(xiàn)有數(shù)據(jù)壓縮傳輸系統(tǒng)存在的安全隱患,引入SYN cookie[2]檢測技術(shù)和OpenSSL[3]工具,提高了對攻擊的防御能力和數(shù)據(jù)傳輸?shù)陌踩浴?/p>
2 安全問題
圖1是本人參與的企業(yè)項(xiàng)目中實(shí)現(xiàn)的數(shù)據(jù)壓縮傳輸系統(tǒng)的結(jié)構(gòu)圖,TCP代理位于企業(yè)分支局域網(wǎng)和互聯(lián)網(wǎng)連接的網(wǎng)關(guān)上。每個(gè)TCP代理上均帶有數(shù)據(jù)壓縮和解壓縮兩部分功能.壓縮和解壓的雙方都需要維護(hù)一個(gè)數(shù)據(jù)字典,通過利用字典索引對原始數(shù)據(jù)進(jìn)行編解碼的方法達(dá)到冗余數(shù)據(jù)刪除的效果。
通過分析可以看出安全問題主要是以下兩個(gè)方面。
⑴缺乏身份認(rèn)證機(jī)制。TCP代理無法對異地主機(jī)進(jìn)行身份確認(rèn),攻擊者可以進(jìn)行SYNFlood[4]攻擊。
⑵對數(shù)據(jù)信息私密性缺乏保護(hù)。TCP代理中,數(shù)據(jù)信息在經(jīng)過廣域網(wǎng)時(shí)缺乏必要的加密保護(hù)。
3 優(yōu)化方案
本節(jié)介紹了第2節(jié)總提出的主要的安全隱患,并針對問題提出解決方案。
3.1 SYN Flood攻擊防御的研究與設(shè)計(jì)
針對SYN Flood攻擊,本文在建立TCP連接時(shí),引入了一種基于SYN cookie的檢測方法,報(bào)文預(yù)處理線程通過調(diào)用cookie生成和校驗(yàn)?zāi)K,對報(bào)文進(jìn)行相應(yīng)處理以達(dá)到識別正常和異常SYN報(bào)文防御SYN Flood攻擊的目的。
3.2 數(shù)據(jù)安全傳輸?shù)难芯颗c設(shè)計(jì)
本文通過使用OpenSSL工具,在兩個(gè)TCP代理之間實(shí)現(xiàn)身份認(rèn)證,放棄原有的傳統(tǒng)socket連接,建立基于SSL協(xié)議的安全TCP連接[5],然后使用這個(gè)連接來發(fā)送和接受字典數(shù)據(jù),對發(fā)送的數(shù)據(jù)進(jìn)行加密處理和校驗(yàn)處理,從而保護(hù)字典數(shù)據(jù)。
4 實(shí)驗(yàn)結(jié)果和分析
4.1 實(shí)驗(yàn)環(huán)境
使用5臺pc分別作為客戶機(jī)、服務(wù)器、TCP代理、互聯(lián)網(wǎng)模擬、攻擊者,其中TCP代理和互聯(lián)網(wǎng)模擬需要雙網(wǎng)卡。以下為各pc配置:
客戶機(jī):cpu:英特爾x86酷睿2雙核,內(nèi)存:2G,硬盤:500G,操作系統(tǒng):Ubuntu 10.04
服務(wù)器:cpu:英特爾x86酷睿2雙核,內(nèi)存:4G,硬盤:500G,操作系統(tǒng):Fedora 14
TCP代理:cpu:英特爾志強(qiáng)E5四核,內(nèi)存:8G,硬盤:500G,操作系統(tǒng):SUSE服務(wù)器版
互聯(lián)網(wǎng)模擬:cpu:英特爾x86酷睿2雙核,內(nèi)存:4G,硬盤:500G,操作系統(tǒng):Fedora 14
攻擊者:cpu:英特爾x86酷睿2雙核,內(nèi)存:2G,硬盤:320G,操作系統(tǒng):Fedora 14
4.2 實(shí)驗(yàn)方案
實(shí)驗(yàn)在服務(wù)器客戶端之間使用FTP進(jìn)行文件傳輸,為了進(jìn)行對比,先進(jìn)行一組基礎(chǔ)測試,然后使用攻擊者對服務(wù)器進(jìn)行SYN Flood攻擊來觀察系統(tǒng)的運(yùn)行狀況,最后使字典數(shù)據(jù)庫填滿,測試數(shù)據(jù)傳輸與字典淘汰同時(shí)發(fā)生時(shí)傳輸效率等。
測試使用以下三個(gè)文件 A:壓縮包(430.6MB)、B:視頻文件(48.1MB)C:文本文件(17.2MB)
4.2.1 基礎(chǔ)傳輸測試
依次傳輸ABC三個(gè)文件,傳輸兩遍,測記錄該傳輸時(shí)間和平均傳輸速率。
a.原有TCP代理的基礎(chǔ)傳輸測試。
b.改進(jìn)后的TCP代理傳輸測試。
測試的結(jié)果如表1所示。
4.2.2 SYN Flood攻擊下傳輸測試
進(jìn)行兩輪測試,在SYN Flood攻擊下傳輸A文件,從第10s時(shí)刻起每隔10s采樣一個(gè)瞬時(shí)傳輸速率,總共采樣8次。攻擊者以2000個(gè)/秒的速率偽造客戶端所在網(wǎng)段的IP對服務(wù)器進(jìn)行攻擊,每次攻擊持續(xù)10s,間隔20s,總共3次。兩輪測試分別為:
c.在SYN Flood攻擊下的原有TCP代理的傳輸測試。
d.在SYN Flood攻擊下的改進(jìn)后的TCP代理的傳輸測試。
測試的結(jié)果如表2所示。
4.2.3 字典數(shù)據(jù)淘汰時(shí)的速率測試
進(jìn)行兩輪針對字典數(shù)據(jù)淘汰時(shí)的速率測試。測試步驟是將系統(tǒng)的字典數(shù)據(jù)庫大小調(diào)整為300M,傳輸文件一遍,填滿字典數(shù)據(jù)庫。然后將三個(gè)文件傳輸一遍,并記錄傳輸時(shí)間和平均傳輸速率。兩輪針對字典淘汰的測試為:
e.字典已滿狀態(tài)下的原有的TCP代理的傳輸測試。
f.字典已滿狀態(tài)下的改進(jìn)后的TCP代理的傳輸測試。
測試結(jié)果如表3所示。
4.3 實(shí)驗(yàn)結(jié)果分析
表1中兩遍傳輸速率差異是由于第一遍又建立字典的過程,而第二遍字典已經(jīng)建立表1表明改進(jìn)之后,在沒有攻擊的情況下,傳輸速率沒有很大的差異。
通過比較表1和表2中c輪可以看出系統(tǒng)處于SYN Flood的攻擊周期內(nèi)時(shí),傳輸速率非常低。而d輪測試中,雖然受到了SYN Flood攻擊,由于防御機(jī)制的存在,處于攻擊周期內(nèi)的3個(gè)采樣點(diǎn),傳輸速率值有所降低,但是還是大大快于c輪測試中的速率值,而在攻擊停止周期時(shí)速率有明顯的上升和恢復(fù)。
表3顯示了大量字典淘汰時(shí)的傳輸速率,因?yàn)轭A(yù)先將字典數(shù)據(jù)庫填滿,等到再傳輸新的文件時(shí),編碼方之間不僅要生成新的字典條目,還要通知解碼方同步淘汰字典,在一定程度上影響到數(shù)據(jù)傳輸速率。f輪中使用的是改進(jìn)后的安全字典通道,對字典數(shù)據(jù)進(jìn)行了加密,從e輪和f輪的對比來看,改進(jìn)后在字典大量淘汰時(shí)的傳輸速率并沒有受到影響,和采用老的字典同步方法的傳輸速率基本一致。
5 結(jié)束語
本文針對一種現(xiàn)有的基于TCP代理的數(shù)據(jù)壓縮傳輸系統(tǒng)進(jìn)行了安全性的優(yōu)化,實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的系統(tǒng)在不大幅影響性能的前提下提高了對于SYN Flood攻擊的防御能力和數(shù)據(jù)傳輸?shù)陌踩浴?/p>
[參考文獻(xiàn)]
[1]譚明君,王寶生,張錦玉.面向TCP透明代理截獲技術(shù)的研究與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2008,30:182-184.
[2]HANG Bo,HU Ruimin,SHI Wei.An enhanced SYN Cookie defence method for TCP DDoS attack[J].Journal of networks,2011,6(8):1206-1212.
[3]郭靖,王營冠.基于openssl的CA認(rèn)證及SSL加密通信[J].現(xiàn)代電子技術(shù),2012,35(3):104-107.
[4]HARIS S H C,AHMAD R B,GHANI M A H A.Detecting TCP SYN Flood Attack based on Anomaly Detection[J].2010 Second International Conference on Network Applications,Protocols and Services,2010:240-244.
[5]饒興.基于SSL協(xié)議的安全代理的設(shè)計(jì)[D].武漢:武漢理工大學(xué),2011.