摘要: 网络安全碰见机器学习,会摩擦出怎样的火花呢?
至关多的文章已经描述了机器学习在网络安全的应用以及保护咱们免受网络攻击的能力。尽管如此,咱们仍然须要仔细研究人工智能(AI)、机器学习(ML)和深度学习(DL),它们到底能不能像炒做内容所说的无所不能。php
首先,我要让你失望了。我经过研究发现与图像识别或天然语言处理相比,机器学习永远不会成为网络安全的灵丹妙药,而这两个领域的机器学习应用正在蓬勃发展。由于总会有人试图找到系统或ML算法的弱点并绕过安全机制。更糟糕的是,如今黑客可以利用机器学习来完成他们邪恶想法。算法
幸运的是,机器学习能够帮助解决最多见的任务,包括回归,预测和分类。在数据量极大且网络安全人才短缺的时代,ML彷佛又是惟一的解决方案。编程
本文介绍了实际应用于网络安全的ML研究的当前进展和将来方向的实用技术理解。安全
定义代表,网络安全领域主要指机器学习(而不是AI),并且很大一部分任务与人类无关。网络
机器学习意味着使用基于你拥有的数据和特定方法来解决某些任务。机器学习
大多数最多见的任务,以下所述:分布式
对于某些任务,你只能使用一种方法,但能够有多种方法用于其余任务。工具
让咱们看一下可用于解决机器学习任务的不一样方法的示例,以及它们与网络安全任务的关系。学习
回归(或预测)很简单。利用关于现有数据的知识来了解新数据。举一个房价预测的例子。在网络安全中,它能够应用于欺诈检测,经过特征(例如,可疑交易的总量,位置等)肯定欺诈行为的几率。测试
至于回归这方面的技术,能够分为两大类:机器学习和深度学习。
机器学习&回归
如下是可用于回归任务的机器学习方法的简短列表(具备各自的优缺点)。
你能够在此处找到每种方法的详细说明 。
深度学习&回归
对于回归任务,可使用如下深度学习模型:
分类也很简单。想象一下,你有两堆按类型分类的图片(例如,狗和猫)。在网络安全方面,将垃圾邮件与其余邮件分开的垃圾邮件过滤器能够做为一个例子。垃圾邮件过滤器多是应用于网络安全任务的第一种ML方法。
监督学习方法通经常使用于分类,其中某些组的示例是已知的,全部类都应该在开头定义。
下面是与算法相关的列表。
机器学习类
SVM和随机森林这样的方法被认为是效果最好的,可是请记住,没有一个通用的规则。
深度学习类
若是你有更多数据,深度学习方法会更好。可是,若是你计划在生产中使用它并按期从新训练系统,它们会消耗更多计算资源。
聚类是相似于具备惟一但有主要差别的分类方式。有关数据类的信息未知,大体意思是不知道这些数据是否能够分类。这实际上是无人监督的学习。
据推测,聚类的最佳任务是取证分析。事件的缘由、过程和结果都很模糊,须要对全部活动进行分类以找出异常状况。恶意软件分析(即恶意软件保护或安全电子邮件网关)的解决方案能够实现它以将法律文件与异常值分开。
能够应用聚类的另外一个有趣的领域是用户行为分析。在这种状况下,应用程序用户汇集在一块儿,以即可以查看它们是否应属于特定组。
一般,聚类不适用于解决网络安全中的特定任务,由于它更像是管道中的子任务之一(例如,将用户分组到单独的组中以调整风险值)。
用于聚类的机器学习
用于聚类的深度学习
关联规则学习(推荐系统)
Netflix和SoundCloud根据你的电影或音乐偏好推荐电影或歌曲。在网络安全方面,这一原则主要用于事件响应。若是公司面临一系列事件并提供各类类型的响应,系统会学习特定事件的响应类型(例如,将其标记为误报、更改风险值、进行调查)。若是风险管理解决方案自动为新漏洞或基于其描述构建的错误配置分配风险值,那么它们能够带来很大的便利。
解决推荐任务的算法:
关联规则学习的深度学习
最新的推荐系统是基于首先玻尔兹曼机及其更新版本,例若有前途的深度新年网络。
降维或泛化不像分类那样受欢迎,但若是你处理具备未标记数据和许多潜在特征的复杂系统,那必须进行降维。你没法应用聚类,由于传统的方法会限制特征的数量,或者它们不起做用。降维能够帮助处理它并减小没必要要的特征。与聚类同样,降维一般是更复杂模型中的任务之一。对于网络安全任务,降维是常见的面部检测解决方案。
用于降维的机器学习
你能够在此处找到有关降维的更多信息(包括方法及其功能的通常说明)。
生成模型的任务不一样于上述模型,虽然这些任务涉及现有信息和相关决策,但生成模型旨在根据先前的决策模拟实际数据(而不是生成决策)。
攻击性网络安全的任务是生成输入参数列表,以测试针对注入漏洞的特定应用程序。或者是拥有适用于Web应用程序的漏洞扫描工具。其中一个模块是测试文件以进行未经受权的访问。这些测试可以改变现有的文件名以识别新的文件名。例如,生成模型很擅长更擅长,若是爬虫检测到名为login.php的文件,最好经过尝试login_1.php,login_backup.php,login.php.2017等名称来检查是否存在任何备份或测试其副本。
用于生成模型的机器学习
用于生成模型的深度学习
最近,GANs取得了使人瞩目的成绩。他们成功地模仿了一段视频,咱们能够想象一下它如何用于生成模糊测试的示例。
本文为云栖社区原创内容,未经容许不得转载。