具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
参见图1,为本实施例提供的一种信息安全检测方法流程图,所述方法包括以下步骤:
S100,获取目标设备在目标时间段内发出的所有目标数据,以得到目标数据列表,进而得到目标数据列表集B=(B1,B2,…,Bp,…,Bq),p=1,2,…,q;其中,Bp为第p个目标数据列表,q为目标数据列表的数量;所述目标时间段的结束时间为当前时间;任一目标数据的数据大小均小于预设阈值,相邻两个目标数据的数据发送时间的时间间隔属于预设时间范围内。
本实施例中,目标数据列表内的目标数据即为心跳包,目标数据是具有固定长度的报文,任一目标数据的数据大小均小于预设阈值,相邻两个目标数据的数据发送时间的时间间隔属于预设时间范围内;根据上述数据列表的特点,将目标设备所发送的每条数据获取,然后根据每条数据的特征,将具有目标数据列表内目标数据特征的各条数据筛选出,然后将属于同一目标数据列表的各条目标数据组合成对应的目标数据列表,从而能够获取到目标设备在目标时间段内所发送的所有目标数据列表;需要说明的是,B中的目标数据列表包含有已知的目标数据列表,同时,也可能包含已知的目标数据列表之外的未知目标数据列表;该步骤能够将目标设备发送的所有目标数据列表获取到,避免遗漏目标设备所发送的个别目标数据列表。
S110,对Bp进行特征提取,得到Bp对应的特征向量B’p=(BL’p,BN’p,Bt’p,BD’p),其中,BL’p为Bp内目标数据对应的报文长度,BN’p为Bp内目标数据的字段数,Bt’p为Bp内各相邻的目标数据发送的时间间隔的均值,BD’p为Bp内各目标数据的数据大小的均值。
本实施例中,目标数据列表内的目标数据即为心跳包,目标数据是具有固定长度的报文,因此,能够获取到目标数据列表对应的报文长度;报文同样具有固定数量的字段,每个字段用于表征不同的信息,因此,能够获取到目标数据列表内目标数据的字段数;需要说明的是,目标数据的长度和字段数是固定不变的,不会受网络波动的影响而发生变化。
在一目标数据列表内,该目标数据列表内的各条目标数据对应的有各自的发送时间,且相邻的目标数据发送的时间间隔正常情况下是相等的,例如,某一目标数据列表内相邻目标数据的发送时间间隔为1秒;由于目标数据是通过网络进行传输的,而网络存在波动和延迟;因此,同一目标数据列表内的各相邻目标数据发送的时间间隔会存在一定的误差,例如,某一目标数据列表内,第一条目标数据与第二条目标数据的发送时间间隔为1.3秒,第二条目标数据与第三条目标数据的发送时间间隔为1.01秒;如果获取目标数据列表内的某两条相邻目标数据的发送时间间隔,作为目标数据列表内相邻目标数据的发送时间间隔,可能导致获取到的相邻目标数据的发送时间间隔与实际时间间隔相差较大;因此,本申请中获取各相邻的目标数据发送的时间间隔的均值,由此来避免由于网络波动造成个别相邻的目标数据发送的时间间隔突变,进而导致获取到的相邻数据的发送时间间隔与实际相差较大的情况发生。
由于网络波动的影响,获取到的目标数据也会存在不完整的情况,如果获取目标数据列表内的某条目标数据的数据大小作为目标数据列表内各目标数据的数据大小,可能导致获取到的目标数据的数据大小与实际的目标数据的数据大小相差较大;因此,本申请中获取各目标数据的数据大小的均值,由此来避免由于网络波动造成目标数据获取不完整,进而导致获取到目标数据的数据大小与实际相差较大的情况发生。
S120,获取目标设备预设的标准数据列表特征向量集G=(G1,G2,…,Gc,…,Gd),Gc=(GLc,GNc,Gtc,GDc),c=1,2,…,d;其中,Gc为第c个标准数据列表特征向量,d为标准数据列表特征向量的数量;GLc为Gc对应的标准报文长度,GNc为Gc对应的标准字段数,Gtc为Gc对应的标准时间间隔,GDc为Gc对应的标准数据大小;所述目标设备为变电站系统中的任一能够发送数据的电子设备。
本实施例中,在变电站系统中,目标设备上所安装的应用软件都是已知的,各个应用软件所发送的目标数据,即各个应用软件发送的心跳包也是能够获取到的,进而能够得到目标设备预设的标准数据列表;每个软件所发送的标准目标数据列表内各条目标数据的标准报文长度以及标准字段数是固定不变的,标准目标数据列表内相邻标准目标数据的标准发送时间间隔以及标准数据大小也是固定不变的;根据上述数据列表的特点,能够获取到已知的各应用软件所发送的标准目标数据列表对应的标准数据列表的特征向量,以得到G;可以理解的是,GLc、GNc、Gtc和GDc为已知的标准特征,能够作为未知目标数据列表特征比对时的参照标准;所述目标设备为变电站系统中的任一能够发送数据的电子设备,例如,变电站系统中的电脑、服务器或其他移动终端。
S130,若BL’p=GLc且BN’p=GNc,则执行步骤S140,否则,判断Bp为异常目标数据列表。
本实施例中,作为同一目标数据列表的每条目标数据对应的报文长度以及每条目标数据的字段数是固定不变的,利用目标数据列表的这一特点,本申请首先将BL’p与GLc以及BN’p与GNc进行对比,若BL’p不等于GLc和/或BN’p不等于GNc,则能够直接判断Bp为异常目标数据列表,即异常心跳包序列,无需进行下一步Bt’p与Gtc以及BD’p与GDc的匹配,从而减小算力占用,提高安全检测系统的检测效率。
S140,若Bt’p与Gtc相匹配且BD’p与GDc相匹配,则判断Bp为正常目标数据列表;否则,判断Bp为异常目标数据列表。
本实施例中,若BL’p=GLc且BN’p=GNc,并不能够完全确定Bp为正常目标数据列表,还需要将Bt’p与Gtc以及BD’p与GDc进行匹配,若Bt’p与Gtc相匹配且BD’p与GDc相匹配,则能够确定Bp为正常目标数据列表;否则,判断Bp为异常目标数据列表;由此,能够进一步提高异常目标数据列表识别的准确性。
本实施例的信息安全检测方法,获取目标设备在目标时间段内所发送的所有目标数据列表对应的特征向量,将目标设备在目标时间段内所发送的目标数据列表对应的特征向量分别与G内的各预设的标准数据列表特征向量进行匹配,预设的标准数据列表特征向量对应于预设的标准目标数据列表;若目标设备在目标时间段内所发出的一目标数据列表对应的特征向量与G内的各预设的标准数据列表特征向量均不能匹配,则判断该目标数据列表不是目标设备上预设的标准目标数据列表,为异常目标数据列表,从而达到确定出异常目标数据列表的目的。
进一步的,作为同一目标数据列表的每条目标数据对应的报文长度以及每条目标数据的字段数是固定不变的,在同一目标数据列表中,相邻的目标数据发送的时间间隔及目标数据大小受网络波动的影响,会存在一定的误差;因此,本申请首先对比同一目标数据列表中各条目标数据对应的报文长度以及各条目标数据的字段数,只有在BL’p等于GLc且BN’p等于GNc的前提下,才会进行相邻的目标数据发送的时间间隔及目标数据的数据大小的匹配,若该步骤中BL’p不等于GLc和/或BN’p不等于GNc,则能够直接判断Bp为异常目标数据列表,即异常心跳包序列,无需进行下一步Bt’p与Gtc及BD’p与GDc的匹配,从而减小算力占用,提高异常目标数据列表的确定效率。
更进一步的,若BL’p等于GLc且BN’p等于GNc,还会进一步的对Bt’p与Gtc的匹配判断以及BD’p与GDc的匹配判断,以进一步提高异常心跳包序列识别的准确性。
进一步的,在所述步骤S130之后及所述步骤S140之前,所述方法还包括以下步骤:
S131,获取Bt’p与Gtc的匹配度ηtp=(Bt’p-Gtc)/Gtc及BD’p与GDc的匹配度ηDp=(BD’p-GDc)/GDc。
本实施例中,由于网络存在波动和延时,获取到各目标数据的时间存在不同的误差,获取到的目标数据也可能不完整;因此,Bt’p与Gtc可能不相等,BD’p与GDc也可能不相等;但是,网络波动是偶发情况,Bt’p与Gtc以及BD’p与GDc也不可能相差较大;因此,本申请获取Bt’p与Gtc的匹配度ηtp以及BD’p与GDc的匹配度ηDp,来进一步判断Bt’p与Gtc是否相匹配,Bt’p与Gtc是否相匹配,由此来提高特征匹配的准确性。
S132,若ηtp≤η1,则判断Bt’p与Gtc相匹配。
S133,若ηDp≤η2,则判断BD’p与GDc相匹配;其中,η1为预设的时间间隔匹配度阈值,η2为预设的数据大小匹配度阈值。
本实施例中,网络波动是偶发情况,Bt’p与Gtc以及BD’p与GDc不可能相差较大,η1的取值范围可以为0.01-0.03,η2的取值范围可以为0.01-0.02;由此,能够避免由于网络波动和延时而导致的特征匹配错误的情况发生,进一步提高目标数据列表,即心跳包序列识别的准确性。
在一示例性的实施例中,所述目标数据列表通过以下步骤得到:
S200,获取目标设备在目标时间段内发出的所有数据;其中,每条数据包含对应的目的IP地址。
目标时间段为预设的时间段,例如,某24小时的时间段;目标设备在发送每条数据的时候,目的IP地址为目标设备将每条数据发送的设备对应的IP地址,能够获取到目标设备在目标时间段内发出的各条数据对应的目的IP地址。
S210,根据各条数据的目的IP地址和数据大小对各条数据进行聚类及筛选,以得到第一数据列表集A=(A1,A2,…,Ai,…,Am),i=1,2,…,m;其中,Ai为第i个第一数据列表,m为第一数据列表的数量;Ai=(Ai,1,Ai,2,…,Ai,h,…,Ai,f(i)),h=1,2,…,f(i);Ai,h为Ai中的第h条数据,f(i)为Ai中数据的条数;Ai中各条数据的目的IP地址相同且数据大小均小于预设的数据大小阈值;任意两个第一数据列表对应的目的IP地址不同。
本实施例中,目标数据列表即为心跳包序列,心跳包序列中的各心跳包的目的IP地址是相同的,且心跳包的大小一般较小,例如,小于1KB;因此,同一目标数据列表内的各目标数据的目的IP地址也是相同的,且目标数据的数据大小应当小于预设的数据大小阈值;根据上述数据列表的特点,将各条数据进行聚类及筛选,使得Ai中各条数据的目的IP地址相同且各条数据的数据大小均小于预设的数据大小阈值;任意两个第一数据列表对应的目的IP地址不同;由此,过滤掉了大部分的不可能是心跳包的流量包,且将能够形成同一目标数据列表的各条数据划分到同一组内,以便于进一步确定出目标数据列表。
S220,遍历A,将Ai中字段数相同的若干条数据划分为同一组,以得到Ai对应的第二数据列表集A’i=(A’i,1,A’i,2,…,A’i,j,…,A’i,g(i)),j=1,2,…,g(i);其中,A’i,j为Ai对应的第j个第二数据列表,g(i)为第二数据列表的数量;A’i,j=(A’i,j 1,A’i,j 2,…,A’i,j k,…,A’i,j x(i,j)),k=1,2,…,x(i,j);A’i,j k为A’i,j中的第k条数据,x(i,j)为A’i,j中数据的条数。
本实施例中,由于同一目标数据列表内的各条数据的字段数是相同的,因此,能够将各第一数据列表内的各条数据根据对应的字段数进行再次聚类,使得具有相同字段数的数据处于同一第二数据列表内;该步骤使得A’i,j内的各条数据属于同一目标数据列表的概率较大,但是,还不能够确认A’i,j内的各条数据属于同一目标数据列表。
S230,根据δ0,获取A’i对应的第一数据大小波动值集δ’i=(δ’i,1,δ’i,2,…,δ’i,e,…,δ’i,z(i)),e=1,2,…,z(i);其中,δ’i,e为δ’i中的第e个数据大小波动值,z(i)为δ’i中数据大小波动值的数量,δ’i,e<δ0;δ’i为根据A’i对应的第二数据大小波动值集δi得到;δi=(δi,1,δi,2,…,δi,j,…,δi,g(i));δi,j为A’i,j中各条数据的数据大小波动值,δ0为预设的第一数据大小波动阈值;
δi,j=1/x(i,j)×∑x(i,j) k=1(M’i,j k-1/x(i,j)×(∑x(i,j) k=1M’i,j k))2,M’i,j k为A’i,j k对应的数据大小。
本实施例中,心跳包序列中各心跳包的大小相等或者相差较小,利用该特点,对A’i,j中的各条数据的数据大小求数据大小波动值δi,j,即各数据大小的方差值,能够得到δi;若A’i,j中的各条数据为目标数据列表的中的各条数据,那么,A’i,j中的各条数据的数据大小的数据大小波动值应当为零或者小于预设的第一数据大小波动阈值,如0.05;可认为A’i,j中的各条数据的数据大小近似相等,符合目标数据列表内各条数据的数据大小的特点;将数据大小波动值大于预设的第一数据大小波动阈值的数据大小波动值删除,得到δ’i;设置第一数据大小波动阈值,能够避免由于获取的数据包不完整,而导致的将真实的目标数据列表对应的数据大小波动值过滤掉的情况发生,提高目标数据列表识别的准确性。
S240,遍历δ’i,根据δ’i,e对应的第二数据列表内各条数据的发送时间,对δ’i,e对应的第二数据列表内各条数据进行依次排序,得到δ’i,e对应的数据列表。
心跳包序列中各相邻的心跳包的发送时间具有一定的时间间隔,根据该特点,将δ’i,e对应的第二数据列表内各条数据按照发送时间从早到晚或者从晚到早的顺序排列,得到δ’i,e对应的数据列表。
S250,获取δ’i,e对应的数据列表内各条相邻数据发送的时间间隔的时间间隔波动值Rδ’i,e。
时间间隔波动值Rδ’i,e即为各条相邻数据发送的时间间隔的方差值,具体获取过程为:首先获取各相邻的数据的发送时间间隔,然后求各时间间隔的方差,即得到Rδ’i,e;时间间隔波动值Rδ’i,e能够表征对应的数据列表内各条相邻数据发送的时间间隔的稳定性,Rδ’i,e越小,表示各条相邻数据发送的时间间隔波动越小,δ’i,e对应的数据列表为目标数据列表的概率越大。
S260,若Rδ’i,e<Rδ0,则判定δ’i,e对应的数据列表为目标设备的目标数据列表;其中,Rδ0为预设的时间间隔波动阈值。
理想情况下,若δ’i,e对应的数据列表为目标设备的目标数据列表,δ’i,e对应的数据列表内各条相邻数据发送的时间间隔相等,即Rδ’i,e=0;但是,由于网络存在波动和延时,获取到各数据包的时间存在不同的误差,设置预设的时间间隔波动阈值能够避免由于网络波动和延时而导致的目标数据列表识别错误的情况发生,进一步提高目标数据列表,即心跳包序列识别的准确性。
进一步的,所述步骤S210包括以下步骤:
S211,获取各条数据的目的IP地址,将目的IP地址相同的数据划分为同一组,得到若干第三数据列表;其中,每个第三数据列表内包含若干条数据。
S212,将各第三数据列表内数据大小大于预设的数据大小阈值的数据删除,得到所述第一数据列表集A。
本实施例中,对各条数据进行划分及筛选,使得能够形成目标数据列表的各条数据处于同一组内,为后期确定出目标数据列表提供便利。
进一步的,所述步骤S210包括以下步骤:
S213,获取各条数据的数据大小,将数据大小大于预设的数据大小阈值的数据删除,得到若干条待聚类数据。
S214,根据各条待聚类数据的目的IP地址,将目的IP地址相同的待聚类数据划分为同一组,得到所述第一数据列表集A。
本实施例中,首先删除数据大小大于预设的数据大小阈值的数据,然后再进行划分,在划分时只需要遍历剩余的各条数据的目的IP地址,减小了遍历量,提高了得到第一数据列表集的效率。
进一步的,所述目标设备为服务器。
在一示例性的实施例中,提供另一种确定异常目标数据列表的方法,所述方法包括以下步骤:
S300,获取w个目标设备在预设时间段内发送的所有的目标数据,以得到每一目标设备对应的至少一个目标数据列表;各目标设备为变电站系统中的用于处理相同事件的同类型的电子设备;任一目标数据的数据大小均小于预设阈值,且同一目标数据列表内相邻两个目标数据的数据发送时间的时间间隔属于预设时间范围内。
本实施例中,目标数据列表为目标设备所发送的心跳包序列,变电站系统中的用于处理相同事件的同类型的电子设备上所安装的应用软件是相同的,在应用软件运行时会发送对应的有若干目标数据构成的目标数据列表;目标数据列表内的目标数据的数据大小一般较小,例如,目标数据的数据大小小于1KB,且同一目标数据列表内的相邻两个目标数据的数据发送时间的时间间隔理论上是相等的,但是,由于网络存在波动和延迟,导致相邻两个目标数据的数据发送时间的时间间隔不是完全相等的,存在一定的误差,该误差较小;目标数据列表具有若干较为固定的特征,例如,目标数据的数据大小、相邻两个目标数据的数据发送时间的时间间隔、目标数据的长度以及目标数据的字段数等,根据以上特征,能够获取到目标设备在预设时间段内,例如24小时内发送的所有的目标数据列表。
S310,对各目标设备对应的所有目标数据列表进行特征提取,以得到数据列表特征向量组集H=(H1,H2,…,Hv,…,Hw),v=1,2,…,w;其中,Hv为第v个目标设备对应的数据列表特征向量组;Hv=(Hv,1,Hv,2,…,Hv,v1,…,Hv,y(v)),v1=1,2,…,y(v);Hv,v1为第v个目标设备对应的第v1个目标数据列表的数据列表特征向量,y(v)为第v个目标设备对应的目标数据列表的数量。
本实施例中,所获取到的目标数据列表都具有对应的特征向量,例如,特征向量包括目标数据列表内目标数据的数据大小、相邻两个目标数据的数据发送时间的时间间隔、目标数据的长度以及目标数据的字段;对获取到的每个目标数据列表进行特征提取,能够得到数据列表特征向量组集H;对目标数据列表进行特征向量提取,在后期匹配的时候,不用针对目标数据列表内的每个目标数据的具体内容进行匹配,因此,能够提高匹配效率。
S320,遍历Hv,若Hv,v1与H中除Hv外的任意数据列表特征向量组不符合第一预设匹配条件,则将Hv,v1对应的目标数据列表确定为第v个目标设备的异常目标数据列表。
本实施例中,若Hv,v1内的各特征分别能够与H中除Hv外的任意数据列表特征向量组内的同类型的特征相匹配,相匹配可以为相同或者相似度满足预设条件,例如,相似度在预设的范围内,则表示符合预设第一预设条件,即Hv,v1为各目标设备对应的共有的目标数据列表的数据列表特征向量。
本实施例的异常数据列表的确定方法,正常情况下,同一变电站系统中多个用于处理相同事件的同类型的目标设备上所安装的应用软件及各应用软件所发送的心跳包序列,即目标数据列表的特征向量是相同的;而如果某一待检测目标数据列表为正常的目标数据列表,那么,该正常目标数据列表的数据列表特征向量应当能够与每一目标设备所发送的目标数据列表的数据列表特征向量均能够匹配;否则,可判断待检测目标数据列表为对应的目标设备发送的异常目标数据列表;因此,本申请能够通过对比各目标设备发送的目标数据列表的数据列表特征向量,来达到确定出异常目标数据列表的目的。
进一步的,所述数据列表特征向量包括目标数据列表内的目标数据的报文长度、目标数据列表内目标数据的字段数、目标数据列表内各相邻的目标数据发送的时间间隔的均值和目标数据列表内各目标数据的数据大小的均值。
可以理解的是,每个软件所发送的数据列表内各条数据的长度以及字段数是固定不变的,数据列表内相邻数据的发送时间间隔以及数据大小在理想情况下,也是固定不变的;但是,由于网络存在波动和延迟,导致数据列表内相邻数据的发送时间间隔以及数据大小会存在较小的误差,因此,本申请获取目标数据列表内各相邻的目标数据发送的时间间隔的均值和目标数据列表内各目标数据的数据大小的均值,进而避免由于网络波动和延迟对个别相邻的目标数据发送的时间间隔以及个别目标数据的数据大小造成的突变,而引起的判断结果不准确的问题。
进一步的,所述第一预设匹配条件包括:Hv,v1与H中除Hv外的任意数据列表特征向量组中的任意数据列表特征向量对应的目标数据的报文长度相等,目标数据的字段数相等,目标数据发送的时间间隔的均值属于第一预设范围且各目标数据的数据大小的均值属于第二预设范围。
本实施例中,作为同一目标数据列表的每条目标数据对应的报文长度以及每条目标数据的字段数是固定不变的;因此,第一预设匹配条件中设置目标数据对应的报文长度相等,目标数据的字段数相等,从而确保匹配的准确性;而目标数据发送的时间间隔的均值和目标数据列表内各目标数据的数据大小的均值则会收到网络波动和延迟的影响,有可能不会完全相等,因此,设置目标数据发送的时间间隔的均值在第一预设范围内且各目标数据的数据大小的均值在第二预设的范围内,来消除网络波动和延迟的影响。
在一示例性的实施例中,提供一种确定变电站系统中恶意文件的方法,所述方法包括以下步骤:
S400,获取目标设备在目标时间段内发送的所有的异常目标数据,以得到异常目标数据列表,得到目标设备对应的异常数据列表集Z=(Z1,Z2,…,Zpe,…,Zqe),pe=1,2,…,qe;其中,Zpe为第pe个异常数据列表,qe为异常数据列表的数量;所述目标设备为变电站系统中的任一能够发送数据的电子设备;所述异常目标数据根据目标设备发送的所有目标数据得到。
本实施例中,目标数据列表为目标设备所发送的心跳包序列,对于目标设备而言,目标设备上所安装的应用软件是已知的,每个应用软件所发送的目标数据也是已知的,构成目标数据列表的目标数据具有若干较为固定的特征,例如,目标数据的大小、相邻两个目标数据的数据发送时间的时间间隔、目标数据的长度以及目标数据的字段数等,根据以上特征,能够获取到目标设备在预设时间段内,例如24小时内发送的所有的目标数据,得到目标数据列表;如果获取到的所有的目标数据列表内存在已知的目标数据列表之外的目标数据列表,那么,可确定已知的目标数据列表之外的目标数据列表为异常目标数据列表,获取目标设备在预设时间段内发送的所有异常目标数据列表,得到目标设备对应的异常数据列表集Z。
S410,遍历Z,获取Zpe对应的特征向量,以得到Z对应的异常数据列表特征向量集Z’=(Z’1,Z’2,…,Z’pe,…,Z’qe);其中,Z’pe为Zpe的异常数据列表特征向量。
本实施例中,所获取到的异常目标数据列表都具有对应的特征向量,例如,特征向量包括异常目标数据列表内异常目标数据的数据大小、相邻两个异常目标数据的数据发送时间的时间间隔、异常目标数据的长度以及异常目标数据的字段;对获取到的每个异常目标数据列表进行特征提取,能够得到异常数据列表特征向量组集H;对异常目标数据列表进行特征向量提取,在后期匹配的时候,不用针对异常目标数据列表内的每个异常目标数据的具体内容进行匹配,因此,能够提高匹配效率。
S420,将目标设备上存储的所有对应的历史数据列表特征向量与Z’pe符合第二预设匹配条件的历史目标数据列表确定为异常历史目标数据列表,以得到Zpe对应的异常历史目标数据列表集SZpe=(SZpe,1,SZpe,2,…,SZpe,w1,…,SZpe,u(pe)),w1=1,2,…,u(pe);其中,SZpe,w1为Zpe对应的第w1个异常历史目标数据列表,u(pe)为Zpe对应的异常历史目标数据列表的数量。
本实施例中,上述步骤获取到的是目标设备在目标时间段内发送的异常目标数据列表,在目标时间段之前,目标设备还发送有与异常目标数据列表相同的异常历史数据列表,各异常历史数据列表存储于目标设备上的预设存储位置,通过判断异常历史目标数据列表的特征向量和获取到的异常目标数据列表的特征向量是否符合第二预设匹配条件,例如,异常历史目标数据列表的特征向量和获取到的异常目标数据列表的特征向量相同或者相似度满足预设条件;能够将所有的与获取到的异常目标数据列表相同的异常历史目标数据列表找到;由此,能够得到目标设备发送的Zpe对应的异常历史目标数据列表集SZpe。
S430,遍历SZpe,根据SZpe,w1中各目标数据的发送时间,确定出SZpe中各异常历史目标数据列表内各目标数据发送时间中的最早时间t3。
本实施例中,Zpe对应的异常历史目标数据列表集SZpe内的各异常历史目标数据列表可以理解为同一应用程序所发送的目标数据列表,各异常历史目标数据列表内的各异常目标数据所对应的发送时间不同;由此,能够根据SZpe内各异常历史目标数据列表内的各异常目标数据的发送时间,确定出SZpe内各异常历史目标数据列表内各异常目标数据发送时间中的最早时间t3;t3即为Zpe对应的恶意应用程序所发送的第一个异常目标数据的时间。
S440,获取目标设备在目标时间段T=[t4,t3]内所有的下载文件作为SZpe,w1对应的目标下载文件;t4为T的开始时间;t4早于t3。
本实施例中,在步骤S430中确定出了Zpe对应的恶意应用程序所发送的第一个异常目标数据的时间t3,而正常情况下,在恶意应用程序发送第一个异常目标数据之前,需要将对应的恶意文件下载至目标设备上,然后将恶意文件安装于目标设备上或者直接在目标设备上运行,之后才能够发送第一个异常目标数据;基于上述特点,能够获取T=[t4,t3]内所有的下载文件,例如,t4为早于t3若干小时的时刻,目标设备在T时间段内下载的所有文件中有可能存在Zpe对应的恶意文件;由此,能够避免所找到的下载文件的下载时间位于t3之后,确保找到的下载文件的正确性。
S450,若对应的异常数据列表特征向量相同的各异常数据列表对应的下载文件中存在至少两个相同的下载文件,则将所述相同的下载文件确定为恶意文件。
可以理解的是,攻击者在向目标设备植入恶意文件时,通常会针对多个目标设备;基于此,如果数据列表特征向量相同的各异常目标数据列表对应的下载文件中存在至少两个相同的下载文件,那么该下载文件可判断为异常文件,从而实现确定出恶意文件的目的。
而如果数据列表特征向量相同的各异常目标数据列表对应的下载文件均不相同,那么,这些文件为用户下载的正常文件的概率较大;也可以对这些下载文件进行逐个分析,以确定其中是否存在恶意文件。
本实施例的确定变电站系统中恶意文件的方法,获取目标设备发送的所有异常目标数据列表,即异常心跳包序列,不同的目标数据列表,各自对应的特征向量也是不同的,基于此,能够将所有历史目标数据列表的特征向量与异常目标数据列表对应的特征向量进行比对,从而确定出异常历史目标数据列表;目标设备上的应用程序在发送第一个目标数据之前,需要先下载相应的文件,因此,在确定异常目标数据列表对应的下载文件时,首先确定异常目标数据列表内的各目标数据发送时间中的最早时间t3,然后获取目标设备在t3前的预设时间段t4内所有的下载文件,这些文件则有可能包含有恶意文件;由此,能够避免所找到的下载文件的下载时间位于t3之后,确保找到的下载文件的正确性;进一步的,攻击者在向目标设备植入恶意文件时,通常会针对多个目标设备;基于此,如果数据列表特征向量相同的各异常目标数据列表对应的下载文件中存在至少两个相同的下载文件,那么该下载文件可判断为异常文件,从而实现确定出恶意文件的目的。
进一步的,在所述步骤S450之后,将确定出的异常文件的文件名发送至对应的目标设备,所述目标设备执行以下步骤:
S460,响应于接收到恶意文件,根据恶意文件的文件名确定出所述恶意文件对应的目标进程。
确定出目标设备上的恶意文件之后,恶意文件对应有文件名,将恶意文件的文件名发送至对应的目标设备,目标设备能够根据接收到的恶意文件的文件名从若干进程中确定出恶意文件对应的目标进程。
S461,获取所述目标进程发送的目标数据列表的数据列表特征向量;其中,目标进程发送的目标数据列表根据所述目标进程在预设时间段内发送的所有数据得到,目标进程发送的目标数据列表的数据列表特征向量根据目标进程发送的目标数据列表得到。
目标进程在运行过程中,能够获取目标进程向其他设备所发送的所有数据,然后从获取到的所有数据中,根据目标数据的特征确定出目标数据,以得到目标进程真实发送的目标数据列表,然后得到目标进程发送的目标数据列表的数据列表特征向量。
S462,若目标进程发送的目标数据列表的数据列表特征向量与恶意文件对应的目标数据列表的数据列表特征向量相匹配,则确认所述恶意文件;否则,所述恶意文件判断错误。
在步骤S450中,确定出了目标设备中的恶意文件,但是,并没有对确定出的恶意文件进行验证;该步骤中,在目标设备上确定出了恶意文件对应的目标进程所发送的真实的目标数据列表的数据列表特征向量,若目标进程发送的真实的目标数据列表的数据列表特征向量与恶意文件对应的目标数据列表的数据列表特征向量相匹配,则表示确定出的恶意文件是正确的,否则,确定出的恶意文件是错误的;由此,能够进一步验证确定出的恶意文件的正确性,提高恶意文件确定的准确性。
在所述步骤S450之后,将确定出的异常文件的文件名发送至对应的目标设备,所述目标设备执行以下步骤:
S470,将确定出的恶意文件发送至对应的安全检测设备,以使得所述安全检测设备执行以下步骤:
S471,响应于接收到恶意文件,将所述恶意文件在安全检测设备上预设的虚拟机内运行,以得到恶意文件的真实进程。
对于恶意文件而言,其运行具有不可预知的危害,将恶意文件在安全检测设备上预设的虚拟机运行,能够避免恶意文件对安全检测设备造成损坏。
S472,获取恶意文件的真实进程对应的日志。
可以理解的是,恶意文件的文件名是能够进行更改的,因此,获取到的恶意文件的文件名有可能是被攻击者更改过的文件名,如果根据恶意文件的文件名来确定对应的目标进程,有可能确定出的目标进程是错误的;而将恶意文件在虚拟机中运行,恶意文件的进程是不能够更改的,因此,能够获取到恶意文件运行时对应的真实进程,进而获取到恶意文件的真实进程对应的日志。
S473,根据恶意文件的真实进程对应的日志,获取恶意文件的真实进程对应的行为特征向量TP=(TP1,TP2,…,TPia,…,TPma),ia=1,2,…,ma;其中,TPia为恶意文件的真实进程对应的第ia个行为特征,ma为恶意文件的真实进程对应的行为特征的数量。
恶意文件的真实进程对应的日志记录有真实进程的行为特征,例如,真实进程运行时占用的硬件资源,真实进程运行时执行的动作等;将恶意文件的真实进程对应的行为特征获取,得到恶意文件的真实进程对应的行为特征向量TP。
S474,若TP与TP’相匹配,则判断TP’对应的进程为恶意进程;其中,TP’为恶意文件对应的目标设备上各进程对应的若干行为特征向量之一。
目标设备上会存在若干进程,能够将目标设备上所有的进程的行为特征向量获取到,然后将每个进程的特征向量与TP进行同类型的特征匹配,如果某一进程的特征向量能够与TP相匹配,则表示该进程是与TP对应的恶意进程相匹配的进程,该进程为恶意进程;由此,能够在目标设备上确定出隐藏的恶意进程。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
本发明的实施例还提供了一种非瞬时性计算机可读存储介质,该存储介质可设置于电子设备之中以保存用于实现方法实施例中一种方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述实施例提供的方法。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。参见图2,程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
参见图3,本发明的实施例还提供了一种电子设备,包括处理器和前述的非瞬时性计算机可读存储介质。
根据本申请的这种实施方式的电子设备。电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:上述至少一个处理器、上述至少一个储存器、连接不同系统组件(包括储存器和处理器)的总线。
其中,所述储存器存储有程序代码,所述程序代码可以被所述处理器执行,使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的步骤。
储存器可以包括易失性储存器形式的可读介质,例如随机存取储存器(RAM)和/或高速缓存储存器,还可以进一步包括只读储存器(ROM)。
储存器还可以包括具有一组(至少一个)程序模块的程序/实用工具,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线可以为表示几类总线结构中的一种或多种,包括储存器总线或者储存器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
电子设备也可以与一个或多个外部设备(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备交互的设备通信,和/或与使得该电子设备能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口进行。并且,电子设备还可以通过网络适配器与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器通过总线与电子设备的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
本发明的实施例还提供一种计算机程序产品,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使该电子设备执行本说明书上述描述的根据本发明各种示例性实施方式的方法中的步骤。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本发明的范围和精神。本发明开的范围由所附权利要求来限定。