取消
显示结果 
搜索替代 
您的意思是: 
cancel
1985
查看次数
0
有帮助
3
评论
julianchen
Spotlight
Spotlight

2 降维

虽然降维(或称概括)不像分类那样常用,但它对于那些处理未标记数据、和许多潜在功能的复杂系统来说,却是必须的。降维可以被用来协助过滤掉不必要的特征。不过就像聚类一样,它通常只是某个更为复杂的模型中的子任务。在网络安全方面,降维常被iPhone之类的设备用在人脸识别的整体方案中。
机器学习的降维
u 主成分分析(PCA
u 奇异值分解(SVD
u T-分布领域嵌入算法(T-SNE
u 线性判别分析(LDA
u 潜在语义分析(LSA
u 因子分析(FA
u 独立成分分析(ICA
u 非负矩阵分解(NMF
您可以通过链接:https://arxiv.org/pdf/1403.2877.pdf,了解到更多有关降维的知识。

2 生成模型

上面提到的方法是根据已有信息做出决策,而生成模型则是基于过往的决策,来模拟出真实的数据。在网络安全方面,它通过生成一个带有输入参数的列表,来测试特定应用的各种注入类型的漏洞。
另外Web应用的漏洞扫描工具,可以用它来测试未经授权的访问,其原理是:通过变异的文件名来识别出新的文件。例如,生成模型中的“爬虫”在检测到名为login.php的文件后,就会在任何可能的备份和副本中,查找类似的文件名,如:login_1.phplogin_backup.php、或login.php.2017
机器学习的生成模型
u 马尔可夫链(Markov Chains
u 各种遗传算法
深度学习的生成模型
u 变分自动编码
u 生成对抗网络(GANs
u 玻尔兹曼机
网络安全的需求和机器学习
上面我们是从机器学习方法的角度出发,讨论了可应用到网络安全中的不同场景。现在让我们从常见的网络安全需求出发,从WhyWhatHow三个层面来探讨使用机器学习的机会。
第一个层面:对应的是Why,即目标或需求(如:检测威胁、和预测攻击等)。根据GartnerPPDRPolicy Protection Detection Response)模型,所有的安全需求都可分为五大类:
u 预测
u 防御
u 检测
u 响应
u 监控
第二个层面:用技术来回答“What”的问题(如:在哪个方面监控问题),大致包括如下方面:
u 网络(网络流量分析和入侵检测)
u 终端(反恶意软件)
u 应用(Web应用防火墙或数据库防火墙)
u 用户(用户行为分析)
u 流程(反欺诈)
上述每个层面都有不同的子类。例如:网络安全可以包括有线、无线或云端环境。注意:根据不同的数据依赖性,最好不要跨层面地使用相同的算法。
第三个层面:应对的是:“How”的问题(例如,如何检查某个特定区域的安全),包括:
u 实时流量
u 静态数据
u 历史记录
就终端保护而言,您可以按照入侵检测的思想,监控某个可执行文件的各个进程,采用静态的二进制分析,并对目标终端的历史行为进行深度解析。
显然,我们在此不可能面面俱到,下面就让我们从技术层面--这个角度,来探讨网络安全的各种解决方案。
网络防御中的机器学习
网络防御涉及到诸如以太网、无线、SCADASupervisory Control And Data Acquisition,数据采集与监视控制系统)、和虚拟网络等方面的解决方案。

在网络防御中,最著名的当属入侵检测系统(IDS)了。虽然它们大多数是基于签名方法的,但是近年来也一直尝试着采用机器学习来提高检测的准确度。
那么机器学习中网络安全中的一种应用就是:网络流量分析(NTA)。它通过对每个层面的网络流量进行深度分析,以发现各种攻击和异常。下面是具体的应用示例:
u 通过回归算法,来预测网络包的各项参数,并将它们与正常的流量做比较
u 通过分类算法,来识别诸如扫描、欺骗等不同类型的网络攻击
u 通过聚类算法,来进行取证分析
您可以通过如下10篇学术文章来做进一步的了解:
u 入侵检测中的机器学习技术(https://arxiv.org/abs/1312.2177v2
u 在时序中运用长短时记忆网络进行异常检测(https://www.elen.ucl.ac.be/Proceedings/esann/esannpdf/es2015-56.pdf
u 通过规则提取的异常检测框架实现高效的入侵检测(https://arxiv.org/abs/1410.7709v1
u 网络异常检测技术综述(https://www.gta.ufrj.br/~alvarenga/files/CPE826/Ahmed2016-Survey.pdf
u 深入浅出地对网络入侵检测系统进行分类与调研(https://arxiv.org/abs/1701.02145v1
u 深度数据包:一种使用深度学习分类加密流量的新方法(https://arxiv.org/abs/1709.02656v3
u 入侵检测系统和Snort系统中机器学习在应用中的性能比较(https://arxiv.org/pdf/1710.04843v2.pdf
u 在入侵检测系统中对机器学习算法的评估(https://arxiv.org/pdf/1801.02330v1.pdf
u 基于LSTM的类聚集式异常检测(https://arxiv.org/pdf/1802.00324.pdf
u 使用循环神经网络的流量异常检测(https://arxiv.org/abs/1803.10769v1
u 在计算机网络流量中使用序列聚集规则进行异常检测(https://arxiv.org/pdf/1805.03735v2.pdf
u IDS方法大集合(https://arxiv.org/pdf/1806.03517v1.pdf
终端保护中的机器学习
新一代的反病毒软件是终端检测和响应(Endpoint Detection and Response),它更适合于学习各种可执行文件、及其内部进程中的行为特征。

在使用机器学习来应对终端层面上的安全问题时,您的具体方案应根据终端的差异性而有所不同。总的说来,对于工作站、服务器、容器、云实例、移动端、PLC(可编程逻辑控制器)、和物联网设备等类型的终端而言,虽然它们各自的具体情况不尽相同,但是我们在方法上可以总结出如下的共性:
u 通过回归算法,来为可执行程序,预测下一次的系统调用,并将其与真实的进程做特征比较
u 通过分类算法,将软件应用划分为恶意软件、间谍软件和勒索软件等类型
u 通过聚类算法,保护邮件网关免受恶意软件的攻击,如过滤掉非法的附件
您可以通过如下3篇学术文章来进一步了解终端保护和恶意软件:
u 恶意软件检测之:吃透可执行文件(https://arxiv.org/pdf/1710.09435v1.pdf
u 浅谈运用深度学习进行恶意软件分类(https://arxiv.org/abs/1807.08265v1
u 跨时间与空间维度消除恶意软件分类中的实验偏差(https://arxiv.org/abs/1807.07838v1
应用安全中的机器学习
应用安全不仅仅是Web应用防火墙和代码分析,还涉及到数据库、ERP系统、SaaS应用、和微服务等静态与动态方面。因此,我们无法通过建立一个通用的机器学习模型,来有效地应对所有方面的威胁。

下面让我们试着通过几个典型场景,来讨论如何将机器学习运用到应用安全之中:
u 通过回归算法,检测各种异常的HTTP请求,如:XML外部实体(XXE)攻击、服务器端请求伪造(SSRF)攻击、和认证旁路(auth bypass)等
u 通过分类算法,检测已知类型的注入攻击,如:SQLi、跨站脚本攻击(XSS)、和远程命令执行(RCE)等
u 通过聚类算法,检测用户的活动,以发现DDoS攻击和大规模的漏洞利用
您可以通过如下3篇学术文章来做进一步的了解:
u Web攻击中的自适应检测恶意查询(https://arxiv.org/pdf/1701.07774.pdf
u 采用JavaScriptVBScript研究恶意脚本的神经分类(https://arxiv.org/abs/1805.05603v1
u URLNet:深度学习URL的变形模式,检测恶意网址(https://arxiv.org/abs/1802.03162v2
用户行为中的机器学习
该领域的最早应用案例是:安全信息和事件管理(SIEM)。通过恰当的配置,SIEM能够凭借对用户行为的搜索和机器学习,来实现日志的关联与分析。不过用户和实体行为分析(UEBA)理论则认为SIEM无法真正处理更新的、更先进的攻击类型,以及持续的用户行为改变。

UEBA工具需要监控的用户类型包括:域用户、应用程序用户、SaaS用户、社交网络用户、和即时通信用户等。不同于恶意软件检测的仅根据常见的攻击,训练分类器的概率;用户行为是一个更为复杂的层面,并会涉及到无监督学习。由于此类数据集既未被标记,又没有清晰的查找方向;因此我们同样无法为所有用户的行为,创建统一的算法。以下是各个公司通常用到的机器学习方法:
u 通过回归算法,来检测用户的异常行为,如:在非常规时间登录系统
u 通过分类算法,对不同类型的用户采取组内特征分析
u 通过聚类算法,将违规的用户从他们组中检测和分离出来
您可以通过如下2篇学术文章来做进一步的了解:
u 通过企业案例,探究使用扩展式隔离森林算法检测异常用户行为(https://arxiv.org/abs/1609.06676
u 在结构化的网络安全数据流中,通过深度学习实现无监督式内部威胁检测(https://arxiv.org/abs/1710.00811
流程行为中的机器学习
不同企业的业务流程可能存在着巨大的差异,我们对于银行、零售系统、和制造业中,各种欺诈行为的检查也会有所不同。因此,只有具备一定的行业背景知识,我们才能在机器学习的功能建模和算法的选择上,更具有流程行为的针对性。

下面是被运用到工业控制系统(ICS)、和数据采集与监视控制系统(SCADA)领域的通用方法:
u 通过回归算法,预测用户的未来行为,并检测出诸如信用卡欺诈之类的异常活动
u 通过分类算法,检测已知类型的欺诈
u 通过聚类算法,从正常业务流程中分拣出异常进程
您可以通过如下3篇学术文章来做进一步的了解:
u 自编码器式欺诈(https://shiring.github.io/machine_learning/2017/05/01/fraud
u 信用卡诈骗检测技术综述之:数据和技术(https://arxiv.org/abs/1611.06439v1
u 异常检测、工业控制系统与卷积神经网络(https://arxiv.org/abs/1806.08110v1
有关机器学习的网络安全丛书
当然,如果您想了解更多关于网络安全中的机器学习,还可以参阅如下书籍:
u 《网络安全中的AI》(2017-- Cylance出版
简介:本书不厚,却能很好地介绍网络安全中的机器学习基础知识,同时配有各种实践案例。
链接:https://pages.cylance.com/en-us-introduction-to-ai-book.html?_ga=2.89683291.1595385041.1538052662-139740503.1538052662

u 《机器学习和安全》(2018/01-- O'Reilly出版
简介:迄今为止,该领域的最好书籍,机器学习的示例较多,深度学习的范例偏少。
链接:http://shop.oreilly.com/product/0636920065555.do

u 《渗透测试中的机器学习》(2018/07-- Packt出版
简介:知识难度上较前两本有所拔高,提供更多深度学习的方法。
链接:https://www.packtpub.com/networking-and-servers/mastering-machine-learning-penetration-testing

u 《恶意软件的数据科学:攻击检测和属性》(2018/09
简介:本书聚焦于恶意软件。由于它是新近出版,故尚无评论,但必将成为终端保护团队的必备书籍。
链接:https://nostarch.com/malwaredatascience

结论
本文上述讨论的只是机器学习在网络安全领域应用的冰山一角。随着企业数据量的增多、系统的复杂化、以及深度学习应用的不断改进,我们需要不断地通过实践,让安全防御变得越来越智能。当然道高一尺魔高一丈,黑客们也在各个角落里通过机器学习,努力提升他们的攻击能力。

【原标题】Machine Learning forCybersecurity 101 (作者: Alexander polyakov)
原文链接:https://dzone.com/articles/machine-learning-for-cybersecurity-101
评论
one-time
Level 13
Level 13
感谢版主分享,谢谢了~
jm.nie
Spotlight
Spotlight
初步了解了一点点,感谢。
likuo
Spotlight
Spotlight
学习资料。
入门指南

使用上面的搜索栏输入关键字、短语或问题,搜索问题的答案。

我们希望您在这里的旅程尽可能顺利,因此这里有一些链接可以帮助您快速熟悉思科社区:









快捷链接