免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 969 | 回复: 0
打印 上一主题 下一主题

linux核心dos_ddos攻击防御算法分析4/4 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-15 12:38 |只看该作者 |倒序浏览
结  论
论文首先对防火墙知识做了一个总体上的认识。然后深入分析Linux Ij火墙内核,对netfilter的数据流程及其怎样实现防火墙框架机制进行剖析。在上述分析基础上,研究了基于Linux抵御常见DoS攻击的防火墙:用iptables方法实现了防火墙底层的基本模块。分析了抵御SYN洪水攻击的传统算法,给出了改进算法。分析了泪滴及Smurf攻击原理,对存在的安全薄弱点提出解决方案。用:ietfilter方法实现了防火墙上层的抵御SYN洪水、泪滴及Smurf攻击模块。经测试,构建的防火墙可以实现动态包过滤、NAT ( SNAT, DNAT)和DMZ功能。可以有效抵御常见DoS攻击。最后,介绍了防火墙新技术。
通过以上工作,本文从广度、深度两个方面认识防火墙体系,增强了防火墙的理论知识、积累了防火墙开发设计经验,为以后从事相关研究打下了坚实)l础。达到了本文目的。
下一步工作和展望:
由于时间原因,还有一些工作做的不够充分:
(1) 仅实现了防火墙的基本功能,对于具体环境下的防火墙,尚需根据情况添加具体规则以实现具体功能。
(2) 网络攻击方法不仅限于DoS攻击,还有许多其它攻击,如IP地址欺骗、缓冲溢出等等。这些攻击有些仅用Linux防火墙还无法抵御,还需要其它技术。因此,如何将Linux防火墙技术与其它新技术结合起来,是今后工作的重点。
这里有几点想法:
(1) 将Linux防火墙做到网络应用层;
(2) Linux分布式防火墙;
(3) Linux防火墙智能化。
最后结论:
由于计算机网络互联的重要性,网络安全是我国计算机网络建设中应当引起重视的问题。在计算机安全性和计算机所能提供功能之间的平衡性是很重要的。在很多情况下,最安全的计算机往往功能是简单的,能提供多种服务的则是最不安全的。本文作者为Linux2. 4 内核下基于netfilter 设计开发防火墙作了有意的尝试,设计了一个包过滤和应用代理的混合型防火墙,重点解决了在Linux 环境下在netfilter 中设计防火墙的问题,并在此基础上增加了主动及被动的安全措施以实现网络安全的功能。
Linux 操作系统中的包过滤防火墙具有一般包过滤防火墙的优点:简单,速度快,功能强,能按照系统设定的安全策略对防火墙进行过滤,但是它也具有了很多传统包过滤防火墙缺点:1.很多网络服务的端口号是不固定的,对这服务不可能进行很好的过滤;2一些应用协议使用的信息打包在IP 数据包中,所以不能方便地被包过滤级防火墙访问和使用,所以对应用服务的过滤很难;3.审计功能差,过滤规则的设计存在矛盾关系,过滤规则简单,安全性差,过滤规则复杂,管理困难。4.无法抵御欺骗攻击。对于端口扫描,我采用了对网络连接进行正态分布统计计算,对网络连入数在单位时间内进行智能更新,采用误判率1%为标准来决定扫描攻击,在一定程度上解决了扫描攻击问题。而对于欺骗攻击,则采用记录并分析所有通过防火墙的IP 数据包从源节点到目的节点所经过的路由信息,即过滤数据包时也检查该数据包所经过的路由,丢弃那些经过了不安全路由的数据包:特别是对IP劫持攻击采用服务器方收到重置RST信号时也向对方发送一个RST重置信号,来有效的防御欺骗攻击。为克服包过滤防火墙的缺点,就再设置了一个HTTP和通用应用代理服务器,从而采用混合防火墙来保证内部网络安全。
由于时间和条件限制,本论文所设计的防火墙还有很多地方需要改进和完善,主要表现在以下几个方面:
(1) 在包过滤管理模块中还缺乏过滤规则检查,有可能造成规则冲突的情况,这还需要防火墙管理员很高的专业知识;
(2) 对网络扫描防御还存在问题,当专业黑客扫描目标端口时可能只扫描攻击目标几个端口,所以防火墙对这中扫描攻击没有作用,还需要找出更加完善的办法来进行防范;
(3) 对常用网络应用协议都应该配置代理,本防火墙只实现了HTTP和一个通用代理;
(4) 还缺乏日志分析,本防火墙还只是靠专业人员对日志作分析。这些不足都需要进一步工作来完成。










致  谢
论文完成,首先要感谢我的导师雷国华教授。雷老师在我论文选题、研究,撰写的过程中,进行了很重要并且具体、细致的指导,雷老师的治学态度、思想方法、工作作风都使我受益非浅。
在这里,我对所有给予我关心和帮助的老师同学表示衷心的感谢




















