一种检测方法、装置、电子设备和计算机可读存储介质与流程

文档序号:30387348发布日期:2022-06-11 11:30阅读:101来源:国知局
1.本技术涉及病毒网址检测
技术领域
:,特别涉及一种检测方法、检测装置、电子设备和计算机可读存储介质。
背景技术
::2.相关技术检测病毒url(uniformresourcelocator,统一资源定位器)的方法是模式匹配。其中,病毒url可以分割为两部分,第一部分为域名及硬编码部分,第二部分为按照一定规则生成,生成过程中使用了随机数,也就是说,病毒url的第一部分符合一定规则且第二部分符合随机数形式及特点格式,则进行检出,但是该检测方法泛化能力差,得到的检测结果准确性较低。3.因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。技术实现要素:4.本技术的目的是提供一种检测方法、检测装置、电子设备和计算机可读存储介质,具有泛化能力,检测结果准确性高。其具体方案如下:5.本技术提供了一种检测方法,包括:6.获取网址训练集;7.从所述网址训练集中提取多条网址的多个目标字符段,并根据所述多个目标字符段得到对应的多条特征向量,所述多个目标符字段中的每个目标符字段对应所述多条网址中的一条,每条目标字符段是对应网址中除域名之外的字符段;8.将所述多条特征向量输入深度学习模型,得到检测器;9.根据所述检测器对待处理网址进行检测。10.通过根据病毒网址的特点提取网址中除了域名之外的目标字符段,根据目标字符段得到特征向量,利用网址训练集对应的特征向量使用深度学习模型进行训练,得到检测器,利用检测器进行网址检测,克服了利用模式匹配的方式确定网址是否是病毒网址的低的泛化能力,进而造成低检测准确性的问题,本技术提供的检测器具有泛化能力,能够根据病毒网址的特点检测待处理网址,准确性高,极大地提高了检测病毒网址的检测效率。11.可选的,所述根据所述多个目标字符段得到对应的多条特征向量,包括:12.根据所述多个目标字符段的字符利用预设的字符表进行映射,得到对应的所述多条特征向量。13.采用字符表映射得到特征向量的方式,能够快速确定多条特征向量,提高了特征向量获取的效率。14.可选的,所述根据所述多个目标字符段的字符利用预设的字符表进行映射,得到对应的所述多条特征向量,包括:15.当所述多个目标字符段的目标符字段的字符数量大于预设阈值时,只取前所述预设阈值的字符,并利用预设的所述字符表进行映射得到对应的特征向量;16.当所述多个目标字符段的目标符字段的所述字符数量不大于所述预设阈值时,不足所述预设阈值的字符以目标字符表示,并利用预设的所述字符表进行映射得到对应的特征向量。17.由于采用了预设阈值的方式,当不足预设阈值的字符数量时采用目标字符补足,多余预设阈值时只取前预设阈值的字符,能够极大地避免采用所有的字符进行特征向量确定,造成的运算量大的问题,能够减少运算过程,提高特征向量确定的效率。18.可选的,还包括:19.判断是否出现无效字符;20.若出现所述无效字符,则利用所述目标字符表示所述无效字符。21.采用以目标字符替换无效字符的方式,一方面避免了特征向量无法获取的问题,另一方面克服了如果没有无效字符出现时,需要字符表中包括所有的字符,进而造成字符表设置的工作量大的问题。22.可选的,所述网址训练集包括sality家族网址训练集。23.本技术提供了一种检测装置,包括:24.网址训练集获取模块,用于获取网址训练集;25.特征向量获得模块,用于从所述网址训练集中提取多条网址的多个目标字符段,并根据所述多个目标字符段得到对应的多条特征向量,所述多个目标符字段中的每个目标符字段对应所述多条网址中的一条,每条目标字符段是对应网址中除域名之外的字符段;26.检测器获得模块,用于将所述多条特征向量输入深度学习模型,得到检测器;27.检测模块,用于根据所述检测器对待处理网址进行检测。28.可选的,所述特征向量获得模块,包括:29.多条特征向量确定单元,用于根据所述多个目标字符段的字符利用预设的字符表进行映射,得到对应的所述多条特征向量。30.可选的,所述多条特征向量确定单元,包括:31.第一特征向量确定子单元,用于当所述多个目标字符段的目标符字段的字符数量大于预设阈值时,只取前所述预设阈值的字符,并利用预设的所述字符表进行映射得到对应的特征向量;32.第二特征向量确定子单元,用于当所述多个目标字符段的目标符字段的所述字符数量不大于所述预设阈值时,不足所述预设阈值的字符以目标字符表示,并利用预设的所述字符表进行映射得到对应的特征向量。33.本技术提供了一种电子设备,包括:34.存储器,用于存储计算机程序;35.处理器,用于执行所述计算机程序时实现如上所述检测方法的步骤。36.本技术提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述检测方法的步骤。附图说明37.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。38.图1为本技术实施例所提供的一种检测方法的流程图;39.图2为本技术实施例所提供的一种检测装置的结构示意图;40.图3为本技术实施例提供的一种电子设备的结构示意图;41.图4为本技术实施例提供的另一种电子设备的结构示意图。具体实施方式42.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。43.相关技术检测病毒url(uniformresourcelocator,统一资源定位器)的方法是模式匹配。其中,病毒url可以分割为两部分,第一部分为域名及硬编码部分,第二部分为按照一定规则生成,生成过程中使用了随机数,也就是说,病毒url的第一部分符合一定规则且第二部分符合随机数形式及特点格式,则进行检出,但是该检测方法泛化能力差,得到的检测结果准确性较低。44.基于上述技术问题,本实施例提供一种检测方法,具有泛化能力,检测结果准确性高。45.具体请参考图1,图1为本技术实施例所提供的一种检测方法的流程图,具体包括:46.s110、获取网址训练集;47.其中,本实施例中网址训练集具体包括病毒网址训练集和正常网址训练集,本实施例不对病毒网址训练集和正常网址训练集中的网址数量进行限定,当然,两者的比例本实施例也不再进行限定,可以根据实际需求进行设置,例如,病毒网址训练集与正常网址训练集的比例可以使1:1、1:2、1:3、1:4等。优选的,正常网址训练集中的网址数量大于病毒网址训练集中的数量。48.可以理解的是,本实施例中针对的病毒网址是按照一定规则生成的病毒网址,可选的,病毒网址训练集为sality家族网址训练集。49.s120、从网址训练集中提取多条网址的多个目标字符段,并根据多个目标字符段得到对应的多条特征向量,多个目标符字段中的每个目标符字段对应多条网址中的一条,每条目标字符段是对应网址中除域名之外的字符段;50.其中,从网址训练集中提取多条网址的多个目标字段,具体包括从病毒网址训练集中提取多条网址的多条目标字段和正常网址训练集中提取多条网址的多条目标字段,例如,当病毒网址训练集中的网址为:www.taskanoto.com/logo.gif?ef5b6=8823654时,域名对应的字符段为www.taskanoto.com,目标字符段为logo.gif?ef5b6=8823654;当正常网址训练集中的网址为:search.cnipr.com/pages!advsearch.action时,域名对应的字符段为search.cnipr.com,目标字符段为pages!advsearch.action。51.根据多个目标字符段得到对应的多条特征向量的方式,本实施例不在进行限定,用户可根据实际需求进行设置。52.在一种可实现的实施方式中,步骤s120包括:根据多个目标字符段的字符利用预设的字符表进行映射,得到对应的多条特征向量。53.其中,预设的字符表可以是{‘《pad》’:0,‘a’:1,‘b’:2,‘c’:3,......,‘0’:100...},其中,目标字符《pad》以0代替,字符a以1代替,字符b以2代替等等,当然还可以是其它的形式的字符表,只要是能够实现本实施例的目的即可,用户可自定义设置。具体的,根据字符表可以得到目标字符段对应的特征向量,例如特征向量为[23,35,45,1,2,......,0]。[0054]可见,采用字符表映射得到特征向量的方式,能够快速确定多条特征向量,提高了特征向量获取的效率。[0055]进一步的,根据多个目标字符段的字符利用预设的字符表进行映射,得到对应的多条特征向量,包括:[0056]当多个目标字符段的目标符字段的字符数量大于预设阈值时,只取前预设阈值的字符,并利用预设的字符表进行映射得到对应的特征向量;[0057]当多个目标字符段的目标符字段的字符数量不大于预设阈值时,不足预设阈值的字符以目标字符表示,并利用预设的字符表进行映射得到对应的特征向量。[0058]本实施例中不对预设阈值进行限定,用户可自定义设置,例如180、200、210等,可以理解的是,正常网址的目标字符段的字符数量范围很大可以是从0至2000等,但是,本实施例中针对的有规则的病毒网址的目标字符段的字符数量较少,因此,本实施例中设定预设阈值能够减少运算过程。[0059]例如,当目标字符段的字符数量大于200时,只取前200个字符,并根据前200个字符利用预设的字符表得到特征向量;当目标字符段的字符数量小于200时,不足的字符以目标字符表示,并根据得到的200个字符利用预设的字符表得到特征向量。[0060]可见,由于采用了预设阈值的方式,当不足预设阈值的字符数量时采用目标字符补足,多余预设阈值时只取前预设阈值的字符,能够极大地避免采用所有的字符进行特征向量确定,造成的运算量大的问题,能够减少运算过程,提高特征向量确定的效率。[0061]进一步的,还包括:判断是否出现无效字符;[0062]若出现无效字符,则利用目标字符表示无效字符。[0063]如果目标字符段中存在字符不与字符表匹配,则将该字符以目标字符表示。可见,采用以目标字符替换无效字符的方式,一方面避免了特征向量无法获取的问题,另一方面克服了如果没有无效字符出现时,需要字符表中包括所有的字符,进而造成字符表设置的工作量大的问题。[0064]s130、将多条特征向量输入深度学习模型,得到检测器;[0065]其中,多条特征向量是病毒网址训练集中的所有网址对应的特征向量和正常网址训练集中的所有网址对应的特征向量。将多条特征向量输入深度学习模型中,得到检测器,本实施例中不对深度学习模型进行限定,可以是text-cnn(convolutionalneuralnetworks,卷积神经网络模型)、text-rnn(recurrentneuralnetwork,循环神经网络)、cnn+rnn、textrnn+attention、charcnn等,用户可自定义设置,本实施例不再进行限定。[0066]进一步的,将多条特征向量输入深度学习模型,得到检测器,包括:将多条特征向量输入深度学习模型,得到初始检测器;利用网址验证集对初始检测器进行验证,判断验证结果是否大于预设准确阈值,若大于预设准确阈值,则得到检测器。[0067]具体的,网址验证集包括病毒网址验证集和正常网址验证集,对病毒网址验证集中提取网址的目标字段和正常网址验证集中提取网址的目标字段,并将所有的目标字段与预设的字符表进行映射,得到对应的特征向量,基于该特征向量对初始检测器进行验证,如果验证结果的准确性大于预设准确阈值,如果大于则确定该检测器可以应用,该预设准确阈值可以是85%、90%、95%、99%,用户可自定义设置。[0068]s140、根据检测器对待处理网址进行检测。[0069]进一步的,根据检测器对待处理网址进行检测,包括:获取待处理网址;对待处理网址进行提取,得到待处理目标字符段;将待处理目标字符段输入检测器,得到检测结果。其中,该检测结果具体为该待处理网址为病毒网址或者该待处理网址为正常网址。[0070]基于上述技术方案,本实施例通过根据病毒网址的特点提取网址中除了域名之外的目标字符段,根据目标字符段得到特征向量,利用网址训练集对应的特征向量使用深度学习模型进行训练,得到检测器,利用检测器进行网址检测,克服了利用模式匹配的方式确定网址是否是病毒网址的低的泛化能力,进而造成低检测准确性的问题,本技术提供的检测器具有泛化能力,能够根据病毒网址的特点检测待处理网址,准确性高,极大地提高了检测病毒网址的检测效率。[0071]基于上述实施例,本实施例提供一种具体的检测方法,以sality家族网址为例,包括:[0072]s1、样本获取;[0073]获取45000个sality家族样本(去重)作为的黑样本训练集即病毒网址训练集,然后从病毒流量中筛选出3466个sality样本作为黑样本验证集即病毒网址验证集;[0074]从未知网址(url)数据中,通过前1000000域名白名单过滤得到170000个url,确定150000条作为正常网址训练集,22369条作为正常网址验证集。[0075]此处,去除host即域名,只保留目标字符段记为uri(uniformresourceidentifier,统一资源标志符)。因为域名变化比较大,且对分类并无特别大的贡献。因此,最后得到数据集表1如所示:[0076]表1为数据集表[0077]黑样本白样本训练集(条)45000150000验证集(条)346622369[0078]优选的,由于正常网址中的uri形式较多,以免造成误报,将白样本的数量多于黑样本的数量,可以提高检测的准确率。[0079]s2、url数据预处理及向量映射;[0080]将网址训练集中的每一条url按host切分成两个部分,例如一条url:[0081]www.servetreklam.com/logof.gif?bd348=3874920[0082]获取logof.gif?bd348=3874920部分作为待检测部分即训练uri,将uri部分按字符切分开,然后根据一个字符表映射成到一个向量当中。将病毒网址训练集和正常网址训练集的uri按字符分隔开,将所有的字符收集成字符表,作为样本的映射字符表,得到对应的特征向量针对每条特征向量,限定uri长度为200,长度超过200的按当时的字符截断,不足200的以‘《pad》’字符表示。在embedding过程中,如果uri中出现了字符表中没有的字符(无效字符)也一律用‘《pad》’来表示。所以每条数据用一个200维的特征向量去表征。[0083]其中,预设的字符表为:{‘《pad》’:0,‘a’:1,‘b’:2,‘c’:3,......,‘0’:100...}[0084]第三、神经网络模型;[0085]将所有的特征向量输入深度学习模型,得到检测器,其中,深度学习模型具体是text-cnn(convolutionalneuralnetworks,卷积神经网络)的模型架构,本实施例采用三个featuremap,分别是3-gram,4-gram,5-gram,每个featuremap采用512个filters,通过n-gram抓住文本之间的部分前后顺序关系。过10轮迭代。模型收敛,利用验证集进行验证,得到检测准确率达99.7%。[0086]当然,模型可根据预设准确阈值剔除掉此类误报,当前预设准确阈值设定为90%,模型将此类结构特征学习下来能很好的分辨该种类型的sality病毒url,排除掉误报模型的检出和规则一模一样。本实施例中利用检测器检测时,由于sality病毒url的uri规则中一个比较重要的参数为m=n类型的随机数,目前版本满足hex(m)《=hex(n)《=hex(m)*10,如果黑客改变此处的逻辑,常规的匹配方式的检测准确性极低,但是本实施例提供的检测器可根据结构特征将此类检测出来,可见,本实施例体用的检测器具备一定的泛化能力,进而检测准确性高。[0087]综上可知,本实施例提出一种基于神经网络的sality家族url分类分类引擎即检测器,利用深度学习模型能更好的抓取住sality家族url的特点,并具备泛化能力,在测试数据上验证准确率可达到99.7%,极大地提高了病毒网址检测的准确性和高的效率。[0088]下面对本技术实施例提供的一种检测装置进行介绍,下文描述的检测装置与上文描述的检测方法可相互对应参照,参考图2,图2为本技术实施例所提供的一种检测装置的结构示意图,包括:[0089]网址训练集获取模块210,用于获取网址训练集;[0090]特征向量获得模块220,用于从网址训练集中提取多条网址的多个目标字符段,并根据多个目标字符段得到对应的多条特征向量,多个目标符字段中的每个目标符字段对应多条网址中的一条,每条目标字符段是对应网址中除域名之外的字符段;[0091]检测器获得模块230,用于将多条特征向量输入深度学习模型,得到检测器;[0092]检测模块240,用于根据检测器对待处理网址进行检测。[0093]基于上述技术方案,本实施例通过根据病毒网址的特点提取网址中除了域名之外的目标字符段,根据目标字符段得到特征向量,利用网址训练集对应的特征向量使用深度学习模型进行训练,得到检测器,利用检测器进行网址检测,克服了利用模式匹配的方式确定网址是否是病毒网址的低的泛化能力,进而造成低检测准确性的问题,本技术提供的检测器具有泛化能力,能够根据病毒网址的特点检测待处理网址,准确性高,极大地提高了检测病毒网址的检测效率。[0094]在一些具体的实施例中,特征向量获得模块220,包括:[0095]多条特征向量确定单元,用于根据多个目标字符段的字符利用预设的字符表进行映射,得到对应的多条特征向量。[0096]在一些具体的实施例中,多条特征向量确定单元,包括:[0097]第一特征向量确定子单元,用于当多个目标字符段的目标符字段的字符数量大于预设阈值时,只取前预设阈值的字符,并利用预设的字符表进行映射得到对应的特征向量;[0098]第二特征向量确定子单元,用于当多个目标字符段的目标符字段的字符数量不大于预设阈值时,不足预设阈值的字符以目标字符表示,并利用预设的字符表进行映射得到对应的特征向量。[0099]在一些具体的实施例中,还包括:[0100]判断模块,用于判断是否出现无效字符;[0101]表示模块,用于若出现无效字符,则利用目标字符表示无效字符。[0102]在一些具体的实施例中,网址训练集包括sality家族网址训练集。[0103]由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。[0104]下面对本技术实施例提供的一种电子设备进行介绍,下文描述的电子设备与上文描述的检测方法可相互对应参照。[0105]本技术还提供了一种电子设备,参见图3所示,本技术实施例提供的一种电子设备,包括:[0106]存储器100,用于存储计算机程序;[0107]处理器2200,用于执行计算机程序时实现如上述检测方法的步骤。[0108]具体的,存储器100包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器200为电子设备提供计算和控制能力,执行存储器100中保存的计算机程序时,可以实现以下步骤:获取网址训练集;[0109]从网址训练集中提取多条网址的多个目标字符段,并根据多个目标字符段得到对应的多条特征向量,多个目标符字段中的每个目标符字段对应多条网址中的一条,每条目标字符段是对应网址中除域名之外的字符段;[0110]将多条特征向量输入深度学习模型,得到检测器;[0111]根据检测器对待处理网址进行检测。[0112]在一些具体的实施例中,处理器200执行存储器100中保存的计算机子程序时,可以实现以下步骤:根据多个目标字符段的字符利用预设的字符表进行映射,得到对应的多条特征向量。[0113]在一些具体的实施例中,处理器200执行存储器100中保存的计算机子程序时,可以实现以下步骤:当多个目标字符段的目标符字段的字符数量大于预设阈值时,只取前预设阈值的字符,并利用预设的字符表进行映射得到对应的特征向量;当多个目标字符段的目标符字段的字符数量不大于预设阈值时,不足预设阈值的字符以目标字符表示,并利用预设的字符表进行映射得到对应的特征向量。[0114]在一些具体的实施例中,处理器200执行存储器100中保存的计算机子程序时,可以实现以下步骤:判断是否出现无效字符;若出现无效字符,则利用目标字符表示无效字符。[0115]在一些具体的实施例中,处理器200执行存储器100中保存的计算机子程序时,可以实现以下步骤:网址训练集包括sality家族网址训练集。[0116]在上述实施例的基础上,作为优选实施方式,参见图4,图4为本技术实施例提供的另一种电子设备的结构图,该电子设备还包括:[0117]输入接口300,与处理器200相连,用于获取外部导入的计算机程序、参数和指令,经处理器200控制保存至存储器100中。该输入接口300可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘、触控板或鼠标等。[0118]显示单元400,与处理器200相连,用于显示处理器200发送的数据。该显示单元400可以为pc机上的显示屏、液晶显示屏或者电子墨水显示屏等。[0119]网络端口500,与处理器200相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(mhl)、通用串行总线(usb)、高清多媒体接口(hdmi)、无线保真技术(wifi)、蓝牙通信技术、低功耗蓝牙通信技术、基于ieee802.11s的通信技术等。[0120]由于电子设备部分的实施例与检测方法部分的实施例相互对应,因此电子设备部分的实施例请参见检测方法部分的实施例的描述,这里暂不赘述。[0121]下面对本技术实施例提供的一种计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的方法可相互对应参照。[0122]本实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述检测方法的步骤。[0123]由于计算机可读存储介质部分的实施例与方法部分的实施例相互对应,因此计算机可读存储介质部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。[0124]说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。[0125]专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。[0126]结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或
技术领域
:内所公知的任意其它形式的存储介质中。[0127]以上对本技术所提供的一种检测方法、检测装置、电子设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想。应当指出,对于本
技术领域
:的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1