一种网络安全态势预测方法、装置、设备及存储介质
技术领域
本申请涉及网络信息安全领域技术领域,尤其涉及一种网络安全态势预测方法、装置、设备及存储介质。
背景技术
随着Internet技术的飞快发展,网络安全的重要性及其对社会的影响越来越大,网络安全问题也越来越突出,并逐渐成为Internet及各项网络服务和应用进一步发展所亟待解决的关键问题。此外网络入侵和攻击行为正朝着分布化、规模化、复杂化、间接化等趋势发展,势必对安全产品技术提出更高的要求,而现有的网络安全态势感知预测方法包括回归分析、贝叶斯网络、马尔科夫链和人工神经网络等,这些方法针对的是小样本数据,当面对海量数据时,时效性就无法得到保证。
发明内容
本申请实施例提供了一种网络安全态势预测方法、装置、设备及存储介质,能够有效预测网络攻击事件,提高网络安全性。
本申请第一方面提供了一种网络安全态势预测方法,包括:
获取网络安全事件的日志数据;根据所述网络安全事件的日志数据获得强规则集合;根据所述强规则集合对网络攻击进行预判。
进一步的,所述获取网络安全事件的日志数据具体包括:获取协议数据;对所述协议数据进行分析和翻译,获得所述网络安全事件的日志数据。
进一步的,所述根据所述网络安全事件的日志数据获得强规则集合具体包括:通过频繁项集算法对所述网络安全事件的日志数据进行挖掘项集,获得频繁项集,并根据所述频繁项集获得强规则集合。
进一步的,所述强规则集合包括至少两个网络安全事件。
进一步的,根据所述强规则集合对网络攻击进行预判具体包括:
获取当前的网络安全事件,根据所述网络安全事件获得相应的强规则集合,根据所述强规则集合获得预测网络安全事件。
本申请第二方面提供一种网络安全态势预测装置,包括:
获取数据模块,用于获取网络安全事件的日志数据;
获得集合模块,用于根据所述网络安全事件的日志数据获得强规则集合;
预判模块,用于根据所述强规则集合对网络攻击进行预判。
进一步的,所述获取数据模块具体包括:
获取协议数据单元,用于获取协议数据;
处理协议数据单元,用于对所述协议数据进行分析和翻译,获得所述网络安全事件的日志数据。
进一步的,所述获得集合模块具体用于:
通过频繁项集算法对所述网络安全事件的日志数据进行挖掘项集,获得频繁项集,根据所述频繁项集产生强关联规则,并获得所述强规则集合。
本申请第三方面提供一种网络安全态势预测设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行上述第一方面所述的一种网络安全态势预测方法。
本申请第四方面提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行上述第一方面所述的一种网络安全态势预测方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,提供了一种网络安全态势预测方法、装置、设备及存储介质,方法包括获取网络安全事件的日志数据;根据所述网络安全事件的日志数据获得强规则集合;根据所述强规则集合对网络攻击进行预判。
本申请提供的网络安全态势预测方法,通过建立的强规则集合,能够对网络攻击进行预判,提高网络安全性。
附图说明
图1为本申请第一实施例中一种网络安全态势预测方法的流程示意图;
图2为本申请第三实施例中一种网络安全态势预测装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,图1为本申请第一实施例中一种网络安全态势预测方法的流程示意图;
本申请第一方面提供了一种网络安全态势预测方法,包括:
S1,获取网络安全事件的日志数据;
S2,根据网络安全事件的日志数据获得强规则集合;
S3,根据强规则集合对网络攻击进行预判。
需要说明的是,本申请第一实施例提供的一种网络安全态势预测方法,首先通过网络流量等线上采集数据的方式获取网络安全数据,即网络安全事件的日志数据,根据获得的日志数据进行数据处理以及关联挖掘获得网络安全事件数据之间的强规则数据,并根据强规则数据获得强规则集合;最后根据获得的强规则数据对网络攻击进行预判。
本申请第二实施例提供了一种网络安全态势预测方法:
获取网络安全事件的日志数据具体包括:获取协议数据;对协议数据进行分析和翻译,获得网络安全事件的日志数据。
需要说明的是,本申请第二实施例提供的网络安全态势预测方法,首先通过网络流量等线上获取数据的方法采集协议数据,对获得的协议数据进行分析和翻译以获取网络安全事件的日志数据。
例如:
选取网络安全事件集合={Web漏洞,Web Shell,Web恶意文件,Web邮件,恶意代码,0Day},按时间序列获取事务集合如下表:
|
Web漏洞 |
Web Shell |
Web恶意文件 |
Web邮件 |
恶意代码 |
0Day |
T1 |
1 |
1 |
0 |
0 |
1 |
0 |
T2 |
0 |
0 |
0 |
1 |
0 |
1 |
T3 |
1 |
1 |
1 |
0 |
0 |
0 |
T4 |
1 |
1 |
0 |
1 |
0 |
1 |
T5 |
0 |
0 |
1 |
0 |
1 |
0 |
T6 |
0 |
1 |
1 |
0 |
0 |
0 |
T7 |
1 |
0 |
1 |
0 |
0 |
0 |
T8 |
1 |
1 |
1 |
0 |
1 |
1 |
T9 |
1 |
1 |
1 |
0 |
0 |
0 |
T10 |
1 |
1 |
0 |
1 |
0 |
0 |
表1
根据网络安全事件的日志数据获得强规则集合具体包括:通过频繁项集算法对网络安全事件的日志数据进行挖掘项集,获得频繁项集,并根据频繁项集获得强规则集合。
需要说明的是,本申请第二实施例提供的网络安全态势预测方法,对于获得的关于网络安全事件的日志数据,可以通过频繁项集算法对网络安全事件的日志数据进行挖掘项集,以获得这些日志数据的频繁项集,频繁项集即如表1中的T1行所表示的{Web漏洞,WebShell,恶意代码}等网络安全事件的日志数据所挖掘出的规律集合,并根据该频繁项集产生强关联规则,并获得强规则集合,特别地,在本申请实施例中年频繁项集算法为Apriori算法:
表2
从表2可知,网络安全事件包括有Web漏洞、Web Shell、Web恶意文件、Web邮件、恶意代码、0Day,频次即是支持度,代表该行的频繁项集在一定周期内的联动可能性,比如表格2为10个时间周期,那么表格2中每一行的频次表示的是该行的频繁项集在10个时间周期内的联动可能性;
假设选取支持度3的频繁项集,从表中可知,满足支持度3的频繁项集为{Web漏洞,Web Shell,Web恶意文件},说明这三个网络安全事件在10个时间周期内具有较高的联动可能性,为3/10;再看包含有两个事件组成的频繁项集,表2中有{Web漏洞,Web恶意文件}和{Web Shell,Web恶意文件},对应出现的概率都为4/10。因此在检测网络安全事件时,如果存在有Web漏洞,Web Shell,Web恶意文件这三个网络安全事件中的任意一个,那么可以判定其他的两个网络安全事件会有很大的概率发生,那么可以得出预测的结果是,若检测到网络安全事件Web漏洞,可以预测出Web Shell,Web恶意文件这两个网络安全事件,即可根据预测的结果对可能会出现的网络安全事件进行相应的防范,以获得较好的预防网络攻击效果。
强规则集合包括至少两个网络安全事件。
需要说明的是,强规则集合即如上述根据频繁项集所得出的具有较高联动概率的网络安全事件,比如选取支持度为3的频繁项集,能够得到的强规则集合为{Web漏洞,WebShell,Web恶意文件},且由于这三个网络安全事件中两两组成的频繁项集具有较高的支持度,因此如果存在当前网络安全事件为这三个网络安全事件中任一个,比如Web Shell,即可对Web漏洞和Web恶意文件这两个网络安全事件作出预防举措。
根据强规则集合对网络攻击进行预判具体包括:
获取当前的网络安全事件,根据网络安全事件获得相应的强规则集合,根据强规则集合获得预测网络安全事件。
需要说明的是,根据当前存在的网络安全事件,以及该网络安全事件所在的强规则集合,获得预测网络安全事件,并根据预测网络安全事件作出相应的预防操作。
本申请第二方面提供一种网络安全态势预测装置,包括:
获取数据模块10,用于获取网络安全事件的日志数据;
获得集合模块20,用于根据网络安全事件的日志数据获得强规则集合;
预判模块30,用于根据强规则集合对网络攻击进行预判。
获取数据模块10具体包括:
获取协议数据单元,用于获取协议数据;
处理协议数据单元,用于对协议数据进行分析和翻译,获得网络安全事件的日志数据。
获得集合模块20具体用于:
通过频繁项集算法对网络安全事件的日志数据进行挖掘项集,获得频繁项集,根据频繁项集产生强关联规则,并获得强规则集合。
本申请第三方面提供一种网络安全态势预测设备,设备包括处理器以及存储器:
存储器用于存储程序代码,并将程序代码传输给处理器;
处理器用于根据程序代码中的指令执行上述的一种网络安全态势预测方法。
本申请第四方面提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行上述的一种网络安全态势预测方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请的说明书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。