攻击团伙的识别方法、装置、计算设备以及介质与流程

文档序号:21361039发布日期:2020-07-04 04:34阅读:225来源:国知局
攻击团伙的识别方法、装置、计算设备以及介质与流程

本公开涉及计算机技术领域,特别是涉及一种攻击团伙的识别方法、攻击团伙的识别装置、计算设备以及计算机可读存储介质。



背景技术:

随着互联网攻击的不断深化,黑客攻击行为由单点攻击以及独立攻击越发组织化、智能化。鉴于外部威胁持续升级,为了加强对外部攻击行为的检测和防护能力,提升攻击行为防护的时效性和准确性,需要准确地识别攻击者。

在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题,相关技术对攻击者的识别能力单,难以识别攻击者之间的内在联系,导致对外部攻击行为的检测和防护能力较低。



技术实现要素:

本公开的一个方面提供了一种攻击团伙的识别方法,包括:获取多个攻击者访问目标设备生成的访问数据,其中,所述访问数据包括所述多个攻击者的访问路径和访问行为,处理所述访问数据,得到多个访问路径数据和多个访问行为数据,确定所述多个访问路径数据彼此之间的相似度,确定所述多个访问行为数据彼此之间的相似度,基于所述多个访问路径数据彼此之间的相似度和所述多个访问行为数据彼此之间的相似度,确定所述多个攻击者中的至少一个攻击团伙,其中,同一个攻击团伙中攻击者的访问路径数据的相似度满足第一阈值条件,同一个攻击团伙中攻击者的访问行为数据的相似度满足第二阈值条件。

根据本公开实施例,上述确定所述多个访问路径数据彼此之间的相似度包括:对所述多个访问路径数据进行聚类处理,得到聚类结果,其中,所述聚类结果表征了所述多个访问路径数据彼此之间的相似度。

根据本公开实施例,上述确定所述多个访问行为数据彼此之间的相似度包括:对所述多个访问行为数据进行分类处理,得到分类结果,其中,所述分类结果表征了所述多个访问行为数据彼此之间的相似度。

根据本公开实施例,上述聚类结果包括至少一个簇,所述至少一个簇中的每个簇具有至少两个访问路径数据。所述分类结果包括至少一个类别,所述至少一个类别中的每个类别具有至少两个访问行为数据。其中,所述基于所述多个访问路径数据彼此之间的相似度和所述多个访问行为数据彼此之间的相似度,确定所述多个攻击者中的至少一个攻击团伙包括:基于所述聚类结果和所述分类结果,确定所述多个攻击者中的至少一个攻击团伙。

根据本公开实施例,上述基于所述聚类结果和所述分类结果,确定所述多个攻击者中的至少一个攻击团伙包括:针对所述至少一个簇中的每一个簇,确定与所述至少两个访问路径数据对应的m个攻击者,m为大于或等于2的整数,针对所述m个攻击者中的每个攻击者,基于所述至少一个类别,确定与所述每个攻击者对应的访问行为数据所属的类别作为所述每个攻击者的行为类别,确定所述m个攻击者中所述行为类别的相似度满足预设条件的至少部分攻击者作为一个分组。

根据本公开实施例,上述访问数据包括n个访问数据,n为大于或等于2的整数。其中,所述处理所述访问数据,得到所述多个访问路径数据和多个访问行为数据包括:针对所述n个访问数据中每个访问数据,提取所述访问数据中的访问路径数据,以得到n个访问路径数据,针对所述n个访问数据中每个访问数据,确定所述访问数据中是否具有访问行为数据,响应于确定所述访问数据中具有访问行为数据,提取所述访问数据中的访问行为数据,以得到p个访问行为数据,其中,p为小于或等于n的正整数。

根据本公开实施例,上述对所述多个访问路径数据进行聚类处理包括:针对所述n个访问路径数据中的每个访问路径数据,处理所述访问路径数据,以得到与所述n个访问路径数据一一对应的n个路径特征数据,对所述n个路径特征数据进行聚类处理。

根据本公开实施例,上述对所述多个访问行为数据进行分类处理包括:针对所述p个访问行为数据中的每个访问行为数据,处理所述访问行为数据,以得到与所述p个访问行为数据一一对应的p个行为特征数据,对所述p个行为特征数据进行分类处理。

本公开的另一个方面提供了一种攻击团伙的识别装置,包括:获取模块、处理模块、第一确定模块、第二确定模块以及第三确定模块。其中,获取模块,获取多个攻击者访问目标设备生成的访问数据,其中,所述访问数据包括多个攻击者的访问路径和访问行为。处理模块,处理所述访问数据,得到所述多个访问路径数据和多个访问行为数据。第一确定模块,确定所述多个访问路径数据彼此之间的相似度。第二确定模块,确定所述多个访问行为数据彼此之间的相似度。第三确定模块,基于所述多个访问路径数据彼此之间的相似度和所述多个访问行为数据彼此之间的相似度,确定所述多个攻击者中的至少一个攻击团伙,其中,同一个攻击团伙中攻击者的访问路径数据的相似度满足第一阈值条件,同一个攻击团伙中攻击者的访问行为数据的相似度满足第二阈值条件。

根据本公开实施例,上述确定所述多个访问路径数据彼此之间的相似度包括:对所述多个访问路径数据进行聚类处理,得到聚类结果,其中,所述聚类结果表征了所述多个访问路径数据彼此之间的相似度。

根据本公开实施例,上述确定所述多个访问行为数据彼此之间的相似度包括:对所述多个访问行为数据进行分类处理,得到分类结果,其中,所述分类结果表征了所述多个访问行为数据彼此之间的相似度。

根据本公开实施例,上述聚类结果包括至少一个簇,所述至少一个簇中的每个簇具有至少两个访问路径数据。所述分类结果包括至少一个类别,所述至少一个类别中的每个类别具有至少两个访问行为数据。其中,所述基于所述多个访问路径数据彼此之间的相似度和所述多个访问行为数据彼此之间的相似度,确定所述多个攻击者中的至少一个攻击团伙包括:基于所述聚类结果和所述分类结果,确定所述多个攻击者中的至少一个攻击团伙。

根据本公开实施例,上述基于所述聚类结果和所述分类结果,确定所述多个攻击者中的至少一个攻击团伙包括:针对所述至少一个簇中的每一个簇,确定与所述至少两个访问路径数据对应的m个攻击者,m为大于或等于2的整数,针对所述m个攻击者中的每个攻击者,基于所述至少一个类别,确定与所述每个攻击者对应的访问行为数据所属的类别作为所述每个攻击者的行为类别,确定所述m个攻击者中所述行为类别的相似度满足预设条件的至少部分攻击者作为一个分组。

根据本公开实施例,上述访问数据包括n个访问数据,n为大于或等于2的整数。其中,所述处理所述访问数据,得到所述多个访问路径数据和多个访问行为数据包括:针对所述n个访问数据中每个访问数据,提取所述访问数据中的访问路径数据,以得到n个访问路径数据,针对所述n个访问数据中每个访问数据,确定所述访问数据中是否具有访问行为数据,响应于确定所述访问数据中具有访问行为数据,提取所述访问数据中的访问行为数据,以得到p个访问行为数据,其中,p为小于或等于n的正整数。

根据本公开实施例,上述对所述多个访问路径数据进行聚类处理包括:针对所述n个访问路径数据中的每个访问路径数据,处理所述访问路径数据,以得到与所述n个访问路径数据一一对应的n个路径特征数据,对所述n个路径特征数据进行聚类处理。

根据本公开实施例,上述对所述多个访问行为数据进行分类处理包括:针对所述p个访问行为数据中的每个访问行为数据,处理所述访问行为数据,以得到与所述p个访问行为数据一一对应的p个行为特征数据,对所述p个行为特征数据进行分类处理。

本公开的另一方面提供了一种计算设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。

本公开的另一方面提供了一种非易失性可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。

本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。

附图说明

为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:

图1示意性示出了根据本公开实施例的攻击团伙的识别方法和攻击团伙的识别装置的系统架构;

图2示意性示出了根据本公开实施例的攻击团伙的识别方法的应用场景;

图3示意性示出了根据本公开实施例的攻击团伙的识别方法的流程图;

图4示意性示出了根据本公开实施例的处理访问数据的流程图;

图5示意性示出了根据本公开实施例根据聚类结果和分类结果确定攻击团伙的流程图;

图6示意性示出了根据本公开实施例攻击团伙的识别装置结构图;

图7示意性示出了根据本公开实施例的攻击团伙的识别装置的框图;以及

图8示意性示出了根据本公开实施例的用于识别攻击团伙的计算机系统的方框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。在使用类似于“a、b或c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b或c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。

