CN107172058A - 一种基于流数据分析的Web 攻击实时在线检测系统 - Google Patents

一种基于流数据分析的Web 攻击实时在线检测系统 Download PDF

Info

Publication number
CN107172058A
CN107172058A CN201710403981.8A CN201710403981A CN107172058A CN 107172058 A CN107172058 A CN 107172058A CN 201710403981 A CN201710403981 A CN 201710403981A CN 107172058 A CN107172058 A CN 107172058A
Authority
CN
China
Prior art keywords
flow data
mrow
time
thread
queue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710403981.8A
Other languages
English (en)
Other versions
CN107172058B (zh
Inventor
田建伟
田峥
黎曦
乔宏
朱宏宇
漆文辉
薛海伟
邓杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
Electric Power Research Institute of State Grid Hunan Electric Power Co Ltd
State Grid Hunan Electric Power Co Ltd
Original Assignee
State Grid Corp of China SGCC
Electric Power Research Institute of State Grid Hunan Electric Power Co Ltd
State Grid Hunan Electric Power Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, Electric Power Research Institute of State Grid Hunan Electric Power Co Ltd, State Grid Hunan Electric Power Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201710403981.8A priority Critical patent/CN107172058B/zh
Publication of CN107172058A publication Critical patent/CN107172058A/zh
Application granted granted Critical
Publication of CN107172058B publication Critical patent/CN107172058B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于流数据分析的Web攻击实时在线检测系统,包括日志数据采集客户端、日志数据缓存集群和流数据检测集群;本发明的技术效果在于,采用多缓存队列,实时在线采集信息系统应用日志,能够防止黑客完成攻击后清除日志数据;采用集群框架设计,整个安全日志数据处理流程由志数据缓存集群和流数据检测集群组成,能够实现负载均衡和解决单点故障,提高数据处理的实时性和可靠性;采用基于动态时间窗口的流数据分析方法,能够根据不同的场景,动态调整时间窗口阈值,提高数据融合的准确性。

Description

一种基于流数据分析的Web攻击实时在线检测系统
技术领域
本发明涉及一种基于流数据分析的Web攻击实时在线检测系统。
背景技术
随着Web技术的发展,大量的信息系统部署在网络上对外提供服务。信息系统在为信息发布和交互带来便利的同时,针对系统的Web攻击越来越多,系统安全已成为一个日益重要的问题。根据国家互联网应急中心发布《中国互联网站发展状况及其安全报告(2016)》显示,针对信息系统的SQL注入、网页篡改、网站后门等Web攻击事件层出不穷,党政机关、科研机构、重要行业单位网站是黑客组织攻击的重点目标。对于采用技术手段绕过防火墙的入侵攻击,防火墙无法检测和告警。信息系统的应用服务器有记录用户访问行为的日志数据,包括用户操作行为、访问请求和系统错误异常等。因此要全面掌握系统安全状况,及时定位Web攻击,实时分析信息系统日志数据非常必要。
黑客在获得控制权后会立即窃取篡改数据或实施破坏行为,完成攻击后很有可能清除入侵痕迹。因此,第一时间发现Web攻击行为十分重要,特别是对于规模庞大的信息系统或者数据中心,Web攻击检测方法必须要支持海量的日志数据实时在线检测。当前关于Web攻击的检测方法侧重于研究攻击检测方法的准确性和完备性。专利(CN201510889266.0)“一种Web攻击检测方法和装置”公开了一种Web攻击检测方法。该方法实现了基于URL正常行为模型的Web攻击检测。但是该方法没有考虑Web攻击的实时检测需求,难以满足海量日志数据分析的实时性要求。
发明内容
针对以上问题,本发明提出了一种基于流数据分析的Web攻击实时在线检测系统。包括采用多缓存队列,在线采集和分发应用服务器日志数据;采用集群式处理架构设计,动态调配分析节点负载,保障海量日志数据分析的实时性和可靠性;采用基于动态时间窗口的流数据分析方法,实时检测攻击事件。本发明能够提高应用服务器日志分析处理能力和时效性,提高Web攻击检测的及时性,提高信息系统的安全性。
为了实现上述技术目的,本发明的技术方案是,
一种基于流数据分析的Web攻击实时在线检测系统,包括日志数据采集客户端、日志数据缓存集群和流数据检测集群;所述的日志数据采集客户端是将信息系统应用服务器日志封装成Syslog消息格式的客户端软件;所述的日志数据缓存集群由至少两个日志数据缓存模块组成,通过以太网与日志数据采集客户端、流数据检测集群连接;所述的流数据检测集群由至少两个流数据检测模块组成;
所述的日志数据缓存模块包括分发线程、维护线程和至少一个缓冲队列;分发线程接收来自日志数据采集客户端的Syslog消息,并转化为统一格式的消息对象,再将消息对象分发到缓存队列,维护线程用于清理缓冲队列中不符合要求的消息对象;
所述的流数据检测模块包括流数据生产模块、流数据一级处理模块、流数据二级处理模块和流数据三级处理模块;流数据生产模块提取日志数据缓存模块的消息对象,并转化为统一格式的流数据单元;流数据一级处理模块采用wu-manber多模匹配算法检测流数据单元中是否含有攻击特征关键字,将含有特征关键字的流数据单元发送到流数据二级处理模块中;流数据二级处理模块采用流数据分析模型,去除重复的攻击事件,统计攻击次数,并将融合的攻击事件检测结果发送至流数据三级检测模块;流数据三级检测模块将检测结果存入关系数据库中。
所述的一种基于流数据分析的Web攻击实时在线检测系统,所述的分发线程将Syslog消息转化成格式为<消息头,消息体>,表示为<head,body>的统一格式的消息对象。
所述的一种基于流数据分析的Web攻击实时在线检测系统,所述的分发线程根据消息对象根据分配函数,将消息对象分发到第i个缓存队列,分配函数公式如下:
i=|H(head)|%n
其中H(head)为消息对象头字符串的哈希值,n为缓冲队列的个数。
所述的一种基于流数据分析的Web攻击实时在线检测系统,维护线程清理缓冲队列中不符合要求的消息对象,是从缓冲队列中删除距离当前时间超过维护线程时间阈值T1的消息对象,其中维护线程时间阈值T1是在系统启动初始化时进行设置的。
所述的一种基于流数据分析的Web攻击实时在线检测系统,所述的流数据生产模块包括至少一个处理单元、流数据维护线程和流数据缓冲队列;所述的处理单元用于提取日志数据缓存模块中的消息对象,并转换成流数据单元;流数据缓冲队列的一个元素为一个流数据单元,队列长度根流数据单元的规模进行配置;流数据维护线程用于从流数据缓冲队列中删除日志时间距离当前时间超过流数据维护线程时间阈值T3的消息对象,其中流数据维护线程时间阈值T3是在系统启动初始化时进行设置的。
所述的一种基于流数据分析的Web攻击实时在线检测系统,所述的处理单元由至少一个流数据提取线程和主管线程组成,流数据提取线程用于一一对应的提取日志数据缓存模块的缓冲队列中的信息对象,即流数据提取线程i仅用于提取缓冲队列i中的消息对象,所述的主管线程负责创建和维护流数据提取线程。
所述的一种基于流数据分析的Web攻击实时在线检测系统,所述的流数据二级处理模块包括流数据分析模型、过程对象维护线程和过程对象队列;所述的流数据分析模型用于统计和融合检测结果;过程对象队列中以一个过程对象为一个元素,队列长度根据对象的规模进行配置,过程对象维护线程用于从过程对象队列中删除距离当前时间超过过程对象维护线程时间阈值T2的过程对象,其中过程对象维护线程时间阈值T2是在系统启动初始化时进行设置的。
所述的一种基于流数据分析的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。
本发明的技术效果在于,采用多缓存队列,实时在线采集信息系统应用日志,能够防止黑客完成攻击后清除日志数据;采用集群框架设计,整个安全日志数据处理流程由志数据缓存集群和流数据检测集群组成,能够实现负载均衡和解决单点故障,提高数据处理的实时性和可靠性;采用基于动态时间窗口的流数据分析方法,能够根据不同的场景,动态调整时间窗口阈值,提高数据融合的准确性。
附图说明
图1为本发明实施例的基于流数据分析的Web攻击实时在线检测方法框架示意图;
图2为图1中日志缓存模块框架图;
图3为图1中流数据检测模块框架图。
具体实施方式
下面结合附图对本发明作进一步说明。
本实施例通过以下过程实现,第一步,首先搭建Web攻击实时在线检测系统,系统由日志数据采集客户端、日志数据缓存集群和流数据检测集群组成。日志数据采集客户端是一种将信息系统应用服务器日志封装成Syslog(是一种用来在互联网协议的网络中传递记录档讯息的标准)消息格式的客户端软件,常见的开源Syslog软件有NXLog和Evtsys,本发明在Windows和Linux主机使用Syslog软件的是NXLog。日志数据缓存集群由k个(k>1)日志数据缓存模块组成,通过以太网与日志数据采集客户端、流数据检测集群连接。流数据检测集群由r个(r>1)流数据检测模块组成。
日志数据缓存模块由分发线程、维护线程和n个(n≥1)缓冲队列组成。分发线程从TCP数据通信链路中接收来自日志数据采集客户端的Syslog消息,并转化为统一格式的消息对象,格式为<消息头,消息体>,表示为<head,body>,再将消息对象根据分配函数,分发到第i个缓存队列,分配函数公式如下:
i=|H(head)|%n
其中H(head)为消息头字符串的哈希值。缓冲队列的一个元素为一个Syslog消息对象,队列长度根据消息对象的规模进行配置,队列长度设置为50000000。维护线程根据时间阈值T1的配置,清理缓冲队列的数据,即从缓冲队列中删除距离当前时间超过T1的消息对象,释放内存空间。
流数据检测模块由流数据生产模块、流数据一级处理模块、流数据二级处理模块和流数据三级处理模块组成。流数据生产模块提取日志数据缓存模块的消息对象,并转化为统一格式的流数据单元。流数据一级处理模块采用wu-manber多模匹配算法检测流数据单元中是否含有攻击特征关键字,将含有特征关键字的流数据单元发送到流数据二级处理模块中。流数据二级处理模块采用基于时间窗口的流数据分析模型,分析检测结果,并将流数据单元发送至流数据三级检测模块。流数据三级检测模块将检测结果存入关系数据库中。
流数据二级处理模块由流数据分析模型、过程对象维护线程和过程对象队列组成。流数据分析模型统计和融合检测结果。过程对象队列的一个元素为一个过程对象,队列长度根据对象的规模进行配置,通常一个过程对象队列最大接收规模为1000个每秒,队列长度设置为1000。过程对象维护线程根据时间阈值T2的配置,清理过程对象队列的数据,即从过程对象队列中删除距离当前时间超过T2的消息对象,释放内存空间。
流数据分析模型采用如下步骤建立:
步骤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。
流数据生产模块由m个(m≥1)个处理单元、流数据维护线程和流数据缓冲队列组成。其中处理单元负责提取日志数据缓存模块中的消息对象,并转换成流数据单元。处理单元由n个(n≥1)流数据提取线程和主管线程组成,流数据提取线程与日志数据缓存模块的缓冲队列为一一对应关系,即流数据提取线程i只能提取缓冲队列i中的消息对象,主管线程负责创建和维护流数据提取线程。流数据缓冲队列的一个元素为一个流数据单元,队列长度根流数据单元的规模进行配置,队列长度设置为100000000。流数据维护线程根据时间阈值T3的配置清理流数据缓冲队列的数据,即从流数据缓冲队列中删除日志时间距离当前时间超过T3的消息对象,释放内存空间。
第二步,初始化多源安全日志采集系统。
2.1 在日志源安装Syslog客户端软件,。
2.2 为流数据分析模型预设一个标识时间c_time,预设一个时间窗口tp。
2.3 设置维护线程的时间阈值T1为24小时,设置对象维护线程的时间阈值T2为5分钟,设置流数据维护线程的时间阈值T3为24小时,
第三步,Syslog客户端启动Syslog程序,向日志数据缓存模块发送日志数据。日志数据缓存模块的分发线程根据分配函数,将日志数据转化为消息对象并发送至缓冲队列,维护线程判断缓冲队列中消息对象消息头的时间属性值距离当前时间的值是否大于阈值T1,如果大于,则删除该消息对象。
第四步,流数据生产模块的主管线程根据缓冲队列的数量,创建流数据提取线程。流数据提取线程提取缓冲队列中的消息对象,转化为统一格式的流数据单元,并放入流数据缓冲队列。流数据维护线程判断流数据缓存队列中流数据对象的asctime属性值距离当前时间的差值是否大于阈值T3,如果大于,则删除该流数据对象。
第五步,流数据一级处理模块调用wu-manber多模匹配算法检测流数据单元中是否含有攻击特征关键字,如果含有,将流数据单元发送到流数据二级处理模块。
第六步,流数据二级处理模块采用流数据分析模型,去除重复的攻击事件,统计攻击次数,将融合的攻击事件检测结果发送至流数据三级处理模块。
第七步,流数据三级处理模块将检测结果存入关系数据库中。
图1是本发明涉及的基于流数据分析的Web攻击实时在线检测方法框架示意图,系统由日志数据采集客户端、日志数据缓存集群和流数据检测集群组成。日志数据采集客户端是一种将信系统应用服务器日志封装成Syslog(是一种用来在互联网协议的网络中传递记录档讯息的标准)消息格式的客户端软件,常见的开源Syslog软件有NXLog和Evtsys,本发明在Windows和Linux主机使用Syslog软件的是NXLog。日志数据缓存集群由k个(k>1)日志数据缓存模块组成,通过以太网与日志数据采集客户端、流数据检测集群连接。流数据检测集群由r个(r>1)流数据检测模块组成。
图2是图1中日志缓存模块框架图,日志数据缓存模块由分发线程、维护线程和n个(n≥1)缓冲队列组成。分发线程从TCP数据通信链路中接收来自日志数据采集客户端的Syslog消息,并转化为统一格式的消息对象,格式为<消息头,消息体>,表示为<head,body>,再将消息对象根据分配函数,分发到第i个缓存队列,分配函数公式如下:
i=|H(head)|%n
其中H(head)为消息头字符串的哈希值。缓冲队列的一个元素为一个Syslog消息对象,队列长度根据消息对象的规模进行配置,队列长度设置为50000000。维护线程根据时间阈值T1的配置,清理缓冲队列的数据,即从缓冲队列中删除距离当前时间超过T1的消息对象,释放内存空间。
图3是图1中流数据检测模块框架图,流数据检测模块由流数据生产模块、流数据一级处理模块、流数据二级处理模块和流数据三级处理模块组成。流数据生产模块提取日志数据缓存模块的消息对象,并转化为统一格式的流数据单元。如下表1所示,流数据单元包括访问时间、客户端ip、服务端ip、服务端端口、请求方法、返回状态码、用户代理、cookie、访问路径和请求参数、链接网址、设备名称、设备IP 12个数据字段。
表1 流数据单元格式
流数据一级处理模块采用wu-manber多模匹配算法检测流数据单元中是否含有攻击特征关键字,将含有特征关键字的流数据单元发送到流数据二级处理模块中。流数据二级处理模块采用基于时间窗口的流数据分析模型,分析检测结果,并将流数据单元发送至流数据三级检测模块。流数据三级检测模块将检测结果存入关系数据库中。
流数据二级处理模块由流数据分析模型、过程对象维护线程和过程对象队列组成。流数据分析模型统计和融合检测结果。过程对象队列的一个元素为一个过程对象,队列长度根据对象的规模进行配置,通常一个过程对象队列最大接收规模为1000个每秒,队列长度设置为1000。如下表2所示,过程对象包括哈希键值、时间窗口、计数器、标识时间4个数据字段。过程对象维护线程根据时间阈值T2的配置,清理过程对象队列的数据,即从过程对象队列中删除距离当前时间超过T2的消息对象,释放内存空间。
表2 过程对象格式
属性 属性名称
hash_key hashCode(server_port+server_ip+client_ip)
t 时间窗口
count 计数器
c_time 标识时间

Claims (8)

1.一种基于流数据分析的Web攻击实时在线检测系统,其特征在于,包括日志数据采集客户端、日志数据缓存集群和流数据检测集群;所述的日志数据采集客户端是将信息系统应用服务器日志封装成Syslog消息格式的客户端软件;所述的日志数据缓存集群由至少两个日志数据缓存模块组成,通过以太网与日志数据采集客户端、流数据检测集群连接;所述的流数据检测集群由至少两个流数据检测模块组成;
所述的日志数据缓存模块包括分发线程、维护线程和至少一个缓冲队列;分发线程接收来自日志数据采集客户端的Syslog消息,并转化为统一格式的消息对象,再将消息对象分发到缓存队列,维护线程用于清理缓冲队列中不符合要求的消息对象;
所述的流数据检测模块包括流数据生产模块、流数据一级处理模块、流数据二级处理模块和流数据三级处理模块;流数据生产模块提取日志数据缓存模块的消息对象,并转化为统一格式的流数据单元;流数据一级处理模块采用wu-manber多模匹配算法检测流数据单元中是否含有攻击特征关键字,将含有特征关键字的流数据单元发送到流数据二级处理模块中;流数据二级处理模块采用流数据分析模型,去除重复的攻击事件,统计攻击次数,并将融合的攻击事件检测结果发送至流数据三级检测模块;流数据三级检测模块将检测结果存入关系数据库中。
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攻击实时在线检测系统,其特征在于,所述的流数据生产模块包括至少一个处理单元、流数据维护线程和流数据缓冲队列;所述的处理单元用于提取日志数据缓存模块中的消息对象,并转换成流数据单元;流数据缓冲队列的一个元素为一个流数据单元,队列长度根流数据单元的规模进行配置;流数据维护线程用于从流数据缓冲队列中删除日志时间距离当前时间超过流数据维护线程时间阈值T3的消息对象,其中流数据维护线程时间阈值T3是在系统启动初始化时进行设置的。
6.根据权利要求5所述的一种基于流数据分析的Web攻击实时在线检测系统,其特征在于,所述的处理单元由至少一个流数据提取线程和主管线程组成,流数据提取线程用于一一对应的提取日志数据缓存模块的缓冲队列中的信息对象,即流数据提取线程i仅用于提取缓冲队列i中的消息对象,所述的主管线程负责创建和维护流数据提取线程。
7.根据权利要求1所述的一种基于流数据分析的Web攻击实时在线检测系统,其特征在于,所述的流数据二级处理模块包括流数据分析模型、过程对象维护线程和过程对象队列;所述的流数据分析模型用于统计和融合检测结果;过程对象队列中以一个过程对象为一个元素,队列长度根据对象的规模进行配置,过程对象维护线程用于从过程对象队列中删除距离当前时间超过过程对象维护线程时间阈值T2的过程对象,其中过程对象维护线程时间阈值T2是在系统启动初始化时进行设置的。
8.根据权利要求7所述的一种基于流数据分析的Web攻击实时在线检测系统,其特征在于,所述的流数据分析模型采用如下步骤建立:
步骤1,计算其中一个流数据单元中server_port、server_ip、client_ip三个属性组合字符串的hash值,并在过程对象队列中查找是否存在具有相同的hash值的过程对象,如果找到相同过程对象v,转到步骤2;如果没有找到,则转到步骤3;
步骤2,更新所有过程对象中的时间窗口属性值,方法如下:
Δt=asctime-c_time
<mrow> <mtable> <mtr> <mtd> <mrow> <msub> <mi>t</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>&amp;Sigma;t</mi> <mi>i</mi> </msub> <mo>+</mo> <mi>&amp;Delta;</mi> <mi>t</mi> </mrow> <mrow> <mi>r</mi> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mo>...</mo> <mo>,</mo> <mi>r</mi> </mrow> </mtd> </mtr> </mtable> <mo>;</mo> </mrow>
<mfenced open = "" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>&amp;sigma;</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <msqrt> <mfrac> <mrow> <mi>&amp;Sigma;</mi> <msup> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>t</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>g</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> <mi>r</mi> </mfrac> </msqrt> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mo>...</mo> <mo>,</mo> <mi>r</mi> </mrow> </mtd> </mtr> </mtable> </mfenced>
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属性值,方法如下:
<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>c</mi> <mi>o</mi> <mi>u</mi> <mi>n</mi> <mi>t</mi> <mo>=</mo> <mn>1</mn> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> <mi>&amp;Delta;</mi> <mi>t</mi> <mo>&gt;</mo> <msub> <mi>t</mi> <mi>i</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>c</mi> <mi>o</mi> <mi>u</mi> <mi>n</mi> <mi>t</mi> <mo>=</mo> <mi>c</mi> <mi>o</mi> <mi>u</mi> <mi>n</mi> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </mtd> <mtd> <mrow> <mi>o</mi> <mi>t</mi> <mi>h</mi> <mi>e</mi> <mi>r</mi> <mi>w</mi> <mi>i</mi> <mi>s</mi> <mi>e</mi> </mrow> </mtd> </mtr> </mtable> </mfenced>
更新过程对象v的c_time为asctime,如果count大于统计阈值C,则转到步骤4,否则转向步骤1,其中count为计数器;
步骤3,由过程对象维护线程创建一个新的过程对象,设置count属性值为1,标识c_time时间设置为asctime,转到步骤1;
步骤4,将过程对象v发送至流数据三级检测模块,转到步骤1。
CN201710403981.8A 2017-06-01 2017-06-01 一种基于流数据分析的Web攻击实时在线检测系统 Active CN107172058B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710403981.8A CN107172058B (zh) 2017-06-01 2017-06-01 一种基于流数据分析的Web攻击实时在线检测系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710403981.8A CN107172058B (zh) 2017-06-01 2017-06-01 一种基于流数据分析的Web攻击实时在线检测系统

Publications (2)

Publication Number Publication Date
CN107172058A true CN107172058A (zh) 2017-09-15
CN107172058B CN107172058B (zh) 2020-06-05

Family

ID=59821449

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710403981.8A Active CN107172058B (zh) 2017-06-01 2017-06-01 一种基于流数据分析的Web攻击实时在线检测系统

Country Status (1)

Country Link
CN (1) CN107172058B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107786565A (zh) * 2017-11-02 2018-03-09 江苏物联网研究发展中心 一种分布式实时入侵检测方法及检测系统
CN109274675A (zh) * 2018-09-30 2019-01-25 上海视岳计算机科技有限公司 一种基于云平台的大规模Web攻击检测方法和系统
CN110232074A (zh) * 2019-05-31 2019-09-13 新华三大数据技术有限公司 流数据与维表关联方法及流计算装置
CN111274218A (zh) * 2020-01-13 2020-06-12 国网浙江省电力有限公司信息通信分公司 一种电力信息系统多源日志数据处理方法
US20200244688A1 (en) * 2017-08-09 2020-07-30 Nec Corporation Information selection device, information selection method, and non-transitory recording medium
CN113485878A (zh) * 2021-07-06 2021-10-08 国网江苏省电力有限公司信息通信分公司 一种多数据中心故障检测方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150163121A1 (en) * 2013-12-06 2015-06-11 Lookout, Inc. Distributed monitoring, evaluation, and response for multiple devices
CN104954351A (zh) * 2014-05-23 2015-09-30 腾讯科技(深圳)有限公司 数据检测方法和装置
CN106534257A (zh) * 2016-09-29 2017-03-22 国家电网公司 一种多层次集群式架构的多源安全日志采集系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150163121A1 (en) * 2013-12-06 2015-06-11 Lookout, Inc. Distributed monitoring, evaluation, and response for multiple devices
CN104954351A (zh) * 2014-05-23 2015-09-30 腾讯科技(深圳)有限公司 数据检测方法和装置
CN106534257A (zh) * 2016-09-29 2017-03-22 国家电网公司 一种多层次集群式架构的多源安全日志采集系统及方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200244688A1 (en) * 2017-08-09 2020-07-30 Nec Corporation Information selection device, information selection method, and non-transitory recording medium
CN107786565A (zh) * 2017-11-02 2018-03-09 江苏物联网研究发展中心 一种分布式实时入侵检测方法及检测系统
CN109274675A (zh) * 2018-09-30 2019-01-25 上海视岳计算机科技有限公司 一种基于云平台的大规模Web攻击检测方法和系统
CN110232074A (zh) * 2019-05-31 2019-09-13 新华三大数据技术有限公司 流数据与维表关联方法及流计算装置
CN111274218A (zh) * 2020-01-13 2020-06-12 国网浙江省电力有限公司信息通信分公司 一种电力信息系统多源日志数据处理方法
CN113485878A (zh) * 2021-07-06 2021-10-08 国网江苏省电力有限公司信息通信分公司 一种多数据中心故障检测方法
CN113485878B (zh) * 2021-07-06 2022-11-11 国网江苏省电力有限公司信息通信分公司 一种多数据中心故障检测方法

Also Published As

Publication number Publication date
CN107172058B (zh) 2020-06-05

Similar Documents

Publication Publication Date Title
CN107172058A (zh) 一种基于流数据分析的Web 攻击实时在线检测系统
CN110138787A (zh) 一种基于混合神经网络的异常流量检测方法及系统
CN112114995B (zh) 基于进程的终端异常分析方法、装置、设备及存储介质
CN102158355B (zh) 一种可并发和断续分析的日志事件关联分析方法和装置
CN105721198B (zh) 一种视频监控系统日志安全审计方法
CN107172022B (zh) 基于入侵途径的apt威胁检测方法和系统
CN107181612A (zh) 一种基于大数据的可视化网络安全监控方法
CN106878092A (zh) 一种多源异构数据融合的网络运维实时监控与分析呈现平台
CN113645065B (zh) 基于工业互联网的工控安全审计系统及其方法
CN106101116A9 (zh) 一种基于主成分分析的用户行为异常检测系统及方法
CN107707541A (zh) 一种流式的基于机器学习的攻击行为日志实时检测方法
CN106685984A (zh) 一种基于数据包捕获技术的网络威胁分析系统及方法
CN105306463A (zh) 基于支持向量机的Modbus TCP入侵检测方法
CN112491784A (zh) Web网站的请求处理方法及装置、计算机可读存储介质
CN109768952A (zh) 一种基于可信模型的工控网络异常行为检测方法
CN113408281B (zh) 邮箱账号异常检测方法、装置、电子设备及存储介质
CN109299160B (zh) 一种基于监控大数据挖掘的电力cps安全性分析方法
WO2019228158A1 (zh) 通过文本信息检测危险信息的方法、装置、介质及设备
CN108540473A (zh) 一种数据分析方法及数据分析装置
US9398040B2 (en) Intrusion detection system false positive detection apparatus and method
Li et al. Protocol reverse engineering using LDA and association analysis
CN112948215A (zh) 基于分布式数据库日志数据的实时异常检测方法及系统
CN113055171B (zh) 基于的区块链的日志安全解析及存储方法
Peng Research of network intrusion detection system based on snort and NTOP
CN108809955A (zh) 一种基于隐马尔可夫模型的电力用户行为深度分析方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant