欧盟DiSIEM:可视化系统架构的搭建
为增强安全信息和事件管理系统SIEM的能力,欧盟的地平线计划(Horizon Plan)资助了DiSIEM项目。
为了给安全分析师提供更好的决策支持,DiSIEM设计和开发了新颖的可视化工具,使他们能够更有效地执行特定任务。
同时DiSIEM设计了不同的视图分析视角,提供了基本的分析工具,并且在分析工具上实现了不同的查看任务,下面分别介绍DiSIEM中基础的可视化工具以及利用该工具可以进行的任务。
DiSIEM可视化工具设计
根据可视化系统以人为本的特点,提供有效的可视化方法依赖于对用户需求的深入了解。为了更深入地了解用户分析过程,DISIEM的安全分析师和可视化研究人员进行了半结构化访谈,确定了成功分析的要点是实现以下高级目标,即会话概述和深入分析。
会话概述
会话概述旨在帮助安全分析师获得监测系统中刚刚发生的事情,并确定高度可疑的人进行进一步调查。DiSIEM的可视化中提供了两个视角来观察会话数据。
1.操作(Actions)序列
序列是会话中发生的操作的有序列表,有助于揭示用户使用应用程序系统执行的操作中常见和不常见的线性组合,也有助于检查跟踪关系。
例如,序列ABC后面跟D(变成ABCD)或E(变成ABCE)的可能性有多大?一个序列由一个矩形表示,矩形有多个大小相等的列,每个列表示序列中的一个操作(图1),操作从左到右读取。矩形的高度表示其在整个数据集中的出现次数,也就是说,在所有会话中找到该序列的总次数。
图1 一个操作序列的表示
然后将共享相同祖先的序列聚合到树形结构中(图2)。例如,ABCD被放置在ABCE的正上方或正下方,这样ABC就可以被视为它们的父元素。
图 2 显示序列间关系的序列树
因此,序列树由多个大小相同的列组成(图2中有5个),每个列代表一个用颜色编码的操作。第一列显示了带有一个操作的序列,这实际上就是操作本身。第一列和第二列的组合显示了包含两个动作的序列,以此类推。
图3显示了一些有趣的模式。“搜索用户”是最常见的操作,用户在“搜索用户”后的操作通常是“显示用户”或再次“搜索用户”。
图3 以“搜索用户”开头的序列
2.用户视图
这项工作的最终目标是根据用户操作分析用户行为。因此,除了深入到每个单独的用户会话之外,还需要在用户级别检查数据。
DiSIEM提供了一个简单的条形图,每个条形图显示了每个用户的所有会话的平均分数(图4),有助于发现需要更深入调查的可疑用户。
图4 一个简单的用户条形图示意
深入分析
为了支持检查所选会话,DISIEM将重点放在记录的操作(Actions)序列上,因为这些信息说明在会话中实际发生了什么。对于每个操作,将显示两条重要信息:操作类型和发生时间。
操作在发生时沿时间轴显示为菱形,其颜色表示操作类型(图5)。在左侧,一个条形图显示模型分数,其长度映射到分数值。记分条颜色也用3种不同的颜色表示其值:红色表示高(>0.75),黄色表示中等(0.5?0.75),绿色表示低(〈=0.5)。
图5 操作的基本时间轴
如果操作形状看起来足够近,它们可以相互重叠(图6)。
图6 带有重叠操作的时间轴
在这种情况下,DiSIEM提供了一个选项,通过在单独的行中显示操作形状来避免重叠(图7)。这种方法为了可读性牺牲了空间。
图7 时间轴的操作位于不同的行
处理重叠的另一种方法是根据操作的时间顺序将动作彼此相邻放置(图8、图9)。这将保留操作之间的相对时间顺序,但不会保留绝对时间戳信息。这种方法也是节省空间的。
图8 以正常方式显示重复操作的时间轴
图9 以聚合方式显示重复动作的时间轴
交互式分析视图
DiSIEM实现了可视化中的一个强大的技术:相关视图的协同分析。一个视图中的交互反映在所有其他视图中,使用户能够以不同视图中的不同透视图检查数据。
例如,一个分析师可以在“操作序列”视图中选择一个序列子集,所有执行这些序列的用户将被突出显示,所有拥有这些序列的会话也将显示在时间轴视图中。
在另一个例子中,一个分析师想要关注用户的视角,他可以在用户视图中选择一个特定的用户进行调查,动作序列视图中的数据将被过滤,只保留那些被选择的用户执行的操作。交互的类型不仅限于选择,也可以应用于悬停。鼠标悬停交互允许在进行更多提交选择之前更快地查看数据。
可实现的任务类型
任务类型1:原子操作序列的
高级语义摘要
1.操作(Actions)挖掘
一个会话包含一个有序的时间戳和标签操作列表,其标签由应用程序的开发人员确定。
即使每个操作都与一个有意义的标签相关联,表明其用途(如搜索用户和显示用户),但由于操作数量很大(许多会话包含100多个操作),要理解会话的性质仍然是一个挑战。
此外,早期的调查显示,操作并不是随机出现的。它们常常以短的“模式”一起出现,在这种情况下执行更高级别的活动,比如“搜索用户→显示用户”来检索用为了简化操作空间并以更高的语义级别表示会话数据,DiSIEM从原始用户操作中挖掘活动。
更具体地说,给定一个用户会话中有序的操作列表,将该列表拆分为连续的和不连续的序列。每个序列(操作的有序子列表)表示用户执行的有意义的活动(Activity)。
可以合理地假设这些活动是频繁操作序列的一个子集,因为小活动在许多不同的任务中重复多次,这些任务在许多不同的会话中进行。提取频繁动作序列可以使用经典的序列模式挖掘算法,如AprioriAll和GSP来实现。
2.活动(Activity)可视化
DiSIEM将操作挖掘中产生的序列可视化,以输出频繁执行的活动,如图10所示。
图10 显示挖掘模式及其统计信息的可视化设计
可视化由多行组成,每行表示一个活动,并分为两部分:右侧部分显示活动中的操作,左侧部分列出这些操作的统计信息。每个活动都表示为连续的彩色编码方块序列,其中每个方块表示一个操作。
为了描述活动的“频率”,在嵌套的条中显示了三个统计信息(图中的三个灰色条):活动出现的次数(最大条)、具有该活动的会话数(中间条)和执行该活动的用户数(最小条)。
3.活动(Activity)的视觉探索
这是为了探索具有多个维度的序列,即:出现的次数;具有该序列的会话数量;执行该序列的用户数量;具有该序列的所有会话的平均得分(模型中的操作频率得分);具有该序列的所有会话的中间长度(操作数量);具有该序列的所有会话的平均持续时间(时间)。
—个序列由一个圆圈表示(图11),圆圈的大小对应于它在整个数据集中出现的次数。
图11 动作序列的“环”表示
(每个环表示一个操作类型,向外排列)
其位置由散点图的两个可配置轴确定。圆圈被分成多个颜色编码的环,每个环代表一个操作。从中心环向外读取序列。
使用散点图(图12)探索活动或常见序列,从中可以发现有趣的模式。
图12 所有会话的散点图示意
将x轴更改为“事件”,y轴更改为“会话”,并沿对角线放置圆圈。大多数序列都遵循这一点,但绿色序列除外。将其悬停,发现一个会话中只有一个用户刷新了66次。
如图13所示,将x轴更改为“平均持续时间”,将y轴更改为“中间长度”,可以发现一些例外情况。
图13 切换不同的轴,该图显示可能需要进一步调查的会话:短但非常活跃的会话和活动水平有限的长会话
将x轴更改为“平均分数”,y轴更改为“会话”,可以看到分数的正态分布(图14)。
图14 将序列频率与分数对比,可以发现尽管频繁出现,但仍被一致评为异常的模式
频繁序列(大圆圈)似乎得分平均,而一些不太频繁的序列得分较高。一个例外是一个粉红色的圆圈(显示详细信息),在总共12个会话中发生了20次(所有会话都由不同的用户进行),并且收到的中位数为0.87。
任务类型2:多尺度勘探
1.单个会话
使用上面讨论的活动挖掘过程的结果,DiSIEM提供了四个级别的操作聚合,以允许分析师从不同的角度探索会话。
在第一个(最高)详细级别,每个操作都单独显示,提供了会话长度的概念,并有助于对单个操作进行详细检查(图15)。
图15 详细程度最高的时间线,操作单独显示
在第二聚合级别(图16),具有相同类型的连续操作被聚合成一个微妙的水平线(例如图中的一个),表示聚合的大小。
图16 详细程度第二高的时间线,
聚合具有相同类型的连续操作
在第三个聚合级别,只要有可能,操作就会被挖掘的活动所取代。这大大简化了可视化摘要,并有助于快速理解整个会话。一个活动被表示为一个连续的彩色编码操作序列,在它们之间没有留下白色的填充。单个操作的高度减少到一半,以便在视觉上与活动区分开来(图17)。
图17 详细程度第三高的时间线,
显示活动而不是操作
在最高的聚合级别(最低的详细信息),连续的重复活动被组合成一个活动,类似于第二个聚合级别(图18)。
图18 详细程度最低的时间线,
连续的活动是聚合的
这四种表述(操作→聚合→操作活动→聚合活动)允许分析师在不同的细节和目的级别上调查会话:高级别摘要或详细检查。
2.多个会话
分析师可能想要比较多个会话,比如那些分数很高的会话,来自同一个用户的会话,或者使用同一个IP地址的会话。DiSIEM通过提供少量可视化会话摘要来支持这一点,每个会话都显示为一个单独的行(图19)。
图19 概述单个用户使用简化方案执行的所有会话,以便在有限空间中容纳多个会话
具体来说,当分析师选择要调查的用户时,他的所有会话都使用小倍数显示在时间轴中。会话在开始的时候就被安排好了,这使得分析师能够理解随着时间的推移而产生的活动。
分析师可以突出显示需要调查的会话,并可视地将其与其他会话进行比较。当一个活动或动作悬停时,所有其他事件将突出显示。来自办公室的会话按用户分组,便于同一办公室的用户之间进行比较。
任务类型3:异常评分与
其他会话属性关系的探讨
DiSIEM介绍了一种针对约1000个会话的设计(在此数据集中,一天中的最大会话数为806),显示了最近发生的会话的概述,例如,在过去的24小时内。每个会话显示为一个小的彩色矩形,并按顺序从顶行到底行,以及每行从左到右排列(图20)。
图20 会话概述,这些会话可以使用亮度进行颜色编码,并根据用户分析需要交互设置的任何标准进行分组
评分是分析师评估一个会话的关键属性,因此,它使用颜色亮度来表示(暗意味着更高的值和更可疑)。这里的一个重要要求是将分数与会话的其他属性联系起来,例如它的长度、持续时间和动作频率。其中一个属性被映射到矩形的高度,并通过下拉菜单进行更改。
有一类属性可以根据属性值(如用户或IP地址)将会话拆分为不同的组。DiSIEM使用空间分组来可视化这些分类属性。每组会话在空间上分开放置,并由边界包围。
除了异常评分外,这种可视化还允许从不同角度探索会话,并帮助回答不同的分析问题。谁是会话分数一直很高的用户?哪个IP地址的平均分最高?会话长度或持续时间与异常分数有何关系?
任务类型4:当前与过去的比较
Amadeus的分析师提到,这是分析可疑会话最常见的活动之一。必须将一个会话与过去由同一用户执行的其他会话进行比较。
DiSIEM决定自动支持这种比较。在一个给定的会话中的每个动作与过去执行的一组动作进行比较,并分配一个“预期”得分。评分从-1(高度意外)到1(高度期望),计算如下。
如果操作在给定的会话中发生在x时间,
并且发生在y时间之前:
score=min(x,y)/max(x,y)
如果该操作在给定会话中发生x次,
并且以前从未发生过:
score=1/x-1
然后将得分以视觉方式编码到动作表示中,以便进行快速比较。在图21中,深红色表示高度意外,而深蓝色表示高度期待。
图21 与“预期”行为的比较是根据公式通过算法进行的,结果是彩色编码,以突出会话的有趣部分
来源:DISIEM PROJECT
翻译:杨望、薛晓萱
责编:项阳
投稿、转载或合作,请联系:eduinfo@cernet.com
往期推荐
看完了,点个赞呗~