论文阅读:一种基于异构图嵌入的企业网络威胁检测方法

原文:Log2vec: A Heterogeneous Graph Embedding Based Approach for Detecting Cyber Threats within Enterprise 

一、模型的检测对象

  1. Insider Threats(内部人员攻击)
  2. APT攻击

这两类攻击的共性

        i 都是以破坏系统confidentiality(机密性)、integrity(完整性)和availability(可用性)为            目标的。

        ii 都是一类Primary(主要的)和costly(伤害惨重的)threat。

        iii 都面临着Imbalanced data的困难。

二、现有的两种检测类型

  1. Sequential behavioral prediction,主要分析日志实体之间的因果和顺序关系。
  2. Feature Extracting and analysis,主要分析主机之间的交互关系。

三、提出模型的动机

对于检测insider threat和APT threat,主要有三个待解决的问题:

1. 如何同时检测insider threat和APT threat,并考虑三种关系:causal and sequential relationships among log entries(日志条目之间的顺序关系和因果关系)、 logical relationships among days(日与日之间的逻辑关系)、interactive relationships among hosts(设备之间的交互关系)?

解决方案:使用异构图来整合表现上文所提的三种关系

2.  如何深入挖掘和分析主机内日志条目之间的关系,即凭借主机之间的交互关系进行细粒度检测?

解决方案:将日志条目分为五个属性。根据这些属性,深入考虑了主机内日志之间的关系,并设计了精细的规则来关联它们。这种设计使正常和异常日志条目可以在异构图中拥有不同的拓扑。

3. 在无攻击样本进行训练的情况下如何检测攻击行为?

解决方案:图嵌入+聚类算法,可以在没有攻击样本的情况下表示日志条目并将其分组到不同的集群中。

四、模型的具体构成

1.Graph Construction(图构建)

     本文构建的异构图具有1种节点类型(即日志)和10种根据不同构图规则所建立的边的类型。

 相关定义:

     i 提取日志的五个主要属性:subject, object, operation type, time and host,称为元属性。

    ii <sub, obj, A, T, H>:sub表示用户集合;obj表示客体集合(文件、移动存储设备、网站);A是操作类型集合(文件操作和网页利用);T表示时间,H是主机(计算机或者是服务器)。

   iii sub, obj, A, H都有自己的子属性。比如,用户在服务器中写入文件,sub的属性包括用户角色(系统管理员等)和所属单位;obj属性包括文件类型和大小;H属性包括是文件服务器还是邮件服务器;对于登录操作,A的属性包括身份验证。对于用户登录,可以表示为user (sub) logs in to (A) a destination host (obj) in a source one (H)。

 构建图的规则:

log2vec考虑以下三种关系,在设计有关这三种关系的规则时,考虑这些元属性的不同组合,以关联较少的日志条目,并将更精细的日志关系映射到图中:

(1)causal and sequential relationships within a day

规则1(edge1):将一天之内同一用户的日志条目按时间顺序连接,以将此关系映射到图中。考虑两个元属性,主体和时间(subject+time)

规则2(edge2):同一个用户一天之内在同一台设备上的操作按照时间顺序进行连接(subject+time+host)

规则3(edge3):将同一用户在同一主机上相同操作类型的日志条目按时间顺序连接(一天内)(subject+time+host+operation type)。

(2)logical relationships among days

规则4(edge4):将之前的单天的日志进行关联,他们之间的权重与序列包含的日志条目数量的相似性呈正相关。(subject+time)。

规则5(edge5):将之前的同一主机上的单天的日志进行关联,他们之间的权重与序列包含的日志条目数量的相似性呈正相关。(subject+time+host)。

规则6(edge6):将之前的同一主机上相同的操作类型的单天的日志进行关联,他们之间的权重与序列包含的日志条目数量的相似性呈正相关。(subject+time+host+operation type)。

注:规则4对应规则1,规则5对应规则2,规则6对应规则3。只不过是将同类规则的单天的日志序列归并起来,计算序列之间的权重(和序列中的日志数量的相似度成正比)。

(3)logical relationships among objects.

规则7(edge7):使用相同的身份验证协议从同一源主机访问同一目标主机的日志条目以时间顺序连接,权重最高(值1)。(subject+time+host+operation type+object)

规则8a(edge8):连接了具有不同身份验证协议的相同目标主机和源主机的日志序列,并且权重与它们包含的日志条目数量的相似性正相关。(subject+time+host+operation type+object)

规则8b(edge8):连接了具有相同身份验证协议的不同目标主机或源主机的日志序列,并且权重与它们所包含的日志条目数量的相似性正相关。(subject+time+host+operation type+object)

规则9(edge9):同一主机的日志条目和访问相同域名的条目按时间顺序连接,权重最高(value 1)(subject+time+host+operation type+object)

