本文重点介绍UEBA概念、UEBA在国内外各大厂商的引用情况、机器学习技术在UEBA产品中如何进行应用等方面来对UEBA介绍,作为近段时间UEBA相关工作调研的总结。
UEBA
UEBA用户实体行为分析,
UEBA的核心点
1.跨越SIEM/ROC产品,UEBA产品考虑更多的数据源。
从网络设备、系统、应用、数据库和用户处收集数据,有更多的数据,是其成功的条件之一。
2.数据驱动,但并不是单纯依靠数据驱动。一般都是数据驱动+专家驱动的混合系统。
单纯的数据驱动的问题:
1.在学习之处很难拿到十分完善的数据,每当有新的数据源都需要重新进行学习,对于工程化来说是一场灾难
2.增加features很难做到快速部署
3.机器学习的到的结果是黑盒,不能解释说明,因此用户很难直接根据机器学习的结果直接进行响应和判别
3.并不是单纯的依靠机器学习,而是机器学习和统计学习相结合。
异常主要来源于两个方面:
1.统计特征。例如用户访问文件夹数量异常、是否第一词访问某个较敏感的文件夹等
2.可以输出确信度很高的机器学习结果。如DGA域名机器学习检测结果
异常并不会直接给用户告警,而是作为下一步机器学习的元数据features,根据这些features再利用及机器学习模型快速确定不同features对应的风险值,风险值大于一定的阈值才会进行告警。
4.必须针对特定的应用场景才能起到很好的效果
各大厂商应用情况和业内共识
常用解决的问题
1.账号失陷检测
2.主机失陷检测
3.数据泄漏检测
4.内部用户滥用
5.提供事件调查的上下文
UEBA建立的关键点
1.定义需要解决的风险场景
2.采集高质量多种类的数据
3.专家驱动和数据驱动相结合
4.其他系统平台进行集成
内部威胁检测
1.基于历史登录行为异常检测
2.基于同组成员分析判别文件拷贝行为违反DLP(数据泄露防护)
3.是否存在上传敏感行为
UEBA建立流程:
1、通过使⽤深度学习和建模技术,⼚商给异常检测模型(即⽆监督式模型)提供训练数据,使模型能够决定哪些变量对分析⽽⾔⾮常重要。这就是所谓的特征抽取过程。
2、接着,异常检测模型将识别出排在前列的异常值,发送给安全⼈员进⾏评审和标识,例如,算作“好的”或“坏的”事件。(发送多少异常值给安全⼈员取决于他们评审的能⼒。)
3、这个标识过程将被填充到监督式学习模块中,构建监督式模型。随着新标识不断增加,此模型也将持续得到优化和验证。
4、⼀旦监督式模型经过优化和测试,将会被⽴即部署,⽤来预测输⼊数据。根据⽤户设置的⻛险阈值以及⽤户的评审能⼒,向⽤户发送所预测到的威胁。
5、随着数据不断更新,以上2到4步会继续重复。
业界应用情况
瀚斯科技
应用场景:企业内部
核心思想:1.企业内部的管理相对规范,员工行为轨迹有迹可循
2.不应该过分强调算法,为各个应用场景量身定做更重要
3.规则、黑白名单、机器学习协同工作
部署方式:与 SIEM/态势感知平台进行结合,将其采集到的行为类数据,应用系统日志、人员/权限数据导入 UEBA 分析引擎中进行实时处理。
实例
内部员工窃取敏感数据
通过 DLP 日志和流量分析导致账号异常的具体行为,发现内部高权限账号10月22号拷贝自己简历,10月23号凌晨1点大量拷贝这个工作目录下的合作项目材料,涉及财务报表、项目管理月报、资产负载表等累计 540 份。
异常特征包括:
1.高权限用户是否存在拷贝简历行为(可能存在拷贝简历出卖信息跳槽风险)
2.对高权限用户日常访问工作目录进行记录,日常访问、拷贝、删除财务报表、项目管理月报、资产负载表等文件的个数建立日常行为基线(根据全部同一个群组的用户的最高次数)
启明星辰
应用场景:
核心思想:1.UEBA并不是安全分析的全部,仅仅是交互式安全分析的一个环节
2.行为分析要与规则分析紧密结合,行为分析要充分利用情境(Context)数据,包括情报、地理位置信息、漏洞、身份信息和业务属性等。
两种异常行为分析的方式
1.建立异常行为模型
针对特定种类的攻击行为,根据人工经验构建一攻击行为指标,基于行为指标简历机器学习模型,从而识别异常行为。
缺陷:需要对攻击有充分的理解
2.建立正常行为模型
针对波保护对象进行实体行为进行”画像”,建立一套对实体行为刻画的指标,基于这些指标简历及机器学习模型,通过数据与正常的模式的偏离程度来识别异常。
思科
有安全分析报告,没法下载,论文不翻墙没找到,下周我先看看能不能找个可用的vps翻个墙出去找找
机器学习在UEBA中的应用
1.非监督学习
非监督学习主要应用在异常检测阶段通过聚类发现异常和划分群组。例如将数据使用Kmeans进行聚类,然后根据所属类别元素的大小确定群组风险大小,通过DBSCAN发现异常点等。
2.监督学习
监督学习主要用于将各个子模型检测的异常进行汇总,然后采用监督学将各个异常结果进行综合,确定是否粗发报警。
这里各家都没有特别具体的用法,都比较含蓄,下周翻墙去看看论文上有没有这方面的研究
总结
1.UEBA中异常主要是通过统计分析、其他安全产品结果、非监督学习等方式来触发异常,而报警可以通过有监督学习和人工设定阈值的方式。
2.异常常常由各种统计模型、基线模型产生,而由产生的异常则作为特征交给机器学习模型来进行监督学习,从而确定哪些将产生告警。
3.应用场景常常是在使用UEBA系统产生异常和告警,对告警内容进行可视化展示,安全人员查看先关内容确定是否进行响应。