发明内容
为了解决上述技术问题,本发明提供了一种APT威胁预测方法及系统,通过运用网络安全态势理解技术,建立APT攻击威胁发展模型,为安全保障工作的进行提供数据和理论支持,建立APT攻击威胁发展模型,为安全保障工作的进行提供数据和理论支持。
为了达到本发明目的,本发明提供一种APT安全威胁预测方法,包括:
采集海量异构安全数据,并对所述海量异构安全数据进行关联分析;
根据所述关联分析结果,建立APT安全威胁态势感知的体系框架;
基于多层次、多角度的态势评估,建立APT安全威胁态势评估的体系框架,并对APT安全威胁态势进行评估;
建立APT安全威胁发展模型,对APT安全威胁进行预测;
根据所述预测,如果确定潜在威胁,则进行预警。
该方法还包括:对所述APT安全威胁态势进行评估至少包括:将海量异构安全数据归类为资产数据、威胁数据、脆弱性数据和网络结构数据;去除上述数据的重复冗余信息;将资产数据、威胁数据、脆弱性数据和网络结构数据相关联,综合分析得到每个威胁的威胁传播网络。
优选地,建立APT安全威胁态势感知的体系框架时,对所述关联分析结果,用如下加密/解密算法进行加密/解密:
A=B^e2 mod n;B=A^e1 mod n
其中A为明文,B为密文,n为二进制表示密钥长度,e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互质;再选择e2,要求(e2*e1)mod((p-1)*(q-1))=1;p、q取值为超过具体环境阈值的任意的大质数。
优选地,其中对APT安全威胁态势进行评估至少包括:采用粒子群PSO算法进行评估。
优选地,其中所述PSO算法在迭代时,依次循环使用如下非线性函数作为权重函数:
F(X,Y,Z)=(X&Y)|((~X)&Z);
G(X,Y,Z)=(X&Z)|(Y&(~Z));
H(X,Y,Z)=X^Y^Z;
I(X,Y,Z)=Y^(X|(~Z));
其中,X、Y、Z是态势感知中的加密数据对三元组,分别表示信息安全的CIA三要素:保密性、完整性、可用性。
优选地,其中所述PSO算法当发现异常行为时,跳出所述非线性函数,执行下列关联函数:
FF(a,b,c,d,Mj,s,ti)表示a=b+((a+F(b,c,d)+Mj+ti)<<s)
GG(a,b,c,d,Mj,s,ti)表示a=b+((a+G(b,c,d)+Mj+ti)<<s)
HH(a,b,c,d,Mj,s,ti)表示a=b+((a+H(b,c,d)+Mj+ti)<<s)
Ⅱ(a,b,c,d,Mj,s,ti)表示a=b+((a+I(b,c,d)+Mj+ti)<<s)
其中a、b、c、d分别是所述PSO算法数据筛选和重组后得到的加速量、个体知识、邻居知识、社会知识;Mj表示态势感知数据的第j个子分组,常数ti是4294967296*abs(sin(i))的整数部分,i取值从1到64,单位是弧度。
并且s表示函数操作过程中的位移量,为系统的固定输入,根据实际情况调整。FF(a,b,c,d,Mj,s,ti)、GG(a,b,c,d,Mj,s,ti)、HH(a,b,c,d,Mj,s,ti)、II(a,b,c,d,Mj,s,ti)函数表示a的不同计算过程,并返回a的值。优选地,所述对网络安全威胁进行预测至少包括:采用人工神经网络、灰色理论和时间序列分析的预测技术对安全态势的发展趋势进行预测。
一种APT安全威胁预测系统,包括:
采集设备,用于对海量异构安全数据进行关联分析;
APT安全威胁态势感知设备,用于根据所述关联分析结果,建立APT安全威胁态势感知的体系框架;
APT安全威胁态势评估设备,用于根据多层次、多角度的态势评估,建立APT安全威胁态势评估的体系框架,并对APT安全威胁态势进行评估;
APT安全威胁态势预测设备,用于建立APT安全威胁发展模型,对APT安全威胁进行预测;
APT安全威胁态势预警设备,用于根据所述预测,发出预警。
所述APT安全威胁态势评估设备具体用于:将海量异构安全数据归类为资产数据、威胁数据、脆弱性数据和网络结构数据;去除上述数据的重复冗余信息;将资产数据、威胁数据、脆弱性数据和网络结构数据相关联,综合分析得到每个威胁的威胁传播网络。
APT安全威胁态势感知设备具体用于:对所述关联分析结果,用如下加密/解密算法进行加密/解密:
A=B^e2 mod n;B=A^e1 mod n
其中A为明文,B为密文,n为二进制表示密钥长度,e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互质;再选择e2,要求(e2*e1)mod((p-1)*(q-1))=1;p、q取值为超过具体环境阈值的任意的大质数。
优选地,对APT安全威胁态势进行评估至少包括:采用粒子群PSO算法进行评估。
优选地,所述PSO算法在迭代时,依次循环使用如下非线性函数作为权重函数:
F(X,Y,Z)=(X&Y)|((~X)&Z);
G(X,Y,Z)=(X&Z)|(Y&(~Z));
H(X,Y,Z)=X^Y^Z;
I(X,Y,Z)=Y^(X|(~Z));
其中,X、Y、Z是态势感知中的加密数据对三元组,分别表示信息安全的CIA三要素:保密性、完整性、可用性。
优选地,所述PSO算法当发现异常行为时,跳出所述非线性函数,执行下列关联函数:
FF(a,b,c,d,Mj,s,ti)表示a=b+((a+F(b,c,d)+Mj+ti)<<s)
GG(a,b,c,d,Mj,s,ti)表示a=b+((a+G(b,c,d)+Mj+ti)<<s)
HH(a,b,c,d,Mj,s,ti)表示a=b+((a+H(b,c,d)+Mj+ti)<<s)
Ⅱ(a,b,c,d,Mj,s,ti)表示a=b+((a+I(b,c,d)+Mj+ti)<<s)
其中a、b、c、d分别是所述PSO算法数据筛选和重组后得到的加速量、个体知识、邻居知识、社会知识;Mj表示态势感知数据的第j个子分组,常数ti是4294967296*abs(sin(i))的整数部分,i取值从1到64,单位是弧度。s表示函数操作过程中的位移量,为系统的固定输入,根据实际情况调整。FF(a,b,c,d,Mj,s,ti)、GG(a,b,c,d,Mj,s,ti)、HH(a,b,c,d,Mj,s,ti)、II(a,b,c,d,Mj,s,ti)函数表示a的不同计算过程,并返回a的值。
优选地,网络安全威胁预测设备至少包括:采用人工神经网络、灰色理论和时间序列分析的预测技术对安全态势的发展趋势进行预测。
本发明通过采集海量异构安全数据,并对海量异构安全数据进行关联分析;根据所述关联分析结果,建立APT安全威胁态势感知的体系框架;基于多层次、多角度的态势评估,建立APT安全威胁态势评估的体系框架,并对APT安全威胁态势进行评估;建立APT安全威胁发展模型,对APT安全威胁进行预测;以及根据所述预测,如果确定潜在威胁,则进行预警;来建立APT攻击威胁发展模型,为安全保障工作的进行提供数据和理论支持,有效地防止了APT攻击,保证了数据的安全性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1为本发明去重方法的流程图,如图1所示,包括以下步骤:
步骤102:采集海量异构安全数据,并对所述海量异构安全数据进行关联分析;
本步骤中,可以通过网络监测、本地系统监测等来获取大量的session数据以及其它安全数据。可以将数据保存在数据库中,并对数据进行关联分析。
关联分析是一种数据融合技术,研究数据之间的相互关系,用于对多源数据进行联合、相关和组合,用于获取高质量的信息。本发明所采用的方法有分类分析、聚类分析、前后关联和交叉关联等。即,采用关联分析技术对整个网络的安全事件的融合与关联,实现安全事件的集中管理,减少重复报警,降低漏报率和误报率,发现高层攻击策略。例如,通过实验的方法对五个采用报警信息关系分析技术的入侵检测系统(Intrusion Detection Systems,IDS)进行比较,发现这些系统和单独IDS相比,整体检测性能有很大的提高,并且有的系统能对攻击进行多步关联,有的系统能够对报警信息实时关联,有效减少了报警数量。
步骤104:根据所述关联分析结果,建立APT态势感知的体系架构。
本步骤中,由于APT安全威胁态势感知所依据数据来源的复杂性和异构性,为了保证态势理解过程的实时性的要求,采用简单的数据级融合技术。对大量原始安全数据进行初步处理,得到规范化的资产数据集、威胁数据集、脆弱性数据集和网络结构数据集。在此基础上,分析资产、威胁和脆弱性之间的关系,对影响网络安全性的安全事件进行分析,采用上述关联分析方法得到规范化的安全事件数据集。此外,为了分析威胁传播带来的影响,提出威胁传播网络的概念,综合分析资产、威胁、脆弱性和网络结构信息,得到威胁数据集中每个威胁的威胁传播网络。根据资产数据集、威胁数据集、脆弱性数据集和网络结构数据集等建立APT态势感知的体系架构。
另外,APT安全威胁态势感知在数据聚类模块中要用到的加解密算法。即对异构安全数据进行收集、分析后,对与APT安全威胁态势感知有关的重要数据进行加密,然后传递给APT安全威胁态势评估模块。这样做的主要目的是为了防止APT安全威胁中重要数据会被篡改(以Stuxnet病毒为例)。具体的,加解密算法如下:
(1)算法涉及三个参数,n、e1、e2。其中,n是两个大质数p、q的积(p、q取值为超过具体环境阈值的任意的大质数),n的二进制表示时所占用的位数,就是所谓的密钥长度。
(2)e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互质;再选择e2,要求(e2*e1)mod((p-1)*(q-1))=1。
(3)(n,e1),(n,e2)就是密钥对。其中(n,e1)为公钥,(n,e2)为私钥。
(4)设A为明文,B为密文,则:A=B^e2 mod n;B=A^e1 mod n;(公钥加密体制中,一般用公钥加密,私钥解密)
(5)e1和e2可以互换使用,即:A=B^e2 mod n;B=A^e1 mod n。
步骤106:基于多层次、多角度的态势评估,建立APT态势评估框架,并进行网络安全态势评估。
本步骤中,为了能尽量全面地对APT安全威胁态势进行评估,建立多层次多角度的态势评估框架,分别从专题层次、要素层次和整体层次三个层次,每个层次分别从不同的角度,每个角度分别从不同的粒度对APT安全威胁态势进行评估。
态势评估中,采用改进的粒子群算法(Particle Swarm Optimization,PSO)算法进行APT的攻击行为预测。具体地,定义不同的影响权重函数,对态势理解的数据加密结果进行轮循,每次操作中用到的四个非线性函数(每轮一个)如下:
F(X,Y,Z)=(X&Y)|((~X)&Z)
G(X,Y,Z)=(X&Z)|(Y&(~Z))
H(X,Y,Z)=X^Y^Z
I(X,Y,Z)=Y^(X|(~Z))
(&;是与,|是或,~是非,^是异或)
其中,X、Y、Z是我们态势理解模块的加密数据对三元组,分别表示信息安全的CIA三要素:保密性、完整性、可用性。通过按位操作,进行PSO优化进行的数据筛选和重组。这四个函数的说明:如果X、Y和Z的对应位是独立和均匀的,那么结果的每一位也应是独立和均匀的。F是一个逐位运算的函数。即,如果X,那么Y,否则Z。函数H是逐位奇偶操作符。
此外,当发现异常行为时,跳出相应的非线性函数,进入关联分析模块,把看似游离不相关的事情进行联动,从而得出更具体的态势评估结果。有关的关联分析函数如下:
FF(a,b,c,d,Mj,s,ti)表示a=b+((a+F(b,c,d)+Mj+ti)<<s)
GG(a,b,c,d,Mj,s,ti)表示a=b+((a+G(b,c,d)+Mj+ti)<<s)
HH(a,b,c,d,Mj,s,ti)表示a=b+((a+H(b,c,d)+Mj+ti)<<s)
Ⅱ(a,b,c,d,Mj,s,ti)表示a=b+((a+I(b,c,d)+Mj+ti)<<s)
其中a、b、c、d分别是PSO数据筛选和重组后得到的加速量、个体知识、邻居知识、社会知识。资产数据、威胁数据、脆弱性数据和网络结构数据是相应部分的经验累积。其分别代表资产数据、威胁数据、脆弱性数据和网络结构数据。每一次循环结束,将资产数据、威胁数据、脆弱性数据和网络结构数据分别加上a、b、c、d进行更新。然后用下一分组数据继续运行算法,最后的输出是资产数据、威胁数据、脆弱性数据和网络结构数据的级联,从而完成APT事件的网络安全态势评估。其中,Mj表示态势感知数据的第j个子分组(从0到15),常数ti是4294967296*abs(sin(i))的整数部分,i取值从1到64,单位是弧度。(4294967296等于2的32次方)。并且s表示函数操作过程中的位移量,为系统的固定输入,根据实际情况调整。FF(a,b,c,d,Mj,s,ti)、GG(a,b,c,d,Mj,s,ti)、HH(a,b,c,d,Mj,s,ti)、II(a,b,c,d,Mj,s,ti)函数表示a的不同计算过程,并返回a的值。
步骤108:根据所述网络安全态势评估,对网络安全威胁进行预测。
本步骤中:通过对APT安全威胁态势评估输出的数据,采用预测模型对安全态势的发展趋势进行预测,主要可以基于人工神经网络、灰色理论和时间序列分析的预测技术。人工神经网络和灰色理论都是黑盒预测方法,掩盖了原序列自身的属性,预测结果不能体现原序列的随机性和周期性等特性,因此在预测时主要采用基于时间序列分析的预测技术。
优选地,本发明可以拟采取基于时间序列分析的方法,时间序列分析利用态势评估得到的结果,通过曲线拟合和参数估计,建立相应的模型进行预测。
同样的,根据态势评估对象的不同,所采用的预测方法主要用在以下三个方面:(1)专题层次(2)要素层次(3)整体层次。
在实际使用时,应根据网络规模、预测对象和输入的数据量的规模等因素,选择合适的预测算法。对于每一种时间序列模型,如果输入的数据量越大,建立的模型越准确,预测结果越准确,因此需要实时更新输入数据,及时对模型的参数进行修正。如果输入数据量非常少,那么不适合用时间序列分析方法进行建模,可以采用历史增量平均的方法进行预测。
步骤110:根据预测,如果确定潜在威胁,则进行预警。该预警可以以弹出对话框的形式预告,也可以将受到攻击的主机标识发送给管理设备,并进行相应的预处理。
图2为本发明的APT威胁预测系统的示意图,其包括:采集设备,用于对海量异构安全数据进行关联分析;
APT安全威胁态势感知设备,用于根据关联分析结果,建立APT安全威胁态势感知的体系框架;
APT安全威胁态势评估设备,用于根据多层次、多角度的态势评估,建立APT安全威胁态势评估的体系框架,并对APT安全威胁态势进行评估;
APT安全威胁态势预测设备,用于建立APT安全威胁发展模型,对APT安全威胁进行预测;
APT安全威胁态势预警设备,用与根据预测,如果确定潜在威胁,则进行预警。
具体地,APT安全威胁态势评估设备用于:将海量异构安全数据归类为资产数据、威胁数据、脆弱性数据和网络结构数据;去除上述数据的重复冗余信息;将资产数据、威胁数据、脆弱性数据和网络结构数据相关联,综合分析得到每个威胁的威胁传播网络。
具体地,APT安全威胁态势感知设备,对关联分析结果,用如下加密/解密算法进行加密/解密:
A=B^e2 mod n;B=A^e1 mod n
其中A为明文,B为密文,n为二进制表示密钥长度,e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互质;再选择e2,要求(e2*e1)mod((p-1)*(q-1))=1;p、q取值为超过具体环境阈值的任意的大质数。
具体地,其中对APT安全威胁态势进行评估至少包括:采用粒子群PSO算法进行评估。
具体地,其中PSO算法在迭代时,依次循环使用如下非线性函数作为权重函数:
F(X,Y,Z)=(X&Y)|((~X)&Z);
G(X,Y,Z)=(X&Z)|(Y&(~Z));
H(X,Y,Z)=X^Y^Z;
I(X,Y,Z)=Y^(X|(~Z));
其中,X、Y、Z是态势感知中的加密数据对三元组,分别表示信息安全的CIA三要素:保密性、完整性、可用性。
其中,其中PSO算法当发现异常行为时,跳出非线性函数,执行下列关联函数:
FF(a,b,c,d,Mj,s,ti)表示a=b+((a+F(b,c,d)+Mj+ti)<<s)
GG(a,b,c,d,Mj,s,ti)表示a=b+((a+G(b,c,d)+Mj+ti)<<s)
HH(a,b,c,d,Mj,s,ti)表示a=b+((a+H(b,c,d)+Mj+ti)<<s)
Ⅱ(a,b,c,d,Mj,s,ti)表示a=b+((a+I(b,c,d)+Mj+ti)<<s)
其中a、b、c、d分别是PSO算法数据筛选和重组后得到的加速量、个体知识、邻居知识、社会知识;Mj表示态势感知数据的第j个子分组,常数ti是4294967296*abs(sin(i))的整数部分,i取值从1到64,单位是弧度。并且s表示函数操作过程中的位移量,为系统的固定输入,根据实际情况调整。FF(a,b,c,d,Mj,s,ti)、GG(a,b,c,d,Mj,s,ti)、HH(a,b,c,d,Mj,s,ti)、II(a,b,c,d,Mj,s,ti)函数表示a的不同计算过程,并返回a的值。
具体地,对网络安全威胁进行预测至少包括:采用人工神经网络、灰色理论和时间序列分析的预测技术对安全态势的发展趋势进行预测。
以APT安全威胁的预测方法为实例,对本发明进行详细说明。其具体实施方式如下:
步骤一:给出APT安全威胁态势感知的概念模型,分析APT安全威胁态态势感知的过程和结果。然后,在概念模型的基础上,结合数据融合和层次化分析的思想,建立APT安全威胁态势感知体系框架。由于APT安全威胁态势感知所依据数据来源的复杂性和异构性,为了保证态势理解过程的实时性的要求,采用简单的数据级融合技术。对大量原始安全数据进行初步处理,得到规范化的资产数据集、威胁数据集、脆弱性数据集和网络结构数据集。在此基础上,分析资产、威胁和脆弱性之间的关系,对影响网络安全性的安全事件进行分析,采用关联分析方法得到规范化的安全事件数据集。此外,为了分析威胁传播带来的影响,提出威胁传播网络的概念,综合分析资产、威胁、脆弱性和网络结构信息,得到威胁数据集中每个威胁的威胁传播网络。
为了将大规模的数据运用到APT安全威胁态势感知中,必须对这些大量的异构的安全数据进行处理。即,可以采用关联分析技术对海量异构安全数据进行处理,得到规范化的数据,为态势评估提供支持。
而为了保证APT安全威胁态势感知结果准确而全面性,应最大限度的保证数据的完整性。因此需要对所有检测设备得到的原始数据进行分析,处理的数据量大,如果采取较为复杂的关联技术,处理时间较长,系统的实时性较差。为了满足系统实时性的要求,本发明采用简单的数据级融合,然后分析融合后数据的相关性,以对大量的异构的安全数据进行处理,具体处理过程如下四步:
(1)分析大量的异构的安全数据,其中该原始安全数据可以是网络安全数据,也已是本地的系统安全数据。将安全数据归类为资产数据、威胁数据、脆弱性数据和网络结构数据,不考虑数据类之间的关系;
(2)去除重复冗余信息,合并同类信息,修正错误信息,得到规范化的资产数据集、威胁数据集、脆弱性数据集和网络结构数据集;
(3)将资产、威胁和脆弱性相关联,综合分析得到安全事件数据集;
(4)将资产、威胁、脆弱性和网络结构相关联,综合分析得到每个威胁的威胁传播网络。
另外,APT安全威胁态势感知在数据聚类模块中要用到的加解密算法。即对异构安全数据进行收集、分析后,对与APT安全威胁态势感知有关的重要数据进行加密,然后传递给APT安全威胁态势评估模块。这样做的主要目的是为了防止APT安全威胁中重要数据会被篡改(以Stuxnet病毒为例)。具体的,加解密算法如下:
(1)算法涉及三个参数,n、e1、e2。其中,n是两个大质数p、q的积(p、q取值为超过具体环境阈值的任意的大质数),n的二进制表示时所占用的位数,就是所谓的密钥长度。
(2)e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互质;再选择e2,要求(e2*e1)mod((p-1)*(q-1))=1。
(3)(n,e1),(n,e2)就是密钥对。其中(n,e1)为公钥,(n,e2)为私钥。
(4)设A为明文,B为密文,则:A=B^e2 mod n;B=A^e1 mod n;(公钥加密体制中,一般用公钥加密,私钥解密)
(5)e1和e2可以互换使用,即:A=B^e2 mod n;B=A^e1 mod n。
步骤二、根据APT安全威胁态势感知体系框架,建立APT安全威胁态势评估框架。APT安全威胁态势评估是对网络安全状况的定性定量描述,是以态势感知为基础进行的实时量化评估,并给出相应的加固方案。以态势评估的结果为基础才能对APT安全威胁态势的发展趋势进行预测,有预见性的指导管理员采取措施,预防大规模的安全事件的发生。可以从多层次、多角度进行态势评估,如下所示:
面对APT这样的高级可持续威胁,在其造成严重经济损失之前,现有的安全架构无法协助防御者及时地发现威胁的存在。若要进行APT的恶意攻击预测,必须做好当前的APT安全威胁态势评估。为了能尽量全面地对APT安全威胁态势进行评估,建立多层次多角度的态势评估框架,分别从专题层次、要素层次和整体层次三个层次,每个层次分别从不同的角度,每个角度分别从不同的粒度对APT安全威胁态势进行评估。只有这样,在深入剖析威胁的外延和内涵的基础上做了详细可靠的态势评估,才能对APT攻击的进行模型上的预测。
对于每一层次的评估,具体描述如下:
(1)专题层次,是对影响网络安全状况各个具体因素的评估,分为资产评估、威胁评估、脆弱性评估和安全事件评估四个角度,每个角度根据评估的范围分为三个粒度,以威胁评估为例,包括对单个威胁的评估、对某一类威胁的评估和整个网络威胁状况的评估;
(2)要素层次,是对网络在安全要素的各个方面达成程度的评估,描述网络在安全要素各个方面的损失情况,分为保密性评估、完整性评估、可用性评估三个角度;
(3)整体层次,是对网络的安全状况的综合评估。
对于每个层次,分别采用不同的评估方法。例如,在对安全态势的四个安全专题进行评估时,可采用统计分析的评估方法评估单个资产、威胁、脆弱性和安全事件的相关情况;在对安全态势的三个安全要素进行评估时,可采用基于隐Markov模型、Markov博弈模型和基于指数对数分析的评估技术,评估所有与态势值相关的内容;在由单体安全态势得到整体安全态势时,可采用基于指数对数分析的评估技术,并且具体参数根据不同的目的和网络环境进行设置。
态势评估中,采用改进的PSO算法进行APT的攻击行为预测。具体地,定义不同的影响权重函数,对态势理解的数据加密结果进行轮循,每次操作中用到的四个非线性函数(每轮一个)如下:
F(X,Y,Z)=(X&Y)|((~X)&Z)
G(X,Y,Z)=(X&Z)|(Y&(~Z))
H(X,Y,Z)=X^Y^Z
I(X,Y,Z)=Y^(X|(~Z))
(&;是与,|是或,~是非,^是异或)
其中,X、Y、Z是我们态势理解模块的加密数据对三元组,分别表示信息安全的CIA三要素:保密性、完整性、可用性。通过按位操作,进行PSO优化进行的数据筛选和重组。这四个函数的说明:如果X、Y和Z的对应位是独立和均匀的,那么结果的每一位也应是独立和均匀的。F是一个逐位运算的函数。即,如果X,那么Y,否则Z。函数H是逐位奇偶操作符。
此外,我们还假设Mj表示态势理解数据的第j个子分组(从0到15),常数ti是4294967296*abs(sin(i))的整数部分,i取值从1到64,单位是弧度。(4294967296等于2的32次方)。当发现异常行为时,跳出相应的非线性函数,进入关联分析模块,把看似游离不相关的事情进行联动,从而得出更具体的态势评估结果。有关的关联分析函数如下:
FF(a,b,c,d,Mj,s,ti)表示a=b+((a+F(b,c,d)+Mj+ti)<<s)
GG(a,b,c,d,Mj,s,ti)表示a=b+((a+G(b,c,d)+Mj+ti)<<s)
HH(a,b,c,d,Mj,s,ti)表示a=b+((a+H(b,c,d)+Mj+ti)<<s)
Ⅱ(a,b,c,d,Mj,s,ti)表示a=b+((a+I(b,c,d)+Mj+ti)<<s)
其中a、b、c、d分别是PSO数据筛选和重组后得到的加速量、个体知识、邻居知识、社会知识。并且s表示函数操作过程中的位移量,为系统的固定输入,根据实际情况调整。FF(a,b,c,d,Mj,s,ti)、GG(a,b,c,d,Mj,s,ti)、HH(a,b,c,d,Mj,s,ti)、II(a,b,c,d,Mj,s,ti)函数表示a的不同计算过程,并返回a的值。
通过粒子群算法,利用权重函数以及关联分析函数进行迭代训练,每一次迭代结束,将资产数据、威胁数据、脆弱性数据和网络结构数据分别加上a、b、c、d进行更新。然后用下一分组数据继续运行算法,最后的输出是资产数据、威胁数据、脆弱性数据和网络结构数据的级联,从而完成APT事件的网络安全态势评估。
其中,在专题层次进行网络评估时,可以从资产评估、威胁评估、脆弱性评估和安全事件四个角度评估。以下,对资产的评估、威胁评估、脆弱性评估和安全事件进行详细阐述。
资产评估在细粒度评估上,对资产数据集中的每个资产,分别评估该资产的价值、性能利用率、遭受的威胁的数量、存在的脆弱性的数量、遭受的安全事件的数量、安全态势值,用一个向量来描述评估结果。其中,资产的标识、名称、类型、价值和性能利用率可以直接从资产数据态势评估技术集获取;资产上威胁的数量是统计威胁数据集中与该资产标识相同的记录的个数;资产上脆弱性的数量是统计脆弱性数据集中与该资产标识相同的记录的个数;资产上安全事件的数量是统计安全事件数据集中与该资产标识相同的记录的个数;资产的安全态势值是一个向量结构,包括保密性态势值万完整性态势值和可用性态势值三个分量,由资产上所有安全事件和管理员采取的安全措施得综合分析得到。
资产评估在粗粒度评估上,包括对某一类资产的评估和网络所有资产的评估。评估结果用公式表示,标识、名称和类型字段分别用评估的范围表示;威胁、脆弱性和安全事件的数量为评估范围内所有资产上威胁、脆弱性和安全事件的数量之和;价值、性能利用率和安全态势分量采用采用基于指对数分析的评估技术,综合分析评估范围内所有资产的价值、性能利用率和安全态势分量。
威胁评估在细粒度评估上,对威胁数据集中的每个威胁,分别评估该威胁的在整个网络中的数量、分布情况、安全态势值和相关安全事件的数量,评估结果用一个向量来描述。其中,威胁的标识、名称和类型可以从威胁数据集获取;威胁的数量是统计威胁数据集中与该威胁标识相同的记录的个数;威胁引起的安全事件的数量是统计安全事件数据集中与该威胁标识相同的记录的个数;威胁的分布情况是衡量威胁在网络中分布的范围,分布的范围越大,危害相应越高,首先统计威胁数据集中与该威胁标识相同的记录中资产的数量,然后将相关资产的数量除以总资产的数量,最后将计算结果归一化为五个等级,等级越大表示该威胁的分布范围越广;威胁的安全态势值是一个向量结构,包括保密性态势值、完整性态势值和可用性态势值三个分量,由威胁引起的安全事件、管理员采取的安全措施和普通用户的行为综合分析得到。威胁评估在粗粒度评估上,包括对某一类威胁的评估和网络所有威胁的评估。评估结果用公式表示,标识、名称和类型字段分别用评估的范围表示;威胁和相关安全事件的数量为评估范围内所有威胁和相关安全事件的数量之和;威胁的分布情况和安全态势分量采用采用基于指对数分析的评估技术,综合分析评估范围内所有威胁的分布情况和安全态势分量。
脆弱性评估在细粒度评估上,对脆弱性数据集中的每个脆弱性,分别评估该脆弱性数量、分布情况、安全态势值和相关安全事件的数量,用一个向量来描述。其中,脆弱性的标识、名称、类型和影响可以直接从脆弱性数据集获取,脆弱性的数量是统计脆弱性数据集中与该脆弱性标识相同的记录的个数;脆弱性引起的安全事件的数量是统计安全事件数据集中与该脆弱性标识相同的记录的个数;脆弱性的分布情况是衡量脆弱性在网络中分布的范围,分布的范围越大,危害相应越高,计算过程与威胁类似;脆弱性的安全态势值是脆弱性相关的安全事件的态势值,是一个向量结构,包括保密性态势值、完整性态势值和可用性态势值三个分量,由与该脆弱性相关的安全事件的态势值表征。脆弱性评估在粗粒度评估上,包括对某一类脆弱性的评估和网络所有脆弱性的评估。评估结果用公式表示,标识、名称和类型字段分别用评估的范围表示;脆弱性和相关安全事件的数量为评估范围内所有脆弱性和相关安全事件的数量之和;脆弱性的影响、分布情况和安全态势分量采用采用基于指对数分析的评估技术,综合分析评估范围内所有脆弱性的影响、分布情况和安全态势分量。
安全事件的评估只有细粒度评估,对安全事件集中每个安全事件,分别评估该安全事件的数量、分布范围和安全态势值,用一个向量来表示。其中,安全事件相关威胁和脆弱性的标识可以直接从安全事件数据集获取,这两个标识可以唯一确定一个安全事件;安全事件的名称根据相关威胁和脆弱性的名称得到,方便显示给用户和生成态势评估报表;安全事件的数量是统计安全事件数据集中与安全事件相关威胁和脆弱性标识都相同的记录的个数;安全事件的态势值的包括保密性、完整性和可用性三个态势值分量,是该安全事件在所有资产上造成的损害的综合。
步骤三、通过对APT安全威胁态势评估输出的数据,采用预测模型对安全态势的发展趋势进行预测,主要可以基于人工神经网络、灰色理论和时间序列分析的预测技术。人工神经网络和灰色理论都是黑盒预测方法,掩盖了原序列自身的属性,预测结果不能体现原序列的随机性和周期性等特性,因此在预测时主要采用基于时间序列分析的预测技术。
网络在不同时刻的安全态势彼此相关,安全态势的变化有一定的内部规律,这种规律可以预测网络在将来时刻的安全态势,从而可以有预见性地指导管理员进行安全策略的配置,实现动态的安全管理,预防大规模安全事件的发生。本发明拟采取基于时间序列分析的方法,时间序列分析利用态势评估得到的结果,通过曲线拟合和参数估计,建立相应的模型进行预测。
同样的,根据态势评估对象的不同,所采用的预测方法主要用在以下三个方面:
(1)专题层次:对资产、威胁、脆弱性和安全事件数量变化趋势进行预测;
(2)要素层次:对整个网络保密性、完整性和可用性态势分量的变化趋势进行预测;
(3)整体层次:对整个APT安全威胁态势的变化趋势进行预测。
基于时间序列分析的预测技术能很好的刻画序列的前后依赖关系,适合对APT安全威胁态势变化趋势的预测。在具体使用时,首先对原序列进行周期差分和趋势差分,将非平稳时间序列转化为平稳时间序列,然后再分析新序列的自相关函数和偏相关函数的性质,建立新序列的自回归滑动平均模型,最后采用拟合的模型进行不同提前期的预测和误差分析。该模型的建立过程是一个不断尝试的过程,建模过程复杂,需要的原始数据量大,不适合数据量较小的时间序列分析。另一种方法是直接将序列之间的相关性分解为周期变化项、趋势变化项和随机成分项,分别进行分析,建模过程简单,预测结果均方误差最小,适合用在对周期性明显的时间序列的分析,如果周期性不明显,并且周期性和趋势变化非常复杂时;采用该模型预测误差会很大,该模型同样需要很大的原始数据量。
步骤四、根据预测,如果确定潜在威胁,则进行预警。
在实际使用时,应根据网络规模、预测对象和输入的数据量的规模等因素,选择合适的预测算法。对于每一种时间序列模型,如果输入的数据量越大,建立的模型越准确,预测结果越准确,因此需要实时更新输入数据,及时对模型的参数进行修正。如果输入数据量非常少,那么不适合用时间序列分析方法进行建模,可以采用本发明给出的历史增量平均的方法进行预测。
如果预测到APT攻击,则报告被攻击的主机标识,以及给出威胁类型。
本领域的技术人员应该明白,上述的本发明实施例所提供的装置的各组成部分,以及方法中的各步骤,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上。可选地,它们可以用计算装置可执行的程序代码来实现。从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
虽然本发明所揭露的实施方式如上,但该的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。