一种综合抗检测攻击的方案设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一种综合抗扫描攻击的方案设计孙夏声11西南交通大学、中国成都610031、sunxiasheng@163.com摘要:本文首先分别对地址扫描和端口扫描技术进行分析,然后对常见的抗地址扫描和抗端口扫描方案进行讨论,进而提出一种综合抗扫描攻击的方案设计。该方案将抗地址扫描和抗端口扫描整合在一个处理流程中,使得系统性能得到提高。通过在某电信设备厂商路由器上的应用,证明了该方案的合理性及可实施性。最后对该方案的优劣进行了分析。关键词:DDoS、端口扫描、地址扫描、综合抗扫描攻击AnIntegratedDesignofAnti-scanSunXiasheng11SouthwestJiaotongUniversity,Chengdu,610031,China,sunxiasheng@163.comAbstract:First,thetechnologyofaddressscanandportscanisanalyzedrespectively,andthenthecommondesignagainstaddress-scanandport-scanisdiscussed,anintegrateddesignofanti-scanisproposedatlast.Thedesignmakesanti-port-scanandanti-address-scanintegratedinoneprocess,improvedtheefficiencyofthesystem.Throughtheapplicationoftherouterfromatelecommunicationequipmentmanufacturer,confirmedtherationalityandpracticabilityofthedesign.Finally,themeritsofthedesignwereanalyzed.KeyWords:DDoS,portscan,addressscan,integrateddesignofanti-scan1.引言Internet飞速发展的同时上网计算机数和上网人数都在高速增长,人们越来越依赖于计算机网络,网络安全成为一个摆在我们面前的亟待解决的问题。DDoS(DistributedDenialofService,分布式拒绝服务攻击),是一种近些年流行的网络攻击方式,它所造成的损失在各种攻击方式中都名列前几位。2006年3月,ICANN安全和稳定咨询委员会报道了利用DNS服务器进行放大的DDoS攻击,攻击的聚合流量达到4Gbps;DDoS攻击也被广泛用于网络敲诈、商业竞争、甚至政治斗争,如2007年爱沙尼亚的政府网站遭受DDoS攻击而被迫封禁国外IP的访问。赛门铁克公司所做的Internet安全威胁报告显示,政府部门和关键的基础设施遭受的网络攻击中,DDoS攻击以46%的比例位居第一;其报告中DDoS攻击的判断仅统计SYN洪泛攻击,实际情况应更为严重[1]。地址扫描和端口扫描作为DDoS的基础技术,它的危害已经得到了广泛的重视。已经出现了很多抗地址扫描攻击和抗端口扫描攻击的产品,这些产品的功能在原理上是趋同的,但具体的处理和提供给用户的界面存在很大的差别。比如某电信设备厂商的路由器上,提供了抗端口扫描的功能,但没有提供抗地址扫描的功能;另外一家厂商的路由器上同时提供了两种功能,但两套命令又让用户觉得繁琐。本文提出的方案将抗地址扫描功能和抗端口扫描功能统一实现为综合抗扫描攻击功能,通过整合的处理流程和高效的表项管理,同时提升了系统性能。2.扫描及抗扫描攻击技术的原理一般来说,DDoS攻击的典型过程可以分为3个阶段,即信息收集、占领傀儡计算机和攻击实施[2]。攻击者的攻击并非盲目地胡乱进行,为了使得攻击奏效,在信息收集阶段(也称侦查,Reconnaissance),攻击者主要收集被攻击网络或主机的存活状态、开启的服务端口和系统漏洞等,为下一步的攻击做好准备。地址扫描和端口扫描是典型的侦查手段。地址扫描也称主机扫描,它用来发现存活的主机IP地址;端口扫描主要是用来发现存活主机上开放的端口或者服务。地址扫描使用的协议主要有ICMP、TCP和UDP,端口扫描使用的协议主要是TCP和UDP[3]。使用ICMP进行的扫描,一般采用ICMPEcho消息。当要扫描一个主机是否存活时,可以在Ping命令后加上主机IP地址或域名作为参数,能够收到Ping响应则说明目标主机处于活动状态。当要扫描一组主机的时候,逐一Ping这些主机,这称为Ping扫射(PingSweep),活动的主机会回送Ping响应。使用TCP和UDP进行的扫描,是利用TCP和UDP协议的常用端口号(TCP的80端口,UDP的53端口等)。TCP扫描有多种方式,比如TCP-SYN方式,通过向目标系统发送一个正常的TCP连接,如果对方端口是打开的,则连接成功。TCP-FIN扫描方式,则是向目标发送一个FIN包,目标如果存活并且端口关闭,会返回一个RST包(如果端口打开,则收不到任何返回消息)。使用UDP进行的扫描,发送UDP包到目的端口,有些协议栈对于关闭的UDP端口会回送一个ICMP端口不可达报文。对于网络关键设备上的抗地址扫描和端口扫描功能,大多数厂商采用了相同的思路:对于地址扫描攻击,检测从某接口进入设备的ICMP、TCP和UDP报文,统计从同一个源IP地址发出报文的不同目的IP地址个数。如果扫描周期小于或等于设定的扫描周期则把不同的目的地址记录;否则不记录,并且把以前记录的统计信息清空。当目的IP地址的个数达到设置的阈值,后续直接丢弃来自此源IP的报文,并记录日志,同时把该源地址加入到黑名单中,禁止该地址访问直到受罚时间到达。对于端口扫描攻击,也是类似的思路,只是将ICMP从报文检测类型中排除,记录的内容不再是目的IP地址而是目的端口。上述抗端口扫描和地址扫描的方案有如下的不足:(1)从攻击者的角度分析,很少只采用单一的扫描方式,往往是地址扫描和端口扫描同时进行或者交叉进行。对于网络关键设备,在抗攻击的设计中严格区分抗地址扫描还是抗端口扫描没有太大意义。(2)从抗攻击方案设计的角度分析,当前的厂商在抗扫描攻击的实现方案上虽然严格区分了地址扫描和端口扫描,但二者的抗攻击实现思路却几乎是一致的,没有必要做两套功能。两套功能合二为一,更能提升系统性能。(3)从用户的角度讲,用户关心的是设备能抵抗扫描的发生,从而可以避免发生大规模DDoS攻击,他们并不关心发生了地址扫描还是端口扫描。因此两套功能两套命令显得繁琐且实际意义不大。3.综合抗扫描攻击方案3.1实现原理由用户在设备接口上进行抗扫描攻击的配置,配置的内容包括:扫描周期、在扫描周期内允许扫描的最多地址数、在扫描周期内允许扫描的最多端口数、受罚时间。用户配置成功生效后,系统首先检查进入接口的报文,对ICMPechorequest报文、TCP的SYN报文和UDP报文建立以源IP地址为主键的结点,将此类结点称之为会话结点。结点中同时记录从此源IP地址发出的相关报文的目的地址和目的端口,并进行计数。对于后续到来的报文,首先进行端口扫描检测过程,如果在扫描周期内对应源IP的结点中目的端口计数超过了用户配置的允许扫描的最大值,则认为遭遇了扫描攻击,将此源IP地址放入黑名单,丢弃所有来自此IP的报文,直到受罚时间结束。如果没有发生端口扫描,则继续进行地址扫描的检测过程,如果在扫描周期内对应源IP的结点中目的地址计数超过了用户配置的允许扫描的最大值,则认为遭遇了扫描攻击,将此源IP地址放入黑名单,丢弃所有来自此IP的报文,直到受罚时间结束。在会话结点管理上,由于路由器设备上的内存资源比较珍贵,动态分配内存将产生诸多碎片,浪费内存资源,因此本方案中采取了用户配置成功后即预先分配一块内存池的方法,由系统后续建立会话结点时统一取用。考虑到从同一接口到来的报文具有相同源IP地址的可能性很小,因此在处理流程中不再判断某一源IP地址是否从同一接口进入,所有接口共享会话结点。综合抗扫描攻击方案流程如图1所示。3.2数据结构和关键算法(1)主要数据结构每个接口上有一个扫描检测配置结构,用来保存配置值和黑名单列表。typedefstructcfgNode_s{intcfgAddrMax;//地址扫描上限intcfgPortsMax;//端口扫描上限intcfgInterval;//扫描时间间隔intcfgBanTime;//受罚时间ListblackTable;//黑名单列表}cfgNode;其中List数据结构可以由具体使用情况决定,可以使用单向指针或者双向指针等。以源IP为主键,构造会话结点(仅列出了主要数据项):开始此接口有扫描检测配置取目的端口、目的地址此源IP是否在黑名单中取接口号此源IP是否有会话记录进行端口扫描检测目的端口数目是否超过设定值进行地址扫描检测目的IP数目是否超过设定值丢弃结束通过加入黑名单新建会话记录NYYNNYNYYN图1方案主要流程图typedefstructsessionNode_s{ListhashList;//hash索引ListblackTable;//黑名单列表unsignedlongsip;//源IPunsignedlongbanStartTime;//受罚开始时间unsignedlonglastDetectTime;//最后检测时间unsignedlongdip[DIP_CNT_MAX];//记录目的IPunsignedlongdipCnt;//目的IP统计unsignedshortdport[DPT_CNT_MAX];//记录目的端口unsignedlongdportCnt;//目的端口计数}sessionNode;(2)算法细节为了节省空间并提高效率,会话结点中设置了方便对结点进行归类管理的指针域,例如要统计黑名单中的IP地址,则只需要遍历整个blackTable链即可。如图2所示:...blackTable............blackTable...blackTable图2表项的链式管理图在对会话结点进行老化的过程中,也采用链式管理的方法。当所有的内存池被用完,又有新的源IP进来时,为了保证它能分配到建立会话结点的空间,系统从最近未使用的会话结点中清空一个给它。对最近未使用的会话结点的管理,通过类似blackTable的链域lru建立LRU(即leastrecentlyused最近最少使用)链表,每次使用会话结点时,将使用过的结点放到LRU链表的末尾,从而使得链表头部的结点成为最少使用的结点。这样从LRU链表头部取得的的结点即可在没有空闲内存池的时候分配给新到的源IP。另外,为了提高整体会话结点的查询速度,对会话结点的查找使用hash查找的方法。使用源IP地址生成hash索引值,本方案引用的hash算法如下[4]:inthash(unsignedlongsip){unsignedlongvalue=sip;inthash=0;do{hash^=value;}while(value=HASH_LOG);returnhash&(HASH_SIZE–1);}其中HSAH_LOG是需要构造的hash表的列,HASH_SIZE是hash桶的数目,即hash表的行。冲突处理的方法采用链地址法。使用hash方法之后对所有会话结点的管理轮廓如图3所示。hash...blackTable...blackTable...blackTable...lru......lrublackTableLRU图3全局表项管理图4.结束语本文提出的综合抗扫描攻击的设计方案,主要应用于网络关键设备上。该方案在四川某电信设备厂商的交换机和路由器设备上进行了应用测试,测试结果证实了综合抗扫描攻击方案的合理性和可实施性。该方案的局限性在于它的适用性不广泛,依赖于网络关键设备这样的实际应用环境。对于网络终端设备等,则难以显现优势,另外该方案的表项(会话结点)管理方面仍有优化提升的空间。参考文献[1]孙长华,分布式拒绝服务攻击研究

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功