网络安全与机器学习(一):网络安全中的机器学习算法

相当多的文章已经描述了机器学习在网络安全的应用以及保护我们免受网络攻击的能力。尽管如此,我们仍然需要仔细研究人工智能(AI)、机器学习(ML)和深度学习(DL),它们到底能不能像炒作内容所说的无所不能。

首先,我要让你失望了。我通过研究发现与图像识别或自然语言处理相比,机器学习永远不会成为网络安全的灵丹妙药,而这两个领域的机器学习应用正在蓬勃发展。因为总会有人试图找到系统或ML算法的弱点并绕过安全机制。更糟糕的是,现在黑客能够利用机器学习来完成他们邪恶想法。

幸运的是,机器学习可以帮助解决最常见的任务,包括回归,预测和分类。在数据量极大且网络安全人才短缺的时代,ML似乎又是唯一的解决方案。

本文介绍了实际应用于网络安全的ML研究的当前进展和未来方向的实用技术理解。

机器学习术语

  1. AI(人工智能)一个广泛的概念。简单来说是通过技术使机器变得明或者言之通机器算法(例如视觉识别,自然理等)行人工任。重点是AI不是机器学或自动化的机器。它可以是安装在清洁机器人中的典程序,如边缘检测。总的来说,AI是以某种方式行人工任系统
  2. ML(机器学人工智能的一种方法,它是一种能经验中学的系。它不可以复制人,而且可以减少用于困(如股票价格预测)的工作量和时间话说ML是一个可以通使用示例而不是通过编程来识别模式的系。如果你的系统经常学,根据数据而不是算法做出决策,并改其行,那就是机器学
  3. DL(深度学一套用于实现机器学的技,例如识别系统,系主要识别对边缘构、型、然后识别对象本身。重点是深度学并不完全是深度神经网络,它还有其他算法,它们被改进以学习模式模式,例如强化任务中的迁移

定义表明,网络安全领域主要指机器学习(而不是AI),而且很大一部分任务与人类无关。

机器学习意味着使用基于你拥有的数据和特定方法来解决某些任务。

大多数最常见的任务,如下所述:

  1. (或预测-基于先前值预测下一个的任
  2. -将事物分成不同类别的任
  3. -类似于分类,但类是未知的,通过它们的相似性对事物进行分组
  4. 联规则(或推荐)-基于先前经验推荐某事的任
  5. 是在多个示例中搜索常和最重要特征的任
  6. 生成模型基于先前的分布知识创建内容的任

对于某些任务,你只能使用一种方法,但可以有多种方法用于其他任务。

ML的趋势

过去的趋势

  1. 监督学习:首先,你应该标记数据,例如向模型提供可行文件的示例,并说该文件是件。基于此标记数据,模型可以决定新数据,缺点是标记数据的限制。
  2. Eensemble(集成) 这是监督学习的扩展,同时混合不同的简单模型来解决任务。

当前的趋势

  1. 督学数据驱动模式,当没有标记数据,可以使用方法,并且模型可以以某种方式基于属性自行标记它。通常,它旨在发现数据中的异常,因几乎不可能标记所有数据。
  2. 督学顾名思义,当有一些标记数据时,半监督学习试图结合有监督和无监督方法进行学习训练

未来的趋势

  1. 强化学习:当行为应该以某种方式对变化的境做出反应时,可以使用驱动的方法。就像一个通反复试验来学习环境的孩子。
  2. 它更像是化学的子,可能会成长为一个独的类型。主习类似于教,除了化之外,可以帮助错误和行

机器学和网安全

让我们看一下可用于解决机器学习任务的不同方法的示例,以及它们与网络安全任务的关系。

回归(或预测)很简单。利用关于现有数据的知识来了解新数据。举一个房价预测的例子。在网络安全中,它可以应用于欺诈检测,通过特征(例如,可疑交易的总量,位置等)确定欺诈行为的概率。

至于回归这方面的技术,可以分为两大类:机器学习和深度学习。

机器学习&

以下是可用于回归任务的机器学习方法的简短列表(具有各自的优缺点)。

  1. 线性回归
  2. 式回
  3. 岭回
  4. 决策
  5. SVR(支持向量回
  6. 随机森林

你可以在此处找到每种方法的详细说明  。

深度学习&

对于回归任务,可以使用以下深度学习模型:

  1. 人工神ANN
  2. 递归神经网络(RNN
  3. 经图灵机(NTM
  4. 可微分神经计算机(DNC

分类也很简单。想象一下,你有两堆按类型分类的图片(例如,狗和猫)。在网络安全方面,将垃圾邮件与其他邮件分开的垃圾邮件过滤器可以作为一个例子。垃圾邮件过滤器可能是应用于网络安全任务的第一种ML方法。

监督学习方法通​​常用于分类,其中某些组的示例是已知的,所有类都应该在开头定义。

下面是与算法相关的列表。

机器学习类

  1. LogisticRegressionLR
  2. K-Nearest NeighborsK-NN
  3. 支持向量机(SVM
  4. KernelSVM
  5. NaiveBayes
  6. DecisionTreeClassification
  7. 随机森林分

SVM和随机森林这样的方法被认为是效果最好的,但是请记住,没有一个通用的规则。

深度学习类

  1. 人工神

如果你有更多数据,深度学习方法会更好。但是,如果你计划在生产中使用它并定期重新训练系统,它们会消耗更多计算资源。

聚类是类似于具有唯一但有主要差异的分类方式。有关数据类的信息未知,大致意思是不知道这些数据是否可以分类。这其实是无人监督的学习。

据推测,聚类的最佳任务是取证分析。事件的原因、过程和结果都很模糊,需要对所有活动进行分类以找出异常情况。恶意软件分析(即恶意软件保护安全电子邮件网关)的解决方案可以实现它以将法律文件与异常值分开。

可以应用聚类的另一个有趣的领域是用户行为分析。在这种情况下,应用程序用户聚集在一起,以便可以查看它们是否应属于特定组。

通常,聚类不适用于解决网络安全中的特定任务,因为它更像是管道中的子任务之一(例如,将用户分组到单独的组中以调整风险值)。

用于聚的机器学

  1. K-最近居(KNN
  2. K-means
  3. MixturemodelLDA
  4. DBSCn
  5. 贝叶斯
  6. GaussianMixtureModel
  7. Mean-shift
  8. 凝聚式层次聚类

用于聚类的深度学

  • 组织映射(SOM)或Kohonen Networks

联规则(推荐系

Netflix和SoundCloud根据你的电影或音乐偏好推荐电影或歌曲。在网络安全方面,这一原则主要用于事件响应。如果公司面临一系列事件并提供各种类型的响应,系统会学习特定事件的响应类型(例如,将其标记为误报、更改风险值、进行调查)。如果风险管理解决方案自动为新漏洞或基于其描述构建的错误配置分配风险值,那么它们可以带来很大的便利。

解决推荐任务的算法:

联规则的机器学

  1. Apriori
  2. Euclat
  3. FP-growth

联规则的深度学

  1. 受限玻尔兹曼机(RBM
  2. 深度信念网DBN
  3. 堆叠式自动编码

最新的推荐系统是基于首先玻尔兹曼机及其更新版本,例如有前途的深度新年网络。

降维或泛化不像分类那样受欢迎,但如果你处理具有未标记数据和许多潜在特征的复杂系统,那必须进行降维。你无法应用聚类,因为传统的方法会限制特征的数量,或者它们不起作用。降维可以帮助处理它并减少不必要的特征。与聚类一样,降维通常是更复杂模型中的任务之一。对于网络安全任务,降维是常见的面部检测解决方案。

用于降维的机器学

  1. 主成分分析(PCA
  2. 奇异分解(SVD
  3. T分布式域嵌入算法(T-SNE
  4. 线性判别分析(LDA
  5. 潜在语义分析(LSA
  6. 因子分析(FA
  7. 独立分量分析(ICA
  8. 分解(NMF

你可以在此处找到有关降维的更多信息(包括方法及其功能的一般说明)。

生成模型

生成模型的任务不同于上述模型,虽然这些任务涉及现有信息和相关决策,但生成模型旨在根据先前的决策模拟实际数据(而不是生成决策)。

攻击性网络安全的任务是生成输入参数列表,以测试针对注入漏洞的特定应用程序。或者是拥有适用于Web应用程序的漏洞扫描工具。其中一个模块是测试文件以进行未经授权的访问。这些测试能够改变现有的文件名以识别新的文件名。例如,生成模型很擅长更擅长,如果爬虫检测到名为login.php的文件,最好通过尝试login_1.php,login_backup.php,login.php.2017等名称来检查是否存在任何备份或测试其副本。

用于生成模型的机器学

  1. 马尔可夫链
  2. 遗传算

用于生成模型的深度学

  1. 变分自动编码
  2. 生成抗网GAN
  3. 尔兹曼机器

最近,GANs取得了令人瞩目的成绩。他们成功地模仿了一段视频,我们可以想象一下它如何用于生成模糊测试的示例。

本文由阿里云云栖社区组织翻译。

文章原标题《machine-learning-for-cybersecurity-101》

作者:Alexander Polyakov 译者:乌拉乌拉,审校:。

文章为简译,更为详细的内容,请查看原文

上一篇:提高 SharePoint 页面访问速度之“暖场”脚本


下一篇:一分钟搭建会话机器人,阿里是怎么做到的?