规则10(edge10):相同主机和不同域名的日志序列,权重与访问方式的相似性以及它们所包含的日志条目的数量呈正相关。(subject+time+host+operation type+object)

2.Graph Embedding(图嵌入)

Random walk随机游走决定日志序列log sequences->word2vec学习日志点并把它们当作单词表达为向量。

1.Random walk随机游走

i 随机游走通过边类型和权重产生横向路径。Log2vec的改进是控制临近节点数量和压缩不同比例的边类型的上下文,设计用于追踪不均衡数据和不同攻击场景的问题。

ii 转移概率:节点v的转移概率

其中:N(v) 表示 v 的特定的临近节点,WN(v) 是 v 和 N(v) 间的权重和。N(v) 不包括节点 v 的所有邻节点,只有满足三个子序列条件的邻节点组成(节点t需要和v至少有一条边;t和v之间至少有一种边类型是属于Sn的;w(t, v)表示t和v在边类型ψ(t ,v)上的权重)。Rw(∗,v)表示的是基于边类型ψ(∗,v)与v相连的节点的权重在所有与之相连的节点权重的降序的排序值(本质上就是限制了邻居节点的数量)。

注:每一次随机游走,t和v之间的边类型只能有一种。

iii 根据前文描述的规则的类型,我们定义了五个边类型的集合:{edge1, edge4}, {edge2, edge5}, {edge3, edge6}, {edge7, edge8} and {edge9, edge10},在每一次随机游走的时候,只使用一个边类型的set,这样能够抽取节点不同的上下文信息。(edge1, edge2, edge3, edge7 and edge9)反映了类内的类型(单日的日志序列),(edge4, edge5, edge6, edge8 and edge10)反映日志之间的类型(多日的日志序列)。

2. Word2vec

Log2vec 使用Word2vec模型,skip-gram通过从多种图形产生的上下文即路径映射日志到低维度。即把随机游走后产生的序列当成句子,节点当成单词,使用word2vec的经典算法学习节点的嵌入式表示,最终得到日志项的向量表示。目标函数是最大化节点的邻节点概率。最大化公式:

其中,c 是训练上下文的窗口,可以被计算为:

使用softmax函数定义:

其中,Vwi和V ′wi分别为日志记录wi的输入和输出向量。

3.Detection Algorithm(检测算法)

使用日志间相似度达到聚类的效果,获得簇后,满足下列条件:

其中,sim使用cosine距离衡量日志相似度。log2vec使用DBSCAN,一种基于密度的无须指定簇数量的聚类算法进行异常检测。DBSCAN的相似度阈值是基于节点embedding计算的,如果两节点的相似度低于某阈值,那么两个节点会被分到一个类中。聚类之后,计算每个类中节点的数量,如果节点数量少于阈值2,那么被视为异常类。

五、实验部分

数据集

使用的数据集是一个合成数据集包括CERT Insider Threats测试数据集(检测log2vec是否可以根据不同的场景确定每一组边类型的重要性,并进行差分提取和表示。)和一个真实的综合的网络安全事件数据集LANL(这个数据集检查log2vec是否可以检测到APT的攻击场景)。

本实验所使用的baselines、baselines测试用的数据集以及它们的表现(用AUC,ROC曲线下面积来表示性能),其中log2vec++是原模型的升级版,它可以根据不同的攻击和用户灵活确定所选的参数。

虽然log2vec(和其升级版log2vec++)不能检测所有恶意操作,但是它在检测内部攻击(CERT)和APT攻击(LANL)方面的性能是好于其他baselines的。

六、讨论部分

1.攻击者是否能够通过进行足够多的恶意操作使恶意集群变大,从而逃避检测?

答:否,因为这个过程非常容易引起现有的安全信息和事件管理组织(SIEM)的注意。

2.未来log2vec可以考虑的优化方向:

① Graph Rules

未来的构图规则应该要考虑到有关Insider Threats和APT的主要攻击场景,并且可以根据新的APT或email network的特征寻找并设计新的构图规则。

② Log2vec的改进

i 如何自动化选择参数

ii 由于参数主要出现在graph embedding和detection algorithm这两个环节,所以可以考虑如何改进这两个环节来减少参数。

iii Log2vec在两个数据集中的FPRs是相当高的,这会导致分析师的工作量大大增加。所以后续可以考虑引入对抗告警疲劳的方法来减少误报。

七、结论

本文提出的Log2vec模型,将各类用户日志记录通过图构建转化为异构图;并使用图嵌入技术将日志转化为单词并表达为低维度向量;最后利用改进的聚类检测算法进行攻击检测。(因为数据集中的攻击样本较少,所以使用不需要预先训练的聚类算法进行检测)

在实验环节作者验证了Log2vec在不同场景下日志级别网络威胁检测中的表现优于其他state-of-the-art的方法。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值