未知域名的安全检测方法及装置的制造方法

文档序号:10538766阅读:300来源:国知局
未知域名的安全检测方法及装置的制造方法
【专利摘要】本发明公开了一种未知域名的安全检测方法及装置,至少能够解决传统的安全软件无法检测未知域名的技术问题。该安全检测方法包括:将所述未知域名与预设的黑集合中存储的各个黑域名进行比较,得到第一比较结果;将所述未知域名与预设的白集合中存储的各个白域名进行比较,得到第二比较结果;根据所述第一比较结果以及所述第二比较结果预测所述未知域名是否为黑域名。由此可见,本发明能够对未知域名进行预测,以提升防御效果。
【专利说明】
未知域名的安全检测方法及装置
技术领域
[0001]本发明涉及网络通信技术领域,具体涉及一种未知域名的安全检测方法及装置。
【背景技术】
[0002]随着通信技术的不断发展,互联网已经融入了生活的方方面面。然而,黑客技术作为互联网发展的衍生物,也变得无孔不入,日益严峻地威胁着网络安全。为此,出现了各种各样的防御手段来应对黑客的入侵。例如,网盾、杀毒软件、安全卫士、网络保镖等安全软件都能够在一定程度上抵御黑客的入侵,维护网络安全。现有的安全软件大多是根据已知的黑集合对恶意域名进行识别和拦截。例如,在黑集合中存储已鉴定的恶意域名,若接收到的访问请求中包含黑集合中存储的恶意域名,则对该访问请求进行拦截。
[0003]但是,发明人在实现本发明的过程中,发现现有技术中的上述方式至少存在如下问题:由于恶意域名千变万化且实时新增,而黑集合显然无法包含所有的恶意域名,由此,当访问请求中包含未出现在黑集合中的未知域名时则无法对该未知域名的安全性进行检测,从而降低了防御效果。

【发明内容】

