恶意网页检测模型训练方法、恶意网页检测方法及系统与流程

文档序号:17479458发布日期:2019-04-20 06:20阅读:253来源:国知局
恶意网页检测模型训练方法、恶意网页检测方法及系统与流程

本发明实施例涉及网页检测领域,特别涉及一种恶意网页检测模型训练方法、恶意网页检测方法及系统。



背景技术:

随着互联网技术的发展,通过网络获取信息的用户越来越多,收集个人隐私信息、组织犯罪活动创造了新机会。如各类层出不穷的欺诈钓鱼网站、包含恶意代码的网页以及色情和赌博网站等。根据卡巴斯基的统计数据显示,恶意网页在87.36%的网络攻击行为中出现并发挥作用。另据google数据显示,google有大约1.3%的搜索结果是链接到挂马网页或钓鱼网页的。由此可见,恶意网页攻击已经超过传统的恶意攻击形式成为当前网络安全领域所面临的最大挑战,由于恶意网页一般通过脚本语言编写,具有形式灵活多变、传播速度快、影响范围广、隐蔽性高等特点,如何高效地检测出恶意网页已经成为当今网络安全领域一个亟待解决的研究课题。

随着大数据时代的到来,每日新产生的网页数量也呈现爆炸式增长,海量的新网页不断涌入,为攻击者提供了极佳的隐蔽环境,由于受到资源和时间的限制,通过传统的检测方法,47%-83%的恶意网页需要12h后才能被发现,而大约63%的钓鱼网站在出现2h后就已经完成首次对用户的攻击行为。因此,面对每日大批涌现出的未知网页,为了更好地保障用户的上网安全,如何在有限的时间内从海量的样本中筛选出新出现的恶意样本,成了恶意网页检测面临的最大挑战。目前,针对恶意网页的检测方法主要分为两大类:动态监测技术和静态检测技术。

现有技术中有一类对恶意网页检测的方法是动态检测技术,动态检测技术主要是通过将捕捉到的html或javascript源码在虚拟环境中运行,将虚拟机用作诱饵,对待检测网页进行访问,并在访问的过程中实时检测该网页的动态行为(如超链接到其他网页、远程下载并执行可执行文件、创建注册表等),以此来判断待测网页是否属于恶意网页。该方案的优势在于对未知网页样本,不是仅通过其显示出的文本特征进行分类,而是将其放入虚拟环境中直接运行,并且诱导其在虚拟机中脱去外壳,表现出其真实目的,因此检测的准确率极高。目前最具有代表性的动态检测方案是蜜罐检测技术。传统的蜜罐技术有低交互式服务器蜜罐和高交互式服务器蜜网,它们实际上是将故意暴露出系统漏洞的服务器,用作诱饵以吸引攻击者对其进行攻击并分析攻击者的每一步行为。动态检测技术在恶意网页检测领域的应用保证了对可疑样本判决的准确性。

基于上述内容可知,动态检测技术的缺点是显而易见的,无论是虚拟机脱壳引擎技术还是蜜罐检测技术,检测过程中的系统资源消耗和时间消耗都是十分巨大的,对于大样本集的使用场景,该方案的可行性较差。

现有技术中第二类对恶意网页检测的方法是静态检测技术,静态检测技术主要是在url精确匹配的基础上提出了基于网页内容、域名信息、url地址等网页属性的相似性设计和启发式规则,来对恶意网页进行识别和检测。具体的实现方案比如基于模式匹配的方案、基于启发式规则的识别方法等。它们的思路都是在获得该网页相关属性信息的基础上,不在仿真环境中实际运行该段代码,而是通过与以前样本的特征进行比较,通过不同的技术手段得出最终的结论。静态检测技术可以根据网页的属性依据现有的规则进行匹配,来识别出部分目前还未被列入黑名单的网页。因为其实现相对容易,代码执行效率较高,被广泛应用于一些主流的浏览器插件中。

静态检测技术的缺陷在于,面对每日大量新出现的待测样本,简单的特征分布统计和启发式规则已经无法满足需求,首先误检率增高,因为启发式规则的局限性和模糊匹配技术的使用,存在很多正常样本由于某些代码片段匹配某些模板,从而被误判为恶意样本;其次该方案的规则更新较难,规则的提取依赖于大量的专业知识和人工总结,因此规则更新的成本较高。



