姚慧峰 陳春玲 潘馳
摘 要:隨著網絡技術的發展和普及,企業異地分支局域網之間的網絡通信越來越頻繁,用戶對于安全性和數據傳輸的可靠性也更加重視。針對以上需求,本文對現有的基于TCP代理的數據壓縮傳輸系統進行了分析,并進行安全性優化,提高了系統對于攻擊的防御能力和數據傳輸的安全性。
關鍵詞: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]的數據壓縮傳輸系統,通過對經過互聯網的數據流進行壓縮傳輸,提高了帶寬的利用率,很好地滿足了異地局域網互相通信的需求。但已有的TCP代理技術更多關注的是數據傳輸速率,忽略了用戶對安全性的需求,本文分析了現有數據壓縮傳輸系統存在的安全隱患,引入SYN cookie[2]檢測技術和OpenSSL[3]工具,提高了對攻擊的防御能力和數據傳輸的安全性。
2 安全問題
圖1是本人參與的企業項目中實現的數據壓縮傳輸系統的結構圖,TCP代理位于企業分支局域網和互聯網連接的網關上。每個TCP代理上均帶有數據壓縮和解壓縮兩部分功能.壓縮和解壓的雙方都需要維護一個數據字典,通過利用字典索引對原始數據進行編解碼的方法達到冗余數據刪除的效果。
通過分析可以看出安全問題主要是以下兩個方面。
⑴缺乏身份認證機制。TCP代理無法對異地主機進行身份確認,攻擊者可以進行SYNFlood[4]攻擊。
⑵對數據信息私密性缺乏保護。TCP代理中,數據信息在經過廣域網時缺乏必要的加密保護。
3 優化方案
本節介紹了第2節總提出的主要的安全隱患,并針對問題提出解決方案。
3.1 SYN Flood攻擊防御的研究與設計
針對SYN Flood攻擊,本文在建立TCP連接時,引入了一種基于SYN cookie的檢測方法,報文預處理線程通過調用cookie生成和校驗模塊,對報文進行相應處理以達到識別正常和異常SYN報文防御SYN Flood攻擊的目的。
3.2 數據安全傳輸的研究與設計
本文通過使用OpenSSL工具,在兩個TCP代理之間實現身份認證,放棄原有的傳統socket連接,建立基于SSL協議的安全TCP連接[5],然后使用這個連接來發送和接受字典數據,對發送的數據進行加密處理和校驗處理,從而保護字典數據。
4 實驗結果和分析
4.1 實驗環境
使用5臺pc分別作為客戶機、服務器、TCP代理、互聯網模擬、攻擊者,其中TCP代理和互聯網模擬需要雙網卡。以下為各pc配置:
客戶機:cpu:英特爾x86酷睿2雙核,內存:2G,硬盤:500G,操作系統:Ubuntu 10.04
服務器:cpu:英特爾x86酷睿2雙核,內存:4G,硬盤:500G,操作系統:Fedora 14
TCP代理:cpu:英特爾志強E5四核,內存:8G,硬盤:500G,操作系統:SUSE服務器版
互聯網模擬:cpu:英特爾x86酷睿2雙核,內存:4G,硬盤:500G,操作系統:Fedora 14
攻擊者:cpu:英特爾x86酷睿2雙核,內存:2G,硬盤:320G,操作系統:Fedora 14
4.2 實驗方案
實驗在服務器客戶端之間使用FTP進行文件傳輸,為了進行對比,先進行一組基礎測試,然后使用攻擊者對服務器進行SYN Flood攻擊來觀察系統的運行狀況,最后使字典數據庫填滿,測試數據傳輸與字典淘汰同時發生時傳輸效率等。
測試使用以下三個文件 A:壓縮包(430.6MB)、B:視頻文件(48.1MB)C:文本文件(17.2MB)
4.2.1 基礎傳輸測試
依次傳輸ABC三個文件,傳輸兩遍,測記錄該傳輸時間和平均傳輸速率。
a.原有TCP代理的基礎傳輸測試。
b.改進后的TCP代理傳輸測試。
測試的結果如表1所示。
4.2.2 SYN Flood攻擊下傳輸測試
進行兩輪測試,在SYN Flood攻擊下傳輸A文件,從第10s時刻起每隔10s采樣一個瞬時傳輸速率,總共采樣8次。攻擊者以2000個/秒的速率偽造客戶端所在網段的IP對服務器進行攻擊,每次攻擊持續10s,間隔20s,總共3次。兩輪測試分別為:
c.在SYN Flood攻擊下的原有TCP代理的傳輸測試。
d.在SYN Flood攻擊下的改進后的TCP代理的傳輸測試。
測試的結果如表2所示。
4.2.3 字典數據淘汰時的速率測試
進行兩輪針對字典數據淘汰時的速率測試。測試步驟是將系統的字典數據庫大小調整為300M,傳輸文件一遍,填滿字典數據庫。然后將三個文件傳輸一遍,并記錄傳輸時間和平均傳輸速率。兩輪針對字典淘汰的測試為:
e.字典已滿狀態下的原有的TCP代理的傳輸測試。
f.字典已滿狀態下的改進后的TCP代理的傳輸測試。
測試結果如表3所示。
4.3 實驗結果分析
表1中兩遍傳輸速率差異是由于第一遍又建立字典的過程,而第二遍字典已經建立表1表明改進之后,在沒有攻擊的情況下,傳輸速率沒有很大的差異。
通過比較表1和表2中c輪可以看出系統處于SYN Flood的攻擊周期內時,傳輸速率非常低。而d輪測試中,雖然受到了SYN Flood攻擊,由于防御機制的存在,處于攻擊周期內的3個采樣點,傳輸速率值有所降低,但是還是大大快于c輪測試中的速率值,而在攻擊停止周期時速率有明顯的上升和恢復。
表3顯示了大量字典淘汰時的傳輸速率,因為預先將字典數據庫填滿,等到再傳輸新的文件時,編碼方之間不僅要生成新的字典條目,還要通知解碼方同步淘汰字典,在一定程度上影響到數據傳輸速率。f輪中使用的是改進后的安全字典通道,對字典數據進行了加密,從e輪和f輪的對比來看,改進后在字典大量淘汰時的傳輸速率并沒有受到影響,和采用老的字典同步方法的傳輸速率基本一致。
5 結束語
本文針對一種現有的基于TCP代理的數據壓縮傳輸系統進行了安全性的優化,實驗結果表明,改進后的系統在不大幅影響性能的前提下提高了對于SYN Flood攻擊的防御能力和數據傳輸的安全性。
[參考文獻]
[1]譚明君,王寶生,張錦玉.面向TCP透明代理截獲技術的研究與實現[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認證及SSL加密通信[J].現代電子技術,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協議的安全代理的設計[D].武漢:武漢理工大學,2011.