第6期 王培超,等:基于门禁日志挖掘的内部威胁异常行为分析 ·783· 2 问题描述 3异常序列挖掘 2.1路径序列数据 对于序列的异常程度,本模型从两个方面来考 由于门禁系统的存在,每个人的卡会由管理人 虑:一方面是当前行为序列与正常行为序列库中的 员统一进行授权,只被允许访问特定的区域。当一 序列的差异程度,即序列差异分数,这需要考虑相 个人进人某个区域时,需要预先刷卡,门禁系统会 对编辑距离大小和相对支持度大小;另一方面是刷 将当前刷卡时间、刷卡人姓名、卡号、刷卡地点等重 卡的时间因素,包括刷卡行为的发生时间和过于短 要信息进行记录。对于内部人员来说,他们的行为 暂的刷卡时间间隔两个方面。 路径是本文进行异常行为分析的重要对象,将一个 3.1序列差异分数 人每天的刷卡地点按顺序进行采集,即可得到一个 3.1.1正常行为序列库建立 人每天的行为序列。 为了定量刻画异常序列的异常程度,首先应进 2.2正常路径序列数据 行正常序列库的建立。通过利用PrefixSpan算法, 对一个人来说,每天工作的流程是基本确定 设定合理的最小支持度min sup(通常为20%左 的,因此每天的行为路径序列应该有较大的相似 右),对预处理后得到的行为序列进行频繁模式挖 性。例如,对于一个老师来说,每天来到办公室后, 掘,可以得到行为序列中的高频序列。对于一个部 在短暂准备后会去实验室和学生讨论问题,之后再 门来说,在常年的正常运行中已基本形成固定的行 回到办公室备课或完成论文等,这样就形成了“办公 为模式,每名员工在岗位不变的情况下均会形成自 室一实验室一办公室”的行为序列。将人员访问的 身固定的行为模式(例如先去实验室α,后去实验 门禁点用p.(=1,2,…,n)表示,按采集顺序排列就 室b).因而通过对大量数据进行频繁模式挖掘得到 可以得到人员的路径序列〈p,P2,…,P…,Pn〉,之 的高频行为序列可以被认为是正常行为序列。 后由决策者人为设定min sup,即可将这些数据进 3.1.2相对编辑距离计算 行频繁模式挖掘,将支持度高于min sup的行为序 将一个序列变换成另一个序列,其可能的最大 列视为正常行为序列,从而得到正常行为序列库。 编辑距离为正常行为序列长度和当前行为序列长度 2.3序列异常度分数 中较大的那个。为了更好比较不同序列进行变换时 通过精确匹配直接判定异常在数据有一定缺失 需要的编辑距离的相对大小,计算相对编辑距离 的情况下会导致极高的误报率,为此,本文引入了 RD公式为 序列异常度分数(score of sequence's abnormal degree), ED(i) 来定量刻画一个正常序列与一个待评判序列之间的 Re(d.)=Max(lgi) (1) 差异。序列〈P,P2,P3,P4〉和〈pP,P2,P4,P3〉以及 式中:ED为编辑距离函数,为测试序列中的第 序列〈P1,P2,P,P〉和〈P,Ps,P,P6〉的差异显然 i条序列,g为正常序列库中的第j条序列,和 是不同的,传统异常检测方法通过进行精确匹配, 1为相应序列的序列长度。相对编辑距离可以有 将与正常行为序列库中所有内容均不同的序列直接 效比较在编辑距离相同时两序列之间的差距。例 判定为异常,不考虑两个序列之间的差异:为了更 如,将序列〈P1,P2,P3〉变换为〈P1,P2,P,P4〉所需 好比较两个序列之间的差异,可以采用编辑距离 的编辑距离为2,将序列〈P,P2〉变换为〈P1,P2,P3, (edit distance,ED)对序列间的差异进行量化。由于 P4〉所需的编辑距离同样为2,然而,两个正常行为 不同序列长短和复杂程度各不相同,用于比较的正 序列的长度不同,在编辑距离相同的情况下,正常 常行为序列的支持度也不相同,仅靠通过计算编辑 行为序列的长度越长,当前行为序列和正常行为序 距离会造成巨大误差,因此,本文计算相对编辑距 列的相似度越高。相对编辑距离可以很好地刻画出 离(relative edit distance,Rn)和相对支持度(relative 两序列间的差异程度。 support,.Rsup),进而计算可以得到序列差异分数 3.1.3相对支持度计算 (score of sequence's difference degree),之后根据时 对于当前行为序列来说,与其对比的正常行为 间规则计算时间异常分数(score of abnormal time), 序列的支持度对评价当前行为序列的差异程度有很 通过将二者加权相加得到序列异常度分数,根据决 大影响。为了定量刻画这种差异,定义相对支持度 策者的阈值可以对异常序列进行发现。 Rup为2 问题描述 2.1 路径序列数据 由于门禁系统的存在,每个人的卡会由管理人 员统一进行授权,只被允许访问特定的区域。当一 个人进入某个区域时,需要预先刷卡,门禁系统会 将当前刷卡时间、刷卡人姓名、卡号、刷卡地点等重 要信息进行记录。对于内部人员来说,他们的行为 路径是本文进行异常行为分析的重要对象,将一个 人每天的刷卡地点按顺序进行采集,即可得到一个 人每天的行为序列。 2.2 正常路径序列数据 对一个人来说,每天工作的流程是基本确定 的,因此每天的行为路径序列应该有较大的相似 性。例如,对于一个老师来说,每天来到办公室后, 在短暂准备后会去实验室和学生讨论问题,之后再 回到办公室备课或完成论文等,这样就形成了“办公 室—实验室—办公室”的行为序列。将人员访问的 门禁点用 pi (i=1, 2, …, n) 表示,按采集顺序排列就 可以得到人员的路径序列〈p1 , p2 , …, pi , …, pn〉,之 后由决策者人为设定 min_sup,即可将这些数据进 行频繁模式挖掘,将支持度高于 min_sup 的行为序 列视为正常行为序列,从而得到正常行为序列库。 2.3 序列异常度分数 通过精确匹配直接判定异常在数据有一定缺失 的情况下会导致极高的误报率,为此,本文引入了 序列异常度分数(score of sequence’s abnormal degree), 来定量刻画一个正常序列与一个待评判序列之间的 差异。序列〈p1 , p2 , p3 , p4〉和〈p1 , p2 , p4 , p3〉以及 序列〈p1 , p2 , p3 , p4〉和〈p3 , p5 , p1 , p6〉的差异显然 是不同的,传统异常检测方法通过进行精确匹配, 将与正常行为序列库中所有内容均不同的序列直接 判定为异常,不考虑两个序列之间的差异;为了更 好比较两个序列之间的差异,可以采用编辑距离 (edit distance,ED)对序列间的差异进行量化。由于 不同序列长短和复杂程度各不相同,用于比较的正 常行为序列的支持度也不相同,仅靠通过计算编辑 距离会造成巨大误差,因此,本文计算相对编辑距 离(relative edit distance,RED)和相对支持度(relative support,RSup),进而计算可以得到序列差异分数 (score of sequence’s difference degree),之后根据时 间规则计算时间异常分数(score of abnormal time), 通过将二者加权相加得到序列异常度分数,根据决 策者的阈值可以对异常序列进行发现。 3 异常序列挖掘 对于序列的异常程度,本模型从两个方面来考 虑:一方面是当前行为序列与正常行为序列库中的 序列的差异程度,即序列差异分数,这需要考虑相 对编辑距离大小和相对支持度大小;另一方面是刷 卡的时间因素,包括刷卡行为的发生时间和过于短 暂的刷卡时间间隔两个方面。 3.1 序列差异分数 3.1.1 正常行为序列库建立 为了定量刻画异常序列的异常程度,首先应进 行正常序列库的建立。通过利用 PrefixSpan 算法, 设定合理的最小支持度 min_sup(通常为 20% 左 右),对预处理后得到的行为序列进行频繁模式挖 掘,可以得到行为序列中的高频序列。对于一个部 门来说,在常年的正常运行中已基本形成固定的行 为模式,每名员工在岗位不变的情况下均会形成自 身固定的行为模式(例如先去实验室 a,后去实验 室 b),因而通过对大量数据进行频繁模式挖掘得到 的高频行为序列可以被认为是正常行为序列。 3.1.2 相对编辑距离计算 RED 将一个序列变换成另一个序列,其可能的最大 编辑距离为正常行为序列长度和当前行为序列长度 中较大的那个。为了更好比较不同序列进行变换时 需要的编辑距离的相对大小,计算相对编辑距离 公式为 RED ( q t i ,q n j ) = ED( q t i ,q n j ) Max( q t i |,|q n j ) (1) q t i q n j q t i q n j 式中:ED 为编辑距离函数, 为测试序列中的第 i 条序列, 为正常序列库中的第 j 条序列,| |和 | |为相应序列的序列长度。相对编辑距离可以有 效比较在编辑距离相同时两序列之间的差距。例 如,将序列〈p1 , p2 , p3〉变换为〈p1 , p2 , p3 , p4〉所需 的编辑距离为 2,将序列〈p1 , p2〉变换为〈p1 , p2 , p3 , p4〉所需的编辑距离同样为 2,然而,两个正常行为 序列的长度不同,在编辑距离相同的情况下,正常 行为序列的长度越长,当前行为序列和正常行为序 列的相似度越高。相对编辑距离可以很好地刻画出 两序列间的差异程度。 3.1.3 相对支持度计算 Rsup 对于当前行为序列来说,与其对比的正常行为 序列的支持度对评价当前行为序列的差异程度有很 大影响。为了定量刻画这种差异,定义相对支持度 为 第 6 期 王培超,等:基于门禁日志挖掘的内部威胁异常行为分析 ·783·