高级威胁发现(5)Log2vec: A Heterogeneous Graph Embedding Based Approach for Detecting Cyber Threats within Enterprise
Log2vec: A Heterogeneous Graph Embedding Based Approach for Detecting Cyber Threats within Enterprise
【顶会论文解读】Log2vec 基于异构图Heterogeneous Graph 检测网络空间威胁 - 笑个不停的文章 - 知乎 https://zhuanlan.zhihu.com/p/275952146
AIops博客:https://blog.csdn.net/markaustralia/category_11284226.html
发表在CCS2019会议的一篇应用异质图embedding进行企业内部网络空间威胁检测的文章。
摘要
内部人员的攻击以及APT攻击是组织常见的攻击类型,现有的检测算法多基于行为检测,大部分方法考虑log日志的序列关系以及用户的行为序列,忽略了其他的关系导致不使用于丰富多样的攻击场景。本文提出的Log2vec模型,将日志转化为异质图,将日志学习为低纬度的embedding并使用检测算法进行攻击检测(由于攻击样本较少,因此使用聚类算法进行检测)。
一、引言
现有方法一般会转换用户的各种操作(也包括日志条目)分成序列,这些序列可以保存信息,例如 日志条目之间的顺序关系,然后使用序列处理技术,例如 深度学习从过去的事件中学习并预测下一个事件。本质上,这些日志条目级别的方法可以模拟用户的正常行为行为并将其偏离标记为异常。
但是,这种方法忽略了其他关系。 例如,比较用户的日常行为是常规内部威胁检测的一种常用方法。 此检测基于以下前提:用户的日常行为在一段时间内(几天之间的逻辑关系)相对规则。 上述预测方法忽略了这种关系,并且会降低其性能。 此外,他们需要正常的日志条目,甚至需要大量标记数据来进行模型训练。 但是,在现实世界中,存在罕见的攻击动作,从而限制了其正确预测的能力。
对于检测内部威胁以及APT攻击来说,我们面临三个问题:
(1)如何同时检测上述两种攻击情形,特别是考虑到检测系统中提到的所有三种关系(日志之间序列关系 sequantial relationship among log entries、几天之内的逻辑关系logical relationship among days以及交互关系interactive relationship among hosts);
解决办法:构建异构图来表示前面提到的三种关系;
(2)如何在APT场景中进行细粒度的检测,尤其是深入挖掘和分析主机内日志条目之间的关系;
解决办法:将日志条目分为五个属性。根据这些属性,我们深入考虑了主机内日志之间的关系,并设计了精细的规则来关联它们。这种设计使正常和异常日志条目可以在这种图中拥有不同的拓扑;
(3)如何针对训练模型进行无攻击样本的检测。【内部威胁】
解决办法:log2vec的图嵌入和检测算法将日志条目表示并分组到不同的群集中,而没有攻击样本,适用于数据不平衡的情况(针对问题3)。此外,图形嵌入本身可以自动学习每个操作的表示形式(矢量),而无需手动提取特定于领域的特征,从而独立于专家的知识。我们的改进版本可以进一步差分提取并表示来自上述异构图的操作之间的多个关系。
二、文章的设计
Log2vec包含以下三个组件:
图的构造。 Log2vec构造一个异构图以集成日志之间的多个关系条目;
图嵌入(也是图表示学习)。这是一种强大的图形处理方法,可用于了解每个操作的
表示(向量)基于它们在这种图中的关系。通过矢量化用户操作,可以直接比较他们的操作
找出异常的相似之处;
检测算法,无监督,要有效将恶意操作分组为单个群集
三、概述
如图2(a)所示,日志记录了用户的操作,如登录操作,设备之间移动操作以及网络操作。图2(b)描述日志的属性,主体(user),操作类型(visit或者send),客体(网址或者是邮件)以及时间和主机(设备ID)。实际上,日志的属性能够反映用户的行为,比如,第一个登录的时间和日志结束的时间能够反映用户的工作时长。系统管理员会频繁的登录服务器和操作对系统进行维护。
图2(c)将a中显示的日志组成序列,然后使用如LSTM的方法学习日志序列信息进行预测。此类模型能够捕捉日志的因果信息和序列关系。但是,这样的方法忽视了其他关系,比如(a)中day3序列,有大量的设备连接和文件复制的操作,远比以前多(这意味着数据泄露)。 可以通过直接比较用户的日常行为来检测出这种差异。进行比较的前提是,在一段时间内(几天之间的逻辑关系),用户的日常行为相对规则且相似。 虽然是深度学习,例如 LSTM可以记住序列的长期依赖关系(多天),它没有明确比较用户的日常行为,也无法获得令人满意的性能。 类似地,它们不能保持图2d中主机之间的另一种关系,交互关系,并且不能在APT检测中正常工作。 另外,其中一些需要大量标记数据进行培训。 但是,在我们的检测方案中,存在罕见的攻击行为。
图2d展示了图2a中的登录(红色字体)的图表,该图表指示用户在主机之间的行为。 我们可以分析主机之间的这些交互关系,以发现异常登录。 例如,管理员可以定期登录到一组主机以进行系统维护,而APT实施者只能访问他可以访问的主机。 登录跟踪的功能可以捕获这种差异。例如,良性跟踪中涉及的主机数量(1或3,实线)通常不同于APT(2,虚线)。在分析了这些功能之后,可以识别出受感染的主机。 但是,这些主机包含许多良性操作,并且手动提取的特定于域的特征显然无法应用于图2c中的攻击。
本文构建的模型用于检测以下类型的攻击: 第一种情况是内部人员滥用职权执行恶意操作,例如访问数据库或应用程序服务器,然后破坏系统或窃取知识产权以谋取个人利益。 其次,恶意内部人员通过窥视或密钥记录器获取其他合法用户的凭据,并利用此新身份来寻找机密信息或在公司中造成混乱。 这两种情况属于内部员工的典型攻击。 第三种攻击是APT参与者破坏了系统中的主机,并从该主机中持续破坏了多个主机,以提升其特权并窃取机密文件。
四、详细论述
4.1 图构建
本文构建的图的节点是日志,只有一种节点类型,边是通过规则来建立联系的,本文提出10条规则,代表着图有10种边类型。因此,本文构建的异构图只是边类型不同,节点类型是相同的。
定义:<sub,obj,A,T,H> 提取日志的五个主要属性:subject, object, operation type, time and host,称为元属性
- sub表示用户集合;
- obj表示客体集合(文件、移动存储设备、网站);
- A是操作类型集合(文件操作和网页利用);
- T表示时间
- H是主机(计算机或者是服务器)。
sub,obj,A,H有自己的子属性。比如,用户在服务器中写入文件,sub的属性包括用户角色(系统管理员等)和所属单位;obj属性包括文件类型和大小;H属性包括是文件服务器还是邮件服务器;对于登录操作,A的属性包括身份验证。对于用户登录,可以表示为user (sub) logs in to (A) a destination host (obj) in a source one (H),
4.2 构建图的规则
上图,R1-3描述一天中的因果关系和序列关系;R4-6描述多天之间的逻辑关系;R7 R9描述用户登录和web浏览行为序列。R8 R10按照逻辑关系进行关联。
log2vec考虑三种关系:
- causal and sequential relationships within a day; 一天内的因果关系和顺序关系;
- logical relationships among days;日之间的逻辑关系
- logical relationships among objects;对象之间的逻辑关系。
在设计有关这三种关系的规则时,我们考虑这些元属性的不同组合,以关联较少的日志条目,并将更精细的日志关系映射到图中。