技术实现要素:

本发明实施例提供了一种能够训练出基于输入的网络数据而简单高效地预测出对应地网页是否为恶意网页的检测模型的训练方法及应用该检测模型进行网页恶意程度预测的检测方法及系统。

为了解决上述技术问题,本发明实施例提供了一种恶意网页检测模型的训练方法,包括:

获得网页的数据集及所述网页是否为恶意网页的判断结果数据;

处理所述数据集;

建立训练模型架构;

以所述网页数据集的处理结果作为输入数据,以所述判断结果做为输出数据训练所述训练模型架构,使形成能够基于输入的网页数据处理结果而预测所述网页是否为恶意网页的检测模型。

作为优选,所述获得网页的数据集包括:

至少获得所述网页的网址、网页内容、网络信息以及所述网址对应的域名信息。

作为优选,所述获得所述网页是否为恶意网页的判断结果数据为:

自外部信息数据库中获得所述判断结果数据,其中,所述外部信息数据库至少包含网页的ip信誉数据集、网页域名信息集以及恶意网页名单中的一种或多种。

作为优选,所述处理所述数据集包括:

解析所述数据集中各网页数据的文本信息;

基于解析结果确定出表征不同含义的子信息;

确定所述子信息中用于表征所述网页特征的特征数据;

向量化所述特征数据。

作为优选,所述基于解析结果确定出表征不同含义的子信息包括:

基于解析结果至少确定出域名分词、域名字符数量、域名有效期、网页ip的地址信息、网页ip的可信度信息、域名注册时间、注册邮箱中的一种或多种。

作为优选,在所述基于解析结果确定出表征不同含义的子信息之后,还包括:

若欲获得的所述子信息缺失,则采用聚类填充的方式填充所述子信息的数据,使形成所述子信息;或

若获得的所述子信息数据值异常,则确定所述数据值的异常程度,若异常程度超出阈值范围,则剔除,并通过聚类填充的方式填充剔除的所述子信息的数据;

作为优选,所述确定所述子信息中用于表征所述网页特征的特征数据包括:

获得所述子信息中分别用于表征网页应用层及网络层的子信息;

提取表征所述应用层的子信息中的应用层特征数据以及表征所述网络层的子信息中的网络层特征数据;

分别确定出所述应用层特征数据和网络层特征数据中满足数据相关性要求的特征数据。

作为优选,所述向量化所述特征数据包括:

将为非数值的所述特征数据进行向量化。

本发明实施例同时提供一种恶意网页检测方法,包括:

获得网页数据;

处理所述网页数据形成如上所述的检测模型可识别计算的输入数据;

将所述输入数据输入至所述检测模型中以得到关于该网页是否为恶意网页的检测结果。

本发明实施例同时提供一种恶意网页检测系统,包括:

获得装置,用于获得网页数据;

处理装置,其包括如上所述的检测模型,所述处理装置用于对所述网页数据进行处理,使形成能够被所述检测模型可识别计算的输入数据,并将所述输入数据输入至所述检测模型中以得到关于该网页是否为恶意网页的检测结果。

基于上述实施例的公开可以获知,本发明实施例的有益效果在于通过训练建立的训练模型架构,使其可形成仅基于输入的网络数据便能够简单、高效、精准地预测出对应的网页是否为恶意网页的检测模型,通过该检测模型对网页进行预测有效减少了系统资源消耗和时间消耗以及人工能源消耗,且具有泛化性能,普遍提高了用户对网页预测的预测效率。

附图说明

图1为本发明实施例中的恶意网页检测模型训练方法的流程图。

图2为本发明另一实施例中的恶意网页检测模型训练方法的流程图。

图3为本发明实施例中的恶意网页检测方法的流程图。

图4为本发明实施例中的恶意网页检测系统的流程图。

具体实施方式

下面,结合附图对本发明的具体实施例进行详细的描述,但不作为本发明的限定。

应理解的是,可以对此处公开的实施例做出各种修改。因此,下述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本公开的范围和精神内的其他修改。

