美文网首页
安全领域中的机器学习

安全领域中的机器学习

作者: Anthons | 来源:发表于2021-03-25 17:02 被阅读0次

安全领域中的机器学习

【网络安全自学篇(二十二)| 基于机器学习的恶意请求识别及安全领域中的机器学习 转载】:https://cloud.tencent.com/developer/article/1620383

一、机器学习与其它领域的联系

模式识别 ≈ 机器学习 + 工业应用

数据挖掘 ≈ 机器学习 + 数据库

统计学习 ≈ 机器学习 + 数理统计

计算机视觉 ≈ 机器学习 + 图像处理 + 视频处理

语音识别 ≈ 机器学习 + 语音处理

自然语言处理 ≈ 机器学习 + 文本处理

二、机器学习在安全领域六大应用

image-20210325155806907.png

PS:下面这小部分内容引用FreeBuf的文章,推荐大家阅读。作者也尝试了总结,但总不尽如人意,看看大牛写得吧!

1.身份识别与认证

身份识别与认证是AI运用较为多的领域,除了现有的各种人脸图像识别,语音声波识别,异常行为检测等AI应用之外,本部分将列举“验证码破解”与“恶意用户识别”两例。

身份认证——验证码破解

2017年6月,腾讯守护者计划安全团队协助警方打掉市面上最大打码平台“快啊答题”,挖掘出一条从撞库盗号、破解验证码到贩卖公民信息、实施网络诈骗的全链条黑产。在验证时识别时,黑产运用 AI,极大提升了单位时间内识别验证码的数量, 2017年一季度打码量达到259亿次,且识别验证码的精准度超过 80%。

在网络黑产中,不法分子窃取网站数据库后,需要确认帐号对应的密码是否正确,用撞库将有价值的数据通过验证的方式筛选出来,在这一过程中,最核心的障碍就是验证码安全体系。打码平台的AI系统,能将一张验证码图片作为一个整体,将单字识别转换成单图多标签、端到端的识别出验证码中的所有字符。此外还会通过搜集反馈回来的失败样本,以及人工打码的标定数据,来实时训练和更新识别网络,不断迭代训练进行优化,进一步提高神经网络模型的识别能力。因此,在面对网站验证时,还需要多种不同类型的验证方式,如图片选取,文字选择,图片填补等等,才能应对黑客日新月异的攻击破解手段。

行为分析——恶意用户识别

在分析用户行为时,从用户点击流数据中分析恶意用户的请求,特别地,可采用孤立森林(Isolation Forest)算法进行分类识别。在用户点击流数据中,包括请求时间、IP、平台等特征。孤立森林模型首先随机选择用户行为样本的一个特征,再随机选择该特征取值范围中的一个值,对样本集做拆分,迭代该过程,生成一颗孤立树;树上叶子节点离根节点越近,其异常值越高。迭代生成多颗孤立树,生成孤立森林,识别时,融合多颗树的结果形成最终的行为分类结果。

由于恶意用户仅占总体用户的少部分,具有异常样本“量少”和“与正常样本表现不一样”的两个特点,且不依赖概率密度,因此此异常检测模型不会导致高维输入的下溢出问题。该模型可识别异常用户盗号、LBS/加好友、欺诈等行为。随着样本增加,恶意请求的uin、类型、发生时间通过分析端通过线下人工分析和线上打击,达到良好的检测效果。

2.社会工程学

社会工程学是指攻击者利用某些手段使他人受骗的行为。除了现有的信用卡欺诈,信贷风险评估等AI应用,本部分将列举“鱼叉式网络钓鱼”与“欺诈电话识别”两例。

反钓鱼——鱼叉式网络钓鱼

2017年5月,Google利用机器学习技术,其垃圾邮件和网络钓鱼邮件的识别率已经达到了 99.9%。Google建立了一个系统。该系统可通过延迟Gmail信息的时间以执行更详细的网络钓鱼分析。当用户在浏览邮件的过程中,有关网络钓鱼的信息会更快被检测出来。利用 Google的机器学习,该系统还能随着时间的推移实时更新算法,从而可对数据和信息进行更深入的分析。不过,该系统仅适用于0.05%的信息。

区别于普通网络钓鱼,鱼叉式网络钓鱼是针对特定目标进行定制的网络钓鱼攻击。黑客会从社交媒体、新闻报道等资料中对攻击目标的信息中,采用机器学习的方法进行前期的分析,包括姓名、邮箱地址、社交媒体账号或者任何在网上参与过的内容等。攻击对象通常不对于普通用户,而是特定的公司或者组织的成员,窃取的资料也并非个人的资料,而是其他高度敏感性资料。面对鱼叉钓鱼,一方面企业会加强网站的数据保护,防各种爬虫工具,通过逆向分析,并采用机器学习进行垃圾/钓鱼邮件的检测过滤,另一方面用户自身提高安全意识注意个人隐私泄露,保持警惕性。

反欺诈——欺诈电话识别

这几年,在通信诈骗方面的犯罪愈演愈烈,仅2015年的报案数据,如“猜猜我是谁”,“冒充公检法”此类涉及电话诈骗的案件,全国用户损失就约220亿左右。在应对通信欺诈,通常分为事后处置与实时阻断两种解决方法,而由于事后处置的时效性太低,诈骗资金往往已被转移,无法很好地起到保护公民财产的作用。因此实时阻断十分必要,当用户接打电话,通过机器学习,能够实时发现是否属于诈骗电话,并立刻发出实时告警。

从号码活跃特征数据、号码的社交网络、号码的行为事件流、号码的行为特征、号码信用度、号码异常度等方面来进行特征抽取,根据机器学习架构检测。此外,再结合事件模型与行为模式的关联分析,能更准确地对欺诈电话进行监测。

3.网络安全

<u style="box-sizing: border-box;">网络安全是指网络系统软硬件受保护,网络服务不中断。</u>除了现有的隐藏信号识别等AI应用,本部分将列举“大数据DDoS检测”与“伪基站短信识别”两例。

抗DDoS——大数据DDoS检测

近年来,基于机器学习算法的分布式拒绝服务(distributeddenial-of-service,简称DDoS)攻击检测技术已取得了很大的进展。在攻击感知方面,可从宏观攻击流感知与微观检测方法两个角度,分别基于IP流序列谱分析的泛洪攻击与低速率拒绝服务(Low-rate Denial of Service,LDoS)方法进行感知。在此基础上,将DDoS攻击检测转化为机器学习的二分类问题。

从概率点判别角度,基于多特征并行隐马尔科夫模型(Multi-FeatureParallel Hidden Markov Model,MFP-HMM)的DDoS攻击检测方法,利用HMM隐状态序列与特征观测序列的对应关系,将攻击引起的多维特征异常变化转化为离散型随机变量,通过概率计算来刻画当前滑动窗口序列与正常行为轮廓的偏离程度。从分类超平面判别角度,基于最小二乘孪生支持向量机(LSTSVM)的DDoS攻击分类超平面检测方法,采用IP包五元组熵、 IP标识、TCP头标志和包速率等作为LSTSVM模型的多维检测特征向量,以体现DDoS攻击存在的流分布特性。

无线网络攻击——伪基站短信识别

为了解决“犯罪分子通过冒充10086、95533等机构发送短信来获得用户的账号、密码和身份证等信息”这一问题。2016年,360 手机依托 360公司研发的伪基站追踪系统,率先在全球推出了伪基站诈骗短信识别功能,拦截准确度达 98%,可有力的确保用户财产安全。360伪基站追踪系统的核心价值就在于它解决上述伪基站打击难题,依托海量的数据、高效的数据分析处理和数据可视化,可以为追查伪基站供精确的信息与准确的判断。

2015年12月,360手机在全球率先推出了伪基站垃圾、诈骗短信精准识别功能。由于垃圾和诈骗短信的识别和分类涉及到自然语言处理技术与机器学习模型, 360使用语言学规则与统计学方法相结合的方式来定义伪基站短信特征,可从海量数据中精确识别出伪基站短信,因而其识别精度可达 98%。对于360伪基站追踪系统的发布、部署,以及其在360手机中的成功运用,有力遏制猖獗的伪基站诈骗活动,有助于维护广大手机用户及其他群众的财产安全。

4.Web安全

<u style="box-sizing: border-box;">Web安全是指个人用户在Web相关操作时不因偶然或恶意的原因受到破坏、更改、泄露。</u>除了现有的SQL注入检测、XSS攻击检测等 AI应用,本部分将列举“恶意URL检测”与“ Webshell检测”两例。后续实验部分,作者将详细描述Python实现该过程。

安全网站检测——恶意URL检测

在市面上,Google的Chrome已将检测模型与机器学习相结合,支持安全浏览,向用户警示潜在的恶意网址。结合成千上万的垃圾邮件、恶意软件、有启发式信号的含勒索软件的附件和发送者的签名(已被标识为恶意的),对新的威胁进行识别和分类。

目前大多数网站检测方式是通过建立URL黑白名单的数据库匹配进行排查,虽然具有一定的检测效果,但有一定滞后性,不能够对没有记录在案的URL进行识别。而基于机器学习,从 URL特征,域名特征, Web特征的关联分析,使恶意URL识别具有高准确率,并具有学习推断的能力。一些开源工具如Phinn提供了另个角度的检测方法,如果一个页面看起来非常像Google的登录页面,那么这个页面就应该托管在Google域名。Phinn使用了机器学习领域中的卷积神经网络算法来生成和训练一个自定义的Chrome扩展,这个 Chrome扩展可以将用户浏览器中呈现的页面与真正的登录页面进行视觉相似度分析,以此来识别出恶意URL(钓鱼网站)。

注入攻击检测——Webshell检测

Webshell常常被称为匿名用户(入侵者)通过网站端口对网站服务器的某种程度上操作的权限。由于Webshell其大多是以动态脚本的形式出现,也有人称之为网站的后门工具。在攻击链模型中,整个攻击过程分为:踩点、组装、投送、攻击、植入、控制、行动。在针对网站的攻击中,通常是利用上传漏洞,上传Webshell,然后通过Webshell进一步控制web服务器。

