网络安全与机器学习(二):网络安全任务如何结合机器学习?
时间: 2018-11-12来源:OSCHINA
前景提要
「深度学习福利」大神带你进阶工程师,立即查看>>>
摘要: 网络安全遇见机器学习,会摩擦出怎样的火花呢?
网 络 安全任 务 和机器学 习
让我们看看常见的网络安全任务和机器学习结合的机会,而不是查看ML任务并尝试将它们应用于网络安全。具体我们需要考虑三个维度(Why,What和How)。
第一个维度是目标或任务(例如,检测威胁,攻击预测等)。根据 Gartner 的 PPDR 模型,所有安全任务可分为五类:
1. 预测 ;
2. 预防 ;
3. 检测 ;
4. 响 应 ;
5. 监测 。
第二个维度是技术层和“什么”问题的答案(例如,在哪个级别监控问题),以下是此维度的图层列表:
1. 网 络 (网 络 流量分析和入侵 检测 ) ;
2. 端点(反 恶 意 软 件) ;
3. 应用程序( WAF 或数据 库 防火 墙 ) ;
4. 用 户行为分析 ( UBA ) ;
5. 过程(反欺诈) 。
每个图层都有不同的子类别。例如,网络安全可以是有线、无线或云。请放心,至少在不久的将来,你不能将具有相同超参数的相同算法应用于两个区域。因为缺少数据和算法来找到对这三个区域都很友好的方法,因此可以将一个算法更改为不同的算法。
第三个维度是“如何”的问题(例如,如何检查特定区域的安全性):
1. 实时检测 ;
2. 静态检测 ;
3. 历史查看 ;
例如,如果你要查看端点保护,查找入侵,则可以监视可执行文件的进程,执行静态二进制分析,分析此端点中的操作历史记录等。
有些任务应该从三个方面解决。有时,对于某些任务,某些维度中没有值。我们需要从其他维度来找到解决方法。这些通常很难详细介绍它们,所以我们关注最重要的维度-技术层。从这个角度看网络安全解决方案。
用于网 络 保 护的 机器学习
网络保护不是单一领域,而是一系列不同的解决方案,专注于以太网、无线、SCADA甚至SDN等虚拟网络等协议。
网络保护是指众所周知的入侵检测系统(IDS)解决方案。网络安全中的ML意味着称为网络流量分析(NTA)的新解决方案,旨在深入分析每层的所有流量并检测攻击和异常。
ML 如何在这里提供帮助?有一些例子:
1. 回 归预测 网 络 数据包参数并与正常数据包 进 行比 较 ;
2. 分 类 以 识别 不同 类别 的网 络 攻 击 ,例如 扫 描和欺 骗 ;
3. 聚 类数据 用于分析;
你可以在学术研究论文中找到至少10篇描述不同方法的论文。
更多资源:
1. 入侵 检测 机器学 习 技 术 ;
2. 用于 时间 序列异常 检测 的 长 短期 记忆 网 络 ;
3. 基于 规则 提取的高效入侵 检测 异常 检测 框架 ;
4. 网 络 异常 检测 技 术综 述 ;
5. 浅 层 和深 层 网 络 入侵 检测 系 统 :分 类 与 调查 ;
6. 深度数据包:一种利用深度学 习进 行加密流量分 类 的新方法 ;
7. 入侵 检测 系 统 的性能比 较 及机器学 习 在 Snort 系 统 中的 应 用 ;
8. 入侵 检测 系 统 机器学 习 算法 评 估 ;
9. 基于 LSTM 的一 类 集体异常 检测 ;
10. 基于 递归 神 经 网 络 的网 络 流量异常 检测 ;
11. 计算机网络流量异常检测的序列聚合规则 ;
12. IDS 所有方法的大集合 ;
用于端点保 护 的机器学 习
新一代的反病毒是端点检测和响应,建议最好学习可执行文件或进程行为中的特征。
请记住,如果你在端点层处理应用机器学习,你的解决方案可能会有所不同,具体取决于端点类型(例如工作站、服务器、容器、云端、移动设备、PLC、物联网设备)。每种端点都有自己的细节,常见任务类别:
1. 回 归 以 预测 可 执 行 过 程的下一个系 统调 用,并将其与 实际过 程 进 行比 较 ;
2. 将程序划分 为恶 意 软 件、 间谍软 件和勒索 软 件等 类别 的分 类 ;
3. 聚类在安全 电 子 邮 件网关上 进 行 恶 意 软 件保 护 (例如将法律文件附件与异常 值 分开);
关于端点保护和恶意软件的学术论文特别受欢迎。这里有一些论文:
1. 通 过 侵蚀整个 EXE 进行恶意软件检测 ;
2. 浅 层 深度学 习 :非域 专 家的 恶 意 软 件分 类 ;
3. TESSERACT :消除跨空 间 和 时间 的 恶 意 软 件分 类 中的 实验 偏差 ;
用于应用程序安全的机器学习
在app安全性中使用ML?用于静态和动态的WAF或代码分析?不得不提醒你一下,应用程序安全性可能有所不同。因为他们有很多应用场景:比如说有Web应用程序、数据库、ERP系统、SaaS应用程序、微服务等。在不久的将来,几乎不可能建立一个通用的ML模型来有效地处理所有威胁。但是,你可以尝试解决某些任务。
以下是使用机器学习实现应用程序安全性的示例:
1. 回 归 以 检测 HTTP 请求中的异常(例如, XXE 和 SSRF 攻 击 以及 auth 旁路) ;
2. 用于 检测 已知 类 型的攻 击 (如注入( SQLi , XSS , RCE 等))的分 类 ;
3. 集中用 户 活 动 以 检测 DDOS 攻 击 和大 规 模利用。
更多资源:
1. 自适 应检测 Web 攻 击 中的 恶 意 查询 ;
2. 恶意脚本的神经分类:使用 JavaScript 和 VBScript 进行的研究 ;
3. URLNet :通 过 深度学 习 学 习 URL 表示以 进 行 恶 意 URL 检测 ;
用于用 户 行 为 的机器学 习
这类任务需求始于安全信息和事件管理(SIEM)。如果配置正确,SIEM能够解决许多任务,包括用户行为搜索和ML。然后,UEBA解决方案宣称SIEM无法处理新的,更高级的攻击类型和持续的行为更改。
如果从用户层面考虑威胁,市场已经接受了需要特殊解决方案的观点。
但是,即使最高级的UEBA工具也不包括与不同用户行为相关的所有内容。(域用户、应用程序用户、SaaS用户、社交网络、信使和其他应该监控的帐户)。
与常见攻击的恶意软件检测和训练分类器的可能性不同,用户行为属于无监督学习问题之一。通常,没有标记数据集以及要查找的内容。因此,为所有类型的用户创建通用算法的任务在用户行为区域中是棘手的。以下是公司在ML的帮助下解决的任务:
1. 回 归 以 检测 用 户 操作中的异常(例如,在异常 时间 登 录 ) ;
2. 分 类 以将不同用 户 分 组 以 进 行 对 等 组 分析 ;
3. 聚 类 以分离用 户组 并 检测 异常 值 。
更多资源: 使用扩展隔离算法检测异常用户行为;
用于进程行为的机器学习
进程区域是最后但并非最不重要的,在处理它时,有必要知道一个大致的业务流程,以便找到异常值。注意不同行业的业务流程可能有很大差异。你可以在银行和零售系统或制造厂中查找欺诈行为。两者完全不同,找到它们的不同需要很多领域知识。机器学习特征工程(将数据表示为算法的方式)对于实现结果至关重要。同样,特征在所有进程中都不同。
通常,进程行为也有任务示例:
1. 回 归:预测 下一个用 户 行 为 并 检测 信用卡欺 诈 等异常 值 ;
2. 分 类:检测 已知 类 型的欺 诈 ;
3. 聚 类: 比 较业务 流程和 检测 异常 值 。
更多资源: 信用卡欺 诈检测 技 术综 述:面向数据和技 术 的 视 角 ; 异常 检测 , 工 业 控制系 统 : 卷 积 神 经 网 络 ;
机器学 习 网 络 安全 书 籍
如果你想了解有关网络安全中机器学习的更多信息,可以阅读以下书籍:
1. Cylance 的网 络 安全 AI ( 2017 ) - 对网络安全 ML 的基 础 知 识 的 简 短,而且有很好的 实际 例子。
2. O'reilly 的机器学 习 和安全 ( 2018 ) - 迄今 为 止关于 这 个主 题 的最佳 书 籍,但很少 关于深度 学 习 的例子,大多是一般的 ML 。
3. Packt 的渗透 测试 机器学 习 ( 2018 ) - 不像前一个那么优秀,但有很多的深度学 习 方法。
4. 恶意软件数据科学:攻击检测和归因 ( 2018 ) - 从 标题 中可以看出,这本 书 主要关注 恶 意 软 件。它 刚刚 在撰写本文 时发 布,所以到目前 为 止我无法 给 出任何反 馈 。但我相信, 这对 端点保 护团队 的每个人来 说 都是必 须 的。
结论
如果你想保护你的系统,机器学习绝对不是一个银弹解决方案。毫无疑问,可解释性存在许多问题(特别是对于深度学习算法)。另一方面,随着数据量的增加和网络安全专家数量的减少,ML是唯一的补救措施。它现在有效,很快就会执行。现在最好开始做这些。因为请记住,黑客也开始在攻击中使用ML。
原文链接

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行