包含在说明书中并构成说明书的一部分的附图示出了本公开的实施例,并且与上面给出的对本公开的大致描述以及下面给出的对实施例的详细描述一起用于解释本公开的原理。

通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本发明的这些和其它特性将会变得显而易见。

还应当理解,尽管已经参照一些具体实例对本发明进行了描述,但本领域技术人员能够确定地实现本发明的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。

当结合附图时,鉴于以下详细说明,本公开的上述和其他方面、特征和优势将变得更为显而易见。

此后参照附图描述本公开的具体实施例;然而,应当理解,所公开的实施例仅仅是本公开的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本公开模糊不清。因此,本文所公开的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本公开。

本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本公开的相同或不同实施例中的一个或多个。

下面,结合附图详细的说明本发明实施例。

如图1所示,本发明实施例提供一种恶意网页检测模型训练方法,包括:

获得网页的数据集及网页是否为恶意网页的判断结果数据;

处理数据集;

建立训练模型架构;

以网页数据集的处理结果作为输入数据,以判断结果做为输出数据训练该训练模型架构,使形成能够基于输入的网页数据处理结果而预测网页是否为恶意网页的检测模型。

本发明实施例的有益效果在于通过训练建立的训练模型架构,使其可形成仅基于输入的网络数据便能够简单、高效、精准地预测出对应的网页是否为恶意网页的检测模型,通过该检测模型对网页进行预测有效减少了系统资源消耗和时间消耗以及人工能源消耗,且具有泛化性能,普遍提高了用户对网页预测的预测效率,同时简化了预测步骤。

具体地,本实施例中,在获得网页的数据集时,包括:

至少获得网页的网址、网页内容以及网址对应的域名信息。

例如使用爬虫程序获取网页的网址及其网页内容,同时获取网址对应域名的whois信息,另外还可下载大量的开源数据集来获得上述数据内容。

而在获得网页是否为恶意网页的判断结果数据时,包括:

自外部信息数据库中获得判断结果数据,其中,外部信息数据库至少包含网页的ip信誉数据集、网页域名信息集以及恶意网页名单中的一种或多种。

其中,该外部信息数据库可由系统自行创建,也可由其他设备建立,该外部信息库可根据最终形成的检测模型所检测的网页而不断更新,以为其他训练模型的训练,或为检测模型的更新等提供数据基础。

进一步地,本实施例中在处理数据集时,包括:

解析数据集中各网页数据的文本信息;

基于解析结果确定出表征不同含义的子信息;

确定子信息中用于表征网页特征的特征数据;

向量化特征数据。

例如,解析数据集中各网页的网址及网页内容中的文本信息,基于解析结果确定出表征不同的网页特征的子信息,然后基于各子信息和预设要求而确定出其中用于表征目标网页特征的特征数据,最后对得到的特征数据向量化,以使其能够正常输入至待训练的训练模型架构中进行训练。

具体地,本实施例中在基于解析结果确定出表征不同含义的子信息时,包括:

基于解析结果至少确定出域名分词、域名字符数量、域名有效期、网页ip的地址信息、网页ip的可信度信息、域名注册时间、注册邮箱中的一种或多种。

例如,将解析结果转化为包含多个字节的字段,基于各个字段而确定出域名分词、域名字符数量、域名有效期,同时基于解析结果获得的网页ip信息,例如网页ip的地址信息等,而对于网页ip的可信度信息,若解析结果中并未直接显示,便可基于网页的ip信息而自ip信誉库中搜寻,以得到匹配结果。接着,还可通过解析结果中获得域名信息,并基于域名信息而自域名信息库中获得whois信息,从而得到域名注册时间、注册邮箱等信息。当然,若解析结果包含上述各信息,也可直接获得。

进一步地,本实施例中在基于解析结果确定出表征不同含义的子信息之后,该训练方法还包括:

若欲获得的子信息缺失,则采用聚类填充的方式填充子信息的数据,使形成子信息;或

若获得的子信息数据值异常,则确定数据值的异常程度,若异常程度超出阈值范围,则剔除,并通过聚类填充的方式填充剔除的子信息的数据;