常见传统的Webshell检测方法主要有静态检测、动态检测、语法检测、统计学检测等。随着AI的兴起,基于AI的Webshell文件特征检测技术要较之传统技术更胜一筹,通过词袋&TF-IDF模型、Opcode&N-gram模型、Opcode调用序列模型等特征抽取方式,采用合适的模型,如朴素贝叶斯和深度学习的MLP、CNN等,实现Webshell的检测。类似地,也可进行SQL注入、 XSS攻击检测等。

5.安全漏洞与恶意代码

安全漏洞是指漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷;恶意代码是指具有安全威胁的代码。除了现有的恶意软件检测与识别等AI应用,本部分将列举“恶意代码分类”与“系统自动化漏洞修补”两例。

代码安全——恶意代码分类

早期反病毒软件无论是特征码扫描、查找广谱特征、启发式扫描,这三种查杀方式均没有实际运行二进制文件,因此均可归为恶意代码静态检测的方法。随着反恶意代码技术的逐步发展,主动防御技术、云查杀技术已越来越多的被安全厂商使用,但恶意代码静态检测的方法仍是效率最高,被运用最广泛的恶意代码查杀技术。

2016年在Kaggle上微软发起了一个恶意代码分类比赛,冠军队采用了一种恶意代码图像绘制方法。将一个二进制文件转换为一个矩阵(矩阵元素对应文件中的每一个字节,矩阵的大小可根据实际情况进行调整),该矩阵又可以非常方便的转换为一张灰度图。再基于N-gram,统计概率模型。最后代入分类决策树与随机森林进行训练与测试。这个方法能够发现一些静态方法发现不了的变种,并且也可推广应用到Android和IOS平台的恶意代码检测中。

漏洞修复——系统自动化漏洞修补

2016年8月,DARPA在DEFCON黑客大会上举办Cyber Grand Challenge挑战赛,要求参赛者在比赛中构建一套智能化的系统,不仅要检测漏洞,还要能自动写补丁、并且完成部署。当今的软件漏洞平均发现周期长达312 天,发现后还需要对漏洞研究、开发补丁程序,到最后公布,在这期间,攻击者很有可能已经利用这个漏洞发起网络攻击。因此系统自动化漏洞修复十分必要。

2017年10月,MIT研究团队研发了一个称为“创世纪”的系统,能够对以前的补丁进行自动学习,生成补丁模板,并对候选补丁进行评估。据研究者说,“创世纪是第一个自动推理补丁生成转换或根据先前成功的补丁搜索候选补丁空间的系统”,它修复的 bug几乎是最好的手编模板系统的两倍,同时也更精确。这些模板是根据真实补丁的特定类型“订制”而成,因此不会产生尽可能多的无用备选。

6.入侵检测与防御

入侵检测与防御是指对入侵行为的发现并采取相应的防御行动。除了现有的内网入侵检测等AI应用,本部分将列举“APT检测与防范”与“C2链接分析”两例。

高级攻击入侵检测——APT检测与防范

进行APT攻击的攻击者从侦查目标,制作攻击工具,传递攻击工具,利用漏洞或者弱点来进行突防,拿下全线运行工具,后期远端的维护这个工具,到最后达到了长期控制目标的目的。针对这种现在日益广泛的APT 攻击,威胁情报存在于整个攻击的各个环节。

威胁情报是基于证据的描述威胁的一组关联的信息,包括威胁相关的环境信息,如具体的攻击组织、恶意域名。恶意域名又包括远控的IOC、恶意文件的HASH和URL以及威胁指标之间的关联性,时间纬度上攻击手法的变化。这些信息汇总在一起形成高级威胁情报。除此之外,所关注的情报,还包括传统威胁种类的扩充,包括木马远控,僵尸网络,间谍软件, Web后门等。利用机器学习来处理威胁情报,检测并识别出APT攻击中的恶意载荷,提高APT攻击威胁感知系统的效率与精确性,让安全研究人员能更快实现 APT攻击的发现和溯源。

DGA域名检测——C2链接分析

DGA(域名生成算法)是一种利用随机字符来生成C2域名,从而逃避域名黑名单检测的技术手段。而有了DGA域名生成算法,攻击者就可以利用它来生成用作域名的伪随机字符串,这样就可以有效的避开黑名单列表的检测。伪随机意味着字符串序列似乎是随机的,但由于其结构可以预先确定,因此可以重复产生和复制。该算法常被运用于远程控制软件上。

首先攻击者运行算法并随机选择少量的域(可能只有一个),然后攻击者将该域注册并指向其C2服务器。在受害者端恶意软件运行DGA并检查输出的域是否存在,如果检测为该域已注册,那么恶意软件将选择使用该域作为其命令和控制( C2)服务器。如果当前域检测为未注册,那么程序将继续检查其它域。因此,安全人员可以通过收集样本以及对DGA进行逆向,来预测哪些域将来会被生成和预注册并将它们列入黑名单中。

相关文章

网友评论

      本文标题:安全领域中的机器学习

      本文链接:https://www.haomeiwen.com/subject/gkrrhltx.html