网络安全与机器学习(二):网络安全任务如何结合机器学习?

安全任和机器学

让我们看看常见的网络安全任务和机器学习结合的机会,而不是查看ML任务并尝试将它们应用于网络安全。具体我们需要考虑三个维度(Why,What和How)。

第一个维度是目标或任务(例如,检测威胁,攻击预测等)。根据GartnerPPDR模型,所有安全任务可分为五类:

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请求中的异常(例如,XXESSRF以及auth旁路);

2.        用于检测已知型的攻(如注入(SQLiXSSRCE等))的分;

3.        集中用检测DDOS和大模利用。

更多资源:

1.        自适应检测Web中的查询

2.        恶意脚本的神经分类:使用JavaScriptVBScript进行的研究

3.        URLNet:通深度学URL表示以URL检测

用于用的机器学

这类任务需求始于安全信息和事件管理(SIEM)。如果配置正确,SIEM能够解决许多任务,包括用户行为搜索和ML。然后,UEBA解决方案宣称SIEM无法处理新的,更高级的攻击类型和持续的行为更改。

如果从用户层面考虑威胁,市场已经接受了需要特殊解决方案的观点。

但是,即使*的UEBA工具也不包括与不同用户行为相关的所有内容。(域用户、应用程序用户、SaaS用户、社交网络、信使和其他应该监控的帐户)。

与常见攻击的恶意软件检测和训练分类器的可能性不同,用户行为属于无监督学习问题之一。通常,没有标记数据集以及要查找的内容。因此,为所有类型的用户创建通用算法的任务在用户行为区域中是棘手的。以下是公司在ML的帮助下解决的任务:

1.        检测操作中的异常(例如,在异常时间;

2.        以将不同用分析;

3.        以分离用户组检测异常

更多资源:

  • 使用展隔离算法检测异常用为;

用于进程行为的机器学习

进程区域是最后但并非最不重要的,在处理它时,有必要知道一个大致的业务流程,以便找到异常值。注意不同行业的业务流程可能有很大差异。你可以在银行和零售系统或制造厂中查找欺诈行为。两者完全不同,找到它们的不同需要很多领域知识。机器学习特征工程(将数据表示为算法的方式)对于实现结果至关重要。同样,特征在所有进程中都不同。

通常,进程行为也有任务示例:

1.        归:预测下一个用检测信用卡欺等异常;

2.        类:检测已知型的欺;

3.        类:较业务流程和检测异常

更多资源:

机器学安全

如果你想了解有关网络安全中机器学习的更多信息,可以阅读以下书籍:

1.        Cylance的网安全AI2017-对网络安全ML的基短,而且有很好的实际例子。

2.        O'reilly的机器学和安全2018-迄今止关于个主的最佳籍,但很少关于深度的例子,大多是一般的ML

3.        Packt的渗透测试机器学2018-不像前一个那么优秀,但有很多的深度学方法。

4.        恶意软件数据科学:攻击检测和归因2018-标题中可以看出,这本主要关注件。它刚刚在撰写本文时发布,所以到目前止我无法出任何反。但我相信,这对端点保护团队的每个人来都是必的。 

结论

如果你想保护你的系统,机器学习绝对不是一个银弹解决方案。毫无疑问,可解释性存在许多问题(特别是对于深度学习算法)。另一方面,随着数据量的增加和网络安全专家数量的减少,ML是唯一的补救措施。它现在有效,很快就会执行。现在最好开始做这些。因为请记住,黑客也开始在攻击中使用ML。

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

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

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

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

上一篇:RabbitMQ之消息持久化


下一篇:浏览器访问web资源的过程(telnet 服务 、 回显设置 XP WIN7)