网安实验1—拒绝服务攻击检测
实验1:拒绝服务攻击检测
1. 实验目的
点击查看
拒绝服务攻击检测实验使学生贯通编程技术、计算机网络、网络安全等知识, 完成自主设计拒绝服务攻击场景、开发网络攻击程序、使用工具分析和检测网络 攻击等实验内容,理解和掌握资源消耗型拒绝服务攻击的原理和过程、攻击流量 分析、攻击检测等知识,实现对“网络攻击-安全分析-检测告警”的综合能力培 养和实践训练。并使学生能够举一反三,掌握网络攻击检测的通用方法和流程, 为后续的网络安全知识学习打下坚实基础。2. 实验内容
点击查看
- 理解拒绝服务攻击导致的资源消耗原理和危害,自主设计构建网络攻击场景。
- 开发和执行拒绝服务攻击程序,并从网络用户端对比存在和不存在网络 攻击两种场景下访问网络应用的情况。
- 使用网络流量分析工具 Wireshark 等观察、分析和总结拒绝服务攻击流 量特征。
- 使用网络流量分析工具 Wireshark 等观察、分析和总结拒绝服务攻击流 量特征。
3. 实验原理
点击查看
3.1 拒绝服务攻击原理
拒绝服务攻击是针对网络应用有限数量的服务能力,发起大规模的网络服务的请求,耗尽网络应用能够提供的服务计算资源等,使网络应用无法对正常用户的请求进行服务,实现拒绝服务。
3.2 拒绝服务攻击流量特征分析
通过网络流量捕获工具捕获与网络应用服务器交互的网络流量,对请求服务和响应的网络应用协议网络流量进行分析,查找网络应用无法为网络用户提供服务的原因。观察每个独立的网络应用请求,都是正常的建立连接、请求网络服务操作过程。但是能够观察到来自于同一个源地址的网络服务请求的数量多、单位时间内的请求频率高,超过了单个网络用户访问网络应用服务的正常表现。这种异常的大量、高频度访问行为可作为拒绝服务攻击流量的特征。
3.3 基于流量频率特征的拒绝服务攻击检测
由于拒绝服务攻击具有大量、高频度访问的异常行为特征,将对网络应用的高频请求作为拒绝服务攻击的检测识别特征,配置到入侵检测工具的攻击检测和告警规则中,对网络流量进行检测,实现对拒绝服务攻击的识别和报警。4. 实验注意事项
点击查看
- 在编写生成拒绝服务攻击请求的程序时,需要注意配置的并发线程数量等参数,将会影响单位时间内产生的网络攻击流量强度,以及拒绝服务攻击的效果。
- 需要正确配置网络环境以及交换机流量镜像,否则入侵检测系统无法捕获到攻击流量。
- 需要遵循入侵检测规则的格式规范,配置能够反映拒绝服务攻击特征的检 测告警规则,否则不会产生告警信息。
5. 实验要求
点击查看
- 完成开发拒绝服务攻击程序、攻击流量分析、攻击检测等实验内容。
- 提交拒绝服务攻击程序代码、可加载运行的相关工程文件。
- 提交实验报告,包括:拒绝服务攻击环境设计、网络攻击程序概要设计、存在网络攻击时访问网络应用的结果和分析、攻击流量分析和特征说明、配置的攻击检测特征和检测告警结果,以及实验中遇到的问题和原因等。
6. 实验过程
步骤 1:构建拒绝服务攻击场景
创建拒绝服务攻击网络拓扑。选择“实例管理-创建实例拓扑”,通过拖拽方式在场景中构建 Web 拒绝服务攻击者、网络用户、Web 服务器、交换机、入侵检测等设备,通过绘制连接线完成设备之间的网络互联。需要右键设置设备的具体信息,攻击者、网络用户和Web服务器均可选择
Win10_DoS_WebAttacker
模板,入侵检测设备网络配置中需要将交换机设为目标节点。保存网络拓扑后进行部署。
步骤 2:网络用户访问网络应用服务
在节点详情中远程连接作为用户的虚拟机,输入
Planet9Secret
密码登录系统。打开浏览器输入服务器主机的节点IP进行访问,可以成功访问。任务管理器观察CPU的使用情况。
步骤3:开发拒绝服务攻击程序
在拒绝服务攻击者端开发多线程攻击流量生成程序,实现并发产生高强度的 网络应用服务请求,并将被攻击的网络应用服务器节点 IP、并发线程数量作为 程序的输入参数。
1 | import os |
步骤4:实施拒绝服务攻击
在拒绝服务攻击者端开发多线程攻击流量生成程序,实现并发产生高强度的 网络应用服务请求,并将被攻击的网络应用服务器节点 IP、并发线程数量作为 程序的输入参数。在攻击者端打开终端运行python文件。
步骤5:对比查看拒绝服务攻击效果
用户端重启/刷新浏览器,发现之前可访问的服务器页面报错。
登录服务器端查看CPU状态。
同时也可以观察攻击者的CPU状态,可以看出攻击端为发起Dos攻击需要消耗大量计算机计算资源。
步骤6:捕获网络流量
在入侵检测端使用网络流量捕获工具 Wireshark 等,捕获交换机镜像的包含拒绝服务攻击的网络流量。
进入入侵检测端使用网络流量捕获工具Wireshark,选择入侵检测的结点IP网卡,并开始进行抓包。
可以看到有大量的从攻击者
11.93.150.6
发送到11.93.150.7
的TCP报文。因为之前入侵检测检测没有更改为监测模式,所以重做了一遍,与上面ip不一样了。
步骤7:配置检测规则
进入
/etc/snort/rules
目录,根据上述抓包内容的归纳对Dos-Web.rules
文件进行编写。打开
snorf.conf
进行配置,将Dos-Web.rules
地址写入。
步骤8:启动snort进行检测
启动snort。
检测完后进入Snort的默认日志存储目录进行查看。
7. 实验中出现的问题、原因和解决
Wireshark
抓包时发现全是arp、ssdp协议,没有应出现的tcp协议。最终发现是在部署入侵检测时没有将管理状态改为监测状态,只好重新部署开始。- 在snort -I eth0 -c snort.conf命令启动完snort后,不知道怎么捕获和查看日志。后来在查阅snort介绍时发现,在启动完snort后,直接会对eth0接口的流量进行检测,然后输出到默认的目录var/log/snort中,后面只需要在命令行中打开该目录使用命令vi alert即可查看该日志。
8.实验总结
通过这次实验了解了原理既简单又攻击十分有针对性的Dos攻击,简单学习了Snort的使用,其在人工规定规则后起到的检测功能确实非常的灵敏智能,但是当面对仍然是很多公司不能完全应对的DDos攻击时,针对消息五元组中存在改变量的情况将会变得棘手,在面对人和机器速度不匹配的情况,人工的添加规则变得不切实际,也许需要使用到机器学习、AI自动识别规定规则才能起到更好的检测与管理防范作用。