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