使用机器学习技术检测恶意URL外文翻译资料

 2023-03-15 04:03

使用机器学习技术检测恶意URL

摘 要

在万维网兴起下,电子商务相关的垃圾邮件广告、金融欺诈、恶意软件传播等广泛的犯罪活动都逐渐产生。尽管这些计划背后的确切动机可能不同,但他们的共性是基于用户会毫无疑问访问他们的网站。这些访问可以通过电子邮件、网页搜索结果或其他网页的链接来驱动。但在所有这些情况下,用户都需要采取一些行动,例如点击所需的统一资源定位器( URL ),为了识别这些恶意网站,网页安全社区开发了黑名单服务。这些黑名单依次由一系列技术构建,包括手动报告、蜜罐和网络爬虫,并结合站点分析启发式。不可避免的是,许多恶意网站并没有被列入黑名单,要么是因为它们太新,要么是从未或错误地评估过。

本文我们将恶意URL的检测问题看作一个二分类问题,并研究了几个著名的分类器的性能,即NaIuml;ve Bayes、支持向量机、多层感知器、决策树、随机森林和k近邻。此外,我们采用了一个包含240万个URL (实例)和320万个特征的公共数据集。数值模拟表明,大多数分类方法在不需要先进的特征选择技术或领域专家参与的情况下达到了可接受的预测率。特别是随机森林和多层感知器达到了最高的精度。

I . 导言

随着万维网作为支撑知识传播和增加经济活动的重要平台的不可否认的重要性,安全方面持续在许多企业和政府研究的前列。

赛门铁克的《2016年互联网安全报告》[ 1 ]详细阐述了一系列全球性威胁,包括企业数据泄露、浏览器和网站攻击、矛头钓鱼企图、勒森姆软件等各类欺诈性网络活动。报告还揭露了骗子使用的几种网络伎俩。一个众所周知且非常有效的策略是诱使用户点击恶意的统一资源定位器(URL),从而导致系统遭到某种破坏。

为了识别这些恶意网站,web安全社区开发了黑名单服务。这些黑名单反过来是由大量技术(包括手工报告、蜜罐和网络爬虫)结合站点分析启发式方法开发的[ 2 ]。虽然URL黑名单在一定程度上是有效的,但攻击者很容易通过稍微修改URL字符串的一个或多个组件来欺骗系统。不可避免的是,许多恶意网站不是因为太近或者从未被或不正确地评价而被列入黑名单。

文献中的一些研究从机器学习的角度解决了这个问题。也就是说,他们编写了一个被归类为恶意或良性的URL列表,并通过一组属性来表征每个URL。然后分类算法被用来学习决策类之间的边界。

De las Cuevas等人[ 3 ]报告中指出分类率约为96 %,通过基于粗糙集的特征选择预处理步骤,将原来的12个特征降为9个,分类率升到97 %。其中每个URL的标注是在某公司首席安全官(CSO)指令的一组安全规则后完成的。这导致了一个通过欠采样处理的不平衡分类问题。总共在删除重复后考虑了57 000个URL实例。作者注意到他们在前期工作中所得结果的改进[ 4 ]

Kan和Thi [ 5 ]对网页的分类不是按其内容而是使用其URL,因为在获取网页内容或解析文本时不会出现任何延迟,所以速度要快得多。URL被分割成多个标记,从中提取分类特征。特征建模了标记之间的顺序依赖关系。作者指出,高质量的URL分割与特征提取相结合,比几种基线技术提高了分类率。Baykan等人[ 6 ]追求一个类似的目标:从URL中进行主题分类。他们为每个主题(学生、教师、课程和项目)训练了单独的二元分类器,并且能够在提高并超过报告过的最好的F值。

Ma 等人[ 7 ]提出了一种从URL的词汇特征和基于主机特征中检测恶意网站的方法,因为它们承载着丰富的网站性质信息。他们的系统能够通过数万个特征进行筛选,识别出重要的URL组件和元数据,而不需要繁重的领域专长。对该方法进行了多达3万个实例的评估,取得了很好的效果,即很高的分类率( 95 % ~ 99 % )和较低的假阳性率中[ 8 ]的同一作者使用在线算法来处理数百万特征随时间演变的URL。开发了采集实时URL特征的系统。作者将其与来自大型网络邮件提供商的标记URL的实时饲料配对。使用置信度加权学习在平衡数据集上报告了99 %的分类率。

Zhao和Hoi [ 9 ]通过他们的Cost-sensitive Online Active Learning ( CSOAL )框架避免了恶意URL检测问题中(典型)类不平衡以及需要大量训练数据的问题。CSOAL只查询可用数据的一小部分( 100万个实例中约有0.5 % ),直接优化两个代价敏感的措施来解决类不平衡问题。经验证据表明,相对于使用大量标记数据的代价不敏感和代价敏感的在线分类算法,他们的方案取得了更好或高度可比的分类性能。

本文其余部分安排如下。第二节描述了正在考虑的问题,第三节概述了几种常用的分类技术来解决,实证结果列于第四节,结论意见于第五节。

II . 问题描述

本研究的数据由Ma等人提供,[ 10 ]这些数据由121组URL组成,这些URL已经收集了121个不同的日子。对于Day0,已经收集了1.6万个URLS,Day45只包含130个条目,对于其他的天数里,注册了2万个URL。所有URL都具有多个属性的特征,每个属性都被归类为恶意或良性。

整个数据集包含230多万个URL,每个URL都有320多万个特征。这些特征绝大多数可以被识别为二进制属性。非二进制1的64个特征同时包含数值和离散的、序数值。

