网页采集器的自动识别算法( 恶意网页识别技术领域的背景技术及系统的应用)

优采云 发布时间: 2022-03-08 11:26

  网页采集器的自动识别算法(

恶意网页识别技术领域的背景技术及系统的应用)

  

  本发明属于恶意网页识别技术领域,具体涉及一种恶意网页识别模型、识别模型建立方法、识别方法及系统。

  背景技术:

  黑名单技术是恶意网站检测算法中最传统、最经典的技术。网页黑名单收录已知的恶意网站列表,通常由可信的网站根据用户举报和网页内容分析生成。并发表。当用户浏览网站时,基于网页黑名单的数据库开始搜索。如果该网址在网页黑名单库中,将被视为恶意网址,浏览器会显示警告信息;否则,此 URL 将被视为普通 URL。现在网址生成算法已经成熟,每天都会出现大量恶意网址,黑名单技术无法及时更新所有恶意网址。因此,黑名单技术只能给用户最低级别的保护,无法及时发现恶意网站,阻止用户访问恶意网站。黑名单技术虽然存在判断遗漏严重、更新时效性低等缺点,但简单易用,因此仍然是众多杀毒系统中常用的技术之一。

  启发式算法是对黑名单技术的补充算法,其主要原理是利用从恶意URL中发现的黑名单相似度规则来发现和识别恶意网页。该算法可以依靠现有的启发式规则来识别恶意网页(存在的和一些以前没有出现过的),而不是依靠黑名单的精确匹配来完成恶意网页的识别。但是,这种方法只能针对有限数量的类似恶意网页设计,而不是针对所有恶意网页,恶意网页绕过这种模糊匹配技术并不难。莫舒克等人。提出一种更具体的启发式方法,通过分析网页的执行动态来寻找恶意网页的签名,

  机器学习算法是当前研究的热点之一。此类算法通过分析网页 URL 和网页信息,提取域名的重要特征表示,并训练预测模型。目前用于恶意网页识别的机器学习算法主要分为无监督算法和有监督算法。监督算法也称为分类算法。此类算法需要大量标记的恶意/良性网页地址作为训练集,提取网页特征,然后使用现有的分类算法(svm、c5.0、 决策树、逻辑回归等。 ) 用于恶意网页识别。监督学习算法首先提取所有标注过的URL信息的特征(域名特征、注册信息、生存时间等),然后选择能够区分恶意/良性URL的特征,然后使用分类算法进行建模分析。该算法准确率较高,误报率较低,但对标注数据和特征工程较为敏感。标注数据的准确性和所选特征的准确性将严重影响算法的准确性和效率。但它对标记数据和特征工程很敏感。标注数据的准确性和所选特征的准确性将严重影响算法的准确性和效率。但它对标记数据和特征工程很敏感。标注数据的准确性和所选特征的准确性将严重影响算法的准确性和效率。

  无监督机器学习方法也称为聚类方法。此类方法的具体分类过程主要包括特征提取、聚类、聚类标注和网页判别等步骤。主要方法是先将url数据集划分为若干个簇,使同一个簇中的数据对象相似度高,而不同簇中的数据对象相似度低。然后通过在数据集中构建和标记集群来区分恶意和良性网页。

  然而,由于缺乏恶意网页数据集,大多数识别恶意网页的方法都是基于学习正常网页内容数据,进行单分类检测,建立单分类模型。如果将恶意网页数据输入模型,则可以识别其是否正常。网页,如果它们不属于,则被识别为恶意的。

  技术实施要素:

  为解决上述技术问题,本发明提供了一种恶意网页识别模型、建立识别模型的方法、识别方法及系统,以解决现有恶意网页识别方法中恶意网页很少的问题。网页数据,只有通过学习正常的网络数据模型,才能解决问题。导致模型分类结果不准确的问题。

  本发明就是这样实现的,提供了一种恶意网页识别模型的建立方法,包括以下步骤:

  1)使用爬虫工具对网络进行爬取,人工识别爬取的网页内容数据样本,分为恶意网页内容数据样本和正常网页内容数据样本;

  2) 基于恶意网页内容数据的页面内容特征,构造恶意网页的网页特征,基于正常网页内容数据的页面内容特征,构造网页特征正常网页的;

  3)使用smote算法将恶意网页内容的数据样本加倍;

  4)利用GAN算法对加倍的恶意网页内容数据样本进行增强,使恶意网页内容数据样本的数量与正常网页内容数据样本的数量相平衡;

  5)将增强的恶意网页内容数据样本和正常网页内容数据样本合并,随机分为三部分,分别是训练集、测试集和验证集;

  6)使用训练集和测试集训练5个分类器,分别是5个隐藏层ann、随机森林、svm、逻辑回归和加权knn,使用5个分类器分别迭代,保持每个分类最高的一个f1的值,即对应生成5个模型,分别设置为mdl_ann、mdl_rm、mdl_svm、mdl_logistic和mdl_wknn,每个模型的初始权重设置为1/5,5个模型用于训练分类器。预测 的新数据集,并使用以下公式形成初始融合模型:

  1/5*mdl_ann.predict+1/5*mdl_rm.predict+1/5*mdl_svm.predict+1/5*mdl_logistic.predict+1/5*mdl_wknn.predict;

  7)利用验证集的数据样本,调整初始融合模型的权重,得到准确率最高的识别模型,用于识别恶意网页。

  进一步的,在步骤2)中,根据以下页面内容特征构建恶意网页的网页特征和正常网页的网页特征:

  文档代码中可执行程序数、隐藏可执行远程代码数、不匹配链接标签数、页面中链接数、网页中图片内容是否有*敏*感*词*暴力*敏*感*词*游戏内容、图片标签数量、脚本标签数量、embed标签数量、对象标签数量、window.open函数数量、document.location函数数量、document.cookie函数数量、windows.location函数数量;

  每个恶意网页内容数据样本由恶意网页的网页特征表示,每个正常网页内容数据样本由正常网页的网页特征表示。

  进一步的,在步骤3)中,使用smote算法对恶意网页内容数据样本进行加倍的方法为:

  301)设恶意网页内容数据样本数为t,取1个恶意网页内容数据样本,设为i,样本i用特征向量xi表示,i∈{1,.. .,t}:

  302)从t个样本中找到样本xi的k个最近邻,记为xi(near),near∈{1,...,k};

  303)从k个最近邻中随机选择一个样本xi(nn),生成一个0-1之间的随机数ζ1,合成一个新的样本xi1,xi1=xi+ζ1*(xi(nn) -xi );

  304) 重复步骤 303) n 次,形成 n 个新样本,xinew, new∈{1,...,n};

  305) 对所有 t 个样本执行步骤 302) 到 304),得到 nt 个新样本,即 n 次 t 个样本。

  进一步地,在步骤4)中,利用wgan-gp网络对加倍的恶意网页内容数据样本进行增强,使得恶意网页内容数据样本的数量与正常网页内容数据样本的数量达到平衡。

  进一步地,在步骤5)中,训练集、测试集和验证集的比例分别为70%、20%和10%。

  进一步地,步骤7)中,对初始融合模型进行权重调整的方法为:

  将步骤5)中的验证集数据分别输入到步骤6)训练的5个分类器的模型中,进行分类,得到五个准确率,按高低排序,排序最高的分类器weight 值增加0.1,对应排名最低的分类器减去0.1,循环迭代30次,输出权重调整后准确率最高的模型用于识别恶意网页。

  本发明还对通过建立恶意网页识别模型的方法建立的恶意网页识别模型进行保护。

  本发明还提供了一种利用上述恶意网页识别模型识别恶意网页的方法,包括以下步骤:

  a) 获取用户正在访问的网页的网页特征,用网页特征来表示网页,网页特征可以是一个或多个;

  b)将得到的网页特征表示的网页向量输入到上述方法建立的模型中,并输出结果,判断该网页是正常网页还是恶意网页;

  c) 如果是恶意网页,通过前端弹窗通知用户。

  本发明还提供了一种恶意网页识别系统,包括以下模块:

  网页特征获取模块,用于获取用户正在访问的网页的网页特征,并用网页特征来表示网页,网页特征可以是一种或多种;

  网页识别模块,用于将得到的网页特征表示的网页向量输入到上述方法建立的模型中,并输出结果,判断该网页是正常网页还是恶意网页。

  弹窗模块用于通过前端弹窗通知用户恶意网页的输出结果。

  与现有技术相比,本发明的优点是:

  1)利用smote算法和gan算法将恶意网页的样本数量翻​​倍,在恶意网页的样本数据和正常网页的样本数据可以基本相同的条件下建立模型均衡,准确率高;

  2) 不是选择单个模型来识别恶意网页,而是通过将生成的五个模型融合并调整不同模型的权重得到最终的识别模型,可以避免使用单个模型的输出带来的错误模型还可以提高准确率。

  图纸说明

  附图说明图1是本发明提供的恶意网页识别模型建立方法的流程图;

  图2是利用本发明建立的恶意网页识别模型进行恶意网页识别的流程图。

  无花果。图3为本发明提供的恶意网页识别系统*敏*感*词*。

  详细说明

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

  参考图。如图1所示,本发明提供了一种恶意网页识别模型的建立方法,包括以下步骤:

  1)使用爬虫工具在网络中进行爬取,将爬取的网页内容数据样本保存在本地,通过人工识别分为恶意网页内容数据样本和正常网页内容数据样本;

  爬虫工具是根据一定的规则自动爬取万维网上信息的程序或脚本。使用爬虫工具对网页内容数据样本进行爬取时,首先要设置爬取条件或爬取任务以及要爬取的样本数量。爬取条件或爬取思维设置可以根据未来目标用户识别恶意网页的需求进行设置,即不同类型的用户对恶意网页的判断不同。例如,某些类型的用户会将产品推广网页视为恶意网页,而需要此类产品的用户会将此类网页视为正常网页。数量需要足够大才能具有代表性,但是爬虫工具爬取网页内容数据样本后,恶意网页内容数据样本与正常网页内容数据样本需要人工识别,无法设置样本数量。太大了,后续人工识别的过程太繁琐。因此,在本发明提供的模型构建方法中,根据建立模型的需要和后续人工识别的难易程度,确定需要爬虫工具爬取的样本数量。该工具的网页抓取端可以根据条件或任务以及目标样本的数量,在浏览网页的过程中随意抓取网页,也可以预设某类恶意网页的ip用户经常识别,让爬虫工具有针对性地爬取,

  爬虫工具根据任务和目标样本数量爬取网页内容数据后,在人体识别过程中,人体识别恶意网页的原理是按照常规认知,存在恶意信息(如*敏*感*词*、*敏*感*词*、暴力等)的网页内容。信息),可以人为地将其识别为恶意网页。

  2) 基于恶意网页内容数据的页面内容特征,构造恶意网页的网页特征,基于正常网页内容数据的页面内容特征,构造网页特征正常网页的;

  恶意网页的网页特征和正常网页的网页特征是根据以下页面内容特征构建的:

  文档代码中可执行程序的数量:所有扩展名(如.exe、.tmp、.ini、.dll等)中都有很多可执行程序,如果页面收录其中一个可执行程序,则该页面极有可能是恶意网页。

  隐藏可执行远程代码的出现:运行恶意命令的代码通常隐藏在路径代码中。

  链接标签不匹配的出现次数:使用不匹配标签,url地址往往被隐式插入恶意页面,将当前页面重定向到其他海外域名页面;

  页面中收录的链接数量:分析采集样本后,一些恶意网页中存在大量嵌入链接;

  网页中的图片内容是否有暴力*敏*感*词*游戏的内容:使用训练好的cnn网络对网页中的图片进行分类识别,大部分恶意网页都会有上述内容的图片;

  用于训练的网络是alexnet,其中整个网络结构由5个卷积层和3个全连接层组成,深度共8层。并使用imagenet数据库训练的数据作为迁移学习模型。当使用CNN训练的网络识别图片时,返回值是识别出哪个类别的概率。因此,在该特征中,将获得被识别为暴力图像的概率、被识别为黄*敏*感*词*像的概率、被识别为游戏图像的概率以及被识别为*敏*感*词*图像的概率。

  还有图片标签数量、脚本标签数量、embed标签数量、对象标签数量、window.open函数数量、document.location函数数量、document.cookie函数数量,以及 windows.location 函数的数量;

  每个恶意网页内容数据样本由恶意网页的一个或多个网页特征表示,每个正常网页内容数据样本由正常网页的一个或多个网页特征表示。

  3)使用smote算法将恶意网页内容的数据样本加倍;

  由于恶意网页内容数据样本的数量远少于正常网页内容数据样本,为了使结果更加准确,本发明采用smote算法将恶意网页内容数据样本加倍,具体方法如下:如下:

  301)设恶意网页内容数据样本数为t,取1个恶意网页内容数据样本,设为i,样本i用特征向量xi表示,i∈{1,.. .,t}:

  302)从t个样本中找到样本xi的k个最近邻,记为xi(near),near∈{1,...,k};

  303)从k个最近邻中随机选择一个样本xi(nn),生成一个0-1之间的随机数ζ1,合成一个新的样本xi1,xi1=xi+ζ1*(xi(nn) -xi );

  304) 重复步骤 303) n 次,形成 n 个新样本,xinew, new∈{1,...,n};

  305) 对所有 t 个样本执行步骤 302) 到 304),得到 nt 个新样本,即 n 次 t 个样本。

  如果样本的特征维度是二维的,那么每个样本都可以用二维平面上的一个点来表示。smote算法合成的一个新样本xi1相当于代表样本xi的点和代表样本xi的点之间的线段上的一个点xi(nn),所以该算法是基于“插值”来合成新的样本。

  4)使用GAN算法对加倍的恶意网页内容数据样本进行增强,以平衡恶意网页内容数据样本与正常网页内容数据样本的数量;利用wgan-gp网络对恶意网页内容数据样本进行双倍增强,使恶意网页内容数据样本数量与正常网页内容数据样本数量保持平衡。

  GAN进行数据放大的原理是将真实数据输入*敏*感*词*,通过wgan-gp网络输出一个高维向量,然后将这个高维向量输入到判别器进行判别,判别器输出一个标量,标量值越大,判别器的输入越接近真实数据。通过这种方法,放大了n倍的恶意网页内容数据样本,最终与正常网页内容数据样本取得平衡。

  wgan-gp网络是wgan网络的改进版,解决了wgan实现的两个严重问题:

  1、判别器的损失希望尽可能地增加真假样本的得分差。实验发现,最终的权重基本集中在两端,从而降低了参数的多样性,这会使判别器得到的神经网络学习到一个简单的映射函数,是巨大的浪费;

  2、容易导致渐变消失或者渐变爆炸。如果clippingthreshold设置的值很小,梯度每经过一个网络就会变小,经过多个阶段后变成指数衰减;爆炸。这个平衡区域可能很小。

  也就是说,wgan-gp 使用梯度惩罚的方法来代替权重裁剪。为了满足函数在任意位置的梯度小于1,可以考虑根据网络的输入限制相应判别器的输出。将目标函数更新为此,添加一个惩罚项,对于惩罚项中的采样分布,其范围是真实数据分布与生成数据分布之间的分布。具体的实用方法是对真实数据分布和生成数据分布进行一次抽样,然后在连接这两点的直线上再做一次随机抽样,这就是我们想要的惩罚项。因此,wgan-gp 比 wgan 效果更好。

  5)将增强的恶意网页内容数据样本和正常网页内容数据样本结合起来,随机分为三部分,分别是训练集、测试集和验证集;训练集、测试集和验证集的比例分别为70%、20%和10%。

  6)使用70%的训练集和20%的测试集训练5个分类器,将训练数据集随机化(50次),每次生成训练数据集和测试数据集的序列,以及按照Training生成训练集和测试集,训练5个分类器,分别是5个隐藏层ann、随机森林、svm、逻辑回归、加权knn,用5个分类器分别迭代,保留每个分类器f1的最大值为生成5个模型,分别设置为mdl_ann、mdl_rm、mdl_svm、mdl_logistic和mdl_wknn。每个模型的初始权重设置为1/5,训练分类器过程中产生的新模型被5个模型使用。预测 的数据集,并使用以下公式形成初始融合模型:

  1/5*mdl_ann.predict+1/5*mdl_rm.predict+1/5*mdl_svm.predict+1/5*mdl_logistic.predict+1/5*mdl_wknn.predict;

  7)利用验证集的数据样本,调整初始融合模型的权重,得到准确率最高的识别模型,用于恶意网页的识别。初始融合模型的权重调整方法如下:

  将步骤5)中的验证集数据分别输入到步骤6)训练的5个分类器的模型中,进行分类,得到五个准确率,按高低排序,排序最高的分类器weight 值增加0.1,对应排名最低的分类器减去0.1,循环迭代30次,输出权重调整后准确率最高的模型用于识别恶意网页。

  参考图。如图2所示,利用上述恶意网页识别模型识别恶意网页的方法包括以下步骤:

  a) 获取用户正在访问的网页的网页特征,用网页特征来表示网页,网页特征可以是一个或多个;

  这里的网页特征是上述方法中提到的文档代码中可执行程序的数量,隐藏的可执行远程代码出现的次数,不匹配的链接标签出现的次数,页面中收录的链接数量,以及网页中的图片。内容是否有暴力*敏*感*词*游戏的内容,图片标签个数,脚本标签个数,embed标签个数,object标签个数,window.open函数个数,document.location函数个数, document.cookie 函数个数, windows.location 函数个数, 通过这些特征, 建立一个代表网页的向量。

  b)将得到的网页特征表示的网页向量输入到上述方法建立的模型中,并输出结果,判断该网页是正常网页还是恶意网页;

  c) 如果是恶意网页,通过前端弹窗通知用户。

  如图3所示,本发明还提供了一种恶意网页识别系统,包括以下模块:

  网页特征获取模块,用于获取用户正在访问的网页的网页特征,并用网页特征来表示网页,网页特征可以是一种或多种;

  这里的网页特征是上述方法中提到的文档代码中可执行程序的数量,隐藏的可执行远程代码出现的次数,不匹配的链接标签出现的次数,页面中收录的链接数量,以及网页中的图片。内容是否有暴力*敏*感*词*游戏的内容,图片标签个数,脚本标签个数,embed标签个数,object标签个数,window.open函数个数,document.location函数个数, document.cookie 函数个数, windows.location 函数个数, 通过这些特征, 建立一个代表网页的向量。

  网页识别模块,用于将得到的网页特征表示的网页向量输入到上述方法建立的模型中,并输出结果,判断该网页是正常网页还是恶意网页。

  弹窗模块用于通过前端弹窗通知用户恶意网页的输出结果。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线