例如,若欲获得的子信息缺失,则可将确实的子信息对应的数据通过预先训练出的kmeans均值聚类模型来计算得到与该数据欧式距离满足阈值条件的多个替代型数据,最后基于该多个替代型数据计算加权平均值却得到最终可填充入该缺失数据的子信息中,以使该子信息包含用户所需的数据。

再如,当对获得的多个子信息根据其各自的属性值进行描述性统计以确定其数据分布状态时,如确定其分布状态是否为正态分布等,若基于得到的数据分布状态检测到有数据出现异常时,例如在同一属性的数据组中出现突高或突低的数据时,以数据分布状态为正态分布为例,则计算该异常数据的距离平均值,若距离平均值超出预定阈值,则剔除该数据,并以该数据为缺失状态处理,即,可按上述聚类填充的方式进行计算处理,以得到符合数据分布要求的数据。

进一步地,本实施例中在确定子信息中用于表征网页特征的特征数据时包括:

获得子信息中分别用于表征网页应用层及网络层的子信息;

提取表征应用层的子信息中的应用层特征数据以及表征网络层的子信息中的网络层特征数据;

分别确定出应用层特征数据和网络层特征数据中满足数据相关性要求的特征数据。

例如,提取表征应用层的子信息中的应用层特征数据时具体可为至少提取以下特征中的一个或多个:

1)网页网址的字符数、连接符数、数字数、数值数;

2)网页网址的字符指示变量,例如为利用36位二进制数度量a-z、0-9的出现;

3)域名的分词;

4)网页顶级域名中各语料的出现频率;

5)网址中的网页ip地址;

6)http标头中的编码字符集、内容长度;

7)http标头中的内容包含字段的数量与web内容的实际长度之间的比值;

8)登录网页的主机的whois服务注册日期、更新日期、有效期限;

9)javascript文件中的可疑javascript函数(如eval())的数量;

10)网页内容中的单词数、行数、空格数、单词平均长度、链接数、同源链接数;

而在提取表征网络层的子信息中的网络层特征数据时,例如以通过爬虫程序采集网络层特征数据时,可至少包括以下中的一种或多种:

1)爬虫程序发送到远程服务器的tcp数据包总数;

2)远程web服务器与爬虫程序对话期间使用的不同tcp端口的总数;

3)爬虫程序连接的不同远程ip地址的数量;

4)爬虫程序发送到远程web服务器的应用程序层数据的字节数;

5)爬虫程序发送到远程服务器的数据包数;

6)远程web服务器发送给爬虫程序的数据包数;

7)从web服务器到爬虫程序的数据量(字节量);

8)爬虫程序持续采集数据的时间;

9)连续数据流之间累积的间隔时间;

10)每个基本数据采集流程的累计持续时间;

当提取出应用层及网络层中的各特征数据后,可根据特征数据是否呈发散状,以及特征数据与对应各特征数据的阈值间的关系来对各特征数据进行最终选择,使确定出所有获得的应用层及网络层特征数据中满足各阈值要求的特征数据。

进一步地,在执行向量化特征数据时包括:

将为非数值的特征数据进行向量化。

例如,网络域名“305309969.china-ja.cn”中将[‘china’,‘ja’]向量化,并表示作[‘1’,‘0’]。

经过上述数据处理步骤后,便可形成用于输入至训练模型架构中的训练数据,以对该模型架构进行训练了。

优选地,本实施例中的模型架构的训练是采用集成学习的梯度提升树gbdt(gradientboostingdecisiontree)算法进行的。这是由于集成学习本身不是一个单独的机器学习算法,而是通过构建并结合多个学习器来完成学习任务的,常可获得比单一学习器显著优越的泛化性能。而gbdt是集成学习中一个长盛不衰的模型,其主要思想是利用弱分类器(决策树)迭代训练以得到最优模型,该模型具有训练效果好、不易过拟合等优点。基学习器(同质集成中的个体学习器可称作基学习器)所用的决策树算法相比于其他算法需要更少的特征工程,例如可以不用做特征标准化,不用关心特征间是否相互依赖等。决策树能够自动组合多个特征,它可以毫无压力地处理特征间的交互关系且不必担心异常值或者数据是否线性可分。因此,本实施例采用了gbdt算法做为分类训练方法,同时采用对数似然损失函数辅助其进行训练。

