基于Zmap的DoS攻击可行性分析与研究
2016-11-22刘书健
刘书健 吴 晟
(昆明理工大学信息工程与自动化学院,昆明 650504)
基于Zmap的DoS攻击可行性分析与研究
刘书健 吴 晟
(昆明理工大学信息工程与自动化学院,昆明 650504)
模拟了Zamp发动DoS攻击的过程,并利用Wireshark抓取数据包进行分析,总结出这种DoS攻击的特点。最后提出了通过建立防火墙过滤数据包的策略来避免这种攻击。
Zmap DoS 扫描 Wireshark 网络安全
随着云计算与大数据时代的到来,网络瞬时状态也变得日益重要,Zmap作为一款非常优秀的探测网络状况的工具应运而生,它缩短了扫描时间,为互联网的研究工作开辟了新的可能性,但是Zmap使用不当很可能会发动DoS恶意攻击行为,致使网络状况变得拥塞,给人们的正常生活带来不便。因此笔者对基于Zmap的DoS攻击进行了分析,并寻找到对抗DoS攻击的方法。
1 Zmap扫描研究①
Nmap因要保证功能的全面性,需要记录所有会话的连接状态,直至会话结束,这在一定程度上造成了主机、网络带宽等资源的浪费,而Zmap则完全是一种“无连接状态”的工具。这个“无连接状态”是指Zmap在扫描时会向网络上的其他主机发出请求,随后立即释放会话连接状态。与此同时,Zmap不需要记录所有请求的列表,而是在发出的数据包中对个别信息进行编码,这样一来Zmap就能对回复数据包进行解析与鉴别。
主机与服务器之间进行TCP连接建立“三次握手”交互的过程中[1],主机需要记录与服务器交互的会话状态。这种状态的记录量随着服务器访问量的增加也会逐步增长,从而占用服务器更多的CPU、内存等资源。为了解决该问题,基于Zmap的扫描略去了3次交互,只进行第一个SYN,然后等待对方回复SYN-ACK,随后立即取消连接,这样会释放连接所占用的CPU等资源。虽然这样会因网络原因丢失一定比例的数据,但根据设计者的实验表明,这个比例仅在2%左右[2]。
Zmap网络扫描的核心是对回复报文的判断。Zmap设计了相应的算法对回复报文进行校验。传统的TCP/IP协议需要记录状态,而Zmap则是将扫描时发送的探测报文的源端信息进行哈希,将其处理保存到源端口和序列号这两个字段中,当接收到回复报文的时候,就可以根据发送端IP、接收端口号、确认号这些字段进行校验,避免了状态存储,更接近网络带宽极限[3]。
2 DoS研究现状
2.1DoS概况
Denial of Service简称DoS[4],即拒绝服务。DoS攻击指恶意地攻击网络协议的漏洞或直接通过暴力手段耗尽被攻击对象的资源,目的是让目标主机或网络无法提供正常的服务或资源(包括网络带宽、文件系统空间容量、开放的进程或者允许的连接)访问,使目标系统服务系统停止响应甚至崩溃。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击。这种攻击会导致资源的匮乏,无论计算机的处理速度多快、内存容量多大、网络带宽的速度多快都无法避免这种攻击带来的后果。
2.2常规DoS防御
常规的DoS攻击是重复请求导致过载的拒绝服务攻击。当对资源的重复请求超过资源的支付能力时就会造成拒绝服务攻击(例如,对已经满载的Web服务器进行过多的请求使其过载)。对于这种常规的DoS攻击可以采用如下常规方法进行防御:
a. 利用数据包标记的IP追踪技术[5];
b. 限制并发的SYN半连接数量并缩短SYN半连接的time out时间;
c. 利用负载均衡技术,把不同应用层次的服务分布到不同的服务器,甚至可以分布到不同的地点,这样更为直接地缓解服务器压力;
d. 增强服务器的容忍性[6];
e. 限制在防火墙外与网络文件共享;
f. 限制DoS攻击的使用资源[7]。
3 基于Zmap的DoS攻击实验分析与防御策略
3.1实验过程
Zmap发起的DoS攻击如下:
zmap-p 80-P 1000000-s 2000-60000-S 20.20.20.0-200.200.200.200-o destHost.csv
其中,-p表示扫描目标主机的端口号;-P表示扫描时向每个目标主机发包的个数;-s,源主机发送数据包的端口设置;-S,指定发送数据包的IP地址;-o,扫描后得到的结果保存的文件。
执行以上的命令意味着,用20.20.20.0~200.200.200.200这个地址范围内的每个IP作为源地址对网络中的每个IP地址(Zmap黑名单配置文件之外)的80端口发送1 000 000个数据包,并将结果文件保存至destHost.csv中。其过程如图1所示。
图1 Zmap模拟DoS攻击的过程
3.2实验分析
相对于常规的DoS攻击,Zmap发起的DoS攻击具有以下特点:
a. 可以伪造不同源IP地址的数据包对目标主机进行攻击。模拟攻击的实验过程中,启动Wireshark[8]进行抓包(图2),Source一列中显示的是源地址是在20.20.20.0~200.200.200.200(这里仅显示了一部分)范围内的IP地址,这说明Zmap可以伪造IP地址对目标主机发起攻击。
b. 可以对不同目标主机同时发动DoS攻击。Zmap中的配置文件保存在/etc/zmap/blacklist.conf和/etc/zmap/zmap.conf中,这里可以修改配置文件/etc/zmap/blacklist.conf来达到设置黑名单的功能,即攻击的时候可以对目标主机进行选择。
c. 占用源主机的资源很少。Zmap攻击的数据包与常规网络数据包的差别不大,但是当它在与其他主机进行TCP连接时,源主机将不保存连接状态,这使得源主机可以节省更多的资源去发送数据包,加剧这种攻击的破坏性。
d. 发送的数据包的MAC地址相同。利用wireshark进行分析,Zmap发出的数据包的MAC地址都是相同的。如图3所示,数据包1的MAC地址(00:0c:29:9c:b6:9a);如图4所示,数据包2的MAC地址也是(00:0c:29:9c:b6:9a)。
图2 Wireshark抓取数据包示意图
图3 数据包1的分析图示
图4 数据包2的分析图示
图3、4分别表示的是源IP地址为58.87.248.232与58.87.248.233相对目的地址为7.120.108.96建立TCP连接的数据包示意图。从图中可以看出,虽然Zmap可以伪造不同IP地址的数据包,但是其数据包的MAC地址都是相同的,这为今后的防御提供了启发。
3.3实验结论与防御
基于上文的分析,笔者发现,Zmap发起的DoS攻击都是从一个网卡中发出的。因此,目标主机可以对多对数据包按协议层进行拆分,倘若发现大量数据包里的MAC地址都相同,即使IP地址都是伪造的,也可以断定这是非正常访问,因此可以及时采取策略进行过滤。因此可以得知,对Zmap发起的这种DoS攻击可以通过过滤相同MAC地址的数据包来进行防御:
iptables-A INPUT-m mac--mac-source 00:0c:29:9c:b6:9a-j DROP
这是Linux下对进入网卡的数据包进行过滤的一条防火墙策略,该命令将会把MAC地址为00:0c:29:9c:b6:9a的数据包自动过滤掉。为防止误丢弃数据包的情况,笔者建议,当异常数据包的情况得以遏制时,删除本条防火墙策略。
4 结束语
在详细叙述Zmap的工作原理和模拟发动DoS攻击过程的基础上,对其特点进行分析,提出了过滤相同MAC地址数据包的方法,可通过设置防火墙命令来过滤相同MAC地址的数据包以进行修补和完善。
[1] 潘兆楠. Profibus与Modbus总线协议转换的研究与应用[J].化工机械,2015,42(1):151~153.
[2] Heidemann J, Pradkin Y, Govindan R, et al.Census and Survey of the Visible Internet[C]. Proceedings of the 8th ACM SIGCOMM Conference on Internet Measurement.NewYork:IMC,2008:169~182.
[3] Black J, Halevi S, Krawczyk H, et al.UMAC:Fast and Secure Message Authentication[C].19th Annual International Cryptology Conference.California:CRYPTO,1999:216~233.
[4] 刘昭斌,刘文芝,魏俊颖.基于INTRANET的入侵防御系统模型的研究[J].化工自动化及仪表,2006,33(2):45~48.
[5] 李渊.防御拒绝服务攻击的路径标识技术研究[D].宁波:宁波大学,2009.
[6] 汤明亮.面向DoS攻击的路由回溯技术研究[D].长沙:国防科学技术大学,2008.
[7] 殷勤.防御拒绝服务攻击的网络安全机制研究[D].上海:上海交通大学,2006.
[8] 赵魏雨,唐文秀.基于BP神经网络聚类算法的P2P流量识别[J].化工自动化及仪表,2013,40(4):515~518.
AnalysisandStudyofDoSAttackFeasibilityBasedonZmap
LIU Shu-jian, WU Sheng
(FacultyofInformationEngineeringandAutomation,KunmingUniversityofScienceandTechnology,Kunming650504,China)
DoS attack initiated by Zmap was simulated; and making use of Wireshark capture packet to analyze this attack was analyzed and this attack’s features were summarize and a strategy of establishing a firewall to filter fake packets was proposed so as to avoid this attack.
Zmap, DoS, scan, Wireshark, network security
2015-11-13(修改稿)
国家自然科学基金项目(51467007)
TP393.08
A
1000-3932(2016)07-0725-04