附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程控制装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。

因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本公开的上下文中,计算机可读存储介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(hdd);光存储装置,如光盘(cd-rom);存储器,如随机存取存储器(ram)或闪存;和/或有线/无线通信链路。

本公开的实施例提供了一种攻击团伙的识别方法,包括:获取多个攻击者访问目标设备生成的访问数据,其中,访问数据包括多个攻击者的访问路径和访问行为。然后,处理访问数据,得到多个访问路径数据和多个访问行为数据,确定多个访问路径数据彼此之间的相似度,确定多个访问行为数据彼此之间的相似度。接下来,基于多个访问路径数据彼此之间的相似度和多个访问行为数据彼此之间的相似度,确定多个攻击者中的至少一个攻击团伙,其中,同一个攻击团伙中攻击者的访问路径数据的相似度满足第一阈值条件,同一个攻击团伙中攻击者的访问行为数据的相似度满足第二阈值条件。

图1示意性示出了根据本公开实施例的攻击团伙的识别方法和攻击团伙的识别装置的系统架构。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。

终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。

需要说明的是,本公开实施例所提供的攻击团伙的识别方法一般可以由服务器105执行。相应地,本公开实施例所提供的攻击团伙的识别装置一般可以设置于服务器105中。本公开实施例所提供的攻击团伙的识别方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的攻击团伙的识别装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。

例如,本公开实施例的多个攻击者访问目标设备生成的访问数据可以存储在终端设备101、102、103中,通过终端设备101、102、103将访问数据发送至服务器105中,服务器105可以处理访问数据以确定多个攻击者中的至少一个攻击团伙。另外,访问数据还可以由服务器105接收并直接存储在服务器105中,由服务器105直接处理访问数据以确定多个攻击者中的至少一个攻击团伙。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

图2示意性示出了根据本公开实施例的攻击团伙的识别方法的应用场景。

如图2所示,该应用场景200例如可以包括多个攻击者和目标设备。

根据本公开实施例,多个攻击者中的每个攻击者例如可以是电子设备。电子设备例如可以包括但不仅限于电脑、手机、服务器、服务器集群等等。其中,每个攻击者的身份可以用ip地址来表征,即,一个ip地址可以表征一个攻击者,不同攻击者的ip地址不同。

为了便于理解,以多个攻击者包括攻击者1、攻击者2、攻击者3、攻击者4、攻击者5为例。其中,攻击者1的ip地址例如为ip_1,攻击者2的ip地址例如为ip_2,攻击者3的ip地址例如为ip_3,攻击者4的ip地址例如为ip_4,攻击者5的ip地址例如为ip_5。

根据本公开实施例,目标设备例如可以包括但不仅限于电脑、手机、服务器、服务器集群等等。攻击者可以通过访问目标设备来实现攻击目标设备的目的。其中,在攻击者访问目标设备时会生成访问数据,因此,通过分析访问数据,可以确定多个攻击者中访问数据相似的攻击者属于同一攻击团伙。例如,攻击者1、攻击者2和攻击者3的访问数据相似,攻击者4和攻击者5的访问数据相似。因此,攻击者1、攻击者2和攻击者3属于攻击团伙1,攻击者4和攻击者5属于攻击团伙2。

可以理解,本公开实施例通过分析访问数据,可以得知多个攻击者之间的内在关联关系,并确定出属于同一攻击团伙的攻击者,以便总结攻击团伙的攻击特点,提高安全防护的实效性和准确性。

下面结合图1的系统架构和图2的应用场景,参考图3~图5来描述根据本公开示例性实施方式的攻击团伙的识别方法。需要注意的是,上述系统架构和应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。

图3示意性示出了根据本公开实施例的攻击团伙的识别方法的流程图。

如图3所示,该方法例如可以包括以下操作s310~操作s350。

在操作s310,获取多个攻击者访问目标设备生成的访问数据,其中,访问数据包括多个攻击者的访问路径和访问行为。

根据本公开实施例,目标设备例如存储有多个数据,多个数据例如包括网页数据、文件数据等等。每个数据例如均具有相应的存储路径,攻击者通过访问存储路径可以获取存储于目标设备中的数据。其中,当攻击者访问目标设备中存储的数据时,所生成的访问数据中例如具有所访问的数据的存储路径,该存储路径例如可以作为为攻击者的访问路径,该访问路径例如可以包括但不仅限于网页链接地址、文件数据的存储路径等等。

根据本公开实施例,访问行为例如可以包括攻击者攻击目标设备的攻击类别。其中,攻击类别例如包括但不仅限于sql(structuredquerylanguage,结构化查询语音)注入、跨站脚本攻击、文件上传、命令执行等等。以攻击类别为文件上传为例,攻击者在访问目标设备时,例如通过向目标设备上传文件的方式来实现攻击目标设备的目的。

在操作s320,处理访问数据,得到多个访问路径数据和多个访问行为数据。例如,通过对访问数据进行分析,以提取访问数据中的访问路径数据和访问行为数据。

在操作s330,确定多个访问路径数据彼此之间的相似度。

在操作s340,确定多个访问行为数据彼此之间的相似度。例如,相似度较高的两个访问行为数据属于相同攻击类别的可能性较大。

接下来,在操作s350,基于多个访问路径数据彼此之间的相似度和多个访问行为数据彼此之间的相似度,确定多个攻击者中的至少一个攻击团伙。其中,同一个攻击团伙中攻击者的访问路径数据的相似度满足第一阈值条件,同一个攻击团伙中攻击者的访问行为数据的相似度满足第二阈值条件。

根据本公开实施例,第一阈值条件例如可以是访问路径数据的相似度大于第一阈值,第一阈值例如可以是80%、90%等等。第二阈值条件例如可以是访问行为数据的相似度大于第二阈值,第二阈值例如可以是80%、90%等等,第一阈值与第二阈值可以不同。可以理解,本公开实施例中属于同一攻击团伙的攻击者需要同时满足攻击路径相似和攻击行为相似。即,本公开实施例通过确定访问路径数据相似和访问行为数据相似的攻击者作为同一攻击团伙,从而提高了攻击团伙的识别准确性。

本公开实施例通过识别攻击团伙,以便于分析攻击团伙的攻击特点,从而可以依据攻击团伙的攻击特点进行针对性地安全防护,提高安全防护的实效性和准确性。

图4示意性示出了根据本公开实施例的处理访问数据的流程图。

如图4所示,上述操作s320例如可以包括以下操作s321~操作s323。

根据本公开实施例,访问数据例如可以包括n个访问数据,n为大于或等于2的整数。其中,一个攻击者可以多次访问目标设备,每次访问目标设备均生成一个访问数据。针对每个访问数据,该访问数据包括访问路径数据,但可以不包括访问行为数据。因此,在提取每个访问数据中的访问行为数据时,需要首先确定该访问数据中是否具有访问行为数据。

在操作s321,针对n个访问数据中每个访问数据,提取访问数据中的访问路径数据,以得到n个访问路径数据。

在操作s322,针对n个访问数据中每个访问数据,确定访问数据中是否具有访问行为数据。

接下来,在操作s323,响应于确定访问数据中具有访问行为数据,提取访问数据中的访问行为数据,以得到p个访问行为数据,其中,p为小于或等于n的正整数。

根据本公开实施例,在提取访问数据中的访问路径数据和访问行为数据时,需要根据访问数据的类型确定不同的提取方式。即,不同类型的访问数据,需要通过不同的提取方式进行提取。

根据本公开实施例,访问数据例如可以是满足http协议的数据。通过判断访问数据的协议头中是否包含get字段或post字段来确定访问数据的类型。如果确定访问数据中包括get字段,则可以确定访问数据的类型为get类型。如果确定访问数据中包括post字段,则可以确定访问数据的类型为post类型。

根据本公开实施例,访问数据中例如包括url地址和请求参数。其中,请求参数例如包括至少一个键值对,每个键值对均包括参数名和与参数名对应的参数值。

例如,当访问数据为get类型时,访问数据中例如包括url数据信息,该url数据信息中包括url地址和请求参数。即,请求参数为url数据信息中的一部分。因此,通过提取访问数据中的url数据信息即可以得到url地址和请求参数。其中,url数据信息中的url地址和请求参数例如以特定字段作为连接,即特定字段将url数据信息分为url地址和请求参数两部分。特定字段例如可以是“?”字段。因此,在提取到url数据信息之后,可以将特定字段之前的url地址作为访问路径数据,以及将特定字段之后的请求参数作为访问行为数据。

