UBA/UEBA的资料收集和学习

=Start=

缘由:

之前做过一个平台,可以算是简版的UBA/UEBA吧,不过一直没来得及好好收集整理UBA/UEBA相关的资料,系统性的学习总结。这里先整理一篇,方便以后快速参考。

正文:

参考解答:
1. UBA/UEBA的来源和定义
UBA(User Behavior Analytics,用户行为分析)
UEBA(User and Entity Behavior Analytics,用户实体行为分析)
UEBA前身叫UBA(用户行为分析)最早用在网站访问和精准营销方面,通过对相关数据(用户购买、点击、收藏等行为)进行统计、分析,实现用户标签画像,预测用户消费习惯,最终对用户感兴趣商品进行推送,达到精准营销的目的。
Gartner对 UBA/UEBA 的市场分析定位:
  • 2014年,Gartner发布了用户行为分析(UBA)市场界定;
  • 2015年,Gartner将用户行为分析(UBA)更名为用户实体行为分析(UEBA);
  • 2016年,用户实体行为分析(UEBA)入选Gartner十大信息安全技术;
  • 2017年,用户实体行为分析(UEBA)厂商强势进入2017年度的Gartner SIEM魔力象限;
  • 2018年,用户实体行为分析(UEBA)入选Gartner为安全团队建议的十大新项目。

 

2. UBA/UEBA能解决什么问题&不能解决什么问题
能解决的问题:
以极高的准确率命中异常事件,使真正的安全威胁浮出水面,这是用户实体行为分析(UEBA)备受关注的主要原因。
用户实体行为分析(UEBA)关联了用户活动和相关实体(用户相关的应用和终端等)信息构建人物角色与群组,进一步定义这些个体与群组的合法和正常行为,把这些人物角色在群体与群体、群体与个体、个体与个体(那些远离合法和正常行为的群体与个体)维度上相互比对分析,将异常用户(失陷账号)和用户异常(非法行为)检测出来,从而达到检测业务欺诈、敏感数据泄露、内部恶意用户、有针对性攻击等高级威胁的目的。
不能解决的问题:
切合实际的讲,企业不可能够通过翻新SIEM或UEBA来实现其从未设计过的功能来应对内部威胁。
3. UBA/UEBA落地的关键事项
  1. 明确目标(不论是人、工具还是平台,都无法解决没有明确定义的问题);
  2. 收集高质量的相关日志避免——垃圾进,垃圾出!!!);
  3. 经验驱动+机器学习算法驱动(前期靠经验找出明确可确认的问题,后期可以借助机器学习算法分析已找出的问题);
  4. 相关安全产品联动(安全产品的最终目标是为了避免出安全问题,所以UBA/UEBA能检测出来异常是一方面,能和其它的安全产品联动以避免异常导致安全问题才是能力、价值最大化的体现);

 

4. UBA/UEBA的最佳实践以及相关厂商
最佳实践参见上面的「落地关键事项」;
相关厂商有:Exabeam、Splunk、LogRhythm、Securonix等。
参考链接:

=END=

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/4103.html

