一种基于流数据处理的网络安全蜜罐系统及实现方法与流程

文档序号:32309727发布日期:2022-11-23 11:11阅读:118来源:国知局
一种基于流数据处理的网络安全蜜罐系统及实现方法与流程

1.本发明属于网络信息安全蜜罐领域,具体涉及一种基于流数据处理的网络安全蜜罐系统及实现方法。


背景技术:

2.网络安全蜜罐运用仿真技术形成网络安全诱捕环境,并通过一系列引诱和伪装手段,诱使攻击者将攻击目标转移到诱捕环境中,并对其采取拦截阻断、行为分析、追踪溯源等措施,从而实现攻击者攻击行为记录分析和保护自身真实业务环境的目的。目前市面上的蜜罐系统大部分是基于容器化部署和日志收集分析的技术来实现的,容器化部署增加了蜜罐系统部署和应用的复杂度,同时日志收集分析往往都是事后分析,实时性较差。


技术实现要素:

3.发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于流数据处理的网络安全蜜罐系统及实现方法。
4.为了解决上述技术问题,第一方面,公开了一种基于流数据处理的网络安全蜜罐系统,包括蜜罐服务管理模块、蜜罐客户端、蜜罐服务运行状态收集服务模块、流量信息消费服务模块、流数据处理引擎模块、蜜罐服务管理队列、蜜罐服务状态队列和蜜罐访问流量队列;
5.所述蜜罐服务管理模块,用于将蜜罐服务管理指令存储至蜜罐服务管理队列,接收并处理蜜罐客户端的连接请求,向蜜罐客户端下发蜜罐服务管理队列的连接配置信息;
6.所述蜜罐客户端,用于载入蜜罐服务配置信息,向蜜罐服务管理模块发起连接请求,根据所述蜜罐服务管理队列的连接配置信息连接和监听蜜罐服务管理队列;监听到蜜罐服务管理队列中有消息时,取出蜜罐服务管理指令并进行解析,对蜜罐服务进行管理;
7.所述蜜罐服务管理队列,用于存储蜜罐服务管理指令;
8.所述蜜罐服务状态队列,用于存放蜜罐服务的运行状态信息;
9.所述蜜罐访问流量队列,用于存放蜜罐服务的访问流量信息;
10.所述蜜罐服务运行状态收集服务模块,用于监听蜜罐服务状态队列,当蜜罐服务状态队列中存在蜜罐服务状态信息时取出数据进行处理和展示;
11.所述流量信息消费服务模块,用于监听蜜罐访问流量队列,当蜜罐访问流量队列中存在蜜罐网络访问流量信息时,取出所述网络访问流量信息并包装成事件,发送至流数据处理引擎模块;
12.所述流数据处理引擎模块,用于创建蜜罐服务的事件类型和事件处理规则,根据接收到的事件匹配事件处理规则,输出蜜罐服务被攻击预警信息。
13.进一步的,所述网络安全蜜罐系统还包括守护进程,所述守护进程用于监测蜜罐客户端的工作状态,当蜜罐客户端工作状态出现异常或者停止工作时,关闭并重启蜜罐客户端。
14.第二方面,公开了一种基于流数据处理的网络安全蜜罐系统实现方法,包括:
15.步骤1,蜜罐服务管理模块等待蜜罐客户端连接;
16.步骤2,蜜罐客户端载入蜜罐服务配置信息,向蜜罐服务管理模块发起连接请求;
17.步骤3,蜜罐服务管理模块接收并处理蜜罐客户端的连接请求,连接成功后,向蜜罐客户端下发蜜罐服务管理队列的连接配置信息;
18.步骤4,蜜罐客户端连接和监听蜜罐服务管理队列,监听到蜜罐服务管理队列中有消息时,取出蜜罐服务管理指令并进行解析,对蜜罐服务进行管理;
19.步骤5,蜜罐服务运行状态收集服务模块监听蜜罐服务状态队列,当蜜罐服务状态队列中存在蜜罐服务状态信息时取出数据进行处理和展示;
20.步骤6,流量信息消费服务模块监听蜜罐访问流量队列,当蜜罐访问流量队列中存在蜜罐网络访问流量信息时,取出所述网络访问流量信息并包装成事件,发送至流数据处理引擎模块;
21.步骤7,流数据处理引擎模块创建蜜罐服务的事件类型、事件处理规则和事件处理条件,当接收到的事件符合事件处理条件时,触发事件处理规则对事件进行处理,获得蜜罐服务被攻击预警信息。
22.进一步的,蜜罐服务管理模块和蜜罐客户端基于tcp协议的服务器/客户端模式,步骤1包括:蜜罐服务管理模块创建socket套接字,使用套接字绑定本地的网络地址和端口,套接字在绑定的端口上进行监听,等待蜜罐客户端的连接请求;
23.步骤2包括:蜜罐客户端载入蜜罐服务配置信息,所述蜜罐服务配置信息是一个四元组《id,honeypotservicename,honeypotservicetype,honeypotservicefilepath》,其中id是蜜罐服务的唯一标识;honeypotservicename表示蜜罐服务的名称;honeypotservicetype表示蜜罐服务的类型;honeypotservicefilepath表示蜜罐服务静态文件的本地路径信息;蜜罐客户端创建socket套接字,向蜜罐服务管理模块发起连接请求。
24.进一步的,步骤3中,蜜罐服务管理模块处理蜜罐客户端的连接请求包括:
25.蜜罐客户端发送蜜罐客户端所在的节点信息给蜜罐服务管理模块,节点信息包括节点的名称、节点的网络地址和节点的校验码;
26.蜜罐服务管理模块对蜜罐客户端发送的节点信息进行校验,判断是否为能够进行连接的合法节点;
27.如果节点校验不通过,则蜜罐服务管理模块断开当前连接,连接失败;如果节点校验通过,连接成功。
28.进一步的,步骤4中所述蜜罐服务包括蜜罐服务协议和蜜罐服务静态文件;
29.所述蜜罐服务管理指令包括对蜜罐服务进行配置的配置指令和对蜜罐服务进行操作的操作指令,所述操作指令包括开启和关闭蜜罐服务;所述对蜜罐服务进行管理包括对蜜罐服务进行配置和对蜜罐服务进行开启和关闭操作。
30.进一步的,步骤5中所述蜜罐服务状态包括端口状态、心跳、系统资源使用情况、服务创建时间和服务运行时间信息。
31.进一步的,步骤6中所述事件是一个四元组e=(id,honeypottype,flowdata,timestamp),其中id是该事件的唯一标识,honeypottype表示事件的属性即蜜罐服务的类型,对于不同类型蜜罐服务收集的网络访问流量信息被包装成不同属性的事件,flowdata
表示事件中携带的蜜罐服务收集的网络访问流量信息数据,timestamp表示事件发生的时间,标识蜜罐服务收集的网络流量信息的时间;流量信息消费服务模块将蜜罐访问流量队列中获取的原始网络访问流量信息通过调用事件类的构造函数创建事件实例。
32.进一步的,步骤7包括:
33.步骤7-1,基于复杂事件处理cep(complex event processing)创建流数据处理引擎;
34.步骤7-2,在流数据处理引擎中注册事件类型,并生成相关的配置对象,其中事件类型与蜜罐服务类型相对应;
35.步骤7-3,根据7-2中生成的配置对象创建事件流处理引擎实例,作为事件处理的容器环境;
36.步骤7-4,创建并导入事件处理规则,所述事件处理规则与事件类型相对应,用于处理接收到的事件;
37.步骤7-5,创建监听器对象,并将监听器对象与事件处理规则相关联;
38.步骤7-6,创建事件流处理的执行环境对象,在引擎中与事件处理条件进行匹配;
39.步骤7-7,执行环境对象负责监听来到的所有事件,根据事件中的属性值honeypottype来选择对应的事件处理条件,当事件符合事件处理条件时触发相应的监听器对事件进行处理,获得蜜罐服务被攻击预警信息。
40.进一步的,所述网络安全蜜罐系统实现方法还包括步骤8,开启守护进程,监测蜜罐客户端的工作状态,当蜜罐客户端工作状态出现异常或者停止工作时,关闭并重启蜜罐客户端。
41.有益效果:
42.本发明在蜜罐收集流量信息的分析过程中引入了流数据处理技术,能够依据一组处理规则,对数据进行高可用、低延迟、具有自身容错性的实时计算,能够依据事件中的属性,判定事件类型,第一时间,精确报送预警信息。对比传统的日志收集分析技术能够有效提高蜜罐的流量解析能力,实现网络攻击行为的实时预警。
附图说明
43.下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述优点和其他方面的优点将会变得更加清楚。
44.图1是本技术实施例提供的一种基于流数据处理的网络安全蜜罐系统的结构示意图。
45.图2是本技术实施例提供的一种基于流数据处理的网络安全蜜罐系统实现过程示意图。
46.图3是本技术实施例提供的一种基于流数据处理的网络安全蜜罐系统实现方法中蜜罐服务管理模块和蜜罐客户端交互过程示意图。
具体实施方式
47.下面将结合附图,对本发明的实施例进行描述。
48.本技术第一实施例公开一种基于流数据处理的网络安全蜜罐系统,如图1所示,包
括蜜罐服务管理模块、蜜罐客户端、蜜罐服务运行状态收集服务模块、流量信息消费服务模块、流数据处理引擎模块、蜜罐服务管理队列honeypotmanagequeue、蜜罐服务状态队列honeypotstatequeue和蜜罐访问流量队列honeypotflowqueue,
49.如图2所示,所述蜜罐服务管理模块,用于将蜜罐服务管理指令存储至蜜罐服务管理队列honeypotmanagequeue,接收并处理蜜罐客户端的连接请求,向蜜罐客户端下发蜜罐服务管理队列的连接配置信息;
50.所述蜜罐客户端,用于载入蜜罐服务配置信息,向蜜罐服务管理模块发起连接请求,根据所述蜜罐服务管理队列的连接配置信息连接和监听蜜罐服务管理队列;监听到蜜罐服务管理队列中有消息时,取出蜜罐服务管理指令并进行解析,对蜜罐服务进行管理;
51.所述蜜罐服务管理队列honeypotmanagequeue,用于存储蜜罐服务管理指令;
52.所述蜜罐服务状态队列honeypotstatequeue,用于存放蜜罐服务的运行状态信息;
53.所述蜜罐访问流量队列honeypotflowqueue,用于存放蜜罐服务的访问流量信息;
54.所述蜜罐服务运行状态收集服务模块,用于监听蜜罐服务状态队列,当蜜罐服务状态队列中存在蜜罐服务状态信息时取出数据进行处理和展示;
55.所述流量信息消费服务模块,用于监听蜜罐访问流量队列,当蜜罐访问流量队列中存在蜜罐网络访问流量信息时,取出所述网络访问流量信息并包装成事件,发送至流数据处理引擎模块;
56.所述流数据处理引擎模块,用于创建蜜罐服务的事件类型和事件处理规则,根据接收到的事件匹配事件处理规则,输出蜜罐服务被攻击预警信息。
57.所述网络安全蜜罐系统还包括守护进程,所述守护进程用于监测蜜罐客户端的工作状态,当蜜罐客户端工作状态出现异常或者停止工作时,关闭并重启蜜罐客户端。
58.本技术第二实施例公开一种基于流数据处理的网络安全蜜罐系统实现方法,包括:
59.步骤1,蜜罐服务管理模块等待蜜罐客户端连接;
60.如图3所示,蜜罐服务管理模块和蜜罐客户端基于tcp协议的服务器/客户端模式,步骤1包括:蜜罐服务管理模块创建socket套接字,使用套接字绑定本地的网络地址和端口,套接字在绑定的端口上进行监听,等待蜜罐客户端的连接请求;
61.步骤2,蜜罐客户端载入蜜罐服务配置信息,向蜜罐服务管理模块发起连接请求;具体包括:蜜罐客户端载入蜜罐服务配置信息,所述蜜罐服务配置信息是一个四元组《id,honeypotservicename,honeypotservicetype,honeypotservicefilepath》,其中id是蜜罐服务的唯一标识;honeypotservicename表示蜜罐服务的名称;honeypotservicetype表示蜜罐服务的类型;honeypotservicefilepath表示蜜罐服务静态文件的本地路径信息;蜜罐客户端创建socket套接字,向蜜罐服务管理模块发起连接请求。
62.步骤3,蜜罐服务管理模块接收并处理蜜罐客户端的连接请求,连接成功后,向蜜罐客户端下发蜜罐服务管理队列的连接配置信息;
63.蜜罐服务管理模块处理蜜罐客户端的连接请求包括:
64.蜜罐客户端发送蜜罐客户端所在的节点信息给蜜罐服务管理模块,节点信息包括节点的名称、节点的网络地址和节点的校验码;
65.蜜罐服务管理模块对蜜罐客户端发送的节点信息进行校验,判断是否为能够进行连接的合法节点;
66.如果节点校验不通过,则蜜罐服务管理模块断开当前连接,连接失败;如果节点校验通过,连接成功。
67.步骤4,蜜罐客户端连接和监听蜜罐服务管理队列,监听到蜜罐服务管理队列中有消息时,取出蜜罐服务管理指令并进行解析,对蜜罐服务进行管理;所述蜜罐服务包括蜜罐服务协议和蜜罐服务静态文件;例如,基于ssh协议的linux远程访问蜜罐服务、基于http/https协议的web应用蜜罐服务等。
68.具体的,实现一个基于ssh协议的linux远程访问蜜罐服务,需要在蜜罐客户端中实现ssh协议,同时编写蜜罐服务静态文件,蜜罐客户端根据用户通过ssh协议传送的请求信息进行信息反馈,从而实现linux远程访问的模拟。比如用户通过ssh协议发送了“df”命令,蜜罐客户端将“df”命令对应的蜜罐服务静态文件反馈给用户,该静态文件中的内容如下:
[0069][0070]
所述蜜罐服务管理指令包括对蜜罐服务进行配置的配置指令和对蜜罐服务进行操作的操作指令,所述操作指令包括开启和关闭蜜罐服务;所述对蜜罐服务进行管理包括对蜜罐服务进行配置和对蜜罐服务进行开启和关闭操作。同样以ssh协议的linux远程访问蜜罐服务为例,可以配置成功登陆的账号密码、登陆成功后显示的主机名、蜜罐服务的端口等信息。蜜罐服务管理模块下发启动或关闭蜜罐服务指令,通过蜜罐客户端启动或关闭对应的ssh协议服务实现蜜罐服务的启动或关闭。
[0071]
步骤5,蜜罐服务运行状态收集服务模块监听蜜罐服务状态队列,当蜜罐服务状态队列中存在蜜罐服务状态信息时取出数据进行处理和展示;所述蜜罐服务状态包括端口状态、心跳、系统资源使用情况、服务创建时间和服务运行时间信息。
[0072]
步骤6,流量信息消费服务模块监听蜜罐访问流量队列,当蜜罐访问流量队列中存在蜜罐网络访问流量信息时,取出所述网络访问流量信息并包装成事件,发送至流数据处理引擎模块;比如基于http/https协议的web应用蜜罐服务可以收集用户的请求流量信息,请求流量信息通过蜜罐访问流量队列上报给流量信息消费服务模块。所述事件是一个四元组e=(id,honeypottype,flowdata,timestamp),其中id是该事件的唯一标识,honeypottype表示事件的属性即蜜罐服务的类型,对于不同类型蜜罐服务收集的网络访问流量信息被包装成不同属性的事件,flowdata表示事件中携带的蜜罐服务收集的网络访问流量信息数据,timestamp表示事件发生的时间,标识蜜罐服务收集的网络流量信息的时
间;流量信息消费服务模块将蜜罐访问流量队列中获取的原始网络访问流量信息通过调用事件类的构造函数创建事件实例。
[0073]
事件类的构造函数定义如下:
[0074]
作用蜜罐访问流量事件包装特点抽象类/接口类名(对象名)honeypoteventwrap主要接口virtual int honeypoteventwrap(inputstream mb)=0;
[0075]
流量信息消费服务模块通过接口honeypoteventwrap(inputstream mb)将蜜罐访问流量队列honeypotflowqueue中获取的原始访问流量信息通过调用事件类的构造函数创建事件实例,从而将原始数据包装为事件。事件为一组xml格式文件,如下所示:
[0076][0077]
步骤7,流数据处理引擎模块创建蜜罐服务的事件类型、事件处理规则和事件处理条件,当接收到的事件符合事件处理条件时,触发事件处理规则对事件进行处理,获得蜜罐服务被攻击预警信息。具体包括以下步骤:
[0078]
步骤7-1,基于复杂事件处理cep(complex event processing)创建流数据处理引擎;
[0079]
步骤7-2,在流数据处理引擎中注册事件类型,并生成相关的配置对象,其中事件类型与蜜罐服务类型相对应;针对各种不同类型的网络安全蜜罐服务定义事件,每一类蜜罐服务定义为一个事件,比如针对redis蜜罐、mysql蜜罐、...、web应用蜜罐分别定义事件1、事件2、...、事件n,事件定义完成后可注册到事件流处理引擎中。由步骤6可知,事件是一个四元组e=(id,honeypottype,flowdata,timestamp),例如,resis蜜罐服务事件对象定义如下:
[0080]
public class redisevent//resis蜜罐服务事件对象
[0081]
{
[0082]
int id;
[0083]
string honeypottype;
[0084]
string flowdata;
[0085]
string timestamp;
[0086]
public string getflowdata()
[0087]
{return flowdata;}
[0088]
}
[0089]
上述表示了一个redis蜜罐服务的事件对象,其中id用来唯一标识某个事件,针对不同的蜜罐类型honeypottype被赋值为不同的标识,flowdata表示redis蜜罐服务被访问流量信息,timestamp表示事件发生的时间戳。
[0090]
步骤7-3,根据7-2中生成的配置对象创建事件流处理引擎实例,作为事件处理的容器环境;
[0091]
步骤7-4,创建并导入事件处理规则,所述事件处理规则与事件类型相对应,用于处理接收到的事件;
[0092]
步骤7-5,创建监听器对象,并将监听器对象与事件处理规则相关联;
[0093]
步骤7-6,创建事件流处理的执行环境对象,在引擎中与事件处理条件进行匹配;
[0094]
步骤7-7,执行环境对象负责监听来到的所有事件,根据事件中的属性值honeypottype来选择对应的事件处理条件,当事件符合事件处理条件时触发相应的监听器对事件进行处理,获得蜜罐服务被攻击预警信息。例如:执行环境对象监听到有攻击者使用爆破mysql密码的扫描器扫描到mysql蜜罐并且连接的时候,流数据处理引擎模块,会快速的对该事件数据进行分析,得到该事件的honeypottype值,比对已定义的事件类型和事件处理规则,确定匹配的事件类型为事件2,然后及时响应并生成被攻击的预警信息。预警信息为一组表格数据,如下所示:
[0095][0096][0097]
所述网络安全蜜罐系统实现方法还包括步骤8,开启守护进程,监测蜜罐客户端的工作状态,当蜜罐客户端工作状态出现异常或者停止工作时,关闭并重启蜜罐客户端。
[0098]
具体实现中,本技术提供计算机存储介质以及对应的数据处理单元,其中,该计算机存储介质能够存储计算机程序,所述计算机程序通过数据处理单元执行时可运行本发明提供的一种基于流数据处理的网络安全蜜罐系统实现方法的发明内容以及各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
[0099]
本领域的技术人员可以清楚地了解到本发明实施例中的技术方案可借助计算机
程序以及其对应的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机程序即软件产品的形式体现出来,该计算机程序软件产品可以存储在存储介质中,包括若干指令用以使得一台包含数据处理单元的设备(可以是个人计算机,服务器,单片机,muu或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0100]
本发明提供了一种基于流数据处理的网络安全蜜罐系统及实现方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1