姚慧峰 陈春玲 潘驰
摘 要:随着网络技术的发展和普及,企业异地分支局域网之间的网络通信越来越频繁,用户对于安全性和数据传输的可靠性也更加重视。针对以上需求,本文对现有的基于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.