本发明涉及网络安全技术领域,尤其是指一种攻击识别方法和装置。
背景技术:
当前网络环境越来越复杂,遭遇的网络攻击也越来越多。目前对于攻击的识别方法有很多,主要是利用加密报文本身的密文作为特征来识别攻击,然而现有技术该种攻击识别方法存在计算过程复杂,实现困难的缺点。
技术实现要素:
本发明技术方案的目的是提供一种攻击识别方法和装置,使得网络攻击的识别简单、方便,易于实现。
本发明提供一种攻击识别方法,其中,包括:
根据当前用户访问预定对象的访问过程信息,构建访问过程图;
计算所述访问过程图的重心;
将计算获得的所述重心与预定访问过程图的重心进行比较,当计算获得的所述重心与所述预定访问过程图的重心不匹配时,则确定所述当前用户访问所述预定对象属于攻击访问,其中所述预定访问过程图为根据正常用户访问所述预定对象的访问过程信息所构建。
优选地,所述将计算获得的所述重心与预定访问过程图的重心进行比较的步骤包括:
将计算获得的所述重心与根据多个所述预定访问过程图获得的一重心范围进行比较;
当计算获得的所述重心位于所述重心范围之外时,则确定计算获得的所述重心与所述预定访问过程图的重心不匹配。
优选地,所述根据当前用户访问预定对象的访问过程信息,构建访问过程图的步骤包括:
获取所述访问过程信息中的多个访问节点和每一访问节点的访问顺序;
将每一访问节点分别通过一虚拟坐标点表示,根据每一访问节点的访问顺序,依次连接每一所述虚拟坐标点,形成所述访问过程图。
优选地,所述构建访问过程图的步骤之后,所述方法还包括:
获取每一所述虚拟坐标点在一预定坐标系中的坐标位置;其中所述预定坐标系为所述预定访问过程图的重心计算时所采用坐标系;
获取每一所述虚拟坐标点所表示对应访问节点的权重值;
其中,所述计算所述访问过程图的重心的步骤中,根据所述坐标位置和所述权重值,计算所述访问过程图的重心。
优选地,所述根据所述坐标位置和所述权重值,计算所述访问过程图的重心的步骤包括:
根据以下公式计算所述访问过程图的重心:
其中,x为所述访问过程图的重心在所述预定坐标系中的横坐标,y为所述访问过程图的重心在所述预定坐标系中的纵坐标,n为虚拟坐标点的个数;
(x1,y1)、(x2,y2)、...、(xn,yn)为n个所述虚拟坐标点中,每一所述虚拟坐标点在所述预定坐标系中的坐标位置,w1、w2、…、wn为n个所述虚拟坐标点所表示对应每一访问节点的权重值。
优选地,在确定所述当前用户访问所述预定对象属于攻击访问的步骤之后,所述方法还包括:
输出所述当前用户访问所述预定对象属于攻击访问的提示信息。
本发明还提供一种攻击识别装置,其中,包括:
图生成模块,用于根据当前用户访问预定对象的访问过程信息,构建访问过程图;
重心计算模块,用于计算所述访问过程图的重心;
重心比较模块,用于将计算获得的所述重心与预定访问过程图的重心进行比较,当计算获得的所述重心与所述预定访问过程图的重心不匹配时,则确定所述当前用户访问所述预定对象属于攻击访问,其中所述预定访问过程图为根据正常用户访问所述预定对象的访问过程信息所构建。
优选地,所述重心比较模块包括:
比较单元,用于将计算获得的所述重心与根据多个所述预定访问过程图获得的一重心范围进行比较;
确定单元,用于当计算获得的所述重心位于所述重心范围之外时,则确定计算获得的所述重心与所述预定访问过程图的重心不匹配。
优选地,所述图生成模块包括:
信息获取单元,用于获取所述访问过程信息中的多个访问节点和每一访问节点的访问顺序;
图生成单元,用于将每一访问节点分别通过一虚拟坐标点表示,根据每一访问节点的访问顺序,依次连接每一所述虚拟坐标点,形成所述访问过程图。
优选地,所述攻击识别装置还包括:
第一获取模块,用于获取每一所述虚拟坐标点在一预定坐标系中的坐标位置;其中所述预定坐标系为所述预定访问过程图的重心计算时所采用坐标系;
第二获取模块,用于获取每一所述虚拟坐标点所表示对应访问节点的权重值;
其中,所述重心计算模块根据所述坐标位置和所述权重值,计算所述访问过程图的重心。
优选地,所述重心计算模块用于根据以下公式计算所述访问过程图的重心:
其中,x为所述访问过程图的重心在所述预定坐标系中的横坐标,y为所述访问过程图的重心在所述预定坐标系中的纵坐标,n为虚拟坐标点的个数;
(x1,y1)、(x2,y2)、...、(xn,yn)为n个所述虚拟坐标点中,每一所述虚拟坐标点在所述预定坐标系中的坐标位置,w1、w2、…、wn为n个所述虚拟坐标点所表示对应每一访问节点的权重值。
优选地,所述攻击识别装置还包括:
输出模块,用于输出所述当前用户访问所述预定对象属于攻击访问的提示信息。
本发明具体实施例上述技术方案中的至少一个具有以下有益效果:
本发明实施例所述攻击识别方法,提供一种基于用户访问过程构建访问过程图,并计算该访问过程图的图重心,利用所计算获得的图重心进行攻击识别的方式。该种利用图重心进行攻击识别的过程,访问过程图的构建以及图重心的计算相较于现有技术利用加密报文本身的密文作为特征来识别攻击的方式,更加简单、方便,易于实现。
附图说明
图1表示本发明实施例所述攻击识别方法的流程示意图;
图2表示图1中步骤s110的流程示意图;
图3a至图3c表示采用本发明实施例所述方法,所构建访问过程图的举例示意图;
图4a至图4c表示在图3a至图3c的访问过程图中,标注访问节点的权重值的示意图;
图5表示本发明所述攻击识别装置的结构示意图。
具体实施方式
为使本发明的实施例要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明提供一种攻击识别方法,如图1所示,包括:
s110,根据当前用户访问预定对象的访问过程信息,构建访问过程图;
s120,计算所述访问过程图的重心;
s130,将计算获得的所述重心与预定访问过程图的重心进行比较,当计算获得的所述重心与所述预定访问过程图的重心不匹配时,则确定所述当前用户访问所述预定对象属于攻击访问,其中所述预定访问过程图为根据正常用户访问所述预定对象的访问过程信息所构建。
本发明实施例上述的攻击识别方法,提供一种基于用户访问过程构建访问过程图,并计算该访问过程图的图重心,利用所计算获得的图重心进行攻击识别的方式。该种利用图重心进行攻击识别的过程,访问过程图的构建以及图重心的计算相较于现有技术利用加密报文本身的密文作为特征来识别攻击的方式,更加简单、方便,易于实现。
此外,步骤s130中,当计算获得的所述重心与所述预定访问过程图的重心匹配时,则确定当前用户访问所述预定对象不属于攻击访问。
本发明实施例所述攻击识别方法中,所提及的正常用户为预先已经被判定为非攻击访问的用户。另外,当前用户所访问的预定对象包括网页、主机或服务器等,当然并不限于仅包括该几种对象的访问,在网络上所实施的访问行为所访问其他对象均可以作为本发明当前用户所访问的预定对象。
以下将对本发明实施例所述攻击识别方法的具体过程进行详细说明。
具体地,步骤s110中,根据当前用户访问预定对象的访问过程信息,构建访问过程图的步骤中,如图2所示,包括步骤:
s111,获取所述访问过程信息中的多个访问节点和每一访问节点的访问顺序;
s112,将每一访问节点分别通过一虚拟坐标点表示,根据每一访问节点的访问顺序,依次连接每一所述虚拟坐标点,形成所述访问过程图。
上述的步骤中,将访问过程信息抽象出对应的图模型,利用建模方法,将访问过程信息转换为对应的访问过程图。
具体地,当前用户访问预定对象的访问过程信息中记录有当前用户访问预定对象时的访问节点以及对每一访问节点的访问顺序。
举例说明,所述预定对象为网站,也即当前用户访问网站时,当前用户访问网站的过程中,会访问不同的网页1、2、3、……、n,此处所访问的网页为后台webpage对应的网页文件或者组件的节点,并非为前台网页。其中访问对象信息中记录了当前用户访问网站的过程时,所访问的后台webpage对应的网页文件(也即为访问节点)和访问不同网页文件的访问顺序。同理,当用户所访问的预定对象为其他对象时,访问过程信息中会记录访问过程中所访问的访问节点以及对每一访问节点的访问顺序。
在此基础上,通过步骤s112,将每一访问节点通过一虚拟坐标点表示,根据每一访问节点的访问顺序,依次连接每一虚拟坐标点,形成所建模的访问过程图。
结合图3a至图3c举例说明采用上述步骤s112形成访问过程图的具体方式。例如,当前用户a对预定对象的访问顺序为:节点1-节点2-节点4-节点2,分别以虚拟坐标点①、②、④表示访问节点1、2和4,依据该访问顺序需要依次连接虚拟坐标点①、②、④、②,形成为图3a所示的访问过程图;再例如,当前用户b对预定对象的访问顺序为:节点1-节点2-节点3-节点4-节点2,分别以虚拟坐标点①、②、③、④表示访问节点1、2、3和4,依据该访问顺序需要依次连接虚拟坐标点①、②、③、④、②时,则形成为图3b所示的访问过程图;又例如,当前用户c对预定对象的访问顺序为:节点1-节点2-节点5-节点1,分别以虚拟坐标点①、②、⑤表示访问节点1、2和5,依据该访问顺序需要依次连接虚拟坐标点①、②、⑤、①时,则形成为图3c所示的访问过程图。
另外,本发明实施例所述攻击识别方法中,对于正常用户访问预定对象时的预定访问过程图的构建过程,与上述的过程相同。
较佳地,本发明实施例所述攻击识别方法,在采用上述方式形成访问过程图之后,所述方法还包括:
获取每一所述虚拟坐标点在一预定坐标系中的坐标位置;以及
获取每一所述虚拟坐标点所表示对应访问节点的权重值;
其中所述预定坐标系为所述预定访问过程图的重心计算时所采用坐标系,且步骤s120计算所述访问过程图的重心的过程中,根据所述坐标位置和所述权重值,计算所述访问过程图的重心。
也即,具体地,根据正常用户访问预定对象时的预定访问过程图进行重心计算时,与当前用户的访问过程图的重心计算过程相同,需要根据预定访问过程图中每一虚拟坐标点在一坐标系中的坐标位置以及每一虚拟坐标点所对应访问节点的权重值,计算预定访问过程图的重心,其中对当前用户访问预定对象的攻击识别时,根据所构建访问过程图计算重心时所采用坐标系,与对正常用户访问预定对象时,根据预定访问过程图计算重心时所采用坐标系,为同一坐标系。具体地对应同一访问节点的虚拟坐标点,利用当前所构建访问过程图计算重心时的坐标,应该与利用预定访问过程图计算重心时的坐标为同一坐标值。
举例说明,对于计算访问过程图的重心和计算预定访问过程图的重心所建立的同一坐标系,也即为预定坐标系,可以自定义进行选择,较佳地,选择经、纬度分别对应的方向为横轴和纵轴的坐标系,例如选定水平的方向为x轴,垂直的方向为y轴,交点为(0,0)。对于预定坐标系的建立,具体并不作限定,只要计算访问过程图的重心和计算预定访问过程图的重心所建立的为同一坐标系即可。
在此基础上,根据所建立的预定坐标系,初始化每一虚拟坐标点对应的坐标值。例如,当访问过程信息包括五个访问节点时,节点1的坐标为(0,-1),节点2的坐标为(0,-2),节点3的坐标为(0,-3),节点4的坐标为(0,-4),节点5的坐标为(1,-3)。具体每一虚拟坐标点对应坐标值的确定,并不限定多个节点必须位于坐标系的坐标轴中,具体可以依据具体建模要求进行设定,只要保证计算访问过程图的重心和计算预定访问过程图的重心所建立的同一坐标系中,虚拟坐标点所表示的同一访问节点为相同坐标值即可。
另外,较佳地,对应同一访问节点,利用当前所构建访问过程图计算重心的过程,相较于利用预定访问过程图计算重心的过程,所对应的权重值也相同。
本发明实施例所述攻击识别方法,通过设定不同访问节点的权重值,表示不同访问节点访问时被识别为攻击行为的重要程度,进行访问过程图的重心计算,使得攻击识别的结果更为准确。
较佳地,在获取每一虚拟坐标点所表示对应访问节点的权重值的步骤之后,所述方法还包括:
在步骤s112所形成访问过程图中,对应每一虚拟坐标点标注所表示对应访问节点的权重值。
例如对于图3a所示的访问过程图,访问节点1、2和4的权重值分别为1、2和1,在访问过程图中标注权重值时,形成为图4a所示;对于图3b所示的访问过程图,访问节点1、2、3和4的权重值分别为1、2、1和1,在访问过程中标注权重值时,形成为图4b所示;对于图3c所示的访问过程图,访问节点1、2和5的权重值分别为2、1和1,在访问过程图中标注权重值时,形成为图4c所示。
采用上述方式,在所构建的访问过程图中分别标注每一访问节点对应的权重值,以用于访问过程图的重心计算。
进一步,在获取每一虚拟坐标点所表示对应访问节点的权重值和在预定坐标系中的坐标位置之后,根据所获得的坐标位置和权重值,计算访问过程图的重心的步骤包括:
根据以下公式计算所述访问过程图的重心:
其中,x为所述访问过程图的重心在所述预定坐标系中的横坐标,y为所述访问过程图的重心在所述预定坐标系中的纵坐标,n为虚拟坐标点的个数;
(x1,y1)、(x2,y2)、...、(xn,yn)为n个所述虚拟坐标点中,每一所述虚拟坐标点在所述预定坐标系中的坐标位置,w1、w2、…、wn为n个所述虚拟坐标点所表示对应每一访问节点的权重值。
利用以上各个虚拟坐标点在预定坐标系中的坐标值以及每一虚拟坐标点所表示对应访问节点的权重值,能够计算当前用户访问预定对象所构建访问过程图的重心坐标(x,y)。
此外,对于正常用户访问预定对象时所构建预定访问过程图的重心计算,具体过程与上述方式相同,在此不再赘述。
较佳地,结合图1,在步骤s130,将计算获得的所述重心与预定访问过程图的重心进行比较的步骤包括:
将计算获得的所述重心与根据多个所述预定访问过程图获得的一重心范围进行比较;
当计算获得的所述重心位于所述重心范围之外时,则确定计算获得的所述重心与所述预定访问过程图的重心不匹配。
也即,采用本发明实施例所述攻击识别方法,根据多个正常用户访问预定对象所构建的多个预定访问过程图,分别计算重心,根据多个预定访问过程图所计算的重心构建一重心范围,该重心范围形成为正常用户访问预定对象时所构建访问过程图的正常重心范围,通过将当前用户访问预定对象所构建访问过程图计算获得的重心与该重心范围进行比较,即能够确定当前用户访问预定对象是否为攻击行为。
具体地,当根据当前用户访问预定对象所构建访问过程图,计算获得的重心位于所述重心范围之外时,则确定计算获得的重心与所述预定访问过程图的重心不匹配,确定当前用户访问预定对象属于攻击访问;当根据计算获得的重心位于所述重心范围之内时,则确定计算获得的重心与预定访问过程图的重心匹配,确定当前用户访问预定对象不属于攻击访问。
较佳地,本发明实施例所述攻击识别方法,在确定所述当前用户访问所述预定对象属于攻击访问的步骤之后,所述方法还包括:
输出所述当前用户访问所述预定对象属于攻击访问的提示信息。
采用上述过程,通过输出所述提示信息,达到提示工作人员及时对攻击访问进行处理的目的。
本发明实施例所述攻击识别方法,利用构建用户访问预定对象的访问过程图,并计算访问过程图的重心进行攻击识别,相较于现有技术的攻击识别方法,本发明实施例的方案简单、方便,更易于实现。该攻击识别方法可以应用于云计算环境下的攻击识别,也可以应用于非安全领域的攻击识别,例如谣言生成与传播、污染源生成与传播中。
本发明具体实施例另一方面提供一种攻击识别装置,如图5所示,所述攻击识别装置包括:
图生成模块,用于根据当前用户访问预定对象的访问过程信息,构建访问过程图;
重心计算模块,用于计算所述访问过程图的重心;
重心比较模块,用于将计算获得的所述重心与预定访问过程图的重心进行比较,当计算获得的所述重心与所述预定访问过程图的重心不匹配时,则确定所述当前用户访问所述预定对象属于攻击访问,其中所述预定访问过程图为根据正常用户访问所述预定对象的访问过程信息所构建。
本发明具体实施例所述攻击识别装置,基于用户访问过程构建访问过程图,并计算该访问过程图的图重心,利用所计算获得的图重心进行攻击识别,该种利用图重心进行攻击识别的过程,访问过程图的构建以及图重心的计算相较于现有技术利用加密报文本身的密文作为特征来识别攻击的方式,更加简单、方便,易于实现。
进一步,所述重心比较模块中,当计算获得的所述重心与所述预定访问过程图的重心匹配时,则确定当前用户访问所述预定对象不属于攻击访问。
较佳地,如图5所示,所述重心比较模块包括:
比较单元,用于将计算获得的所述重心与根据多个所述预定访问过程图获得的一重心范围进行比较;
确定单元,用于当计算获得的所述重心位于所述重心范围之外时,则确定计算获得的所述重心与所述预定访问过程图的重心不匹配。
采用上述方式,将计算获得的重心与根据多个正常用户的预定访问过程图的重心范围进行比较,确定计算获得的重心是否位于该重心范围之内,从而确定当前用户对预定对象的访问是否为攻击访问,能够保证识别的准确性。
进一步,如图5所示,所述图生成模块包括:
信息获取单元,用于获取所述访问过程信息中的多个访问节点和每一访问节点的访问顺序;
图生成单元,用于将每一访问节点分别通过一虚拟坐标点表示,根据每一访问节点的访问顺序,依次连接每一所述虚拟坐标点,形成所述访问过程图。
具体地,利用上述功能的信息获取单元和图生成单元,形成访问过程图的具体方式和过程可以参阅以上关于方法部分的描述,在此不再赘述。
另外,如图5所示,所述攻击识别装置还包括:
第一获取模块,用于获取每一所述虚拟坐标点在一预定坐标系中的坐标位置;其中所述预定坐标系为所述预定访问过程图的重心计算时所采用坐标系;
第二获取模块,用于获取每一所述虚拟坐标点所表示对应访问节点的权重值;
其中,所述重心计算模块根据所述坐标位置和所述权重值,计算所述访问过程图的重心。
具体地,所述重心计算模块用于根据以下公式计算所述访问过程图的重心:
其中,x为所述访问过程图的重心在所述预定坐标系中的横坐标,y为所述访问过程图的重心在所述预定坐标系中的纵坐标,n为虚拟坐标点的个数;
(x1,y1)、(x2,y2)、...、(xn,yn)为n个所述虚拟坐标点中,每一所述虚拟坐标点在所述预定坐标系中的坐标位置,w1、w2、…、wn为n个所述虚拟坐标点所表示对应每一访问节点的权重值。
进一步地,如图5所示,所述攻击识别装置还包括:
输出模块,用于输出所述当前用户访问所述预定对象属于攻击访问的提示信息。
本发明实施例所述攻击识别装置,相较于现有技术,实现过程简单、方便,更易于实现。此外该攻击识别装置可以应用于云计算环境下的攻击识别,也可以应用于非安全领域的攻击识别,例如谣言生成与传播、污染源生成与传播中。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。