[0004]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的未知域名的安全检测方法及装置。
[0005]依据本发明的一个方面,提供了一种未知域名的安全检测方法,包括:将所述未知域名与预设的黑集合中存储的各个黑域名进行比较,得到第一比较结果;将所述未知域名与预设的白集合中存储的各个白域名进行比较,得到第二比较结果;根据所述第一比较结果以及所述第二比较结果预测所述未知域名是否为黑域名。
[0006]可选地,所述将所述未知域名与预设的黑集合中存储的各个黑域名进行比较,得到第一比较结果的步骤具体包括:根据预设的相似度算法计算所述未知域名与预设的黑集合中存储的各个黑域名之间的相似度,得到第一相似度分值;并且,所述将所述未知域名与预设的白集合中存储的各个白域名进行比较,得到第二比较结果的步骤具体包括:根据预设的相似度算法计算所述未知域名与预设的白集合中存储的各个白域名之间的相似度,得到第二相似度分值。
[0007]可选地,当所述第一相似度分值大于预设的第一阈值时,和/或,当所述第二相似度分值小于预设的第二阈值时,确定所述未知域名是黑域名;当所述第一相似度分值小于预设的第一阈值时,和/或,当所述第二相似度分值大于预设的第二阈值时,确定所述未知域名不是黑域名。
[0008]可选地,所述相似度算法根据域名之间相同字符的个数,和/或域名的注册人信息确定。
[0009]可选地,所述预设的黑集合通过以下步骤确定:扫描并获取样本集合中包含的多个恶意文件,根据预设的分类规则对所述多个恶意文件进行分类;根据各个类别的恶意文件的文件结构特征,提取各个类别的恶意文件中包含的域名信息,将所述域名信息存储到所述黑集合中。
[0010]可选地,每个类别的恶意文件的文件结构特征中定义了该类别的恶意文件中包含域名信息的字段的位置或偏移地址。
[0011]可选地,所述预设的白集合通过以下步骤确定:扫描并获取样本集合中包含的多个白文件,提取各个白文件中包含的域名信息,将所述域名信息存储到所述白集合中。
[0012]可选地,所述预设的白集合进一步通过以下步骤确定:获取日志文件,根据所述日志文件提取域名信息,并将提取到的域名信息存储到所述白集合中。
[0013]依据本发明的另一方面,提供了一种未知域名的安全检测装置,包括:第一比较模块,适于将所述未知域名与预设的黑集合中存储的各个黑域名进行比较,得到第一比较结果;第二比较模块,适于将所述未知域名与预设的白集合中存储的各个白域名进行比较,得到第二比较结果;预测模块,适于根据所述第一比较结果以及所述第二比较结果预测所述未知域名是否为黑域名。
[0014]可选地,所述第一比较模块具体用于:根据预设的相似度算法计算所述未知域名与预设的黑集合中存储的各个黑域名之间的相似度,得到第一相似度分值;并且,所述第二比较模块具体用于:根据预设的相似度算法计算所述未知域名与预设的白集合中存储的各个白域名之间的相似度,得到第二相似度分值。
[0015]可选地,所述预测模块具体用于:当所述第一相似度分值大于预设的第一阈值时,和/或,当所述第二相似度分值小于预设的第二阈值时,确定所述未知域名是黑域名;当所述第一相似度分值小于预设的第一阈值时,和/或,当所述第二相似度分值大于预设的第二阈值时,确定所述未知域名不是黑域名。
[0016]可选地,所述相似度算法根据域名之间相同字符的个数,和/或域名的注册人信息确定。
[0017]可选地,进一步包括:黑集合生成模块,适于扫描并获取样本集合中包含的多个恶意文件,根据预设的分类规则对所述多个恶意文件进行分类;根据各个类别的恶意文件的文件结构特征,提取各个类别的恶意文件中包含的域名信息,将所述域名信息存储到所述黑集合中。
[0018]可选地,每个类别的恶意文件的文件结构特征中定义了该类别的恶意文件中包含域名信息的字段的位置或偏移地址。
[0019]可选地,进一步包括:白集合生成模块,适于扫描并获取样本集合中包含的多个白文件,提取各个白文件中包含的域名信息,将所述域名信息存储到所述白集合中。
[0020]可选地,所述白集合生成模块进一步用于:获取日志文件,根据所述日志文件提取域名信息,并将提取到的域名信息存储到所述白集合中。
[0021]在本发明提供的未知域名的安全检测方法及装置中,预先设置有黑集合和白集合,每当接收到未知域名后,将该未知域名分别与黑集合中的各个黑域名以及白集合中的各个白域名进行比较,根据比较结果确定该未知域名是否为黑域名。由此可见,本发明能够对未知域名进行预测,以提升防御效果。
[0022]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0023]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0024]图1示出了本发明一个实施例提供的未知域名的安全检测方法的流程图;
[0025]图2示出了本发明一个具体实施例提供的未知域名的安全检测方法的流程图;
[0026]图3示出了黑集合的生成方法的流程图;
[0027]图4示出了白集合的生成方法的流程图;
[0028]图5示出了本发明另一实施例提供的未知域名的安全检测装置的结构图。
【具体实施方式】
[0029]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0030]本发明实施例提供了一种未知域名的安全检测方法及装置,至少能够解决传统的安全软件无法检测未知域名的技术问题。
[0031]图1示出了本发明一个实施例提供的未知域名的安全检测方法的流程图。如图1所示,该方法包括:
[0032]步骤S110:将未知域名与预设的黑集合中存储的各个黑域名进行比较,得到第一比较结果。
[0033]其中,预设的黑集合中存储有全部已鉴定为黑域名(即恶意域名的)的域名信息。通过比较能够确定未知域名与黑域名之间的相似度。
[0034]步骤S120:将未知域名与预设的白集合中存储的各个白域名进行比较,得到第二比较结果。
[0035]其中,预设的白集合中存储有全部已鉴定为白域名(即安全域名的)的域名信息。通过比较能够确定未知域名与白域名之间的相似度。
[0036]步骤S130:根据第一比较结果以及第二比较结果预测未知域名是否为黑域名。
[0037]具体地,根据第一比较结果能够确定未知域名与黑域名之间的相似度,根据第二比较结果能够确定未知域名与白域名之间的相似度,若未知域名与黑域名之间的相似度更高,则预测该未知域名为黑域名;若未知域名与白域名之间的相似度更高,则预测该未知域名为白域名。
[0038]由此可见,与传统的仅根据已有的黑集合筛查恶意域名的方式相比,本发明能够对不属于黑集合的未知域名进行预测,以提升网络防御效果。
[0039]图2示出了本发明一个具体实施例提供的未知域名的安全检测方法的流程图。该方法可以由各类安全软件执行,该安全软件能够监测路由或交换机处的报文等形式的访问请求,提取其中包含的域名信息,并对提取到的未知域名进行检测。如图2所示,该方法包括:
[0040] 步骤S210:获取未知域名。
[0041 ]其中,未知域名可通过多种方式获取:例如,根据接收到的访问请求获取其中包含的未知域名。其中,访问请求的来源取决于安全软件的用途和种类,本发明可用于接收或截获各种类型的访问请求。每当接收到访问请求后,首先,提取其中包含的域名信息;然后,将明确属于黑集合或白集合的域名信息直接确定为黑域名或白域名,将既不属于黑集合也不属于白集合的域名信息作为未知域名执行后续处理。又如,根据样本文件获取其中包含的未知域名,其中,样本文件又可以进一步包括全量样本文件或增量样本文件。
[0042]步骤S220:将未知域名与预设的黑集合中存储的各个黑域名进行比较,得到第一比较结果。
[0043]本步骤的执行目的在于确定未知域名是否与黑集合中的黑域名相近,因此,凡是能够确定二者是否相近的方法均可用于本发明。在本实施例中,根据预设的相似度算法计算未知域名与预设的黑集合中存储的各个黑域名之间的相似度,得到第一相似度分值。其中,相似度算法可以灵活设定,例如,可以根据域名之间相同字符的个数确定,其中,如果两个域名之间的相同字符的个数越多,则说明两个域名越相似。除了考虑相同字符的数量之夕卜,还可以进一步结合相同字符所处的位置是否相同来确定二者的相似度。例如,假设黑域名为haol23.com,第一未知域名为hao456.com,第二位置域名为hoa456.com,虽然第一未知域名和第二未知域名与黑域名之间的相同字符数均为3,但是,通过进一步对每个相同字符所处的位置进行判断可知,第一未知域名中的三个相同字符所处的位置均与黑域名中相应字符的位置相同,因此,第一未知域名与黑域名相比,相同位置处的相同字符个数为3;第二未知域名中的三个相同字符中,只有第一个字符“h”所处的位置与黑域名中相应字符的位置相同,因此,第二未知域名与黑域名相比,相同位置处的相同字符个数为I。显然,第一未知域名与黑域名之间的相似度分值更高。又如,还可以根据域名的注册人信息确定两个域名是否相似。具体地,如果第一未知域名与黑域名的注册人名称相同,第二未知域名与黑域名的注册人名称不同,则可以确定第一未知域名与黑域名之间的相似度分值更高。另外,注册人信息中除包含注册人名称外,还可能包括注册人所在地、注册组织等多种具体信息,可以进一步结合各种具体信息来确定两个域名之间的相似度。除了通过域名间的相同字符以及注册人信息进行比较之外,还可以进一步通过其他方式进行比较。另外,当综合通过多种方式进行比较,以确定未知域名与黑集合之间的相似度时,可以根据每种方式的重要性或准确性,为每种方式分别设定不同的权值,将每种方式的比较结果乘以其对应的权值得到最终比较结果。
[0044]另外,由于黑集合中存在大量的黑域名,需要将未知域名与各个黑域名逐一进行比较,此时,可以分别计算未知域名与各个黑域名之间的相似度分值,并选择平均值或最高值作为上述的第一比较结果。
[0045]步骤S230:将未知域名与预设的白集合中存储的各个白域名进行比较,得到第二比较结果。
[0046]本步骤的执行目的在于确定未知域名是否与白集合中的白域名相近,因此,凡是能够确定二者是否相近的方法均可用于本发明。在本实施例中,根据预设的相似度算法计算未知域名与预设的白集合中存储的各个白域名之间的相似度,得到第二相似度分值。其中,相似度算法可以灵活设定,例如,可以根据域名之间相同字符的个数确定,其中,如果两个域名之间的相同字符的个数越多,则说明两个域名越相似。除了考虑相同字符的数量之夕卜,还可以进一步结合相同字符所处的位置是否相同来确定二者的相似度。又如,还可以根据域名的注册人信息确定两个域名是否相似。具体地,如果第一未知域名与白域名的注册人名称相同,第二未知域名与白域名的注册人名称不同,则可以确定第一未知域名与白域名之间的相似度分值更高。另外,注册人信息中除包含注册人名称外,还可能包括注册人所在地、注册组织等多种具体信息,可以进一步结合各种具体信息来确定两个域名之间的相似度。除了通过域名间的相同字符以及注册人信息进行比较之外,还可以进一步通过其他方式进行比较。另外,当综合通过多种方式进行比较,以确定未知域名与白集合之间的相似度时,可以根据每种方式的重要性或准确性,为每种方式分别设定不同的权值,将每种方式的比较结果乘以其对应的权值得到最终比较结果。
[0047]另外,由于白集合中存在大量的白域名,需要将未知域名与各个白域名逐一进行比较,此时,可以分别计算未知域名与各个白域名之间的相似度分值,并选择平均值或最高值作为上述的第一比较结果。
[0048]上述步骤S220和步骤S230的执行顺序也可以互换。另外,在上述步骤S220和步骤S230中,还可以通过聚类算法或机器学习算法快速确定未知域名与黑域名或白域名之间的相似度。
[0049]步骤S240:根据上述的第一比较结果以及第二比较结果预测未知域名是否为黑域名。
[0050]具体地,可以根据预设的阈值确定未知域名为黑域名或白域名。例如,当第一相似度分值大于预设的第一阈值时,和/或,当第二相似度分值小于预设的第二阈值时,确定未知域名是黑域名。其中,第一阈值和第二阈值可以相同,也可以不同。第一阈值用于确定未知域名与黑域名之间的相似度高低,假设相似度分值的数值范围为0-100,则第一阈值的数值可以设定为60,当未知域名与黑域名之间的第一相似度分值大于60时,确定该未知域名倾向于黑域名。第二阈值用于确定未知域名与白域名之间的相似度高低,假设相似度分值的数值范围为0-100,则第二阈值的数值也可以设定为60,当未知域名与白域名之间的第二相似度分值小于60时,确定该未知域名倾向于黑域名。上述的第一阈值和第二阈值可单独使用,例如,只要未知域名与黑域名之间的第一相似度分值大于60就确定其为黑域名,或者,只要未知域名与白域名之间的第二相似度分值小于60就确定其为黑域名。上述的第一阈值和第二阈值也可以结合使用,即:只有当未知域名与黑域名之间的第一相似度分值大于60,并且,未知域名与白域名之间的第二相似度分值小于60时才确定其为黑域名。与之类似地,当第一相似度分值小于预设的第一阈值时,和/或,当第二相似度分值大于预设的第二阈值时,确定未知域名不是黑域名。具体确定方式与上述类似,此处不再赘述。
[0051]由此可见,在本发明实施例中,根据已知的黑集合和白集合预测未知域名是否为黑域名,并在预测结果为是时,生成威胁情报,以提示用户。并且,在本发明中,还可以进一步根据预测结果扩充黑集合或白集合。例如,当未知域名被预测为黑域名时,可以将其加入黑集合中;当未知域名被预测为白域名时,可以将其加入白集合中,以实现黑白集合的实时扩充,为后续的预测过程提供便利。此时,考虑到预测结果可能存在误差,因此,可以为黑集合中的各个黑域名设定分值,使已鉴定的黑域名的分值大于未鉴定的黑域名的分值,并在后期计算未知域名的比较结果时,进一步结合黑域名的分值确定比较结果,相对而言,若未知域名与已鉴定的黑域名相似,则分值较高;若未知域名与未鉴定的黑域名相似,则分值较低。与之类似地,还可以为白集合中的各个白域名设定分值,使已鉴定的白域名的分值大于未鉴定的白域名的分值,并在后期计算未知域名的比较结果时,进一步结合白域名的分值确定比较结果。
[0052]另外,为了便于实施本发明,下面给出黑集合和白集合的一种生成方式,本领域技术人员也可以灵活通过其他形式来生成黑集合和白集合,本发明对此不作限定。
[0053]图3示出了黑集合的生成方法的流程图,如图3所示,生成黑集合的方法包括如下步骤:
[0054]步骤S310:扫描并获取样本集合中包含的多个恶意文件。
[0055]其中,该样本集合中的样本来源可能源于一个或多个公司的样本文件,并且,该样本集合可以通过该公司的增量样本文件和/或全量样本文件生成。总之,每当有新增样本时,该样本集合可以根据新增样本进行实时更新,以尽可能及时地收录更加全面的样本文件。
[0056]具体地,扫描过程可以通过各种类型的扫描器或查杀器实现。通过扫描能够确定样本集合中的各个文件的文件属性,例如,正常的白文件、感染性文件、流氓推广性文件以及恶意文件等。总之,通过本步骤能够将文件属性为恶意文件的样本文件全部提取出来,以备后续处理。
[0057]其中,本步骤中的恶意文件的具体涵盖范围可以根据需要灵活设定,例如,恶意文件可以是广义的,包括木马、病毒、后门等各种类型,以便尽可能全面地收集黑域名;或者,恶意文件也可以是狭义的,仅包括木马、病毒或后门中的其中一种类型,以便有针对性地处理特定类型的文件。在本实施例中,恶意文件的涵盖范围较宽,包括木马、病毒、后门等各种类型。
[0058]步骤S320:根据预设的分类规则对多个恶意文件进行分类。
[0059]由于恶意文件的种类繁多,为了便于后续处理,在本步骤中,按照预设的分类规则将上一步骤中得到的多个恶意文件进一步细分为多种类别。具体地,可以将恶意文件进一步划分为如下几种类别:木马、病毒以及后门。本领域技术人员还可以根据需要将恶意文件进一步细分为更多种类型或合并为更少的类型,本发明对具体的分类方式和分类数量不做限定,只要能够实现便于后续处理的效果即可。例如,对于后门而言,又进一步包含多种家族及变种,如灰鸽子、大灰狼等多种,此时,可以进一步将后门细分为多种子类型,以便后期进行更为细致的分类处理。
[0060]具体实现时,为了确定恶意文件的具体类型,可以通过更加精细的扫描器进行二次扫描。或者,也可以预先分析各种类型的恶意文件的结构特征,并根据各种类型的恶意文件的结构特征编写相应的脚本文件,通过脚本文件自动提取恶意文件的部分内容并判断是否符合某一类型的结构特征,根据判断结果进行分类。另外,除了通过脚本实现分类之外,还可以灵活通过虚拟机或沙箱等虚拟执行的方式进行分类,本发明对此不作限定。
[0061]步骤S330:根据各个类别的恶意文件的文件结构特征,提取各个类别的恶意文件中包含的域名信息。
[0062]其中,各个类别的恶意文件的文件结构特征可以预先通过人工分析或机器学习等多种方式确定。每个类别的恶意文件的文件结构特征中定义了该类别的恶意文件中包含域名信息的字段的位置或偏移地址。例如,对于大灰狼或灰鸽子类型的恶意文件而言,其中包含域名信息的位置是相对固定的,该固定位置可能是某一子文件的倒数10个字节或两个偏移。由此可见,根据各个类别的恶意文件的文件结构特征,能够快速定位其中包含的域名信息。
[0063]具体地,定位并提取各个类别的恶意文件中包含的域名信息的步骤至少能够通过下述两种方式实现:在第一种实现方式中,通过动态提取方式进行动态提取。相应地,可以通过虚拟机或沙箱对恶意文件进行虚拟执行,在执行过程中通过抓包来确定其中包含的域名信息。该方式能够获取到恶意文件执行过程中的动态信息,能够更加准确地确定恶意文件的行为特征。在第二种实现方式中,通过静态提取方式进行静态提取。相应地,可以根据恶意文件的文件结构特征编写脚本文件,该脚本文件的功能在于:定位恶意文件中包含域名信息的位置,并自动提取该位置所包含的域名信息。该方式由于不需要虚拟执行,因此更节约内存空间,处理速度更快。具体实现时,本领域技术人员可以灵活采取上述两种方式中的至少一种,或者,也可以将两种方式相结合,以充分发挥二者的优势。
[0064]步骤S340:根据预设的过滤规则对提取到的域名信息进行过滤。
[0065]本步骤是一个可选的步骤,在本发明其他的实施例中也可以省略本步骤。本步骤的执行目的在于:过滤掉不符合要求的域名信息,以提高后续建立的黑集合的纯度,进而提高威胁情报的准确度。其中,过滤规则可以灵活制定,例如,可以包括下述两种规则中的至少一种:第一种规则为,根据预设的白名单过滤掉包含在白名单中的域名信息,其中,白名单可以预先通过各种方式建立,其中存储已被确定为安全域名的域名信息,通过该种方式能够过滤掉因测试目的或其他目的而被写入恶意文件中的安全域名。第二种规则为,根据预设的域名规则过滤掉不符合域名规则的域名信息,其中,域名规则是预先确定的正常域名应满足的规则,通过该种方式能够过滤掉非正常域名,例如某些恶意文件中会包含由乱码构成的假域名。通过过滤能够去除恶意文件的域名信息中的噪点,确保从恶意文件中提取到的域名为纯黑的域名,即恶意域名。
[0066]步骤S350:将过滤后的域名信息存储到预设的黑集合中,根据聚类算法对黑集合中的各个域名进行聚类处理。
[0067]其中,黑集合用于存储所有恶意域名。为了便于溯源,可以对黑集合中存储的海量的恶意域名进行聚类,从而将相同类型的恶意域名聚为一类,以便快速溯源。具体聚类时,可以通过各种聚类算法,如相似度算法实现。在第一种聚类方式中,可以通过相似度算法计算两个或多个域名之间的相似度,如果相似度大于预设阈值则将其聚为一类。在第二种聚类方式中,可以将包含相同目标地址的两个或多个恶意样本中所包含的恶意域名聚为一类,或者,将包含相同的报头名字的恶意样本中所包含的恶意域名聚为一类,以便溯源。
[0068]步骤S360:获取并展示聚类处理后的各个域名信息之间的关联关系。
[0069]其中,上一步骤中的聚类处理过程以及本步骤中的展示过程并非本发明中必需的,在本发明其他的实施例中,也可以省略聚类或展示过程。另外,本步骤的执行顺序也可以调整到最后。具体展示时,可以以树状分支的形式或列表的形式进行展示,本发明对具体展示方式不做限定,只要能够清晰地显示出各个域名信息之间的关联关系即可。通过本步骤能够直观地显示各个域名信息之间的关联,为溯源提供便利。
[0070]图4示出了白集合的生成方法的流程图,如图4所示,生成白集合的方法包括如下步骤:
[0071]步骤S410:扫描并获取样本集合中包含的多个白文件。
[0072]其中,该样本集合中的样本来源可能源于一个或多个公司的样本文件,并且,该样本集合可以通过该公司的增量样本文件和/或全量样本文件生成。总之,每当有新增样本时,该样本集合可以根据新增样本进行实时更新,以尽可能及时地收录更加全面的样本文件。
[0073]具体地,扫描过程可以通过各种类型的扫描器或查杀器实现。通过扫描能够确定样本集合中的各个文件的文件属性,例如,正常的白文件、感染性文件、流氓推广性文件以及恶意文件等。总之,通过本步骤能够将文件属性为白文件的样本文件全部提取出来,以备后续处理。
[0074]步骤S420:根据预设的分类规则对多个白文件进行分类。
[0075]由于白文件的种类繁多,为了便于后续处理,在本步骤中,可以按照预设的分类规则将上一步骤中得到的多个白文件进一步细分为多种类别。本发明对具体的分类方式和分类数量不做限定,只要能够实现便于后续处理的效果即可。例如,可以根据文件类型将白文件划分为压缩文件和非压缩文件,或者根据文件功能将白文件划分为安装文件、执行文件和文本文件等。
[0076]具体实现时,为了确定白文件的具体类型,可以通过更加精细的扫描器进行二次扫描。或者,也可以预先分析各种类型的白文件的结构特征,并根据各种类型的白文件的结构特征编写相应的脚本文件,通过脚本文件自动提取白文件的部分内容并判断是否符合某一类型的结构特征,根据判断结果进行分类。另外,除了通过脚本实现分类之外,还可以灵活通过虚拟机或沙箱等虚拟执行的方式进行分类,本发明对此不作限定。
[0077]步骤S430:根据各个类别的白文件的文件结构特征,提取各个类别的白文件中包含的域名信息。
[0078]其中,各个类别的白文件的文件结构特征可以预先通过人工分析或机器学习等多种方式确定。每个类别的白文件的文件结构特征中定义了该类别的白文件中包含域名信息的字段的位置或偏移地址。根据各个类别的白文件的文件结构特征,能够快速定位其中包含的域名信息。
[0079]具体地,定位并提取各个类别的白文件中包含的域名信息的步骤至少能够通过下述两种方式实现:在第一种实现方式中,通过动态提取方式进行动态提取。相应地,可以通过虚拟机或沙箱对恶意文件进行虚拟执行,在执行过程中通过抓包来确定其中包含的域名信息。该方式能够获取到白文件执行过程中的动态信息,能够更加准确地确定白文件的行为特征。在第二种实现方式中,通过静态提取方式进行静态提取。相应地,可以根据白文件的文件结构特征编写脚本文件,该脚本文件的功能在于:定位白文件中包含域名信息的位置,并自动提取该位置所包含的域名信息。该方式由于不需要虚拟执行,因此更节约内存空间,处理速度更快。具体实现时,本领域技术人员可以灵活采取上述两种方式中的至少一种,或者,也可以将两种方式相结合,以充分发挥二者的优势。
[0080]另外,上述的步骤S420是一个可选的步骤,在本发明其他的实施例中,如果白文件的种类单一,也可以省略步骤S420,S卩:不对白文件进行分类,相应地,在本步骤中,直接从多个白文件中提取域名信息并存储到白集合。
[0081]步骤S440:根据预设的过滤规则对提取到的域名信息进行过滤,将过滤后的域名信息存储到预设的白集合中。
[0082]本步骤是一个可选的步骤,在本发明其他的实施例中也可以省略本步骤。本步骤的执行目的在于:过滤掉不符合要求的域名信息,以提高后续建立的白集合的纯度,进而提高威胁情报的准确度。其中,过滤规则可以灵活制定,例如,可以包括下述两种规则中的至少一种:第一种规则为,根据预设的黑名单过滤掉包含在黑名单中的域名信息,其中,黑名单可以预先通过各种方式建立,其中存储已被确定为恶意域名的域名信息,通过该种方式能够过滤掉因测试目的或其他目的而被写入白文件中的恶意域名。第二种规则为,根据预设的域名规则过滤掉不符合域名规则的域名信息,其中,域名规则是预先确定的正常域名应满足的规则,通过该种方式能够过滤掉非正常域名,例如某些白文件中会包含由乱码构成的假域名。通过过滤能够去除白文件的域名信息中的噪点,确保最终得到的白集合中的域名均为安全域名。
[0083]通过上述方法得到白集合后,进一步地,当访问请求中包含未出现在白集合中的域名信息时,可以针对该访问请求生成威胁情报。具体地,根据白集合生成威胁情报的步骤可通过如下方式实现:每当接收到访问请求时,判断访问请求中是否包含未出现在白集合中的域名信息,若判断结果为是,针对该访问请求生成威胁提示信息,和/或针对该访问请求进行拦截。具体实现时,本实施例中的方法可以集成到各类安全软件中,该安全软件能够监测路由或交换机处的报文等形式的访问请求,提取其中包含的域名信息,将提取到的域名信息与白集合中存储的各个域名进行匹配,以确定是否需要产生威胁情报。
[0084]另外,在步骤S440之后,步骤S450之前,还可以进一步包括下述步骤:根据聚类算法对白集合中的各个域名进行聚类处理,获取并展示聚类处理后的各个域名信息之间的关联关系。具体地,由于白集合中存储的域名数量众多,为了提高后期匹配的效率,可以对白集合中存储的海量的安全域名进行聚类,从而将相同类型的安全域名聚为一类,以便快速匹配。具体聚类时,可以通过各种聚类算法,如相似度算法实现。在第一种聚类方式中,可以通过相似度算法计算两个或多个域名之间的相似度,如果相似度大于预设阈值则将其聚为一类。在第二种聚类方式中,可以将包含相同目标地址的两个或多个白样本中所包含的安全域名聚为一类,或者,将包含相同的报头名字的白样本中所包含的安全域名聚为一类。由此一来,当后续接收到访问请求后,首先确定访问请求中包含的域名与白集合中的何种类型的域名之间的相似度更高,从而优先与各种类型的域名进行匹配,以大幅提高匹配速度。
[0085]另外,在本实施例中,还可以同时通过其他多种渠道扩充白集合中的域名信息。例如,可以进一步从已鉴定的日志文件中提取域名信息,并将提取到的域名信息添加到白集合中。其中,已鉴定的日志文件可以由各类安全软件通过拦截并鉴定网络访问请求的方式来生成,根据已鉴定的日志文件可以进一步扩充白集合的数量,以提高威胁情报的准确性。
[0086]由此可见,上述方式能够根据样本生成白集合和黑集合,由于样本能够根据增量样本进行实时扩充,因此,白集合和黑集合可以实时生成并更新,以提高防御效果。
[0087]图5示出了本发明另一实施例提供的未知域名的安全检测装置的结构图,如图5所示,该装置包括:
[0088]第一比较模块51,适于将所述未知域名与预设的黑集合中存储的各个黑域名进行比较,得到第一比较结果;
[0089]第二比较模块52,适于将所述未知域名与预设的白集合中存储的各个白域名进行比较,得到第二比较结果;
[0090]预测模块53,适于根据所述第一比较结果以及所述第二比较结果预测所述未知域名是否为黑域名。
[0091]可选地,所述第一比较模块51具体用于:根据预设的相似度算法计算所述未知域名与预设的黑集合中存储的各个黑域名之间的相似度,得到第一相似度分值;并且,
[0092]所述第二比较模块52具体用于:根据预设的相似度算法计算所述未知域名与预设的白集合中存储的各个白域名之间的相似度,得到第二相似度分值。
[0093]可选地,所述预测模块53具体用于:当所述第一相似度分值大于预设的第一阈值时,和/或,当所述第二相似度分值小于预设的第二阈值时,确定所述未知域名是黑域名;
[0094]当所述第一相似度分值小于预设的第一阈值时,和/或,当所述第二相似度分值大于预设的第二阈值时,确定所述未知域名不是黑域名。
[0095]其中,所述相似度算法根据域名之间相同字符的个数,和/或域名的注册人信息确定。
[0096]可选地,该装置进一步包括:黑集合生成模块,适于扫描并获取样本集合中包含的多个恶意文件,根据预设的分类规则对所述多个恶意文件进行分类;根据各个类别的恶意文件的文件结构特征,提取各个类别的恶意文件中包含的域名信息,将所述域名信息存储到所述黑集合中。其中,每个类别的恶意文件的文件结构特征中定义了该类别的恶意文件中包含域名信息的字段的位置或偏移地址。
[0097]可选地,该装置进一步包括:白集合生成模块,适于扫描并获取样本集合中包含的多个白文件,提取各个白文件中包含的域名信息,将所述域名信息存储到所述白集合中。其中,所述白集合生成模块进一步用于:获取日志文件,根据所述日志文件提取域名信息,并将提取到的域名信息存储到所述白集合中。
[0098]关于上述各个模块的具体结构和工作原理可参照方法实施例中相应部分的描述,此处不再赘述。
[0099]在本发明提供的未知域名的安全检测方法及装置中,预先设置有黑集合和白集合,每当接收到未知域名后,将该未知域名分别与黑集合中的各个黑域名以及白集合中的各个白域名进行比较,根据比较结果确定该未知域名是否为黑域名。由此可见,本发明能够对未知域名进行预测,以提升防御效果。
[0100]本发明的实施例公开了:
[0101]Al、一种未知域名的安全检测方法,包括:
[0102]将所述未知域名与预设的黑集合中存储的各个黑域名进行比较,得到第一比较结果;
[0103]将所述未知域名与预设的白集合中存储的各个白域名进行比较,得到第二比较结果;
[0104]根据所述第一比较结果以及所述第二比较结果预测所述未知域名是否为黑域名。
[0105]A2、根据Al所述的方法,其中,所述将所述未知域名与预设的黑集合中存储的各个黑域名进行比较,得到第一比较结果的步骤具体包括:根据预设的相似度算法计算所述未知域名与预设的黑集合中存储的各个黑域名之间的相似度,得到第一相似度分值;并且,
[0106]所述将所述未知域名与预设的白集合中存储的各个白域名进行比较,得到第二比较结果的步骤具体包括:根据预设的相似度算法计算所述未知域名与预设的白集合中存储的各个白域名之间的相似度,得到第二相似度分值。
[0107]A3、根据A2所述的方法,其中,当所述第一相似度分值大于预设的第一阈值时,和/或,当所述第二相似度分值小于预设的第二阈值时,确定所述未知域名是黑域名;
[0108]当所述第一相似度分值小于预设的第一阈值时,和/或,当所述第二相似度分值大于预设的第二阈值时,确定所述未知域名不是黑域名。
[0109]A4、根据A2或3所述的方法,其中,所述相似度算法根据域名之间相同字符的个数,和/或域名的注册人信息确定。
[0110]A5、根据Al所述的方法,其中,所述预设的黑集合通过以下步骤确定:
[0111]扫描并获取样本集合中包含的多个恶意文件,根据预设的分类规则对所述多个恶意文件进行分类;
[0112]根据各个类别的恶意文件的文件结构特征,提取各个类别的恶意文件中包含的域名信息,将所述域名信息存储到所述黑集合中。
[0113]A6、根据A5所述的方法,其中,每个类别的恶意文件的文件结构特征中定义了该类别的恶意文件中包含域名信息的字段的位置或偏移地址。
[0114]A7、根据Al所述的方法,其中,所述预设的白集合通过以下步骤确定:
[0115]扫描并获取样本集合中包含的多个白文件,提取各个白文件中包含的域名信息,将所述域名信息存储到所述白集合中。
[0116]AS、根据Al或7所述的方法,其中,所述预设的白集合进一步通过以下步骤确定:
[0117]获取日志文件,根据所述日志文件提取域名信息,并将提取到的域名信息存储到所述白集合中。
[0118]B9、一种未知域名的安全检测装置,包括:
[0119]第一比较模块,适于将所述未知域名与预设的黑集合中存储的各个黑域名进行比较,得到第一比较结果;
[0120]第二比较模块,适于将所述未知域名与预设的白集合中存储的各个白域名进行比较,得到第二比较结果;
[0121]预测模块,适于根据所述第一比较结果以及所述第二比较结果预测所述未知域名是否为黑域名。
[0122]B10、根据B9所述的装置,其中,所述第一比较模块具体用于:根据预设的相似度算法计算所述未知域名与预设的黑集合中存储的各个黑域名之间的相似度,得到第一相似度分值;并且,
[0123]所述第二比较模块具体用于:根据预设的相似度算法计算所述未知域名与预设的白集合中存储的各个白域名之间的相似度,得到第二相似度分值。
[0124]B11、根据BlO所述的装置,其中,所述预测模块具体用于:当所述第一相似度分值大于预设的第一阈值时,和/或,当所述第二相似度分值小于预设的第二阈值时,确定所述未知域名是黑域名;
[0125]当所述第一相似度分值小于预设的第一阈值时,和/或,当所述第二相似度分值大于预设的第二阈值时,确定所述未知域名不是黑域名。
[0126]B12、根据BlO或11所述的装置,其中,所述相似度算法根据域名之间相同字符的个数,和/或域名的注册人信息确定。
[0127]B13、根据B9所述的装置,其中,进一步包括:
[0128]黑集合生成模块,适于扫描并获取样本集合中包含的多个恶意文件,根据预设的分类规则对所述多个恶意文件进行分类;根据各个类别的恶意文件的文件结构特征,提取各个类别的恶意文件中包含的域名信息,将所述域名信息存储到所述黑集合中。
[0129]B14、根据B13所述的装置,其中,每个类别的恶意文件的文件结构特征中定义了该类别的恶意文件中包含域名信息的字段的位置或偏移地址。
[0130]B15、根据B9所述的装置,其中,进一步包括:
[0131]白集合生成模块,适于扫描并获取样本集合中包含的多个白文件,提取各个白文件中包含的域名信息,将所述域名信息存储到所述白集合中。
[0132]B16、根据B9或15所述的装置,其中,所述白集合生成模块进一步用于:获取日志文件,根据所述日志文件提取域名信息,并将提取到的域名信息存储到所述白集合中。
[0133]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0134]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0135]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0136]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0137]此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0138]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0139]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
【主权项】
1.一种未知域名的安全检测方法,包括: 将所述未知域名与预设的黑集合中存储的各个黑域名进行比较,得到第一比较结果; 将所述未知域名与预设的白集合中存储的各个白域名进行比较,得到第二比较结果; 根据所述第一比较结果以及所述第二比较结果预测所述未知域名是否为黑域名。2.根据权利要求1所述的方法,其中,所述将所述未知域名与预设的黑集合中存储的各个黑域名进行比较,得到第一比较结果的步骤具体包括:根据预设的相似度算法计算所述未知域名与预设的黑集合中存储的各个黑域名之间的相似度,得到第一相似度分值;并且, 所述将所述未知域名与预设的白集合中存储的各个白域名进行比较,得到第二比较结果的步骤具体包括:根据预设的相似度算法计算所述未知域名与预设的白集合中存储的各个白域名之间的相似度,得到第二相似度分值。3.根据权利要求2所述的方法,其中,当所述第一相似度分值大于预设的第一阈值时,和/或,当所述第二相似度分值小于预设的第二阈值时,确定所述未知域名是黑域名; 当所述第一相似度分值小于预设的第一阈值时,和/或,当所述第二相似度分值大于预设的第二阈值时,确定所述未知域名不是黑域名。4.根据权利要求2或3所述的方法,其中,所述相似度算法根据域名之间相同字符的个数,和/或域名的注册人信息确定。5.根据权利要求1所述的方法,其中,所述预设的黑集合通过以下步骤确定: 扫描并获取样本集合中包含的多个恶意文件,根据预设的分类规则对所述多个恶意文件进行分类; 根据各个类别的恶意文件的文件结构特征,提取各个类别的恶意文件中包含的域名信息,将所述域名信息存储到所述黑集合中。6.根据权利要求5所述的方法,其中,每个类别的恶意文件的文件结构特征中定义了该类别的恶意文件中包含域名信息的字段的位置或偏移地址。7.根据权利要求1所述的方法,其中,所述预设的白集合通过以下步骤确定: 扫描并获取样本集合中包含的多个白文件,提取各个白文件中包含的域名信息,将所述域名信息存储到所述白集合中。8.根据权利要求1或7所述的方法,其中,所述预设的白集合进一步通过以下步骤确定: 获取日志文件,根据所述日志文件提取域名信息,并将提取到的域名信息存储到所述白集合中。9.一种未知域名的安全检测装置,包括: 第一比较模块,适于将所述未知域名与预设的黑集合中存储的各个黑域名进行比较,得到第一比较结果; 第二比较模块,适于将所述未知域名与预设的白集合中存储的各个白域名进行比较,得到第二比较结果; 预测模块,适于根据所述第一比较结果以及所述第二比较结果预测所述未知域名是否为黑域名。10.根据权利要求9所述的装置,其中,所述第一比较模块具体用于:根据预设的相似度算法计算所述未知域名与预设的黑集合中存储的各个黑域名之间的相似度,得到第一相似度分值;并且, 所述第二比较模块具体用于:根据预设的相似度算法计算所述未知域名与预设的白集合中存储的各个白域名之间的相似度,得到第二相似度分值。
【文档编号】H04L29/06GK105897752SQ201610391276
【公开日】2016年8月24日
【申请日】2016年6月3日
【发明人】边亮, 陈雍, 刘嘉磊, 赵雨婷
【申请人】北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1