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的资料收集和学习》上有22条评论

  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

  6. UEBA架构设计之路2:数据接入和准备
    https://mp.weixin.qq.com/s/_NZFQemuaVQ8B6F4itG9_A

    三、数据接入和准备

    数据类型:
    应用日志
    业务处理日志
    点击流数据
    配置文件
    数据库审计日志
    文件系统日志
    API日志
    消息队列
    操作系统状态和诊断命令
    包/流数据
    Syslog
    WEB访问日志
    PROXY日志
    Windows事件日志
    无线数据

    数据来源:
    ……

    数据价值:
    ……

    数据连接器
    格式检测器
    字段映射器
    关系图生成器
    身份解析和设备解析
    事件丰富器
    事件视图
    会话

  7. UEBA架构设计之路3:复杂事件处理引擎
    https://mp.weixin.qq.com/s/U1o5Db-1EvwtOCJJ949hJQ

    四、复杂事件处理引擎
    复杂事件处理引擎跟踪分析数据流,这种数据流是无界的,也即是连续接收开放的数据序列,且终点未知。传统引擎都是基于规则的,规则的特点是计算简单,所以在实时计算中消耗较少。但规则的问题是针对已知结论的模式,对未知攻击无法识别,所以他不需要考虑历史事件。历史事件的增加,会对存储和处理能力都有新的要求。

    UEBA系统使用基于ML的引擎,分布式训练和多机器学习模型的应用,模型处理事件特征集生成评分和结论。在实时处理中,收到数据,通过机器学习模型,立刻得到结论。事件特征集包括原始数据子集、关联的元数据、原始数据汇总和派生属性、标签以及这些内容的组合。通常事件处理引擎将输入输出都存放在非持久性存储器,提高I / O,减少时延。

    对实体的行为分析手段有很多,例如:
    概率后缀树(PST)
    协同过滤
    基于内容的推荐分析
    使用文本模型的白名单和黑名单统计匹配
    熵/随机性/ n-gram分析的分层时间记忆过程
    统一资源定位符
    网络资源定位符和域(AGD)
    罕见分类特征/关联分析
    实体的身份解析模型
    陆地速度异常/地理位置分析
    离散时间序列数据的贝叶斯时间序列统计基础(基于可变记忆马尔可夫模型和上下文树加权)
    周期性模式的动态阈值分析

    基于图形的实体活动分析的方法也很多:
    命令和控制检测分析
    信标检测器
    设备,IP,域和用户信誉分析
    横向移动检测器
    用户/设备的动态指纹识别
    相似性和页面排名的实体分组
    社交邻域图聚类
    在线分布式聚类
    二分和通用图聚类

  8. APT detection based on machine learning
    https://mp.weixin.qq.com/s/hKsItaIkwqdbmtvvhG6DYg
    https://www.sciencedirect.com/science/article/pii/S0167739X18307532

    如何能有效的对APT入侵进行检测是目前亟待解决的一个难题,传统的基于APT生命周期的某一环节进行检测的方式,不仅存在漏报的问题,误报率也居高不下,使用者需要设立大量的安全岗位用于分析这些产品的告警事件,APT是一个多环节的攻击方式,作者提出,如果能在APT的多个环节建立入侵检测,并将不同环节的告警事件进行关联,只有能够完整的或部分完整的表达一个APT场景的安全事件集才能真正的被标记为一次APT攻击,通过这种方式能有效降低误报率,提高准确性。作者基于这种思想提出了事件关联模型,并通过机器学习的方式,预测APT攻击,为在安全专家提供APT攻击信息。

    模型由三部分构成,分别为Detection/Correlation/Prediction。其中Detection作为APT检测中发现流量中恶意行为监测模块,威胁事件监测是本模型的基础,威胁检测模块作者采用了8种威胁检测模型,分别在APT攻击生命周期的四个环节检测恶意事件,该模块输出为告警事件,告警事件将在Correlation模块分析关联关系,并形成关联事件集,关联事件集由作者根据APT的特性定义的约束关系而生成,根据事件集还会计算该事件集的关联度,关联事件集和关联度将作为Prediction模型的输入,用于训练模型。

  9. UEBA架构设计之路4:异常、威胁指标和威胁
    https://mp.weixin.qq.com/s/nwIrGybVsZ_zzOsRav1EZA

    五、异常、威胁指标和威胁
    系统平台检测首先异常,进一步基于异常形成威胁。还有一个名词是威胁指标,是指安全威胁的潜在中间级别,安全威胁指标又可分为底层威胁、威胁指标、顶级威胁。之所以这样逐步演进,目标是为了减少误报,降低噪音。
    异常表示预期行为发生了变化,变化不一定威胁,但表示了可能引起关注的事件,由于大型系统中异常是海量的,所以在这一步无法进行人工介入调查。例如传入了1亿个事件,产生了100个异常,进一步处理则得到10个威胁指示,再被进一步处理得到1-2个威胁。

    1、异常检测

    2、识别威胁指标

    3、识别威胁指标——实体关联
    检测到的异常通常与多个实体相关,比如发现多个设备异常,而设备又和多个用户相关,这些异常组成异常数据集。

    4、识别威胁指标——异常持续时间
    在时间段t0到tn阶段检测到异常1~N,实际场景中表示短时间内发生大量异常,异常具有开始时间和结束时间,如果检测到的异常持续时间满足标准,则识别为威胁指标。

    5、识别威胁指标——罕见度分析
    罕见度分析也可以理解为稀有度分析,如果事件确定为罕见,则检测为异常。这种异常检测是局部稀有性分析,在特定实体的背景下观察事件罕见性。基于本地异常汇集成全局稀有性分析,这样异常的数量就是严重程度的重要指标。全局稀有性模型和本地稀有性模型是相同的处理逻辑的模型,不同在于一个是检测集合,一个是检测单个实体。

    6、识别威胁指标——关联异常
    关联异常是指用不同模型检测同样的数据,同一个数据被稀有度分析模型检测出异常,也被其他模型检测出异常,这样的组合观察能提供更多视图,基于这种组合的结果打分。
    上面的关联是并行的,另外一种组合是串行,第一个模型处理完交给第二个模型,例如先看是否有关联异常,再看是否稀有度异常。

    7、识别威胁指标——异常数据丰富
    除了内部检测模型,还可使用诸如威胁情报之类的外部数据,例如检测到实体连接外部木马远控服务器。通过外部信息合并,可增加置信度,并且在一些情况下识别威胁指示。

    8、识别威胁
    首先,威胁指示符数据的子集和预定义的安全性场景相关联,根据相关性识别出候选威胁。相关性我们后面再解释,可以理解为类似恶意软件威胁范围关联,或者杀伤链关联组件实体。
    接下来把威胁指示数据和预先配置的预设规则比较,例如内部威胁可以和专家规则关联。然后生成模式匹配的分数。如果满足标准则识别为安全威胁。

    六、复合关系图
    复合关系图的威胁检测过程:
    1、接收事件数据
    2、生成事件特定关系图(迷你图)
    3、获取异常数据并存储
    4、将特定关系图压缩组合
    5、将特定关系图与异常数据组合成复合关系图
    6、从复合关系图和时间范围,使用模型分析
    7、模型分析后,将复合关系图转换为异常关系图,识别安全威胁
    8、确认异常

  10. 厉害的人是怎么分析问题的?
    https://www.zhihu.com/question/304174916/answer/547640584

    一、明确问题
    如果要解决问题,首先得弄清楚期望是什么,目前现状又是如何,这样才能精准定义问题所在。
    明确的问题,才能得到正确的答案,这是第一步。

    第一步,校准目标B
    目标要符合SMART原则,同时要避免把手段当成目标;

    第二步,重构方法A
    现状是由原来的方法导致的,因此,想要改变现状,不是从现状出发,添加一个新的解决方案,而是回过头,重构原来的方法系统。

    第三步,消除变量C
    如果AB都没有问题,问题依然存在,一定存在着变量,你可以通过「象、数、理」这个基本框架来寻找它,并通过5Why的提问方法,挖掘真正的原因。

    二、系统思考
    金字塔原理
    系统之美
    第五项修炼

    三、大体套路/流程

    分析的第一步,永远是从梳理问题开始的,把问题点尽可能细致的弄清楚,所谓收集信息,从接到问题这一刻就开始了。当然这里有套路可以用,比如5w2h方法。

    在梳理完问题以后,第二步开始针对问题细节采集数据,验证思路。这里又是一个复杂的采集信息的过程。

    第三步,在拿回足够多的数据以后,分析的方法就多了。讲商业分析的书也有很多,之前也有很多答主做了分享。这里不赘述了。有意思的是,很多不会对外公开的秘籍,也是建立在大量采集信息的基础上的。比如大家好不好奇,我们做咨询的怎么判断客户靠不靠谱?一图概括如下,大家感受一下,没有大量的信息,所谓思维方法,真的就是无源之水、无根之木。

  11. 阳性,阴性,假阳性,假阴性,敏感度,特异性
    https://blog.csdn.net/pursuit_zhangyu/article/details/80771978

    一般从医学角度说,阳性(positive),代表有病或者有病毒,阴性(negative),代表正常。

    假阳性(false positive)是指因为种种原因把不具备阳性症状的人检测出阳性的结果。其实就是将没病的检查成有病的,假阳性检测结果易造成误诊,
    假阴性(false negative)就是将有病的检查为没病,假阴性结果导致漏诊。

    敏感度(sensitivity):又称真阳性率,即患者被诊断为阳性的概率,计算公式是:真阳性/(真阳性+假阴性)×100%,此值越大,说明诊断试验越灵敏。

    特异度(specificity):又称真阴性率,即实际上未患病的人被诊断为阴性的概率,计算公式是:真阴性/(真阴性+假阳性)×100%,此值越大,说明诊断试验越精确。

  12. 异常检测的N种方法,阿里工程师都盘出来了
    https://mp.weixin.qq.com/s/kv-ZrOF4nnxXoQwFOodzjA

    小叽导读:互联网黑产盛行,其作弊手段层出不穷,导致广告效果降低,APP推广成本暴增。精准识别作弊是互联网公司和广告主的殷切期望。今天我们将从时间序列、统计、距离、线性方法、分布、树、图、行为序列、有监督机器学习和深度学习模型等多个角度探讨异常检测。

    异常点检测(Outlier detection),又称为离群点检测,是找出与预期对象的行为差异较大的对象的一个检测过程。这些被检测出的对象被称为异常点或者离群点。异常点检测在生产生活中有着广泛应用,比如信用卡反欺诈、工业损毁检测、广告点击反作弊等。

    1.时间序列
    1.1 移动平均(Moving Average,MA)
    1.2 同比和环比
    1.3 时序指标异常检测(STL+GESD)

    2.统计
    2.1 单特征且符合高斯分布
    2.2 多个不相关特征且均符合高斯分布
    2.3 多个特征相关,且符合多元高斯分布
    2.4 马氏距离(Mahalanobis distance)
    2.5 箱线图

    3.距离
    3.1、基于角度的异常点检测
    3.2 基于KNN的异常点检测

    4.线性方法(矩阵分解和PCA降维)

    5.分布
    5.1 相对熵(KL散度)
    5.2 卡方检验

    6.树(孤立森林)

    7.图
    7.1 最大联通图
    7.2 标签传播聚类

    8.行为序列(马尔科夫链)

    9.有监督模型
    9.1 机器学习模型GBDT
    9.2 深度学习模型Wide&Deep

    10.其他问题
    10.1 常用选择阈值的思路
    上述各种方法都需要计算异常阈值,可以用下述思路先选阈值,再用转化数据验证该阈值的合理性。
    a.无监督方法:使用分位点定阈值、找历史数据的分布曲线的拐点;
    b.有监督模型:看验证集的准召曲线
    10.2 非高斯分布转高斯分布

  13. [译] 时间顺序的价格异常检测
    https://juejin.im/post/5c998f8ae51d454e523b6ed5
    https://github.com/xitu/gold-miner/blob/master/TODO1/time-series-of-price-anomaly-detection.md
    https://towardsdatascience.com/time-series-of-price-anomaly-detection-13586cd5ff46?gi=777bb871e246


    时间序列的价格异常检测
    数据
    时间序列可视化
    基于聚类的异常检测
      k-平均算法
    使用孤立森林进行异常检测
    基于支持向量机的异常检测(SVM)
      OneClassSVM
    使用高斯分布进行异常检测

  14. UEBA架构设计之路8: 恶意软件检测
    https://www.secpulse.com/archives/106413.html

    UEBA架构设计之路1:UEBA框架
    UEBA架构设计之路2:数据接入和准备
    UEBA架构设计之路3:复杂事件处理引擎
    UEBA架构设计之路4:异常、威胁指标和威胁
    UEBA架构设计之路5: 概率后缀树模型
    UEBA架构设计之路6: 图聚类
    UEBA架构设计之路7: 横向移动检测

发表评论

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