图1 具有给定百分比恶意URL的数据集的频率

分类精度必须主要依靠所用方法的力量来实现。没有领域专家参与评论特征重要性或相关性。

对于整个数据集,大约33 %的URL被分类为恶意。在图1中,直方图显示了具有给定百分比恶意URL ( x轴)的数据集的频率( y轴),可以看出,对于绝大多数数据集,30 %到40 %的URL都是恶意的。左边的异常值,Day 34,36,37的数据包含不到10 %的恶意URL。Day95报告的比例最高,接近45 %。考虑到每个数据集的分类比例,在随机选择的测试集上对每个URL进行良性预测,准确率可以达到66 %。对于从第34、36和37天取样的测试集,类似的预测甚至可以轻松达到90 %的准确率。由于我们期望分类算法能够准确地预测标签,我们可以使用这些比例来评估结果。

III . 分类技术

模式分类[ 11 ]是现实世界问题中常见的场景,大多数可用模型在面对此类场景时都受到人类推理和行为的启发。这个问题包括给问题的一个新的观察(模式)分配正确的类别,给出一组可供选择的反应。模式通常由一组属性来描述,这些属性可以是数值的、类别的或两者兼而有之。从形式上讲,模式分类问题[ 11 ]是建立一个映射f : U → D,该映射由属性集 描述的每个模式/对象xisin;U,分配给 中的k可能的类D。通常,映射是通过有监督的方法来学习的,即使用一组关于分类问题的可用历史数据来训练模型。

1X4, X5, X6, X8, X11, X16, X17, X18, X19, X21, X22, X23, X30, X33, X35, X39, X41, X43, X55, X57, X59, X61, X63, X65, X67, X69, X71, X73, X75, X77, X79, X81, X83, X85, X87, X89, X91, X93, X95, X97, X99, X101, X103, X105, X107, X109, X111, X113, X120, X126, X132, X134, X136, X138, X140, X142, X144, X146, X148, X150, X161, X194, X270, X7801

学习过程往往是一个成本/误差度量的最小化来驱动。更复杂的分类问题包括存在类不平衡[ 12 ] [ 13 ]、类噪声[ 14 ]、部分标记数据[ 15 ] [ 16 ]或每个对象的多个类[ 17 ]等情况下的学习。

关于分类模型的广泛文献(从此简单地称为“分类器”)为面临分类问题提供了一系列可能的解决方案和方法。决策树、最近邻、贝叶斯网络、随机森林、支持向量机或人工神经网络是最流行的分类器,它们各有优缺点。读者可以参考[ 18 ][ 19 ]中的研究,进一步了解这些传统分类器的性能。

A.决策树

在机器学习的背景下,决策树是一种树状图结构,其中每个节点代表对某个属性的测试。每个分支表示测试的结果,叶子节点表示通过该分支进行所有决策后得到的类标签。从根到叶的路径表示分类规则。此方案中的目标则是在表示数据的同时最小化模型的复杂度。提出了几种构造此类优化树的算法。例如,C4.5 [ 20 ]源于著名的分治技术,在多个应用领域得到了广泛的应用,是最流行的机器学习算法之一。该方案利用信息熵的概念从一组训练数据中构建决策树。在树的每个节点上,C4.5根据归一化的信息增益(熵的差值)选择最有效分裂其集合的数据的属性。需要注意的是,这种简单但有效的技术能够处理数据集中的缺失值以及数值属性和类别属性。

B. K-最近邻

最近邻算法( kNN )是一种用于分类和回归的方法[ 21 ],在推理过程中,该技术确定了与测试实例最接近的k训练实例。分类上下文中的输出是所选邻居的类值的模式。如果回归是其k近邻值的均值。因此kNN是一种基于实例的学习,或者说懒惰学习,这里函数只在局部近似,所有计算都推迟到分类。对邻居使用权值是一种常用的技术,可以根据距离有关实例的距离来确定。连续变量常用的距离度量是欧氏距离,或者是离散特征的Hamming距离。邻居是从历史数据中选择的,但没有执行学习算法。kNN神经网络算法的一个缺点是对数据的局部结构敏感。

  1. 贝叶斯网络

贝叶斯网络[ 22 ]是一类有向无环图,其中节点表示根据贝叶斯理论的随机变量:它们可能是可观测量、潜变量、未知参数或假设。该模型中的边表示条件依赖关系,未连接节点表示与其他节点没有依赖关系的变量。每个节点使用一个概率函数计算其值,该概率函数输出节点的概率(或概率分布),从前一个节点的特定值集合中输出。

贝叶斯网络中的推理过程基于贝叶斯的规则,它计算每个解释的后验概率。学习过程需要确定模型的图结构和参数(每个节点的条件概率分布)。如果变量是离散的,这可以表示成表,表中列出了子节点对其父节点的每一个组合值承担其各自不同值的概率。但是结构中的所有关系都必须从数据中学习,或者可以事先设计,对应用程序域中的依赖关系有足够的了解。另一种选择是使用NaIuml;ve贝叶斯分类器[ 22 ]。为了学习这些模型的结构和参数,人们提出了一系列算法,这些算法都基于一个共同的假设:给定类变量,某个特征的值与其他特征的值无关,从而避免了对这类依赖关系的建模。尽管它们显然过于简单,但NaIuml;ve贝叶斯分类器在不同的应用问题上仍然非常有效,尽管其他一些最近的技术,如随机森林或支持向量机经常优于这个分类器。

D .随机森林

随机森林( RF ) [ 23 ]lt;

剩余内容已隐藏,支付完成后下载完整资料


英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[595991],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。