[发明专利]一种基于流数据分析的Web攻击实时在线检测系统有效
申请号: | 201710403981.8 | 申请日: | 2017-06-01 |
公开(公告)号: | CN107172058B | 公开(公告)日: | 2020-06-05 |
发明(设计)人: | 田建伟;田峥;黎曦;乔宏;朱宏宇;漆文辉;薛海伟;邓杰 | 申请(专利权)人: | 国家电网公司;国网湖南省电力公司;国网湖南省电力公司电力科学研究院 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08 |
代理公司: | 长沙市融智专利事务所(普通合伙) 43114 | 代理人: | 欧阳迪奇 |
地址: | 100031 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 数据 分析 web 攻击 实时 在线 检测 系统 | ||
1.一种基于流数据分析的Web攻击实时在线检测系统,其特征在于,包括日志数据采集客户端、日志数据缓存集群和流数据检测集群;所述的日志数据采集客户端是将信息系统应用服务器日志封装成Syslog消息格式的客户端软件;所述的日志数据缓存集群由至少两个日志数据缓存模块组成,通过以太网与日志数据采集客户端、流数据检测集群连接;所述的流数据检测集群由至少两个流数据检测模块组成;
所述的日志数据缓存模块包括分发线程、维护线程和至少一个缓冲队列;分发线程接收来自日志数据采集客户端的Syslog消息,并转化为统一格式的消息对象,再将消息对象分发到缓存队列,维护线程用于清理缓冲队列中不符合要求的消息对象;
所述的流数据检测模块包括流数据生产模块、流数据一级处理模块、流数据二级处理模块和流数据三级处理模块;流数据生产模块提取日志数据缓存模块的消息对象,并转化为统一格式的流数据单元;流数据一级处理模块采用wu-manber多模匹配算法检测流数据单元中是否含有攻击特征关键字,将含有特征关键字的流数据单元发送到流数据二级处理模块中;流数据二级处理模块采用流数据分析模型,去除重复的攻击事件,统计攻击次数,并将融合的攻击事件检测结果发送至流数据三级检测模块;流数据三级检测模块将检测结果存入关系数据库中;
所述的流数据生产模块包括至少一个处理单元、流数据维护线程和流数据缓冲队列;所述的处理单元用于提取日志数据缓存模块中的消息对象,并转换成流数据单元;流数据缓冲队列的一个元素为一个流数据单元,队列长度根流数据单元的规模进行配置;流数据维护线程用于从流数据缓冲队列中删除日志时间距离当前时间超过流数据维护线程时间阈值T3的消息对象,其中流数据维护线程时间阈值T3是在系统启动初始化时进行设置的。
2.根据权利要求1所述的一种基于流数据分析的Web攻击实时在线检测系统,其特征在于,所述的分发线程将Syslog消息转化成格式为消息头,消息体,表示为head,body的统一格式的消息对象。
3.根据权利要求1所述的一种基于流数据分析的Web攻击实时在线检测系统,其特征在于,所述的分发线程根据消息对象根据分配函数,将消息对象分发到第i个缓存队列,分配函数公式如下:
i=|H(head)|%n
其中H(head)为消息对象头字符串的哈希值,n为缓冲队列的个数。
4.根据权利要求1所述的一种基于流数据分析的Web攻击实时在线检测系统,其特征在于,维护线程清理缓冲队列中不符合要求的消息对象,是从缓冲队列中删除距离当前时间超过维护线程时间阈值T1的消息对象,其中维护线程时间阈值T1是在系统启动初始化时进行设置的。
5.根据权利要求1所述的一种基于流数据分析的Web攻击实时在线检测系统,其特征在于,所述的处理单元由至少一个流数据提取线程和主管线程组成,流数据提取线程用于一一对应的提取日志数据缓存模块的缓冲队列中的信息对象,即流数据提取线程i仅用于提取缓冲队列i中的消息对象,所述的主管线程负责创建和维护流数据提取线程。
6.根据权利要求1所述的一种基于流数据分析的Web攻击实时在线检测系统,其特征在于,所述的流数据二级处理模块包括流数据分析模型、过程对象维护线程和过程对象队列;所述的流数据分析模型用于统计和融合检测结果;过程对象队列中以一个过程对象为一个元素,队列长度根据对象的规模进行配置,过程对象维护线程用于从过程对象队列中删除距离当前时间超过过程对象维护线程时间阈值T2的过程对象,其中过程对象维护线程时间阈值T2是在系统启动初始化时进行设置的。
7.根据权利要求6所述的一种基于流数据分析的Web攻击实时在线检测系统,其特征在于,所述的流数据分析模型采用如下步骤建立:
步骤1,计算其中一个流数据单元中server_port、server_ip、client_ip三个属性组合字符串的hash值,并在过程对象队列中查找是否存在具有相同的hash值的过程对象,如果找到相同过程对象v,转到步骤2;如果没有找到,则转到步骤3;
步骤2,更新所有过程对象中的时间窗口属性值,方法如下:
Δt=asctime-c_time
ti=tavg+σ(t)
其中c_time为标识时间,用于标识过程对象v的最后更新时间;ti为过程对象v的时间窗口属性;c_time和ti均是系统启动初始化时设置;Δt是时间差,tavg是时间窗口平均值,[t1,t2...tr]为过程对象队列中所有过程对象的ti属性的集合,r是过程对象队列的长度,σ(t)是事件窗口的均方误差,asctime为访问时间;
计算流数据单元u的asctime属性值与过程对象v的c_time属性值之间的差值,并根据差值更新过程对象v的count属性值,方法如下:
更新过程对象v的c_time为asctime,如果count大于统计阈值C,则转到步骤4,否则转向步骤1,其中count为计数器;
步骤3,由过程对象维护线程创建一个新的过程对象,设置count属性值为1,标识c_time时间设置为asctime,转到步骤1;
步骤4,将过程对象v发送至流数据三级检测模块,转到步骤1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家电网公司;国网湖南省电力公司;国网湖南省电力公司电力科学研究院,未经国家电网公司;国网湖南省电力公司;国网湖南省电力公司电力科学研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710403981.8/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置