《UBA/UEBA的资料收集和学习》上有8条评论

  1. Gartner:2018年十大安全项目详解
    https://mp.weixin.qq.com/s/TAIfmDxkfYVZ4lz6UQjGGg

    根据Gartner自己的说明,给出了选取十大安全项目的方式。

    首先,假定客户已经具备了相当的安全基础。如果连这些基础都没有达到,那么也就不要去追求什么十大安全项目,乃至十大安全技术了。这些基础包括:
    1) 已经有了较为先进的EPP(端点保护平台),具备诸如无文件恶意代码检测、内存注入保护和机器学习的功能;
    2) 已经做好了基本的Windows账户管理工作;
    3) 已经有了IAM;
    4) 有了常规化的补丁管理;
    5) 已经有了标准化的服务器/云工作负载保护平台代理;
    6) 具备较为强健的反垃圾邮件能力;
    7) 部署了某种形式的SIEM或者日志管理解决方案,具有基本的检测/响应能力;
    8) 建立了备份/恢复机制;
    9) 有基本的安全意识培训;
    10)具备基本的互联网出口边界安全防护能力,包括URL过滤能力;
    没错,对于客户而言,上面10个技术和能力更为基础,优先级更高,如果上述能力都有欠缺,先别轻易考虑什么十大安全项目!

    2.1 特权账户管理项目
    2.2 符合CARTA方法论的弱点管理项目
    2.3 积极的反钓鱼项目
    2.4 服务器工作负载的应用控制项目
    2.5 微隔离和流可见性项目
    2.6 检测和响应项目
     2.6.1 EPP+EDR
     2.6.2 UEBA
     2.6.3 欺骗
     2.6.4 MDR服务
     2.6.5 小结
     这里,我个人小结一下,目前市面上常见的新型威胁检测技术大体上包括:EDR、NTA、UEBA、TIP、网络沙箱、欺骗技术等。可以说这些新型技术各有所长,也各有使用限制。
    2.7 云安全配置管理(CSPM)项目
    2.8 自动化安全扫描项目
    2.9 CASB项目
    2.10 软件定义边界项目

  2. UEBA架构设计之路1:UEBA框架
    https://mp.weixin.qq.com/s/Sai3h-wNGXc92Va941yG6A

    实际上,如果设备和用户是可信的,现有的很多方法都检测不到。传统安全产品的缺点是无法检测未知威胁和内部威胁,无法扩展,难以处理大数据。而且攻击者总能找到绕过传统安全技术的方法,比如规则驱动的恶意文件签名,沙盒。此外随着数据量的增加,人工分析越来越慢,响应速度过长。举例来说杀伤链,从入侵到横向移动到渗透,传统安全产品很难关联并作出适当响应,容易被大量误报淹没。

    UEBA相对来说具有洞察力和可扩展性,简单说UEBA是大数据驱动,且采用机器学习方法进行安全分析,能够检测高级、隐藏和内部威胁的行为分析技术,不需要使用签名或规则。在杀伤链上能关联数据,进行有针对性的发现,这些分析技术包括机器学习、行为建模、分类、对等组分析、统计模型和图形分析。分析结合评分机制,对比活动,最终实现异常和威胁的检测。同时,UEBA还包括威胁可视化,以可视的方式跨越杀伤链分析。

  3. 如何构建一个相对安全的账号体系?
    https://mp.weixin.qq.com/s/pNHthmCvRPFCNpOrMyyTPg

    一、你的账号安全吗?
    历史总是用惨痛的经历让我们明白一些道理,假如拥有一个健全的账号安全体系,许许多多的安全事故或许就不会发生、或者泄露的数据没那么多,影响没那么大。

    二、设计一个相对安全的账号体系
    以我的有限的经历来看,假如我是账号的使用者,当我在访问某个系统时,一个安全的账号体系,至少需要解决三个问题,即:
    我是谁?我能做什么?我在做什么?
    解决了这三个问题,我的一举一动系统就都能掌握,也能够控制。首先,只有知道我是谁,才能确定我能做什么;其次,限制我能做什么不能做什么,是从根本上去除安全隐患;最后,一个系统不可能是完美的,即使设计完美,实现上也可能会有偏差,而了解我在做什么,是确认现有策略是否有效,是一个查漏补缺的措施。

    三、认证 -- 我是谁
    1、认证解决了什么问题
    认证所要解决的问题,正是“我是谁”的问题,或者说是确认用户的身份。
    2、认证发展的三个阶段
    2.1、What you know -- 我知道A的某些私密信息,证明我是A
    (1)静态密码类
    (2)动态密码类问题
    2.2、What you have -- 我拥有A的某个关键东西,证明我是A
    2.3、Who you are -- 通过提取我的生物特征,证明我是A
    3、认证应该怎么做
    (1)多因素认证
    (2)多级认证

    四、授权 -- 我能做什么
    1、授权解决了什么问题
    2、几种常见的权限控制策略
    2.1、OBAC--基于对象的访问控制
    2.2、RBAC--基于角色的访问控制
    2.3、ABAC--基于属性的访问控制
    3、什么样的权限控制策略是好的策略
    首先,权限控制的策略多样多化,没有绝对的好与坏之分;不同的应用场景,不同的安全需求,需要选择不同的策略或多种策略的组合,一句话,满足需求即可,不必过分追求。
    如果没有特定应用场景要求的话,以我浅薄的经历来看,一个好的权限控制策略,至少需要满足两个原则:
    (1)权限最小化
    (2)权责分离

    五、审计 -- 我在做什么
    1、审计要解决什么问题
    2、实时在线审计
    (1)各类黑库过滤
    黑IP库、黑手机库、黑IMEI库、黑设备库等等,只要是在黑库中的请求,即可进行直接拦截或重点监控。
    (2)聚集分析
    账号(UIN/手机号/邮箱/户口所在地等)聚集、IP聚集(IP聚集/IP频繁变更/区域聚集等)、设备(IMEI/GUID/MAC地址)聚集、时间段聚集等,只要有易于往常的明显聚集出现,即恶意攻击的可能性大大增加,可进行告警,人工介入分析;更严重的情况,也可进行拦截。
    (3)波动分析
    对来自某个业务的请求过大时,可进行限流限频,防止其可能遭受的恶意攻击影响到其他业务正常运行。
    对访问量大幅波动的情况,进行告警,人工介入,查看是否正常。
    对访问量超过阀值的情况,进行告警,人工介入,查看是否正常。
    3、事后离线审计
    事后分析既是一种补救的措施,也是一种补充的措施,相对于实时在线审计,离线审计可以在更大的时间范围,做和实时审计相同或不同的分析,从而发现在线审计发现不了的问题,常见的方式包括但不限于以下几种:
    (1)构建各类黑库
    用更大量的数据去确认线上的可疑对象是否真的是恶意请求,从而建立起更准确的各类黑库,反馈到线上,用于线上实时打击。
    (2)构建用户画像
    除了直接拉入黑库外,对其余用户进行归类分析处理,以便后续对可疑用户进行重点关注;对安全用户减少关注,但仍需定时审计,以便更合理的利用计算机资源。
    (3)改善系统安全
    对于已发生的安全事件,可通过审计日志,回溯事件,确认问题所在,用于改善系统安全能力。

    六、小结
    七、后话
    需要说明的是,本文探讨的是怎样构建一个相对安全的账号体系;并不是说,所有的系统都要做到这种安全级别,对于一个没有重要信息或资产,安全性要求也不高的系统,做下简单认证,验下登录态足矣,浪费过多的资源,为其搭建一个庞大复杂的账号体系,反而是拿着牛刀来杀鸡;还是那句话,满足需求即可。
    同样地,做到这种安全级别也是不够的,只能说,在当下相对安全而已;随着科技的发展,安全手段在不断增强;未知的安全威胁也在不断增加,让我们一起努力为用户构建一个更安全的账号体系吧。

  4. 异常检测(anomaly detection)
    https://blog.csdn.net/u012328159/article/details/51462942

    一、异常检测定义及应用领域
    先来看什么是异常检测?所谓异常检测就是发现与大部分对象不同的对象,其实就是发现离群点。异常检测有时也称偏差检测。异常对象是相对罕见的。下面来举一些常见的异常检测的应用:
    欺诈检测:主要通过检测异常行为来检测是否为盗刷他人信用卡。
    入侵检测:检测入侵计算机系统的行为
    医疗领域:检测人的健康是否异常

    二、常见的异常检测算法
    有许多的异常检测算法,不过本篇博客只会详细介绍基于模型的技术。主要有以下几种异常检测方法:
    · 基于模型的技术:许多异常检测技术首先建立一个数据模型,异常是那些同模型不能完美拟合的对象。例如,数据分布的模型可以通过估计概率分布的参数来创建。如果一个对象不服从该分布,则认为他是一个异常。
    · 基于邻近度的技术:通常可以在对象之间定义邻近性度量,异常对象是那些远离大部分其他对象的对象。当数据能够以二维或者三维散布图呈现时,可以从视觉上检测出基于距离的离群点。
    · 基于密度的技术:对象的密度估计可以相对直接计算,特别是当对象之间存在邻近性度量。低密度区域中的对象相对远离近邻,可能被看做为异常。

  5. Stanford机器学习—第十一讲.异常检测
    https://blog.csdn.net/l281865263/article/details/46654353

    Abnormal Detection(异常检测)和 Supervised Learning(有监督训练)在异常检测上的应用初探
    https://www.cnblogs.com/LittleHann/p/7086851.html

    1. 异常检测 VS 监督学习
    0x1:异常检测算法和监督学习算法的对比
    0x2:常见的有监督学习检测算法
    0x3:常见的异常检测算法
    2. 打标训练样本的获取
    0x1: 对安全领域的算法应用 - 打标数据的采集往往是真正麻烦却很重要的事情
    3. 有监督学习异常检测
    1. A Character-Level Convolutional Neural Network with Embeddings + CNN
    0x1: data prepare
    0x2: Architecture
    2. Graph-based Intrusion Detection on Process Event
    4. 基于密度的异常检测
    1. Intrusion Detection System using Unsupervised Neural Networks - GNG / SOM
    5. 基于邻近度的异常检测
    1. Isolation Forest Outlier Detection - 孤立森林 异常检测
    2. unsupervised-machine-learning-with-one-class-support-vector-machines - 单分类SVM无监督聚类
    0x1: scikit-learn实现的one-class svm demo
    0x2:参数优化 - 选择
    6. 基于模型(分布建模)的异常检测
    0x1:一元高斯分布异常检测
    1. 正态分布介绍
    2. 正态分布的一些特性
    3. 基于一元正态分布的离群点检测方法
    4. 使用一元高斯分布进行异常统计前需要关注的问题
    5. 一个基于文件创建时间孤立点的异常统计Project - 无监督异常统计
    0x2:多元高斯分布异常检测
    1. 多元高斯分布数学模型
    2. 多元高斯分布图像
    3. 多元高斯分布如何进行异常检测?
    7. 基于概率统计的异常检测
    0x1:基于概率统计模型做异常检测的基本套路
    1. 一个关于白样本的很严肃的问题
    2. 可用于异常概率统计的评价函数的特点
    0x2:马尔科夫不等式
    0x3:切比雪夫不等式
    0x4:Grubbs' Test(格拉布斯检测)
    1. 算法过程
    2. 使用绝对中位差代替均值 - 提高鲁棒性
    3. 一个典型的案例
    8. 序列数据的异常检测算法
    0x1:序列数据的异常分类
    1. 语境异常点
    2. 异常子序列
    3. 异常序列-对比于基础序列
    0x2:序列异常检测的挑战
    9. 异常检测在工程化项目中怎么用?
    0x1:为什么看似很美好的异常检测算法在一些项目中不能完美work?
    0x2:结合一些领域知识来缩小假设类的范围

    外卖订单量预测异常报警模型实践
    https://tech.meituan.com/order_holtwinter.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注