参考文献
[1] Dawn X Song,Adrian Perrig .TCP/IP详解卷2:实现.陆雪莹,蒋慧.机械工业出版社,2000: 32-45
[2] Felix Lau Simon.Linux 安全最大化第二. 汪辉,张冕洲.电子工业出版社,2002: 47-94  
[3] John Miler.Linux 黑客防范开放源代码安全指南. 钟日红,宋健才.机械工业出版社,2001: 15-42
[4] 余青霓,周刚.Linux 防火墙.人民邮电出版社,2000: 58-62
[5] 李之棠译.防火墙原理与实施.电子工业出版社,2001: 45-51
[6] 钱炜,罗军舟.基于嵌入式Linux的硬件防火墙系统设计.电子工业出版社,2002: 78-94
[7] 宋书民,朱自强.一种基于Patricia树的检测Syn Flood攻击的方法.机械工业出版社,2000:  75-102
[8] 陈天洲.计算机安全策略.机械工业出版社,2001: 152-185
[9] 马建峰.计算机系统安全.电子工业出版社,2002: 85-154
[10] 刘勇.安全计划与灾难恢复.电子工业出版社,2002:  24-65
[11] 飞思科技产品严发中心.计算机安全.人民邮电出版社,2003:  64-78
[12] 向宏.信息安全管理.机械工业出版社, 2004: 142-176
[13] 张文毅.网络安全与病毒防范.电子工业出版社,2003:  247-301
[14] 何田.Linux管理员指南.清华大学出版社,2005: 87-104
[15] 朱尼正.Linux网络管理.人民交通出版社,2005: 94-140
[16] 中科红旗软件有限公司.红旗Linux应用软件.科学出版社, 2004:  45-74
[17] 邓少鹍.Linux安全与优化.北京大学出版社,2005: 204-254
[18] 刘扬.Linux高级网络管理.人民邮电出版社,2004: 287-296
[19] 王勇奇.Linux系统攻防解析.电子工业出版社,2004: 17-54
[20] 清源计算机工作室.DOS攻击基础.科学出版社,2005: 64-71
[21] 吉根林.对DDOS防御.科学出版社,2005: 87-152



























附录1  外文资料原文
Refuses to serve the attack, is called DoS (Denial-of-Service). Is one kind of common hacker attack behavior. This kind of attack behavior has the false source address through the transmission the data packet to request that, causes the network server to flood the massive waitings reply the information, the consumption network band width or the system resources, causes the network or the system service load is overweight, the grade of service drops, until is paralysed stops the normal service. Sometimes, the hacker in order to enhance the attack the effect, often can unite many to attack the stand to start the attack to the victim. Because DoS attacks easy to implement, difficulty with to defend, moreover is very difficult to return to the pursuit attack source, causes it to become serious invasion network organization normal operation the and so on service provider, governmental agency and financial negotiable securities security problem.
IP returns to the track related technology
In order to thoroughly eliminates the DoS attack, must get to the bottom of a matter, found the true attack machine or the aggressor. This method is called IP to return the tracing technology (IP Traceback). Because DoS aggressor in transmission attack data packet time often can fabricate the source address, causes IP to return to tracing the difficulty to be very big. Commonly used IP returns to the stern-chase method to include: The entrance filters (Ingress Filtering), the connection test (Link Testing), the ICMP tracing, registers the analysis (Logging), the source way isolation engine (SPIE), the IPSec tracing, as well as stochastic data packet mark tracing (PPM)
(1) PPM algorithm
Stochastic data packet mark algorithm PPM main principle as follows: The router by certain probability p (usually is 1,/25), passes through its data packet with its IP address or IP address part of stochastic marks. When has the DoS attack, the victim acts according to in the attack data packet mark information which it receives, the reconstruction attack way. Used the PPM algorithm, the router burden is smaller, uses side the mark the compression and the lamination technology greatly reduced the extra network current capacity. Moreover, this method will be allowed later to carry on tracing in the attack conclusion to the attack source. PPM to the DoS attack, has the better tracing effect.
But, as a result of its own flaw, the PPM algorithm is unable to return well tracks the DDoS attack (Distributed......

附录2  外文资料中文翻译
拒绝服务攻击,简称DoS(Denial-of-Service),是一种常见的黑客攻击行为。这种攻击行为通过发送带有虚假源地址的数据包请求,使网络服务器充斥大量等待回复的信息,消耗网络带宽或系统资源,使网络或系统服务负载过重,服务质量下降,直至瘫痪而停止正常的服务。有时,黑客为了提高攻击的效果,往往会联合多个攻击站点向受害者发动进攻。由于DoS攻击易于实施、难于防御,而且很难返回跟踪攻击源,使之成为一个严重侵扰网络服务提供商、政府机关和金融证券等机构正常运作的安全问题。
IP返回跟踪相关技术
    为了彻底消除DoS攻击,必......






附录3  设计系统部分源代码
/*一个IP包,其分片都被放入到一个链表中,作为每一个分片的链表节点用ipfrag结构表示。IP分片的中心组装在此链表进行。*/

/*IP分片结构体*/
struct ipfrag
{
int                  offset;       //ip包中此分片的偏移值
int                  end;          //此分片最后一个株距在ip包中的位置
int                  len;          //此分片长度
......

  unsigned int comefrom ;//内核用它跟踪数据包流向
  struct ipt_counters counters; //包含数据包及匹配此规则数据包的计算数值
以下仅列出ipt_entry_match结构体:
          struce ipt_entry_match
          {
union
              {
                 struct{
                       u_int16_t target_size;
                       char name[ IPT_FUNCTION_MAXNAMELEN];
                       } user;
                  struct {
                            u_int16_t target_size;
                            struce ipt_tatget *target;
......

抵御DOS攻击实现:
struct iphar* iph=(*skb)->nh.iph;
struct icmphdr* icmph =(*skb)->h.icmph;
_32 hostph=getihp(host);
if(iph->protocol==1)   如果是ICMP包
{
    /*目的地址为广播地址的ICMP请求包*/
    if(icmph->type==ICMP_ECHO &&(iph->daddr==(hostiphl(~hostmask)))
{
    printk(“Dorp the broadcast ICMP packer!”);
......

  }
/*模块卸载函数*/
int cleanup_ module(void)
{
    return nf_unregister hook(&CounterDoS);
}

本文来自CSDN博客,转载请标明出处:
http://blog.csdn.net/ctu_85/archive/2008/01/03/2023205.aspx


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/100948/showart_2070845.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP