掌桥专利:专业的专利平台
掌桥专利
首页

恶意流量检测方法、装置、计算机设备和存储介质

文献发布时间:2024-04-18 19:58:30


恶意流量检测方法、装置、计算机设备和存储介质

技术领域

本申请涉及计算机技术领域,特别是涉及一种恶意流量检测方法、装置、计算机设备和存储介质。

背景技术

随着计算机技术的发展,在进行线上金融交易的过程中,可能会存在恶意流量对金融网络的安全造成危险,因此,为及时发现金融网络中的恶意流量,出现了一种通过数据流量的特征对数据流量进行识别判断的方法。

现有技术中,对数据流量的特征提取通常是基于神经网络来完成的,但针对特征不够鲜明的数据流量,神经网络通常不能准确的提取该数据流量的特征,导致恶意流量的识别准确性较低。

发明内容

基于此,有必要针对上述技术问题,提供一种能够提高恶意流量识别准确度的恶意流量检测方法、装置、计算机设备和存储介质。

第一方面,本申请提供了一种恶意流量检测方法。所述方法包括:

获取多个恶意流量分别对应的二进制字符串,从各二进制字符串中确定出现频率大于频率阈值的第一子字符串;

针对每个二进制字符串,从二进制字符串中查找第一子字符串的相似子字符串;

从第一子字符串的相似子字符串中确定切分位置,将相似子字符串所属的二进制字符串在切分位置处进行切分,得到切分子字符串;

根据切分子字符串在各二进制字符串中的出现频率,从各切分子字符串中选取第二子字符串;

基于第一子字符串和第二子字符串得到恶意字符串集合;恶意字符串集合,用于进行恶意流量检测。

在其中一个实施例中,从各二进制字符串中确定出现频率大于频率阈值的第一子字符串包括:

对各二进制字符串进行切分得到多个第一候选子字符串;

统计各第一候选子字符串分别在各二进制字符串中的出现频率;

从各第一候选子字符串中选取出现频率大于频率阈值的第一候选子字符串,作为第一子字符串。

在其中一个实施例中,对各二进制字符串进行切分得到多个第一候选子字符串包括:

针对各二进制字符串的每一位置,统计位置处字符为预设字符的二进制字符串的数量,得到位置对应的字符串数量;

从各位置中选取字符串数量小于预设数量的位置,得到目标位置;

针对每个二进制字符串,在目标位置对二进制字符串进行切分,得到多个第一候选子字符串;各第一候选子字符串中不包括目标位置处的字符串。

在其中一个实施例中,从各第一候选子字符串中选取出现频率大于频率阈值的第一候选子字符串,作为第一子字符串包括:

确定各第一候选子字符串各自的字符长度;

从各第一候选子字符串中选取字符长度大于或等于长度阈值的候选子字符串,作为各第二候选子字符串;

从各第二候选子字符串中选取出现频率大于频率阈值的第二候选子字符串,作为第一子字符串。

在其中一个实施例中,从二进制字符串中查找第一子字符串的相似子字符串包括:

确定第一子字符串的位置和字符长度;

基于第一子字符串的位置和字符长度从二进制字符串中,确定第一子字符串的相似子字符串;其中,第一子字符串的相似子字符串与第一子字符串的位置和长度一致。

在其中一个实施例中,从第一子字符串的相似子字符串中确定切分位置包括:

将第一子字符串与相似子字符串中同一位置的字符进行对比;

将字符对比结果为不一致的位置确定为切分位置。

第二方面,本申请还提供了一种恶意流量检测装置。所述装置包括:

第一串获取模块,用于获取多个恶意流量分别对应的二进制字符串,从各二进制字符串中确定出现频率大于频率阈值的第一子字符串;

相似串获取模块,用于针对每个二进制字符串,从二进制字符串中查找第一子字符串的相似子字符串;

切分串获取模块,用于从第一子字符串的相似子字符串中确定切分位置,将相似子字符串所属的二进制字符串在切分位置处进行切分,得到切分子字符串;

第二串获取模块,用于根据切分子字符串在各二进制字符串中的出现频率,从各切分子字符串中选取第二子字符串;

恶意串获取模块,用于基于第一子字符串和第二子字符串得到恶意字符串集合;恶意字符串集合,用于进行恶意流量检测。

第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取多个恶意流量分别对应的二进制字符串,从各二进制字符串中确定出现频率大于频率阈值的第一子字符串;

针对每个二进制字符串,从二进制字符串中查找第一子字符串的相似子字符串;

从第一子字符串的相似子字符串中确定切分位置,将相似子字符串所属的二进制字符串在切分位置处进行切分,得到切分子字符串;

根据切分子字符串在各二进制字符串中的出现频率,从各切分子字符串中选取第二子字符串;

基于第一子字符串和第二子字符串得到恶意字符串集合;恶意字符串集合,用于进行恶意流量检测。

第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取多个恶意流量分别对应的二进制字符串,从各二进制字符串中确定出现频率大于频率阈值的第一子字符串;

针对每个二进制字符串,从二进制字符串中查找第一子字符串的相似子字符串;

从第一子字符串的相似子字符串中确定切分位置,将相似子字符串所属的二进制字符串在切分位置处进行切分,得到切分子字符串;

根据切分子字符串在各二进制字符串中的出现频率,从各切分子字符串中选取第二子字符串;

基于第一子字符串和第二子字符串得到恶意字符串集合;恶意字符串集合,用于进行恶意流量检测。

第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:

获取多个恶意流量分别对应的二进制字符串,从各二进制字符串中确定出现频率大于频率阈值的第一子字符串;

针对每个二进制字符串,从二进制字符串中查找第一子字符串的相似子字符串;

从第一子字符串的相似子字符串中确定切分位置,将相似子字符串所属的二进制字符串在切分位置处进行切分,得到切分子字符串;

根据切分子字符串在各二进制字符串中的出现频率,从各切分子字符串中选取第二子字符串;

基于第一子字符串和第二子字符串得到恶意字符串集合;恶意字符串集合,用于进行恶意流量检测。

上述恶意流量检测方法、装置、计算机设备和存储介质,根据获取到的恶意流量对应二进制字符串,从各二进制字符串中确定第一子字符串,再基于第一子字符串进一步从各二进制字符串中切分出第二子字符串,最后根据第一子字符串和第二子字符串得到恶意字符串集合,从而恶意字符串集合包括了在恶意流量中较多的频繁出现的字符串。由于恶意字符串集合用于进行恶意流量检测,因此可以基于恶意字符串集合准确进行恶意流量的识别,提高了识别恶意流量的准确度。

附图说明

图1为本实施例提供的一种恶意流量检测方法的应用环境图;

图2为本实施例提供的第一种恶意流量检测方法的流程示意图;

图3为本实施例提供的一种确定第一字符串步骤的流程示意图;

图4为本实施例提供的第二种恶意流量检测方法的流程示意图;

图5为本实施例提供的第一种恶意流量检测装置的结构框图;

图6为本实施例提供的第二种恶意流量检测装置的结构框图;

图7为本实施例提供的第三种恶意流量检测装置的结构框图;

图8为本实施例提供的一种计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请实施例提供的恶意流量检测方法,可以应用于如图1所示的应用环境中。在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图1所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储恶意流量和恶意字符串集合数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种恶意流量检测方法。

在一个实施例中,如图2所示,提供了一种恶意流量检测方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:

S201获取多个恶意流量分别对应的二进制字符串,从各二进制字符串中确定出现频率大于频率阈值的第一子字符串。

其中,恶意流量可以是网络流量中存在恶意行为的数据流量,可选地,恶意行为可以包括网络攻击、业务攻击和恶意爬虫等。

其中,二进制字符串可以是二进制形式的恶意流量。

其中,出现频率用于表征第一子字符串在各二进制字符串中出现的次数。

可选地,服务器获取历史截获的多个恶意流量,针对每一恶意流量,对该恶意流量进行剪枝处理,即从恶意流量中去除无效数据(如符号等),得到剪枝处理后的恶意流量,并对该剪枝处理后的恶意流量进行二进制转换,得到各恶意流量对应的二进制字符串。随机对二进制字符串进行切分处理,得到若干第一候选子字符串,确定第一候选子字符串在各二进制字符串中出现的次数,并计算该出现次数与二进制字符串数量之间的差值,并将该差值作为该第一候选子字符串的出现频率,从所有第一候选子字符串中选取出现频率大于频率阈值的第一候选子字符串作为第一子字符串。

S202针对每个二进制字符串,从二进制字符串中查找第一子字符串的相似子字符串。

其中,相似字符串可以是在各二进制字符串中与第一子字符串存在相同字符的字符串。优选地,该第一子字符串的相似子字符串可以与第一子字符串的位置和长度均一致。

可选地,针对每个二进制字符串,从二进制字符串中查找第一子字符串的相似子字符串的方式有多种,本申请对此不做限定。

其中一种可选方式可以是,针对每个二进制字符串,从该二进制字符串中查找出与各第一子字符串存在相同字符的字符串,当相同字符的字符数量大于字符数量阈值时,则将该存在相同字符的字符串作为相似子字符串。

另一种可选方式可以是,确定第一子字符串的位置和字符长度;基于第一子字符串的位置和字符长度从二进制字符串中,确定第一子字符串的相似子字符串。

具体的,针对每个第一子字符串,服务器会根据该第一字符串的字符长度和第一个字符的位置信息,从各二进制字符串中查找出与位置信息相同的位置作为起始位置,并以该起始位置开始选取与该第一字符串的字符长度相同的字符串,作为同长度位置字符串,并确定该第一字符串与该同长度位置字符串之间同一位置的字符不同的字符数量,将该字符数量小于字符数量阈值的同长度位置字符串作为相似子字符串。

优选地,为了更好的从数据流量中检测出恶意流量,应当尽可能增加恶意字符串集合中包含不同恶意流量特征的字符串,因此,在保证包含恶意流量特征的字符串长度能够进行精准的恶意流量检测的基础上,优选的,本实施例可以选取出第一字符串与该同长度位置字符串之间每一同一位置的字符中,仅有一个字符不同的字符串作为相似子字符串。

S203从第一子字符串的相似子字符串中确定切分位置,将相似子字符串所属的二进制字符串在切分位置处进行切分,得到切分子字符串。

可选地,从第一子字符串的相似子字符串中确定切分位置的方式可以是,服务器将第一子字符串的相似子字符串中的任意位置作为切分位置,也可以是将第一子字符串与相似子字符串中同一位置的字符进行对比;将字符对比结果为不一致的位置确定为切分位置。具体的,服务器将第一子字符串与相似子字符串中同一位置的字符进行对比,从相似子字符串中选取出字符不同的位置,并将该字符不同的位置确定为切分位置。

可选地,在确定出相似子字符串中的切分位置之后,将相似子字符串在切分位置处进行切分,得到至少两个切分子字符串。

示例性的,“#X”表示该字符串中第一各字符在所属的二进制字符串中的位置。假设某个第一子字符串为“010000100

S204根据切分子字符串在各二进制字符串中的出现频率,从各切分子字符串中选取第二子字符串。

可选地,针对每一切分子字符串,确定该切分子字符串在各二进制字符串中相同位置出现的次数,并计算该出现次数与二进制字符串数量之间的差值,并将该差值作为该切分子字符串的出现频率,从所有切分子字符串中选取出现频率大于频率阈值的切分子字符串作为第二子字符串。

S205基于第一子字符串和第二子字符串得到恶意字符串集合。

其中,恶意字符串集合可以是包含恶意流量特征的字符串构成的集合。可选地,恶意字符串集合可以用于进行恶意流量检测。

可选地,服务器构建一个字符串集合,并将第一子字符串和第二子字符串添加到该字符串集合中对该字符串集合进行更新,并将更新后的字符串集合作为恶意字符串集合。

需要说明的是,当服务器检测到恶意流量检测需求时,会基于获取到的待检测的数据流量进行二进制转换,得到数据流量二进制字符串,将该数据流量二进制字符串与恶意字符串集合中的每一恶意字符串进行对比,从中选取出包含恶意字符串的数据流量二进制字符串,并将该数据流量二进制字符串对应数据流量确定为恶意流量。

上述恶意流量检测方法,根据获取到的恶意流量对应二进制字符串,从各二进制字符串中确定第一子字符串,再基于第一子字符串进一步从各二进制字符串中切分出第二子字符串,最后根据第一子字符串和第二子字符串得到恶意字符串集合,从而恶意字符串集合包括了在恶意流量中较多的频繁出现的字符串。由于恶意字符串集合用于进行恶意流量检测,因此可以基于恶意字符串集合准确进行恶意流量的识别,提高了识别恶意流量的准确度。并且,由于恶意字符串集合用于进行恶意流量检测,从而可以通过恶意字符串集合快速的识别出恶意流量,减少了识别恶意流量所消耗的时间,提高了识别恶意流量的效率。

图3为一个实施例中确定第一子字符串的流程示意图。为保证获取到的第一字符串的准确性,在上述实施例的基础上,本实施例详细本实施例给出了一种确定第一子字符串的可选方式,包括如下步骤:

S301对各二进制字符串进行切分得到多个第一候选子字符串。

可选地,对各二进制字符串进行切分得到多个第一候选子字符串的方式有多种,可以是直接对各二进制字符串进行随机位置的切分得到至少两个第一候选子字符串,还可以是针对各二进制字符串的每一位置,统计位置处字符为预设字符的二进制字符串的数量,得到位置对应的字符串数量;从各位置中选取字符串数量小于预设数量的位置,得到目标位置;针对每个二进制字符串,在目标位置对二进制字符串进行切分,得到多个第一候选子字符串。其中,各第一候选子字符串中不包括目标位置处的字符串。具体的,针对各二进制字符串中的每一位置,服务器遍历各二进制字符串中该位置对应的字符,统计该位置处字符为预设字符的二进制字符串的数量,并将该二进制字符串的数量作为位置对应的字符串数量,并将该字符串数量小于预设数量的位置作为目标位置。针对每个目标位置,服务器还会将该目标位置作为切分标志对各二进制字符串进行切分,得到将二进制字符串切分成至少两个第一候选子字符串。

示例性的,假设预设字符为0,预设数量为2,存在二进制字符串1为“010101”,二进制字符串2为“000000”,二进制字符串3为“111111”,二进制字符串4为“101010”,二进制字符串5为“011011”。则,针对各二进制字符串中的第一个字符,二进制字符串1、二进制字符串2和二进制字符串5的第一个字符为0,所以,第一个字符的字符串数量为3,因此,第一个字符的字符串数量不小于预设数量,第一个字符不是目标位置;同理,针对各二进制字符串中的第二个字符,该第二个字符的字符串数量为2,因此,第二个字符的字符串数量不小于预设数量,第二个字符不是目标位置;针对各二进制字符串中的第三个字符,该第三个字符的字符串数量为2,因此,第三个字符的字符串数量不小于预设数量,第三个字符不是目标位置;针对各四进制字符串中的第二个字符,该第四个字符的字符串数量为3,因此,第四个字符的字符串数量不小于预设数量,第四个字符不是目标位置;针对各五进制字符串中的第二个字符,该第五个字符的字符串数量为1,因此,第五个字符的字符串数量小于预设数量,第五个字符是目标位置;针对各六进制字符串中的第二个字符,该第六个字符的字符串数量为2,因此,第六个字符的字符串数量不小于预设数量,第六个字符不是目标位置。综上,只有第五个字符是目标位置,因此,针对每个二进制字符串均从第五个字符进行切分,即保留第1-4个字符作为一个第一候选子字符串,和第六个字符也作为一个第一候选子字符串。

需要说明的是,由于每个二进制字符串中的目标位置均相同,所以,可能会存在相同的第一候选子字符串,因此,本实施例还可以在确定出第一候选子字符串之后,对所有第一候选子字符串进行去重处理,即针对多个相同的第一候选子字符串,仅保留一个即可。

S302统计各第一候选子字符串分别在各二进制字符串中的出现频率。

可选地,针对每一第一候选子字符串,服务器可以从各二进制字符串中确定与该第一候选子字符串中每一字符位置均相同的部分字符串,并统计各第一候选子字符串分别在各二进制字符串中的出现的次数,并计算该出现次数与二进制字符串数量之间的差值,并将该差值作为该第一候选子字符串的出现频率。

S303从各第一候选子字符串中选取出现频率大于频率阈值的第一候选子字符串,作为第一子字符串。

可选地,从各第一候选子字符串中选取出现频率大于频率阈值的第一候选子字符串,作为第一子字符串的方法,可以是服务器直接从所有第一候选子字符串中选取出现频率大于频率阈值的第一候选子字符串作为第一子字符串。也可以是服务器确定各第一候选子字符串各自的字符长度;从各第一候选子字符串中选取字符长度大于或等于长度阈值的候选子字符串,作为各第二候选子字符串;从各第二候选子字符串中选取出现频率大于频率阈值的第二候选子字符串,作为第一子字符串。具体的,针对第一候选子字符串,服务器先确定该第一候选子字符串的字符长度,并从各第一候选子字符串中选取字符长度大于或等于长度阈值的候选子字符串,作为各第二候选子字符串,再针对每一第二候选子字符串,确定该第二候选子字符串的出现频率,从所有第二候选子字符串中选取出现频率大于频率阈值的第二候选子字符串作为第一子字符串。

上述确定第一子字符串方法,对各二进制字符串进行切分得到多个第一候选子字符串,并根据各第一候选子字符串在各二进制字符串中的出现频率,确定出第一子字符串,该方法通过遍历各二进制字符串,能够准确的从各二进制字符串中切分和筛选出存在恶意流量特征的字符串,为后续基于第一子字符串确定第二子字符串提供了保障。

在一个实施例中,本实施例给出了一种恶意流量检测的可选方式,以该方法应用于服务器为例进行说明。如图4所示,该方法包括如下步骤:

S401获取多个恶意流量分别对应的二进制字符串,针对各二进制字符串的每一位置,统计位置处字符为预设字符的二进制字符串的数量,得到位置对应的字符串数量。

S402从各位置中选取字符串数量小于预设数量的位置,得到目标位置。

S403针对每个二进制字符串,在目标位置对二进制字符串进行切分,得到多个第一候选子字符串;各第一候选子字符串中不包括目标位置处的字符串。

S404统计各第一候选子字符串分别在各二进制字符串中的出现频率。

S405确定各第一候选子字符串各自的字符长度。

S406从各第一候选子字符串中选取字符长度大于或等于长度阈值的候选子字符串,作为各第二候选子字符串。

S407从各第二候选子字符串中选取出现频率大于频率阈值的第二候选子字符串,作为第一子字符串。

S408确定第一子字符串的位置和字符长度。

S409基于第一子字符串的位置和字符长度从二进制字符串中,确定第一子字符串的相似子字符串;其中,第一子字符串的相似子字符串与第一子字符串的位置和长度一致。

S410将第一子字符串与相似子字符串中同一位置的字符进行对比。

S411将字符对比结果为不一致的位置确定为切分位置,将相似子字符串所属的二进制字符串在切分位置处进行切分,得到切分子字符串。

S412根据切分子字符串在各二进制字符串中的出现频率,从各切分子字符串中选取第二子字符串。

S413基于第一子字符串和第二子字符串得到恶意字符串集合;恶意字符串集合,用于进行恶意流量检测。

应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的恶意流量检测方法的恶意流量检测装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个恶意流量检测装置实施例中的具体限定可以参见上文中对于恶意流量检测方法的限定,在此不再赘述。

在一个实施例中,如图5所示,提供了一种恶意流量检测装置1,包括:第一串获取模块10、相似串获取模块11、切分串获取模块12、第二串获取模块13和恶意串获取模块14,其中:

第一串获取模块10,用于获取多个恶意流量分别对应的二进制字符串,从各二进制字符串中确定出现频率大于频率阈值的第一子字符串;

相似串获取模块11,用于针对每个二进制字符串,从二进制字符串中查找第一子字符串的相似子字符串;

切分串获取模块12,用于从第一子字符串的相似子字符串中确定切分位置,将相似子字符串所属的二进制字符串在切分位置处进行切分,得到切分子字符串;

第二串获取模块13,用于根据切分子字符串在各二进制字符串中的出现频率,从各切分子字符串中选取第二子字符串;

恶意串获取模块14,用于基于第一子字符串和第二子字符串得到恶意字符串集合;恶意字符串集合,用于进行恶意流量检测。

在一个实施例中,如图6所示,图5中的第一串获取模块10,包括:

候选串获取单元100,用于对各二进制字符串进行切分得到多个第一候选子字符串;

频率统计单元101,用于统计各第一候选子字符串分别在各二进制字符串中的出现频率;

第一子串确定单元102,用于从各第一候选子字符串中选取出现频率大于频率阈值的第一候选子字符串,作为第一子字符串。

在一个实施例中,图6中的候选串获取单元100,包括:

数量获取子单元,用于针对各二进制字符串的每一位置,统计位置处字符为预设字符的二进制字符串的数量,得到位置对应的字符串数量;

目标位置确定子单元,用于从各位置中选取字符串数量小于预设数量的位置,得到目标位置;

候选子串获取子单元,用于针对每个二进制字符串,在目标位置对二进制字符串进行切分,得到多个第一候选子字符串;各第一候选子字符串中不包括目标位置处的字符串。

在一个实施例中,图6中的确定第一串单元102,包括:

长度确定子单元,用于确定各第一候选子字符串各自的字符长度;

第二候选确定子单元,用于从各第一候选子字符串中选取字符长度大于或等于长度阈值的候选子字符串,作为各第二候选子字符串;

第一子串确定子单元,用于从各第二候选子字符串中选取出现频率大于频率阈值的第二候选子字符串,作为第一子字符串。

在一个实施例中,如图7所示,图5中的切分串获取模块12,包括:

位置长度确定单元120,用于确定第一子字符串的位置和字符长度;

相似串确定单元121,用于基于第一子字符串的位置和字符长度从二进制字符串中,确定第一子字符串的相似子字符串;其中,第一子字符串的相似子字符串与第一子字符串的位置和长度一致。

在一个实施例中,图5中的切分串获取模块12,具体用于将第一子字符串与相似子字符串中同一位置的字符进行对比;将字符对比结果为不一致的位置确定为切分位置。

上述恶意流量检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种恶意流量检测方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

获取多个恶意流量分别对应的二进制字符串,从各二进制字符串中确定出现频率大于频率阈值的第一子字符串;

针对每个二进制字符串,从二进制字符串中查找第一子字符串的相似子字符串;

从第一子字符串的相似子字符串中确定切分位置,将相似子字符串所属的二进制字符串在切分位置处进行切分,得到切分子字符串;

根据切分子字符串在各二进制字符串中的出现频率,从各切分子字符串中选取第二子字符串;

基于第一子字符串和第二子字符串得到恶意字符串集合;恶意字符串集合,用于进行恶意流量检测。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

对各二进制字符串进行切分得到多个第一候选子字符串;

统计各第一候选子字符串分别在各二进制字符串中的出现频率;

从各第一候选子字符串中选取出现频率大于频率阈值的第一候选子字符串,作为第一子字符串。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

针对各二进制字符串的每一位置,统计位置处字符为预设字符的二进制字符串的数量,得到位置对应的字符串数量;

从各位置中选取字符串数量小于预设数量的位置,得到目标位置;

针对每个二进制字符串,在目标位置对二进制字符串进行切分,得到多个第一候选子字符串;各第一候选子字符串中不包括目标位置处的字符串。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

确定各第一候选子字符串各自的字符长度;

从各第一候选子字符串中选取字符长度大于或等于长度阈值的候选子字符串,作为各第二候选子字符串;

从各第二候选子字符串中选取出现频率大于频率阈值的第二候选子字符串,作为第一子字符串。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

确定第一子字符串的位置和字符长度;

基于第一子字符串的位置和字符长度从二进制字符串中,确定第一子字符串的相似子字符串;其中,第一子字符串的相似子字符串与第一子字符串的位置和长度一致。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

将第一子字符串与相似子字符串中同一位置的字符进行对比;

将字符对比结果为不一致的位置确定为切分位置。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取多个恶意流量分别对应的二进制字符串,从各二进制字符串中确定出现频率大于频率阈值的第一子字符串;

针对每个二进制字符串,从二进制字符串中查找第一子字符串的相似子字符串;

从第一子字符串的相似子字符串中确定切分位置,将相似子字符串所属的二进制字符串在切分位置处进行切分,得到切分子字符串;

根据切分子字符串在各二进制字符串中的出现频率,从各切分子字符串中选取第二子字符串;

基于第一子字符串和第二子字符串得到恶意字符串集合;恶意字符串集合,用于进行恶意流量检测。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

对各二进制字符串进行切分得到多个第一候选子字符串;

统计各第一候选子字符串分别在各二进制字符串中的出现频率;

从各第一候选子字符串中选取出现频率大于频率阈值的第一候选子字符串,作为第一子字符串。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

针对各二进制字符串的每一位置,统计位置处字符为预设字符的二进制字符串的数量,得到位置对应的字符串数量;

从各位置中选取字符串数量小于预设数量的位置,得到目标位置;

针对每个二进制字符串,在目标位置对二进制字符串进行切分,得到多个第一候选子字符串;各第一候选子字符串中不包括目标位置处的字符串。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

确定各第一候选子字符串各自的字符长度;

从各第一候选子字符串中选取字符长度大于或等于长度阈值的候选子字符串,作为各第二候选子字符串;

从各第二候选子字符串中选取出现频率大于频率阈值的第二候选子字符串,作为第一子字符串。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

确定第一子字符串的位置和字符长度;

基于第一子字符串的位置和字符长度从二进制字符串中,确定第一子字符串的相似子字符串;其中,第一子字符串的相似子字符串与第一子字符串的位置和长度一致。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

将第一子字符串与相似子字符串中同一位置的字符进行对比;

将字符对比结果为不一致的位置确定为切分位置。

在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:

获取多个恶意流量分别对应的二进制字符串,从各二进制字符串中确定出现频率大于频率阈值的第一子字符串;

针对每个二进制字符串,从二进制字符串中查找第一子字符串的相似子字符串;

从第一子字符串的相似子字符串中确定切分位置,将相似子字符串所属的二进制字符串在切分位置处进行切分,得到切分子字符串;

根据切分子字符串在各二进制字符串中的出现频率,从各切分子字符串中选取第二子字符串;

基于第一子字符串和第二子字符串得到恶意字符串集合;恶意字符串集合,用于进行恶意流量检测。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

对各二进制字符串进行切分得到多个第一候选子字符串;

统计各第一候选子字符串分别在各二进制字符串中的出现频率;

从各第一候选子字符串中选取出现频率大于频率阈值的第一候选子字符串,作为第一子字符串。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

针对各二进制字符串的每一位置,统计位置处字符为预设字符的二进制字符串的数量,得到位置对应的字符串数量;

从各位置中选取字符串数量小于预设数量的位置,得到目标位置;

针对每个二进制字符串,在目标位置对二进制字符串进行切分,得到多个第一候选子字符串;各第一候选子字符串中不包括目标位置处的字符串。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

确定各第一候选子字符串各自的字符长度;

从各第一候选子字符串中选取字符长度大于或等于长度阈值的候选子字符串,作为各第二候选子字符串;

从各第二候选子字符串中选取出现频率大于频率阈值的第二候选子字符串,作为第一子字符串。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

确定第一子字符串的位置和字符长度;

基于第一子字符串的位置和字符长度从二进制字符串中,确定第一子字符串的相似子字符串;其中,第一子字符串的相似子字符串与第一子字符串的位置和长度一致。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

将第一子字符串与相似子字符串中同一位置的字符进行对比;

将字符对比结果为不一致的位置确定为切分位置。

需要说明的是,本申请所涉及的数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

相关技术
  • 加密恶意流量检测方法、装置、电子设备及存储介质
  • 流量调配方法、装置、计算机设备及计算机可读存储介质
  • 恶意域名的检测方法、装置及计算机可读存储介质
  • 恶意进程检测方法、装置、电子设备及存储介质
  • 恶意进程检测方法、装置、电子设备及存储介质
  • 恶意流量的检测方法、装置、设备及计算机可读存储介质
  • 一种面向工控系统的恶意流量检测方法、装置及计算机存储介质
技术分类

06120116498825