例如,当访问数据为post类型时,访问数据中例如包括url数据信息和请求体。url数据信息中例如包含url地址,请求体中例如包含请求参数。即,请求参数独立于url数据信息。因此,通过提取访问数据中的url数据信息即可以得到url地址,以及通过提取访问数据中的请求体即可以得到请求参数。然后,将从url数据信息中提取的url地址作为访问路径数据,以及将从请求体中提取的键值对作为访问行为数据。

根据本公开实施例,访问路径数据例如能够表征攻击者所攻击的目标域名。另外,由于访问行为数据中的键值对包括参数名和参数值,参数名往往包含攻击者使用的工具特征或手工命名偏好,参数值中包含攻击载荷,因此,键值对例如能够表征攻击者的攻击类型。

根据本公开实施例,确定多个访问路径数据彼此之间的相似度包括:对多个访问路径数据进行聚类处理,得到聚类结果,其中,聚类结果表征了多个访问路径数据彼此之间的相似度。

根据本公开实施例,确定多个访问行为数据彼此之间的相似度包括:对多个访问行为数据进行分类处理,得到分类结果,其中,分类结果表征了多个访问行为数据彼此之间的相似度。

例如,在获取多个访问路径数据和多个访问行为数据之后,可以对每个访问路径数据和每个访问行为数据进行特征处理,以便获取每个访问路径数据的路径特征数据和每个访问行为数据的行为特征数据。然后,基于路径特征数据对多个访问路径数据进行聚类处理,以及基于行为特征数据对多个访问行为数据进行分类处理。

例如,针对n个访问路径数据中的每个访问路径数据,处理访问路径数据,以得到与n个访问路径数据一一对应的n个路径特征数据,并对n个路径特征数据进行聚类处理。

以一个访问路径数据为例,例如首先通过url解码、base64解码等解码方式对访问路径数据进行预处理,以将访问路径数据转换为标准编码格式。然后以特殊字符对访问路径数据进行分割得到多个分词,并计算每个分词的tf-idf值,得到该访问路径数据的特征向量。

例如,以访问路径数据(url数据)为“www.test.com/page1/subpage2/login.html”为例,特殊字符例如为“/”,基于特殊字符“/”对防问路径数据进行分割得到第一集合[www.test.com,page1,subpage2,login.html]。然后,将第一集合中的相邻的连个元素顺序相连构成第二集合[www.test.compage1,page1subpage2,subpage2login.html]。该第二集合例如包括3个元素,然后可以计算第二集合中3个元素中每个元素的tf-idf值,从而得到三维向量作为该访问路径数据的路径特征数据。

其中,将第一集合相邻的两个元素作为第二集合中的一个元素,充分考虑了词语语序的位置特征,有效地提取了访问路径数据中的上下文信息。

例如,针对p个访问行为数据中的每个访问行为数据,处理访问行为数据,以得到与p个访问行为数据一一对应的p个行为特征数据,并对p个行为特征数据进行分类处理。

以一个访问行为数据为例,例如首先通过url解码、base64解码等解码方式对访问行为数据进行预处理,以将访问行为数据转换为标准编码格式。然后处理访问行为数据得到多个键值对,并对多个键值对进行分割得到多个分词,通过计算每个分词的tf-idf值可以得到该访问行为数据的特征向量。

