RSAC 2019 | 机器学习算法分析引擎助力安全威胁推理分析

2019年3月4日,每年一度的RSA信息安全大会在北美如期举行,各界网络安全专业人士齐聚旧金山,其“better”主题词更展示出信息安全领域不断提升自我能力,寻求最优解决方案的美好愿望。今年的议题仍旧涵盖范围广泛,在众多议题当中,机器学习及AI在信息安全领域的应用仍然作为一个热门专题,广受关注。其中在“利用机器学习提升安全预判的准确性”的相关议题中,微软的资深专家Bugra Karabey分享的如何把机器学习作为分析工具在安全攻击分析中的应用切中目前机器学习在安全分析中主要发展方向,他们提出的一个场景“如何使用主成分分析聚类识别安全事件模式”引起我们的关注。

他们针对大规模的安全事件库,构造了一个采用PCA聚类分析进行降维分析模型,形成安全事件数据集并识别潜在威胁,其workflow如上图所示,其实现主要利用R语言中的ggplot2库的PCA聚类分析,对安全事件进行分组聚类,形成不同的数据聚类模式或者说是事件之间存在不同的行为模式,在此基础之上,有经验的安全分析专家针对这些已经分类的数据集进行风险或威胁的关联分析,最终从数据中获得unknown的威胁。

这种分析思路正是基于机器学习的安全分析的最新思路。传统的基于规则的安全威胁分析是构建于已知数据模型到已知威胁模型的构建过程,面对越来越复杂,越来越隐秘的安全攻击方式,在需要分析的特征维度大规模增长的情况下,是有其局限性的,特别是在“know-unknows”方面的分析上,规则方法上就显得太单薄了;而通过机器学习构建行为基线识别未知的异常上具备较大的优势,但单纯的机器学习通过各类聚类算法或者神经网络的迭代学习后形成的基线去检测出来的异常可能对客户来说是没有意义的,也就是没有清晰的视角去引导客户说明这样一个未知的威胁是一个什么威胁,这也是机器学习特别是聚类分析中得到分析结果的片面性,因此需要将两者有机的结合起来,才能最终实现安全威胁分析从“know-knowns”阶段到“know-unknows”阶段的飞跃。

 

绿盟科技机器学习的应用

 

和微软安全分析思路不谋而合的是,我们在过去的一段时间里,也是在摸索中前行,形成了绿盟特有的机器学习+规则关联分析构建安全威胁分析解决思路。构建出机器学习使能分析引擎-TURING引擎,并提出了将关联分析框架构建于TURING引擎之上,通过机器学习+规则关联分析,实现安全威胁智能推理分析,逐步搭建出我们的安全分析从“know-knows”到“know unknows”的分析平台。

 

绿盟科技将推出的TURING引擎,以模糊推理算法、KCORE算法、层次聚类算法、 决策树算法、 DBSCAN密度聚类算法、Kmeans聚类算法、协同过滤算法、孤立森林算法等十几种机器学习算法为支撑,基于算法使能框架,利用对多源数据的自适应迭代学习,实现对主机行为及用户行为的基线构建,进一步利用构建的行为基线,进行异常行为的检测及分析。其实现的体系架构如图所示:

机器学习的过程并不是一蹴而就的。业务在使用一段时间后其质点可能在偏移,数据样本的大小,学习时聚类半径参数或者梯度设置不合理等都会影响到学习结果(基线)的准确性,导致训练结果的过拟合(Over-fitting)或者欠拟合(underfitting),因此我们提供互操作手段在学习中调整学习参数的灵敏度、通过信任操作提升学习精准度,不断迭代深度学习,最终获得客户认可的行为基线。

 

针对应用的场景的不同,我们将TURING引擎算法库分为三大部分:

  • 检测类算法:,通过对历史数据的学习、得到历史操作行为习惯和基线,为后续发生的行为做匹配使用;
  • 预测类算法:通过历史数据的学习预测未来可能产生的行为,做出相应的预测和预警;
  • 关系图算法:通过历史数据的学习挖掘出数据间的潜在联系,如相同进程在网络中的分布情况判定异常进程、主机访问关系、用户访问关系判定访问异常等。

 

在对算法的使用的时候,并没有特别严格清晰的使用边界,需要根据具体情况,选择合适的算法。以异常登录行为识别为例,我们则是采用了以登录行为质心,提取当前行为多个属性作为其算法特征维度,采用DBSCAN算法对登录行为进行聚类,对于特征维度中语义型特征,我们采用语义相似度算法构建字典的方式,解决了语义相关性问题,实现语义型特征完全离散化下的欧式距离的量化过程。并最终实现登录行为相似度的聚类过程。

在实验室的测试中,我们取得了良好的测试效果。同时,我们以某客户的真实环境为实验局,在数据样本有限的情况下,发现暴力破解、密码泄露及高频次异常提权等各种异常行为,得到客户对分析结果的认可。

 

基于以上能力,绿盟科技推出的TURING引擎具有以下几大优势:

  • 通过聚类及相似度模型构建已知可信行为库,通过海量数据筛选出可能和已知的攻击行为或者攻击特征相关的新生威胁,弥补规则对复杂场景构建的短板
  • 对于不断更新及偏移的业务模型,自动进行迭代学习过程,有效降低日常对规则不断调整的工作量,提升应对复杂安全场景检测的灵活性
  • 内置支持的异常行为识别如非法文件上传行为识别、安插后门非法进程识别、非法文件下载识别、权限提升行为识别、异常登录行为识别、异常登录行为识别及非法文件删改识别等,涵盖用户在数据泄露、数据破坏或者APT攻击中形成的行为链中关键异常行为,并从主机或者用户视角关联关联这些关键行为链,可以有效识别各类主机及用户的重大安全威胁场景。
  • 利用多达十几种的算法库,支持安全分析人员交互式选择数据源、选择分析的特征维度、选择特定算法进行迭代学习,实现基线构建。
  • 通过多种算法的交叉验证及引入多算法的决策机制,提升安全威胁场景的检测准确率,有效降低威胁误报率
  • 支持跨平台部署,实现面向不同产品分析的应用。

 