具体地,gbdt的训练算法如下所示:

训练的目标是求得一个模型使它对输入变量的预测值f(x)逼近它的真实值y。

其中,输入的数据为:给定的训练集一个可微的损失函数l(y,f(x)),迭代的次数为m;

(1)用一个常量γ0初始化模型:

(2)对于m=1tom:

a)计算伪残差rim如下:

其中,f(m-1)(x)是上一轮迭代后的预测值。

b)根据训练集构建一个弱学习器hm(x)来拟合伪残差;

c)通过如下的一维优化问题来计算乘子rm:

d)ν表示学习率,更新模型的计算公式如下:

fm(x)=fm-1(x)+νγmhm(x)0<v≤1

(3)输出fm(x)表示由一系列弱的决策树模型组合而成的强分类器的预测。

另外,优选地,本实施例中是使用lightgbm作为算法框架的。lightgbm是微软dmtk团队开源发布的,为gradientboosting算法的改进版本。lightgbm采用了一种更为高效的叶子生长策略,即带深度限制的按叶子生长策略(leaf-wise)。该策略在分裂前会遍历所有叶子,然后找到分裂增益最大的叶子进行分裂,并往复循环。在相同的分裂次数下,leaf-wise能够得到更好的精度。同时,在leaf-wise中添加了防止过拟合的最大深度限制。lightgbm是一个轻量级的gb框架,基于决策树的学习算法,支持分布式;其中gradientboosting算法的思想是将弱分类算法提升为强分类算法,从而一定程度提高分类准确率。

该框架算法主要流程如下:

1)初始化m棵决策树,训练样例的权重为1/m;

2)训练弱分类器f(x);

3)决定该弱分类器的话语权

4)更新权重∈;

5)得到最终分类器,也即最终的检测模型:

本实施例中由于是直接从原始网页数据中提取特征数据的向量,最大限度保留了原始特征,同时利用分词和外部信息增强有效特征维度,更全面地覆盖了有真实价值的特征,即通过特征提取步骤对无真实价值的特征数据进行了过滤,仅保留了有实际价值的特征数据。并且使用了基于lightgbm框架的gbdt算法,使得模型更具鲁棒性和泛化性。另外,如表一所示,其为检测模型的测试集上基于域名的恶意网址检测结果的混淆矩阵:

表一分类结果混淆矩阵

如表二所示,其为检测模型的性能度量表:

表二模型性能度量表

基于上述两个表格展示的数据可知,本实施例中的训练模型架构反复经过500多次迭代,模型的auc值达到了0.972519,对数损失降至0.175207。故使训练得到的检测模型能够基于输入的网页数据而高精度快速识别预测出对应的网页是否为恶意网页。

如图3所示,本发明实施例中同时提供一种恶意网页检测方法,包括:

获得网页数据;

处理网页数据形成如上所述的检测模型可识别计算的输入数据;

将输入数据输入至检测模型中以得到关于该网页是否为恶意网页的检测结果。

本实施例中的步骤一和二,即获取网页数据以及处理得到输入数据均如上文介绍的方法一致。本实施例中通过将获取的网页数据经处理得到输入数据并输入至检测模型中后,便可基于该检测模型而轻松得到关于该网页是否为恶意网页的预测结果,预测准精度高。

具体实施时,可对待测网址做数据预处理并向量化,使其符合检测模型能够识别的数据格式,之后将处理后的数据输入至检测模型中,使得到预测结果,如有异常,如预测结果表明网页为恶意网页时,则进行异常告警,进而通知用户做出相应处理。

进一步地,如图4所示,本发明实施例同时提供一种恶意网页检测系统,其包括:

获得装置,用于获得网页数据;

处理装置,其包括如上所述的检测模型,处理装置用于对网页数据进行处理,使形成能够被检测模型可识别计算的输入数据,并将输入数据输入至检测模型中以得到关于该网页是否为恶意网页的检测结果。

本实施例中获得装置获得网页数据以及处理装置对网页数据进行的处理操作,即获取网页数据以及处理得到输入数据均如前文介绍的方法一致,此处不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的数据处理方法所应用于的电子设备,可以参考前述产品实施例中的对应描述,在此不再赘述。

以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。

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