例如,多个键值对组成的第三集合为[cid=0,sid=″′,sortfield=title,sortorder=asc,pagenumber=1,main=http://cirt.net/rfiinc.txt]。然后,可以以单个英文字符(不区分大小写)、阿拉伯数字或者特殊符号等对键值对进行切分,得到第四集合。第四集合例如为[ci,d=,0s,id,……]。接下来,计算第四集合中每个元素的tf-idf值,得到第四集合的特征向量,该特征向量例如可以作为该访问行为数据的行为特征数据。

根据本公开实施例,在得到n个路径特征数据之后,可以对n个路径特征数据进行聚类处理,得到聚类结果。聚类结果包括至少一个簇,至少一个簇中的每个簇具有至少两个访问路径数据。

例如,利用聚类算法对n个路径特征数据进行聚类,以得到多个簇。聚类算法例如包括但不仅限于近邻传播聚类算法。多个簇例如包括簇1、簇2、簇3等等。同一个簇中的访问路径数据的相似度较高。

根据本公开实施例,在得到p个行为特征数据之后,可以对p个行为特征数据进行分类处理,得到分类结果。分类结果包括至少一个类别,至少一个类别中的每个类别具有至少两个访问行为数据。

例如,利用分类算法对p个行为特征数据进行分类,以得到多个类别。分类算法例如包括监督学习算法,监督学习算法例如包括但不仅限于逻辑回归算法、xgboost算法等。多个类别例如包括sql注入、跨站脚本攻击、文件上传、命令执行等类别。

根据本公开实施例,分析攻击路径数据的过程例如是对url数据是否属于同一域名或相似域名进行分析,由于难以事先确定被攻击的路径,因此难以预先确定路径样本,导致攻击路径的识别过程不适用监督学习的分类算法,因此,本公开实施例通过采用聚类算法来识别攻击路径。另外,由于可以预先确定攻击行为的分类,如以预先确定攻击行为具有sql注入、跨站脚本攻击、文件上传、命令执行等类别,因此,攻击行为的识别过程适用监督学习的分类算法。

根据本公开实施例,上述操作s350例如可以包括:基于聚类结果和分类结果,确定多个攻击者中的至少一个攻击团伙。具体地,上述操作s350例如可以包括以下图5所示的操作s351~操作s353。

图5示意性示出了根据本公开实施例根据聚类结果和分类结果确定攻击团伙的流程图。

如图5所示,上述操作s350例如可以包括以下操作s351~操作s353。

在操作s351,针对至少一个簇中的每一个簇,确定与至少两个访问路径数据对应的m个攻击者,m为大于或等于2的整数。

为了便于理解,以簇1为例。簇1例如包括多个ip地址:ip_1、ip_2、ip_3、ip_4。其中,ip_1、ip_2、ip_3、ip_4分别是攻击者1、攻击者2、攻击者3、攻击者4的ip地址,表明ip_1、ip_2、ip_3、ip_4对应的攻击者的访问路径相似度较高,因此被划分为同一个簇。

在操作s352,针对m个攻击者中的每个攻击者,基于至少一个类别,确定与每个攻击者对应的访问行为数据所属的类别作为每个攻击者的行为类别。

根据本公开实施例,分类结果中的多个类别例如包括sql注入、跨站脚本攻击、文件上传、命令执行等类别。每个攻击者的ip地址可以属于多个类别。例如ip_1对应的类别为sql注入、跨站脚本攻击,ip_2对应的类别为sql注入、跨站脚本攻击、文件上传,ip_3对应的类别为sql注入、跨站脚本攻击、命令执行,ip_4对应的类别为命令执行。

在操作s353,确定m个攻击者中行为类别的相似度满足预设条件的至少部分攻击者作为一个分组。

其中,ip_1对应的类别、ip_2对应的类别以及ip_3对应的类别之间具有两个相同类别,可以得知ip_1、ip_2、ip_3之间的访问行为数据之间的相似度较高。ip_4与ip_1、ip_4与ip_2或者ip_4与ip_3之间没有相同攻击类别或相同攻击类别较少,可以得知ip_4与ip_1、ip_4与ip_2或者ip_4与ip_3之间的访问行为数据的相似度较低。因此,可以确定簇1中的ip_1、ip_2、ip_3对应的攻击者作为攻击团伙,即,将ip_4对应的攻击者排除。

本公开实施例通过识别攻击团伙,以便分析攻击团伙的攻击特点,从而可以依据攻击团伙的攻击特点进行针对性防护,提高防护的实效性和准确性。具体地,本公开实施例首先对攻击路径数据进行聚类,得到以ip地址为主键的聚类结果。针对聚类结果中的每个簇,以ip地址为主键确定该簇中各ip地址的行为类别,并将该簇中行为类别相似的ip地址对应的攻击者确定为攻击团伙。可以理解,同时考虑攻击者之间的访问路径和访问行为来识别攻击团伙,提高了攻击团伙的识别准确性。

图6示意性示出了根据本公开实施例攻击团伙的识别装置结构图。

如图6所示,攻击团伙的识别装置600例如可以包括http数据提取模块610、特征提取模块620以及攻击团伙分析模块630。其中,http数据例如为以上所描述的访问数据。本公开实施例例如将http数据发送至http数据提取模块610,该http数据提取模块610可选取符合标准的数据发送至特征提取模块620进行特征提取,然后通过攻击团伙分析模块630对攻击路径进行聚类分析以及对攻击行为进行分类以便于发现团伙攻击。

根据本公开实施例,http数据提取模块610例如包括http方法判别单元611、攻击路径获取单元612以及攻击行为获取单元613。以下将分别介绍各个单元的功能。

http方法判别单元611例如可以用于根据应用层http协议区分数据类型,例如判别http数据的协议头中是否包含get字段或者post字段。若http数据中包含get字段,则提取http数据中的url数据信息,该url数据信息中例如包括url地址和请求参数。若http数据中包含post字段,则提取http数据中的url数据信息和请求体。其中,url数据信息中包括url地址,请求体中包括请求参数。其中,请求参数例如包括至少一个键值对,每个键值对例如均包括参数名和与参数名对应的参数值。

攻击路径获取单元612例如可以用于提取攻击路径数据(相当于上述的访问路径数据)。若http数据中包含get字段,则选取url数据信息中问号字符(“?”)之前的字段作为攻击路径数据。若http数据中包含post字段,则选取全部url数据信息作为攻击路径数据。

攻击行为获取单元613例如可以用于提取攻击行为数据(相当于上述的访问行为数据)。若http数据中包含get字段,选取url数据信息中问号字符(“?”)之后的字段作为攻击行为数据,其中包括参数名和参数值组成的键值对。若http数据中包含post字段,则选取请求体中的参数名和参数值组成的键值对作为攻击行为数据。

根据本公开实施例,特征提取模块620例如可以用于处理攻击路径数据和攻击行为数据以得到相应的特征向量,并将特征向量发送至攻击团伙分析模块630进行分析。其中,特征提取模块620例如包括攻击路径特征单元621和攻击行为特征单元622。以下将分别介绍各个单元的功能。

攻击路径特征单元621例如可以用于接收攻击路径获取单元612所提取的攻击路径数据,并处理攻击路径数据得到与该攻击路径对应的特征向量。具体过程与上述图4所描述的实施例相同或类似,在此不再赘述。

攻击行为特征单元622例如可以用于接收攻击行为获取单元613所提取的攻击行为数据,并处理攻击行为数据得到与该攻击行为对应的特征向量。具体过程与上述图4所描述实施例相同或类似,在此不再赘述。

根据本公开实施例,攻击团伙分析模块630例如可以用于对攻击路径数据进行聚类以及对攻击行为数据进行分类,并结合聚类结果和分类结果挖掘攻击团伙。其中,攻击团伙分析模块630例如包括攻击路径聚类单元631、攻击行为分类单元632以及关联分析单元633。以下将分别介绍各个单元的功能。

攻击路径聚类单元631例如可以用于接收来自攻击路径特征单元621的攻击路径的特征向量,并利用聚类算法将攻击路径数据划分到不同的簇。不同的簇例如有不同的簇索引,例如以1、2、3等正整数作为多个簇的簇索引,然后将攻击路径数据所属的簇索引传递给关联分析单元633进行分析。

攻击行为分类单元632例如可以用于接收来自攻击行为特征单元622的攻击行为特征向量,利用监督学习算法对攻击行为数据进行分类得到多个攻击类别,多个攻击类别包括但不限于sql注入、跨站脚本攻击、文件上传、命令执行等等。然后将攻击类别传递给关联分析单元633进行分析。

关联分析单元633例如以攻击者的ip地址作为主键,将攻击路径数据所属的簇和攻击行为数据的攻击类别进行关联分析。将属于同一攻击路径簇别和攻击类别的ip地址对应的攻击者确定为同一攻击团伙。

图7示意性示出了根据本公开实施例的攻击团伙的识别装置的框图。

如图7所示,攻击团伙的识别装置700例如可以包括获取模块710、处理模块720、第一确定模块730、第二确定模块740以及第三确定模块750。

获取模块710可以用于获取多个攻击者访问目标设备生成的访问数据,其中,访问数据包括多个攻击者的访问路径和访问行为。根据本公开实施例,获取模块710例如可以执行上文参考图3描述的操作s310,在此不再赘述。

处理模块720可以用于处理访问数据,得到多个访问路径数据和多个访问行为数据。根据本公开实施例,处理模块720例如可以执行上文参考图3描述的操作s320,在此不再赘述。

第一确定模块730可以用于确定多个访问路径数据彼此之间的相似度。根据本公开实施例,第一确定模块730例如可以执行上文参考图3描述的操作s330,在此不再赘述。

第二确定模块740可以用于确定多个访问行为数据彼此之间的相似度。根据本公开实施例,第二确定模块740例如可以执行上文参考图3描述的操作s340,在此不再赘述。

第三确定模块750可以用于基于多个访问路径数据彼此之间的相似度和多个访问行为数据彼此之间的相似度,确定多个攻击者中的至少一个攻击团伙,其中,同一个攻击团伙中攻击者的访问路径数据的相似度满足第一阈值条件,同一个攻击团伙中攻击者的访问行为数据的相似度满足第二阈值条件。根据本公开实施例,第三确定模块750例如可以执行上文参考图3描述的操作s350,在此不再赘述。

根据本公开实施例,确定多个访问路径数据彼此之间的相似度包括:对多个访问路径数据进行聚类处理,得到聚类结果,其中,聚类结果表征了多个访问路径数据彼此之间的相似度。

根据本公开实施例,确定多个访问行为数据彼此之间的相似度包括:对多个访问行为数据进行分类处理,得到分类结果,其中,分类结果表征了多个访问行为数据彼此之间的相似度。

根据本公开实施例,聚类结果包括至少一个簇,至少一个簇中的每个簇具有至少两个访问路径数据。分类结果包括至少一个类别,至少一个类别中的每个类别具有至少两个访问行为数据。其中,基于多个访问路径数据彼此之间的相似度和多个访问行为数据彼此之间的相似度,确定多个攻击者中的至少一个攻击团伙包括:基于聚类结果和分类结果,确定多个攻击者中的至少一个攻击团伙。

根据本公开实施例,基于聚类结果和分类结果,确定多个攻击者中的至少一个攻击团伙包括:针对至少一个簇中的每一个簇,确定与至少两个访问路径数据对应的m个攻击者,m为大于或等于2的整数,针对m个攻击者中的每个攻击者,基于至少一个类别,确定与每个攻击者对应的访问行为数据所属的类别作为每个攻击者的行为类别,确定m个攻击者中行为类别的相似度满足预设条件的至少部分攻击者作为一个分组。

根据本公开实施例,访问数据包括n个访问数据,n为大于或等于2的整数。其中,处理访问数据,得到多个访问路径数据和多个访问行为数据包括:针对n个访问数据中每个访问数据,提取访问数据中的访问路径数据,以得到n个访问路径数据,针对n个访问数据中每个访问数据,确定访问数据中是否具有访问行为数据,响应于确定访问数据中具有访问行为数据,提取访问数据中的访问行为数据,以得到p个访问行为数据,其中,p为小于或等于n的正整数。

根据本公开实施例,对多个访问路径数据进行聚类处理包括:针对n个访问路径数据中的每个访问路径数据,处理访问路径数据,以得到与n个访问路径数据一一对应的n个路径特征数据,对n个路径特征数据进行聚类处理。

根据本公开实施例,对多个访问行为数据进行分类处理包括:针对p个访问行为数据中的每个访问行为数据,处理访问行为数据,以得到与p个访问行为数据一一对应的p个行为特征数据,对p个行为特征数据进行分类处理。

根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

例如,获取模块710、处理模块720、第一确定模块730、第二确定模块740以及第三确定模块750中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,获取模块710、处理模块720、第一确定模块730、第二确定模块740以及第三确定模块750中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块710、处理模块720、第一确定模块730、第二确定模块740以及第三确定模块750中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

图8示意性示出了根据本公开实施例的用于识别攻击团伙的计算机系统的方框图。图8示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图8所示,计算机系统800包括处理器801、计算机可读存储介质802。该系统800可以执行根据本公开实施例的方法。

具体地,处理器801例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器801还可以包括用于缓存用途的板载存储器。处理器801可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

计算机可读存储介质802,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(hdd);光存储装置,如光盘(cd-rom);存储器,如随机存取存储器(ram)或闪存;和/或有线/无线通信链路。

计算机可读存储介质802可以包括计算机程序803,该计算机程序803可以包括代码/计算机可执行指令,其在由处理器801执行时使得处理器801执行根据本公开实施例的方法或其任何变形。

计算机程序803可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序803中的代码可以包括一个或多个程序模块,例如包括803a、模块803b、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器801执行时,使得处理器801可以执行根据本公开实施例的方法或其任何变形。

根据本公开的实施例,获取模块710、处理模块720、第一确定模块730、第二确定模块740以及第三确定模块750中的至少一个可以实现为参考图8描述的计算机程序模块,其在被处理器801执行时,可以实现上面描述的相应操作。

本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现上述方法。

根据本公开的实施例,计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、射频信号等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。

尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1