对于基于TURING引擎检测出来的异常行为,进一步利用绿盟已经推出的基于Flink的安全威胁关联分析框架,实现以主机视角或者用户视角对各类安全威胁场景的时序关联,形成客户可辨识的用户安全威胁场景及主机安全威胁场景。

 

TURING分析引擎支持的业务场景

目前TURING引擎内置支持的安全分析场景包括数据泄露场景、数据破坏场景、用户异常访问、内网业务进程访问关系异常、便携存储设备检测及敏感文件外拷、隐秘通道外传、及各类APT攻击场景的识别,包括Target信用卡信息泄露、挖矿占用计算资源、震网攻击、极光行动、水坑攻击等。下面就TURING引擎支持的安全分析场景进行简要的说明。

 

内网数据泄露/数据破坏场景

在传统的安全边界防护已经完备的情况下,一直以来困扰企业客户的安全问题就是企业内网的横向攻击、数据泄密及数据破坏场景无法有效检测。

绿盟科技提供的TURING引擎可以利用原始的历史数据提供的用户信息、IP地址段信息、时段信息、文件类型、文件大小、文件路径等,通过一系列机器学习算法构建用户的文件上传/下载/删改的基线,基于基线进行检测并产生异常,再利用关联分析框架以用户视角呈现某用户是否在进行数据的窃取或数据破坏;以主机视角呈现某一主机正在遭受数据被窃取或者被破坏。

内网进程访问关系

内网的横向攻击常常是由于内网中某台主机已经被攻陷的情况下,被安装了非法后门软件,非法后门软件发起一系列横向攻击、非法外联、借助于隐秘通道外联,或者进行比特币挖矿导致CPU消耗异常等。

利用绿盟科技提供的TURING引擎,基于服务器及主机提供的进程运行日志信息等,利用机器学习算法,构建进程运行基线及和周边关系基线等,当任何非法进程启动驻留,并试图进行相应的内网横向攻击,非法外联,通过非法进程构建隐秘通道外传,或者是挖矿导致的CPU异常占用,都可以利用TURING引擎检测出来。

 

APT攻击场景-挖矿占用计算资源

近年来,随着区块链经济的快速发展,围绕虚拟数字货币的病毒和木马十分常见。挖矿病毒肆虐,对计算资源造成巨大浪费,严重影响正常业务的展开。由于该种攻击追究成本高,且无需投入大量成本即可获得利润,目前逐渐劫持计算资源的“挖矿”行为,有愈演愈烈的趋势。挖矿攻击行为链主要表现为:首先利用弱口令等漏洞登录至服务器,然后进行非法提权操作,在提权成功后,从远端服务器下载恶意脚本并运行产生异常进行,而挖矿过程将导致大量的计算资源被占用,并在此基础上收集周边网络信息,将脚本扩散到周边机器。

TURING引擎则可以将关键的异常行为链捕获:异常登录à非法提权à非法上传à异常进程àCPU占用异常等,并以用户视角呈现完整的异常行为链

APT攻击场景-震网攻击

震网(Stuxnet),指一种蠕虫病毒。它的复杂程度远超一般电脑黑客的能力。这种震网(Stuxnet)病毒于2010年6月首次被检测出来,是第一个专门定向攻击真实世界中基础(能源)设施的“蠕虫”病毒,比如核电站,水坝,国家电网。

“震网”病毒利用了微软Windows操作系统之前未被发现的4个漏洞。“震网”病毒通过内部人员的U进入内网系统,利用相关漏洞顺利渗透到内部专用网络中,并在内网交叉传播。这也正是传统攻击的弱项。

攻击行为链主要表现为:首先利用邮件入侵工程人员外网计算机,然后自动检测U盘插入,并将恶意代码拷贝到其中,当U盘插入到内网电脑时,触发MS10-046漏洞,感染内网计算机,并在内网间传播。

TURING引擎可以将震网攻击关键的异常行为链捕获:U盘插拔àU盘文件拷贝à异常文件上传à异常进程à异常文件上传à其他主机异常进程等,并以用户视角呈现完整的异常行为链

APT攻击场景-极光行动

极光行动或欧若拉行动是2009年12月中旬发生的一场有组织的网络攻击。其背景为Google的一名雇员点击即时消息中的一条恶意链接,最后引发了一系列事件导致这个搜索引擎巨人的网络被渗入数月,并且造成各种系统的数据被窃取。这次攻击以Google和其它大约20家公司为目标,它是由一个有组织的网络犯罪团体精心策划的,目的是长时间地渗入这些企业的网络并窃取数据。

针对类似于极光行动这样的攻击过程,TURING引擎可以将攻击的关键异常行为链捕获:非法上传à异常进程运行à进程异常外联à异常登录等行为,并以用户或主机视角呈现出完整的异常攻击行为链,方便安全分析员进一步的分析并采取响应。

结束语

目前我们把机器学习应用于安全分析场景中是一次有益的尝试,随着AI技术快速发展,机器学习及神经网络技术在安全分析领域的应用,我们相信后续更多的AI技术将被应用到信息安全领域,但我们始终要记得的是,AI及其基础的机器学习算法既不是魔杖,也不是水晶球,我们不能把安全分析的所有能力都完全寄托在人工智能算法上,只有将其和安全专家的经验有效的相结合,才能最终迸发出它智慧的光芒。

Spread the word. Share this post!

Meet The Author

Leave Comment