2007年第4期 福 建 电脑 69 操作系统的SYN攻击保护机制的研究与比较 石淑华 (深圳职业技术学院计算机系广东深圳518055) 【摘要】:SYN攻击对操作系统的性能影响非常大,目前还有病毒也采用SYN攻击,所以针对SYN攻击的防御非常重 要.不同的操作系统对SYN攻击保护机制差别非常大,本文分析了linux与Windows操作系统对SYN攻击保护机制,并比较 了二者的区别、各自的优势。 【关键词】:SYN攻击;TCP/IP;SYN半连接;SYN Cookie 1 引言 送完SYN+ACK包,如果未收到客户确认包,服务器进行重传, SYN攻击是DoS攻击的一种攻击方式 尤其是针对操作系 默认重传5次.总超时时间需要3分钟。TCHIP协议栈开辟了一 log队列来存储半连接条目.如果重传 统的SYN攻击.利用受害主机提供的服务或传输协议上的缺 个比较大的内存空间back陷.反复高速的发出特定的服务请求.使受害主机无法及时处理 次数超过系统规定的最大重传次数.系统才将该连接信息从半 并占满了这个空间,致 所有正常请求.对操作系统CPU的利用率、对内存的影响非常 连接队列中删除。当SYN请求不断增加,使系统丢弃后面的SYN连接。 为防范SYN攻击.windows系统的TCP/IP协议栈内嵌了 现在这种攻击方式.不单纯的是黑客使用,从2004年开始 tackProteet机制.indowsw 2003系统也采用此机制。 就有病毒可对指定机器发动SYN攻击.造成其拒绝服务,通过 SynAttackProtect机制是通过关闭某些socket选项.增加额外的 病毒的方式发动SYN攻击.影响面是非常大的.所以针对SYN SynAt大.严重时可以使得系统崩溃。 攻击的防御非常重要 2.SYN攻击分析 2 1 SYN攻击原理 连接指示和减少超时时间.使系统能处理更多的SYN连接,以 达到防范SYN攻击的目的。 SynAttackProtect机制的启动,系统根据TcpMaxHalfOpen、 xHalfOpenRetried和TcpMaxPortsExhausted三个参数判断 SYN攻击属于DOS攻击的一种.它利用TCP协议缺陷,通 TcpMa 过发送大量的半连接请求.耗费CPU和内存资源。SYN攻击除 是否遭受SYN攻击。了能影响主机外,还可以危害路由器、防火墙等网络系统,事实 保护机制SYN半连接的阈值TcpMaxHalfOpen的大小的设 太小影响正常的连接,过大就失去了保护的意义,在 上SYN攻击并不管目标是什么系统.只要这些系统打开TCP服 置是关键.务就可以实施 当服务器接收到连接请求SYN包时.将此信息 保护机制没启动之前系统可能已经崩溃。假使某服务器的 EW是5O万,天.假使首页有1O个对象,那么SYN就是 加入未连接队列.并发送SYN+ACK响应包给客户.当服务器未 PAGEVI收到客户端的ACK确认包时,重发请求包,一直到超时,才将此 5O万"10+24+3600=57 就是说我每秒至少要保证有57个 否则正常的都无法访问了。TcpMaxHalfOpen表示能同时处 条目从未连接队列删除。配合IP欺骗,SYN攻击能达到很好的 SYN.效果。通常,客户端在短时间内伪造大量不存在的IP地址,向服 理的最大半连接数.如果超过此值,系统认为正处于SYN攻击 务器不断地发送SYN包.服务器回复确认包,并等待客户的确 中。 认.由于源地址是不存在的,服务器需要不断的重发直至超时, TcpMaxHalfOpenRetried定义了保存在backlog队列且重传 nAttackPmtect 这些伪造的SYN包将长时间占用未连接队列,正常的SYN请求 过的半连接数.如果超过此值,系统自动启动Sy被丢弃.目标系统运行缓慢,严重者引起网络堵塞甚至系统瘫 机制 TcpMaxPortsExhausted是指系统拒绝的SYN请求包的数 痪。 量。 当系统的TCP,IP连接的数值超过这三项中任何一项所设 2.2 SYN攻击保护机制 od攻击,并开始启动保 针对服务器的SYN攻击防范技术.归纳起来.主要有两大 置的阈值时.系统就认为受到了SYN Ho类.一类是通过防火墙、路由器等过滤网关防护,另一类是操作 护机制中设置的其他选项:减短SYN Timeout时间、减少SYN+ 系统自身增加了对SYN攻击的保护机制.前者可以挡掉来自外 ACK的重试次数、自动对缓冲区中的报文进行延时等等措施.网经过防火墙、路由器的攻击.但是对于来自内网的攻击无法防 力图将攻击危害减到最低 inux的SYN攻击保护机制 御。后者可以在通过操作系统自身的保护机制.提高防御效果, 4.1SYN Cookie原理由D.J.Bemstain和Eric Schenk发明。 尤其对于保护服务器来说是一种行之有效的方法。但是不同的 操作系统采用了不同的防护机制.下面针对linux与Windows2 hnux、FreeBSD等操作系统都应用SYN Cookie技术.SYN Cookie 是能够有效防范SYN攻击的手段中最著名的一种。我们知道, 个主流的操作系统来分析不同体系操作系统防护机制。 3.Windows的SYN攻击保护机制 TCP协议开辟了一个比较大的内存空间backlog队列来存储半 致使系统丢 Windows中针对于SYN攻击的防范.就是通过调整TCP,IP 连接条目.当SYN请求不断增加,并占满这个空间, 协议栈来实现的 正常情况下.操作系统对TCP连接的一些重 弃SYN连接。SYN Cookie技术针对标准TCP连接建立过程资源分配上 要参数有一个常规的设置.如:SYN Timeout时间、SYN+ACK的 改变了资源分配的策略。在TCP实现中,当收到客 重试次数、SYN报文从路由器到系统再到Winsock的延时等等。 的这一缺陷,这个常规设置针对系统优化.可以给用户提供方便快捷的服务。 户端的SYN请求时.服务器需要回复SYN+ACK包给客户端,客 户端也要发送确认包给服务器。通常.服务器的初始序列号由服 旦系统受到攻击.就需要启动保护机制,防止系统崩溃。 一Cookie 正常情况下.Windows系统的TCP/IP协议栈工作的机制 务器按照一定的规律计算得到或采用随机数.但在SYN 服务器的初始序列号是通过对客户端IP地址、客户端端口、 是.Windows操作系统响应正常的TCP请求(SYN请求),服务器 中.P地址和服务器端口以及其他一些安全数值等要素进 收到SYN包.必须确认客户的SYN,同时自己也发送一个SYN+ 服务器I行hash运算.加密得到的。称之为cookie。并把该cookie值作为 ACK包.此时服务器进入SYN RECEⅣED状态。 W d0ws第一次重传之前,等待时间默认为3秒,服务器发 初始序列号的前24位发给客户端,如果服务器(下转第56页)维普资讯 http://www.cqvip.com
56 福 建 电脑 2007年第4期 目前还不现实。 4.2数据库管理系统内核层加密:DBMS内核层实现加密. 是指数据在物理存取之前完成加/解密工作(如图一)。这种方式 势必造成DBMS和加密器(硬件或软件)之问的接1:3需要DBMS 开发商的支持。这种加密方式的优点是加密功能强.并且加密功 能”几乎”不会影响DBMS的功能。但这种加密方式并不适合当 前我国实际情况,因为我们现在使用的大型数据库管理系统绝 大部分是国外产品,其内核技术对我们是保密的.实现这种加密 方式难度是很大的。 4.3数据库管理系统外核层加密:数据库加密的主要目的是 防止内部人员泄密。而内部人员主要指数据库系统的管理、维护 人员,在纷繁复杂的数据中对他们保密的数据(敏感数据1种类并 不多,一般不超过10%。其中大部分是属性和结果等数据.数据 量更少,加/解密运算量并不很大。从目前的实际情况来看.比较 实际的做法是在DBMS的外层加一层数据库加密系统(如图 二)。在三层数据库应用模式中数据库加密系统是在应用服务器 端实现的,数据库加密系统应实现加/解密、定义加密要求、密钥 (1)数据库加密以后,数据量不应该明显增加。 (21某一数据加密后,其数据长度不变。 (3)加解密速度要足够快,数据操作响应时间应该让用户能 够接受 结论 从上述可以得出.数据库加密系统首先要解决系统本身的 安全性和可靠性问题.然后采用有效的加密方法对数据进行加 密。当前数据库加密系统已具有一定的保护数据安全的功能.但 值得进一步深入的研究 参考文献: 1.陈爱民,于有康,管海明,《计算机的安全和保密>,电子工业出版社, 1992年9月 管理等功能。采用这种加密方式时.其优点是可以根据需要灵活 配置数据库加密,缺点是对数据库操作的效率将有所降低。 2.高品均.陈荣良.数据库加密技术综述.w .tona1.edu.cn. 3.H.Garcia—Molina。l D.Ullman,J.Widorm岳丽华,扬冬青等译.数据库 系统全书口vl1.机械工业出版社,2oo3. 4.朱鲁华,陈荣良.数据库加密系统的设计与实现.计算机工程,,2002,08. 5.蔡亮.扬小虎.董金样.信息战下的数据库安全一我国的特殊需求分析 和对策m、计算机研究与发展,2002。39(5):568-573. 6.NCSC—TG一021,Trusted Damb ̄e Management System lnterpretaUon ofTCSEC 『S1.US:Nafional Computcr Security Center,1991. 7.ISo/IEC 15408—1,1999饵),Common Cfiteria for Information Technol- oRY Securiy Evaltuauon—Part1:Introduction and General Model『S1.The International Or ̄anizadon for Standardization,1999. 8.Bruce Schneier.吴世忠等译.应用密码学:协议、算法与c源程序(第二 版)口 .机械工业出版社。2000. 图一:DBMS内核层加密关系图 图 ̄:DBMS外层加密关系图 5.数据库加密对加密算法要求 由于加密最早是应通讯的需要而产生的.现有的加密算法 几乎都是针对通讯的特点而设计的.至今还没有专门用于数据 库加密的加密算法。我们只有根据数据库系统的特点.将现有的 加密算法应用到数据库加密中来 随着数据库加密技术的不断 发展,人们提出了许多对数据库加密方法。由于数据库中数据量 大,数据关联程度高,保存时间长,因此数据库加密与一般的数 据加密有所不同。在选择加密算法时要满足一些特定要求IL' ̄3--171. 主要包括: 9.H.Garcia-Molina,1.D.Ullnlan,J.Widom.扬冬青等译.数据库系统实现 『MI.机械工业出版社.2002. 1O.1ay Ramachandran.胡骏。詹文军等译.设计安全的体系结构『M1.机械 工业出版社.20O3. 11.刘启原,刘怡编著.数据库与信息系统的安全rM1.科学出版社.2000. 12.卿斯汉.刘文清.刘海峰.操作系统安全导论【MI.科学出版社。2003. 13.崔国华.汤学明.数据库中加密机制的实施研究『m.密码与信息。2000 (2):84—90. 14.戴一奇,尚杰,苏中民.密文数据库的快速检索『Ⅱ】.清华大学学报(自然 科学版).1 997(4):24-27. 1 5.http://openbase.ncusofc.corn/ 16.http://www.bj= ̄c.corn/ 1 7.http://www.sybase.corn/ (上接第69页) 收到客户端的ACK包.服务器将客户端的ACK序列号减去1 得到cookie比较值,并将上述要素进行一次hash运算.看看是 否等于此cookie。如果相等,直接完成三次握手。当服务器遭受 SYN攻击时,服务器并不拒绝新的SYN请求.而是回复cookie (回复包的SYN序列号)给客户端.因为攻击者并不知道这里的 cookie值,而且也很难推算出该值.因此TCP服务器也几乎不可 能为这些SYN+ACK包分配存储空问.这也就说明了SYN Cookie达到起到了抵挡SYN Flood攻击的作用。 5.1inux与Windows的SYN攻击保护机制的比较 Windows所采用的修改TCP/IP协议栈来实现.当达到所设 的阈值,启动了SynAttackProtect机制.也保护了操作系统。但是 只是有效地缓解了SYN攻击对操作系统的影响.并无法彻底消 外.由于计算cookie有一定的运算量.增加了连接建立的延迟时 问.因此,SYN Cookie技术不能作为高性能服务器的防御手段。 通常采用动态资源分配机制.当分配了一定的资源后再采用 cookie技术.Linux就是这样实现的。还有一个问题是.当我们避 免了SYN Flood攻击的同时.同时也提供了另一种拒绝服务攻 击方式.攻击者发送大量的ACK报文,使服务器忙于计算验证 尽管如此.在预防SYN Flood攻击方面,SYN Cookie技术仍然是 种有效的技术 6.结束语 通过加固TCP/IP协议栈的这种SYN攻击保护机制.不仅 在WindOWs中采用.在lin[Ix、Solaris等操作系统都采用,是一种 行之有效的方法。SYN Cookie技术有其独特的优势,它的应用也 一除,操作系统遭受SYN攻击时.这时系统不响应所有的SYN请 推广到防火墙中.现在有许多防火墙采用了SYN Cookie技术。 求,除了攻击的SYN,系统还是会丢失正常的TCP连接。另外. 在一个操作系统中把二者有效的结合起来.会起到更好的防范 针对SYN攻击调整TCP仃P协议栈.可能会引起某些功能的受 作用 限。 SYN COOkie技术防止了上述情况.技术由于在连接建立过 程中不需要在服务器端保存任何信息.实现了无状态的三次握 手.从而有效的防御了SYN Flood攻击。Windows这种处理方法 会在面对SYN nood攻击时丢掉正常的TCP连接请求 SYN Cookie的作用恰恰是保证在面对SYN Hood攻击时.一方面能 够拒绝非法的TCP连接请求.一方面正常连接可以被建立。 但是SYN Cookie方法也存在一些弱点 由于cokie的计算 只涉及了包头的部分信心.在连接建立过程中不在服务器端保 存任何信息。所以失去了协议的许多功能,比如:超时重传。此 参考文献: 1.包海峰.张锦辉.Windo、vs 9x/Me/NT/2000注册表完全手册『M1.北 京:北京希望电子出版社.2001 2.InMcLeaan( ̄6"-),王建华(译).Windows 2000TCP/IP技术内幕【M】.北 京:机械工业出版社.2oo1 3.陈波.SYN Rood攻击的原理、实现与防范Ⅱ】.计算机应用与研究, 2oo3.20(12).80—83 4.陈刚,扬波.基于SYN Cache/Cookie的防DoS攻击的改进方案m、计 算机工程。2005,31(21).140—142 5.http://www'micr ̄s ̄ft'c ̄m/china/technet/secunty
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- stra.cn 版权所有 赣ICP备2024042791号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务