一、系统背景
随着信息技术的快速发展,网络攻击手段日益多样化和复杂化,给企业和个人的信息安全带来了极大的威胁。传统的网络攻击分析方法往往依赖于人工分析和处理大量的安全数据,效率低下且容易遗漏关键信息。因此,开发一种能够高效、直观地展示网络攻击行为的可视化系统是当务之急。
二、功能结构
整个系统功能可以分为两大模块,演示模块和可视化模块。演示模块主要用于展示常见的网络攻击方式,帮助网站运维人员学习掌握其底层原理。可视化模块以图表等形式将网络攻击行为展示出来,帮助网站运维人员更加快速准确地识别和定位攻击行为,且更直观地了解网络攻击行为的整体态势和细节信息。系统功能结构图如下图所示:
2-1、告警日志记录
当系统遭受网络攻击时,记录网络攻击类型、攻击IP、攻击IP所属地、攻击设备的基础信息以及攻击时间等信息,方便后续进行数据处理。
2-2、网络攻击演示
该模块使得网络安全运维人员能够通过简单便捷的操作方式,学习掌握常见的网络攻击方式原理,例如:SQL注入攻击、XSS脚本注入攻击、DoS拒绝服务攻击。
2-3、网络攻击类型统计
通过图表的形式统计该系统遭受的网络攻击数量,以一种更加直观的方式暴露出系统更易产生的漏洞。
2-4、网络攻击地域特征分布
该模块通过地图展示网络攻击地域特征分布,确保用户能够直观、全面地理解网络攻击的地域分布特点,通过以地图为背景,展示相关地理空间的网络攻击数量以及网络攻击事件。用户可以选择特定的省市区域作为展示范围,以便更好地观察和分析特定地域的攻击情况。
2-5、网络攻击时序特征统计
以图表的形式统计该系统14天内每天遭受的网络攻击数量。能够基于时间序列生成统计网络攻击方式的时序图,以直观的方式展示攻击事件在时间上的分布和变化趋势。时序图应能够清晰地显示不同攻击方式的出现频率以及变化趋势,以便系统运维人员进行分析和判断。
三、架构设计
前端主要使用Layui框架,绘制图表使用Echarts框架,Ajax用于异步请求后端接口数据。使用Python语言的Web框架Flask提供后端接口。持久层主要使用MySQL,MySQL运行速度快、体积小,非常适合可视化系统这种中小型系统。
四、系统实现
4-1、可视化大屏
该页面实现功能主要包括:网络攻击类型统计、网络攻击地域特征分布、网络攻击时序特征统计、网络攻击占比统计、网络攻击告警日志展示以及系统实时监控。系统实时监控功能主要通过WebSocket将后端网络攻击告警信息实时推送到该系统,当通过演示系统进行网络攻击时,可视化界面实时刷新并提供告警提醒。系统实现效果图如下图所示:
4-2、演示系统
该系统主要包括SQL注入攻击演示、XSS脚本攻击演示和Dos拒绝服务攻击演示等3个功能
4-2-1、SQL注入攻击演示
该演示功能主要分为3个模块,模块一演示用户登录忽略登录检查,模块二演示查询时忽略权限校验,模块三演示恶意篡改行为。
演示一功能如下图所示:
演示二功能如下图所示:
演示三功能如下图所示:
4-2-1、XSS脚本攻击演示
该演示模块模拟用户评论场景,演示通过发布评论信息进行XSS脚本攻击。演示效果图如下图所示:
4-2-1、Dos拒绝服务攻击演示
该演示模块模拟大流量攻击场景,演示通过向指定的网站进行Dos拒绝服务攻击。演示效果图如下图所示:
当通过浏览器访问时会导致访问异常:
五、总结
本系统主要应用于网站运维管理,它解决了网站运维人员排查网络攻击行为复杂且繁琐等问题,提高了运维人员网络安全分析的效率和准确性。