第12卷第6期 智能系统学报 Vol.12 No.6 2017年12月 CAAI Transactions on Intelligent Systems Dec.2017 D0:10.11992/tis.201706041 网络出版地址:http:/kns.cnki.net/kcms/detail/23.1538.TP.20171109.1250.018.html 基于门禁日志挖掘的内部威胁异常行为分析 王培超,周鋆,朱承,黄金才,张维明 (国防科技大学信息系统工程重点实验室,湖南长沙410072) 摘要:门禁系统是保护重要场所安全的重要手段,可以有效防止未授权用户的进入。然而,近年来大量案例表明重 要场所的威胁主要来自于具有合法权限的内部人员。针对这个问题,提出基于门禁日志数据挖掘的内部威胁异常行 为分析方法。该方法首先利用PrefixSpan算法对正常行为序列进行提取,之后计算待检测序列的序列异常度分数, 并根据决策者设定的阈值来找出异常序列。通过真实门禁数据中的实验,验证了本方法可以降低精确匹配在数据较 少时带来的高误报率,实现对内部人员异常行为的有效发现,为加强重要场所安全保护提供了新的途径。 关键词:门禁系统:日志数据挖掘:内部威胁检测:异常行为分析 中图分类号:TP311文献标志码:A文章编号:1673-4785(2017)06-0781-09 中文引用格式:王培超,周望,朱承,等.基于门禁日志挖掘的内部威胁异常行为分析J.智能系统学报,2017,12(6):781-789. 英文引用格式:VANG Peichao,ZHOU Yun,ZHU Cheng,etal.Analysis on abnormal behavior of insider threats based on access- log miningJ.CAAI transactions on intelligent systems,2017,12(6):781-789. Analysis on abnormal behavior of insider threats based on accesslog mining WANG Peichao,ZHOU Yun,ZHU Cheng,HUANG Jincai,ZHANG Weiming (Key Laboratory of Information System Engineering,National University of Defense Technology,Changsha 410072,China) Abstract:Using an access control system is an important method of guarding key places,and it can effectively prohibit the entry of unauthorized users.However,many recent cases indicate that threats to key places mostly come from in- siders.To address this challenge,this paper proposes a method for analyzing the abnormal behavior of insider threats based on accesslog data mining.First,the PrefixSpan algorithm is used to extract normal behavior sequences;then,the anomaly scores of the access sequences are calculated.Finally,the abnormal sequences are identified according to a threshold determined by decision makers.Experiments on real access data show that this method can decrease high false alarm rates caused by an exact match when there is limited data and can also effectively reveal abnormal behavior by in- siders.Therefore,this method provides a new approach for enhancing the protection of key places. Keywords:access control system;accesslog mining;insider threat detection;analysis on abnormal behavior 重要场所的安全保护历来是人们关注的焦点,完善的强大功能,指纹识别叫、虹膜识别等新识别 其安保措施有钥匙专人携带、雇用安保人员、使用 技术的应用使门禁系统已经成为了涉及诸多新技术 门禁系统等,然而,随着经济社会的发展,门禁系统 的新型现代化安全管理系统,在银行、宾馆、重要办 (access control system)在各重要场所的所占比重越 公场所等地发挥着无可替代的作用。 来越大,传统安保措施的应用越来越少。这一方面 门禁系统发挥作用的主要途径,是通过对不同 由于传统安保措施的弊端(如钥匙易丢失、易被复 用户授予不同的权限,从而规范不同地点的进出人 制,人员被收买等),另一方面得益于门禁系统日益 员。但是,近年来大量案例表明,一个重要场所的 收稿日期:2017-06-10.。网络出版日期:2017-11-09 最大威胁往往不是来自外部人员,而是来自那些拥 基金项目:国家自然科学基金项目(71571186):教育部在线教育研 有合法权限的内部人员,内部威胁(insider threat)随 究基金项目(2017YB119). 通信作者:周鋆.E-mail:houyun@nudt.edu..cn 着“棱镜门”等事件的曝光而越来越受到人们的重
DOI: 10.11992/tis.201706041 网络出版地址: http://kns.cnki.net/kcms/detail/23.1538.TP.20171109.1250.018.html 基于门禁日志挖掘的内部威胁异常行为分析 王培超,周鋆,朱承,黄金才,张维明 (国防科技大学 信息系统工程重点实验室,湖南 长沙 410072) 摘 要:门禁系统是保护重要场所安全的重要手段,可以有效防止未授权用户的进入。然而,近年来大量案例表明重 要场所的威胁主要来自于具有合法权限的内部人员。针对这个问题,提出基于门禁日志数据挖掘的内部威胁异常行 为分析方法。该方法首先利用 PrefixSpan 算法对正常行为序列进行提取,之后计算待检测序列的序列异常度分数, 并根据决策者设定的阈值来找出异常序列。通过真实门禁数据中的实验,验证了本方法可以降低精确匹配在数据较 少时带来的高误报率,实现对内部人员异常行为的有效发现,为加强重要场所安全保护提供了新的途径。 关键词:门禁系统;日志数据挖掘;内部威胁检测;异常行为分析 中图分类号:TP311 文献标志码:A 文章编号:1673−4785(2017)06−0781−09 中文引用格式:王培超, 周鋆, 朱承, 等. 基于门禁日志挖掘的内部威胁异常行为分析[J]. 智能系统学报, 2017, 12(6): 781–789. 英文引用格式:WANG Peichao, ZHOU Yun, ZHU Cheng, et al. Analysis on abnormal behavior of insider threats based on accesslog mining[J]. CAAI transactions on intelligent systems, 2017, 12(6): 781–789. Analysis on abnormal behavior of insider threats based on accesslog mining WANG Peichao,ZHOU Yun,ZHU Cheng,HUANG Jincai,ZHANG Weiming (Key Laboratory of Information System Engineering, National University of Defense Technology, Changsha 410072, China) Abstract: Using an access control system is an important method of guarding key places, and it can effectively prohibit the entry of unauthorized users. However, many recent cases indicate that threats to key places mostly come from insiders. To address this challenge, this paper proposes a method for analyzing the abnormal behavior of insider threats based on accesslog data mining. First, the PrefixSpan algorithm is used to extract normal behavior sequences; then, the anomaly scores of the access sequences are calculated. Finally, the abnormal sequences are identified according to a threshold determined by decision makers. Experiments on real access data show that this method can decrease high false alarm rates caused by an exact match when there is limited data and can also effectively reveal abnormal behavior by insiders. Therefore, this method provides a new approach for enhancing the protection of key places. Keywords: access control system; accesslog mining; insider threat detection; analysis on abnormal behavior 重要场所的安全保护历来是人们关注的焦点, 其安保措施有钥匙专人携带、雇用安保人员、使用 门禁系统等,然而,随着经济社会的发展,门禁系统 (access control system)在各重要场所的所占比重越 来越大,传统安保措施的应用越来越少。这一方面 由于传统安保措施的弊端(如钥匙易丢失、易被复 制,人员被收买等),另一方面得益于门禁系统日益 完善的强大功能,指纹识别[1] 、虹膜识别[2]等新识别 技术的应用使门禁系统已经成为了涉及诸多新技术 的新型现代化安全管理系统,在银行、宾馆、重要办 公场所等地发挥着无可替代的作用。 门禁系统发挥作用的主要途径,是通过对不同 用户授予不同的权限,从而规范不同地点的进出人 员。但是,近年来大量案例表明,一个重要场所的 最大威胁往往不是来自外部人员,而是来自那些拥 有合法权限的内部人员,内部威胁(insider threat)随 着“棱镜门”等事件的曝光而越来越受到人们的重 收稿日期:2017−06−10. 网络出版日期:2017−11−09. 基金项目:国家自然科学基金项目(71571186);教育部在线教育研 究基金项目(2017YB119). 通信作者:周鋆. E-mail:zhouyun@nudt.edu.cn. 第 12 卷第 6 期 智 能 系 统 学 报 Vol.12 No.6 2017 年 12 月 CAAI Transactions on Intelligent Systems Dec. 2017
·782· 智能系统学报 第12卷 视。国外已有不少学者对于内部威胁进行了研究, 部人员的异常行为序列。 这些研究主要存在于信息域,如D.F.Ferraiolo提出 序列模式挖掘是查找序列集合中的频繁序列的 了基于角色的访问控制(role based access control,. 重要方法,给定一个由不同序列组成的集合,其中 RBAC),Bishop Matt在此基础上,提出了基于属性 每个序列由不同的元素按顺序有序排列,同时给定 的组访问控制(attribute based group access control, 一个用户指定的最小支持度阈值min sup,序列模 ABGAC)等,这些研究对本文进行物理域异常检测 式挖掘就是找出所有出现频率不低于min sup 提供了很好的指导作用。 的子序列22。常用的基本序列模式挖掘算法有类 门禁日志分析是发现内部威胁的重要途径,作 Apriori算法(AprioriAll、AprioriSome、DynamicSo- 为物理域信息的重要来源,国内外已有不少学者对 me)和基于数据投影的算法(FreeSpant2),Prefix- 此展开研究,通常借鉴网络空间异常检测的方法来 Span)等。Apriori类算法的思想大致相同,首先遍 刻画人员的行为。序列模式挖掘是利用门禁日志数 历序列数据库生成候选序列,并利用先验性质进行 据刻画人员行为的有效方法,本文在此基础上提出 剪枝得到频繁序列,每次遍历都是通过连接上次得 了一种计算序列异常度分数的方法,通过利用Pr- 到的频繁序列生成新的长度加1的候选序列,然后 fixSpan算法找出人员行为的频繁序列,并通过计 扫描每个候选序列验证其是否为频繁序列,要对数 算序列异常度分数对人员的行为序列的异常度进行 据库进行反复多次的扫描。FreeSpan算法利用当前 了定量刻画表示,进而可根据阈值来找出异常行 挖掘的频繁序列集将序列数据库递归地投影到一组 为,有效减少了因精确匹配造成的高误报率,适用 更小的投影数据库上,分别在每个投影数据库上增 于对各种门禁日志的分析处理。 长子序列,PrefixSpan是FreeSpan的改进算法,其投 1相关研究 影时不考虑所有可能出现的频繁子序列,只检查前 缀序列,然后把相应的后缀投影成投影数据库,之 内部威胁是异常检测所面临的巨大挑战,国外 后在其中只检查局部频繁模式,不需要生成候选子 学者均提出了检测内部威胁的相关理论或实践方 序列。PrefixSpan算法在处理数据时有较高的效 法6,并取得了较好的效果。无论是国内外的学 率,故本文在后续的实验中采用此算法。 者,在进行实际的内部威胁检测时,通常借鉴网络 序列模式挖掘是查找序列集合中的频繁序列的 空间异常检测的方法来对用户行为进行分析,即构 重要方法,给定一个由不同序列组成的集合,其中, 建用户的正常行为模型后查找离群点,常用方法包 每个序列由不同的元素按顺序有序排列,同时给定 括有监督的异常检测、半监督的异常检测和无监督 一个用户指定的最小支持度阈值min sup,序列模 的异常检测到,通过建立正常的行为模式集,将实际 式挖掘就是找出所有出现频率不低于min_sup 行为模式与正常行为模式进行对比,看两者是否匹 的子序列22。常用的基本序列模式挖掘算法有类 配,若不匹配,说明是异常,反之则为正常。 Apriori算法(AprioriAll、AprioriSome、DynamicSo- 门禁日志分析是内部威胁检测的一个小分支, 国外学者对其已有一定的研究,如Bostjan等1通过 me)和基于数据投影的算法(FreeSpan2),Prefix- Span)等。类Apriori算法的思想大致相同,首先遍 将刷卡数据与监控数据结合提出了多层框架模型对 历序列数据库生成候选序列并利用先验性质进行剪 用户行为进行分析,M.Davis等采用图挖掘算法 枝得到频繁序列,每次遍历都是通过连接上次得到 检测门禁数据中的结构异常(建筑物中不正常路 径)和数值异常(不正常计时数据)等。与国外学者 的频繁序列生成新的长度加1的候选序列,然后扫 相比,国内学者对于门禁日志数据挖掘的研究较 描每个候选序列验证其是否为频繁序列,要对数据 少,不少学者关注于门禁系统架构的设计6刀,而 库进行反复多次的扫描。FreeSpan算法利用当前挖 对于门禁数据仅进行了统计学分析,较少对异常 掘的频繁序列集将序列数据库递归地投影到一组更 行为进行相应分析。郑伟平等对社区管理数据利 小的投影数据库上,分别在每个投影数据库上增长 用k-means找出社区人流规律,从而加强对社区治 子序列,PrefixSpan是FreeSpan的改进算法,其投影 安的管理;史殿习等2提出了可视为Apriori算 时不考虑所有可能出现的频繁子序列,只检查前缀 法扩展的加权模式挖掘算法,利用此算法刻画用户 序列,然后把相应的后缀投影成投影数据库,之后 的日常行为模式,取得了较好的效果:顾兆军等对 在其中只检查局部频繁模式,不需要生成候选子序 大型航站楼门禁日志进行了序列模式挖掘,对机场 列。PrefixSpan算法在处理数据时有较高的效率, 员工行为进行了有效刻画,并利用精确匹配找出内 故本文在后续的实验中采用此算法
视。国外已有不少学者对于内部威胁进行了研究, 这些研究主要存在于信息域,如 D.F.Ferraiolo[3]提出 了基于角色的访问控制(role based access control, RBAC),Bishop Matt[4]在此基础上,提出了基于属性 的组访问控制(attribute based group access control, ABGAC)等,这些研究对本文进行物理域异常检测 提供了很好的指导作用。 门禁日志分析是发现内部威胁的重要途径,作 为物理域信息的重要来源,国内外已有不少学者对 此展开研究,通常借鉴网络空间异常检测的方法来 刻画人员的行为。序列模式挖掘是利用门禁日志数 据刻画人员行为的有效方法,本文在此基础上提出 了一种计算序列异常度分数的方法,通过利用 PrefixSpan 算法[5]找出人员行为的频繁序列,并通过计 算序列异常度分数对人员的行为序列的异常度进行 了定量刻画表示,进而可根据阈值来找出异常行 为,有效减少了因精确匹配造成的高误报率,适用 于对各种门禁日志的分析处理。 1 相关研究 内部威胁是异常检测所面临的巨大挑战,国外 学者均提出了检测内部威胁的相关理论或实践方 法 [6-12] ,并取得了较好的效果。无论是国内外的学 者,在进行实际的内部威胁检测时,通常借鉴网络 空间异常检测的方法来对用户行为进行分析,即构 建用户的正常行为模型后查找离群点,常用方法包 括有监督的异常检测、半监督的异常检测和无监督 的异常检测[13] ,通过建立正常的行为模式集,将实际 行为模式与正常行为模式进行对比,看两者是否匹 配,若不匹配,说明是异常,反之则为正常。 门禁日志分析是内部威胁检测的一个小分支, 国外学者对其已有一定的研究,如 Bostjan 等 [14]通过 将刷卡数据与监控数据结合提出了多层框架模型对 用户行为进行分析,M. Davis 等 [15]采用图挖掘算法 检测门禁数据中的结构异常(建筑物中不正常路 径)和数值异常(不正常计时数据)等。与国外学者 相比,国内学者对于门禁日志数据挖掘的研究较 少,不少学者关注于门禁系统架构的设计[16-17] ,而 对于门禁数据仅进行了统计学分析[18] ,较少对异常 行为进行相应分析。郑伟平等[19]对社区管理数据利 用 k-means 找出社区人流规律,从而加强对社区治 安的管理;史殿习等[ 2 0 ]提出了可视为 Apriori 算 法扩展的加权模式挖掘算法,利用此算法刻画用户 的日常行为模式,取得了较好的效果;顾兆军等[21]对 大型航站楼门禁日志进行了序列模式挖掘,对机场 员工行为进行了有效刻画,并利用精确匹配找出内 部人员的异常行为序列。 序列模式挖掘是查找序列集合中的频繁序列的 重要方法,给定一个由不同序列组成的集合,其中, 每个序列由不同的元素按顺序有序排列,同时给定 一个用户指定的最小支持度阈值 min_sup,序列模 式挖掘就是找出所有出现频率不低于 min_sup 的子序列[22]。常用的基本序列模式挖掘算法有类 Apriori 算法(AprioriAll、AprioriSome、DynamicSome)和基于数据投影的算法(FreeSpan[23] ,PrefixSpan)等。Apriori 类算法的思想大致相同,首先遍 历序列数据库生成候选序列,并利用先验性质进行 剪枝得到频繁序列,每次遍历都是通过连接上次得 到的频繁序列生成新的长度加 1 的候选序列,然后 扫描每个候选序列验证其是否为频繁序列,要对数 据库进行反复多次的扫描。FreeSpan 算法利用当前 挖掘的频繁序列集将序列数据库递归地投影到一组 更小的投影数据库上,分别在每个投影数据库上增 长子序列,PrefixSpan 是 FreeSpan 的改进算法,其投 影时不考虑所有可能出现的频繁子序列,只检查前 缀序列,然后把相应的后缀投影成投影数据库,之 后在其中只检查局部频繁模式,不需要生成候选子 序列。PrefixSpan 算法在处理数据时有较高的效 率,故本文在后续的实验中采用此算法。 序列模式挖掘是查找序列集合中的频繁序列的 重要方法,给定一个由不同序列组成的集合,其中, 每个序列由不同的元素按顺序有序排列,同时给定 一个用户指定的最小支持度阈值 min_sup,序列模 式挖掘就是找出所有出现频率不低于 min_sup 的子序列[22]。常用的基本序列模式挖掘算法有类 Apriori 算法(AprioriAll、AprioriSome、DynamicSome)和基于数据投影的算法(FreeSpan[23] ,PrefixSpan)等。类 Apriori 算法的思想大致相同,首先遍 历序列数据库生成候选序列并利用先验性质进行剪 枝得到频繁序列,每次遍历都是通过连接上次得到 的频繁序列生成新的长度加 1 的候选序列,然后扫 描每个候选序列验证其是否为频繁序列,要对数据 库进行反复多次的扫描。FreeSpan 算法利用当前挖 掘的频繁序列集将序列数据库递归地投影到一组更 小的投影数据库上,分别在每个投影数据库上增长 子序列,PrefixSpan 是 FreeSpan 的改进算法,其投影 时不考虑所有可能出现的频繁子序列,只检查前缀 序列,然后把相应的后缀投影成投影数据库,之后 在其中只检查局部频繁模式,不需要生成候选子序 列。PrefixSpan 算法在处理数据时有较高的效率, 故本文在后续的实验中采用此算法。 ·782· 智 能 系 统 学 报 第 12 卷
第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·
·784· 智能系统学报 第12卷 log(C(gl》 为序列库中每一条序列进行比较,从而得到序列差 R()=log(Max.) (2) 异分数score: 式中:Cwp(g)为正常序列库中第i条序列的支持度, 1)当相对编辑距离计算结果中存在0时,意味 Maxp为正常行为序列库中最大的支持度;取对数 着当前行为序列与正常行为序列库中的序列存在完 可以减少因支持度间差距太大导致的分数过小。相 全一致的情况,因此此时序列差异分数为0: 2)当相对编辑距离计算结果中不存在0时,意 对支持度越高,证明人员日常行为与当前正常行为 味着当前行为序列与正常行为序列库中的序列不存 序列存在差异时,日常行为序列的异常程度越大。 在完全一致的情况,这时考虑当前行为序列与正常 3.1.4序列差异分数计算 行为序列库中所有序列的整体差别,对计算出的多 相对编辑距离和相对支持度两方面在计算序列 个得分求平均值,从而得到该行为序列偏离正常行 差异分数时都需要考虑。当前行为序列应与正常行 为序列的总体程度: 0,3R(4,94)=0 score(4i,4))= Main su (3) mean( 100Rp(g)R(g,g),YRD(g,g))≠0 式中:Mmmp为在当前最小支持度下的正常行为序 间隔与累计频率的关系函数,刷卡时间间隔对应的 列库中行为序列的总数;mean为求平均值,可得出 累计频率越大,意味着该刷卡间隔过短的可能性越 该条测试序列与正常行为序列库中所有行为序列的 小,计算分数时使用式(4): 整体差距。 score2 (q)= 3.2时间异常分数 -1 (1-f(△t) 3.2.1时间规则 IMin(0,t;-threshold) 100× N-1 thresholdl 2 通过序列差异分数只能对序列的次序异常进行 刻画,由于没有考虑时间,对于异常的发现存在 (4) 定的缺陷。定义时间异常规则如下: 式中:∫为拟合出的函数,△1为当天的第k时间间隔 1)异常时间段进人:用户在非正常时间段进入 (min),threshold为设定的异常时间阈值,t,为第i 某地。 天最早的刷卡时间,N,为门禁测试序列中第1天的 2)刷卡间隔过短:两次刷卡时间间隔过于短 记录总数。 暂,异于平常。 3.3序列异常度分数 这两种异常利用序列差异分数的方法是无法发 3.3.1序列异常度分数计算 现的,例如,对于序列〈P1P1P1P2〉,当对编号p1的 序列异常度分数由序列差异分数和时间异常分 设备在10s内刷卡3次时,这种行为显然是异常的: 数两部分构成,计算第ⅰ条测试序列的序列异常度 然而,这条序列可能出现在构建的正常行为序列库 分数采用的方法如下: 中,因为用户在一天内对设备刷卡3次的行为是正 score(g)=a.scorei (qi,q")+(1-a).score2 (g)(5) 常的,此种情况使用异常度分数的方法无法发现其 式中:α和1-a为两个子分数的权重,权重可根据决 策者的偏好来决定,缺省值为0.5,即简单平均。 异常,而时间规则却可以很好地将其发现。 3.2.2时间分数计算 3.3.2异常路径行为发现 对于两条时间规则,而对于异常时间的刷卡行 分数计算出来后,人员行为序列的异常程度大 小就有了定量的刻画,而将哪些分数视为异常需要 为,不同部门的工作时间段有不同之处,部门的异 人为定性决定。不同部门的人员最后计算出的分数 常刷卡时间段阈值(threshold)应该根据对该部门的 是不一样的,直接对所有人员划定统一的异常分数 正常运行时间进行人为设定,当某天的刷卡时间出 阈值会导致高误报率,同一部门的人只有在同一部 现在异常时间段内时,根据出现时间与阈值之间的 门中进行比较才有较大的说服力;频繁序列的 相对差距来计算二者之间的分数:刷卡间隔为门禁 min_sup的设定也是一个问题,不同min_sup会对 系统中同一天内两条数据之间的时间差(min),对 最后计算得到的分数产生一定的影响。为了给决策 于刷卡间隔过短的异常,本文根据该部门的整体刷 者进行决策提供更好的支持,应为决策者提供在不 卡间隔情况来确定。通过绘制刷卡间隔与累积频率 同支持度下设定不同阈值时产生的报警率,为此, 的曲线,并将此曲线进行拟合,可以得到刷卡时间 本文通过绘制不同min sup下的报警率曲线来为决
Rsup ( q n j ) = log(Csup ( q n j )) log(Maxsup) (2) Csup ( q n j ) Maxsup 式中: 为正常序列库中第 i 条序列的支持度, 为正常行为序列库中最大的支持度;取对数 可以减少因支持度间差距太大导致的分数过小。相 对支持度越高,证明人员日常行为与当前正常行为 序列存在差异时,日常行为序列的异常程度越大。 3.1.4 序列差异分数计算 相对编辑距离和相对支持度两方面在计算序列 差异分数时都需要考虑。当前行为序列应与正常行 为序列库中每一条序列进行比较,从而得到序列差 异分数 score1: 1)当相对编辑距离计算结果中存在 0 时,意味 着当前行为序列与正常行为序列库中的序列存在完 全一致的情况,因此此时序列差异分数为 0; 2)当相对编辑距离计算结果中不存在 0 时,意 味着当前行为序列与正常行为序列库中的序列不存 在完全一致的情况,这时考虑当前行为序列与正常 行为序列库中所有序列的整体差别,对计算出的多 个得分求平均值,从而得到该行为序列偏离正常行 为序列的总体程度: score1 ( q t i ,q n ) = 0,∃RED ( q t i ,q n j ) = 0 mean( M∑min_sup j=1 100Rsup ( q n j ) RED ( q t i ,q n j ) ),∀RED ( q t i ,q n j ) , 0 (3) 式中:Mmin_sup 为在当前最小支持度下的正常行为序 列库中行为序列的总数;mean 为求平均值,可得出 该条测试序列与正常行为序列库中所有行为序列的 整体差距。 3.2 时间异常分数 3.2.1 时间规则 通过序列差异分数只能对序列的次序异常进行 刻画,由于没有考虑时间,对于异常的发现存在一 定的缺陷。定义时间异常规则如下: 1)异常时间段进入:用户在非正常时间段进入 某地。 2)刷卡间隔过短:两次刷卡时间间隔过于短 暂,异于平常。 这两种异常利用序列差异分数的方法是无法发 现的,例如,对于序列〈p1 ,p1 ,p1 ,p2〉,当对编号 p1 的 设备在 10 s 内刷卡 3 次时,这种行为显然是异常的; 然而,这条序列可能出现在构建的正常行为序列库 中,因为用户在一天内对设备刷卡 3 次的行为是正 常的,此种情况使用异常度分数的方法无法发现其 异常,而时间规则却可以很好地将其发现。 3.2.2 时间分数计算 对于两条时间规则,而对于异常时间的刷卡行 为,不同部门的工作时间段有不同之处,部门的异 常刷卡时间段阈值(threshold)应该根据对该部门的 正常运行时间进行人为设定,当某天的刷卡时间出 现在异常时间段内时,根据出现时间与阈值之间的 相对差距来计算二者之间的分数;刷卡间隔为门禁 系统中同一天内两条数据之间的时间差(min),对 于刷卡间隔过短的异常,本文根据该部门的整体刷 卡间隔情况来确定。通过绘制刷卡间隔与累积频率 的曲线,并将此曲线进行拟合,可以得到刷卡时间 间隔与累计频率的关系函数,刷卡时间间隔对应的 累计频率越大,意味着该刷卡间隔过短的可能性越 小,计算分数时使用式 (4): score2 ( q t i ) = 100× N∑i−1 k=1 (1− f (∆tk)) Ni −1 + |Min(0,ti −threshold)| |threshold| × 1 2 (4) 式中:f 为拟合出的函数,Δtk 为当天的第 k 时间间隔 (min),threshold 为设定的异常时间阈值,ti 为第 i 天最早的刷卡时间,Ni 为门禁测试序列中第 i 天的 记录总数。 3.3 序列异常度分数 3.3.1 序列异常度分数计算 序列异常度分数由序列差异分数和时间异常分 数两部分构成,计算第 i 条测试序列的序列异常度 分数采用的方法如下: score ( q t i ) = α·score1 ( q t i ,q n ) +(1−α)·score2 ( q t i ) (5) 式中:α 和 1-α 为两个子分数的权重,权重可根据决 策者的偏好来决定,缺省值为 0.5,即简单平均。 3.3.2 异常路径行为发现 分数计算出来后,人员行为序列的异常程度大 小就有了定量的刻画,而将哪些分数视为异常需要 人为定性决定。不同部门的人员最后计算出的分数 是不一样的,直接对所有人员划定统一的异常分数 阈值会导致高误报率,同一部门的人只有在同一部 门中进行比较才有较大的说服力;频繁序列的 min_sup 的设定也是一个问题,不同 min_sup 会对 最后计算得到的分数产生一定的影响。为了给决策 者进行决策提供更好的支持,应为决策者提供在不 同支持度下设定不同阈值时产生的报警率,为此, 本文通过绘制不同 min_sup 下的报警率曲线来为决 ·784· 智 能 系 统 学 报 第 12 卷
第6期 王培超,等:基于门禁日志挖掘的内部威胁异常行为分析 ·785· 策者提供决策依据,决策者可以自行决定需要设定 表2门禁数据属性说明 的min sup和异常分数阈值。 Table 2 Instruction on attributes of access control system 3.3.3序列异常度分数计算示例 属性 说明 假设对某部门一个月的行为序列数据进行频繁 模式挖掘,得到表1结果。 刷卡时间 记录在门禁系统中的进入某地的时间 设备名称 门禁设备的安放地点 表1测试用正常行为序列库 Table 1 Testing normal sequences library 设备编号 与设备名称是一对多的关系 行为序列 支持度计数 设备类型 有普通门禁和密码门禁两种 Pi,p2 P3,P4.Ps 15 用户姓名 每名用户的真实姓名 P1,P3,P2,P4 3 用户编号 每个持卡用户的唯一编号 P2s P3,Ps 19 群组 用户所在的部门 开门方式 用户打开门的方式,有按钮开门、刷卡开门等 给定测试路径序列为〈P1,P2,P5〉,设定异常刷 卡时间段阈值为早上7点,刷卡时间间隔与累计频 开门结果 成功或失败 率的对应函数为f(△)=0.18×(2.11×△)”,刷卡时 卡片号码 每张卡片对应的唯一号码 间序列为〈2012-3-17:30:12,2012-3-18:02:18, 由于系统延迟,数据库相应群组数据更新的 操作时间 2012-3-18:06:24),测试阈值设定为41,权重a 实际时间 设定为0.5。将测试路径分别与3条行为序列进行 操作人 数据库管理者,均为SYSTEM 比较: log(15).2 在门禁系统中,总共有103个记录点,但是由 scorel= 1og(19) ×100=36.79 于系统存在较大问题,很多门禁点在记录数据时存 log(3) 2 在不同程度的丢失现象,而且不同群组的数据记录 scoreb= log(19) 4×100=18.66 情况也各不相同,为了建立可以反映用户正常行为 1og(19) 2 score.=iog19×5×100=6.67 的行为序列,需要大量的数据,因此需要寻找数据 (36.79+18.66+66.67) 缺失最少的群组来进行正常路径行为模型建立。当 score 3 =40.71 使用有大量数据缺失的群组时,会导致极高的误报 接下来计算时间异常分数: 率。导出数据后,通过观察可以发现,群组A(部门 [(1-f(32.1)+(1-f(4.1),nl1 scoerz =100x 2+02-18.33 A)数据缺失较少,因而接下来的实验中使用部门 2 A的数据。 最后计算得到测试序列的序列异常度分数: 4.2正常路径行为模型建立 score=40.71×0.5+18.33×0.5=29.52 分数低于阈值,因此该序列被标记为正常。 本实验对部门A的数据进行了采集,该部门是 日常工作流程的关键部门之一,应当进行高度关 4实验结果及分析 注。并且,部门中的每个人在数据采集期间没有出 现工作变动的情况,长期工作性质未变,最终得到 为了验证本文所提分数计算方法的有效性,在 的正常行为序列库可以较好地反映出部门人员的正 python2.7和MATLAB2014a的环境下进行实验,实 验数据来自某涉密场所2012一2016年的门禁日志 常行为。通过对部门A在2012一2014年的数据进 记录。 行处理,并设定min sup为200到350的非连续整 4.1数据预处理 数,分别在不同支持度下对行为序列进行频繁序列 本文数据来自某单位的门禁系统,其系统记录 挖掘。通过数据预处理,得到每天的行为序列(共 的门禁数据属性如表2所示。其中,对本文的实验 1049条)后,建立该部门在不同支持度下的正常行 有帮助的属性有刷卡时间、设备名称、群组、用户姓 为序列库。如表3所示。 名、卡片号码、用户编号,6个属性中,最后两个是 在3年时间里,该部门的刷卡间隔数据共有 在找出异常序列后进行精确定位时使用,其余属性 38180条,而刷卡间隔在1h内的记录有32585条, 的去除原因为重复或与题目无关。门禁系统无法没 占总记录数的85.34%,因此认为超过1h的刷卡时 有对异常行为进行标记,因此无法通过传统的分类 间间隔不存在刷卡时间间隔过短的情况,统计1h 方法对异常行为进行模型的构建。 内的刷卡间隔与累积频率,结果如图1所示
策者提供决策依据,决策者可以自行决定需要设定 的 min_sup 和异常分数阈值。 3.3.3 序列异常度分数计算示例 假设对某部门一个月的行为序列数据进行频繁 模式挖掘,得到表 1 结果。 f (∆t) = 0.18×(2.11×∆t) 0.37 给定测试路径序列为〈p1 , p2 , p5〉,设定异常刷 卡时间段阈值为早上 7 点,刷卡时间间隔与累计频 率的对应函数为 ,刷卡时 间序列为〈2012-3-17:30:12,2012-3-18:02:18, 2012-3-18:06:24〉,测试阈值设定为 41,权重 α 设定为 0.5。将测试路径分别与 3 条行为序列进行 比较: score1a = log(15) log(19) × 2 5 ×100 = 36.79 score1b = log(3) log(19) × 2 4 ×100 = 18.66 score1c = log(19) log(19) × 2 3 ×100 = 66.67 score1 = (36.79+18.66+66.67) 3 = 40.71 接下来计算时间异常分数: scoer2 =100× [ (1− f (32.1))+(1− f (4.1)) 2 +0 ] × 1 2 =18.33 最后计算得到测试序列的序列异常度分数: score = 40.71×0.5+18.33×0.5 = 29.52 分数低于阈值,因此该序列被标记为正常。 4 实验结果及分析 为了验证本文所提分数计算方法的有效性,在 python2.7 和 MATLAB2014a 的环境下进行实验,实 验数据来自某涉密场所 2012—2016 年的门禁日志 记录。 4.1 数据预处理 本文数据来自某单位的门禁系统,其系统记录 的门禁数据属性如表 2 所示。其中,对本文的实验 有帮助的属性有刷卡时间、设备名称、群组、用户姓 名、卡片号码、用户编号,6 个属性中,最后两个是 在找出异常序列后进行精确定位时使用,其余属性 的去除原因为重复或与题目无关。门禁系统无法没 有对异常行为进行标记,因此无法通过传统的分类 方法对异常行为进行模型的构建。 在门禁系统中,总共有 103 个记录点,但是由 于系统存在较大问题,很多门禁点在记录数据时存 在不同程度的丢失现象,而且不同群组的数据记录 情况也各不相同,为了建立可以反映用户正常行为 的行为序列,需要大量的数据,因此需要寻找数据 缺失最少的群组来进行正常路径行为模型建立。当 使用有大量数据缺失的群组时,会导致极高的误报 率。导出数据后,通过观察可以发现,群组 A(部门 A)数据缺失较少,因而接下来的实验中使用部门 A 的数据。 4.2 正常路径行为模型建立 本实验对部门 A 的数据进行了采集,该部门是 日常工作流程的关键部门之一,应当进行高度关 注。并且,部门中的每个人在数据采集期间没有出 现工作变动的情况,长期工作性质未变,最终得到 的正常行为序列库可以较好地反映出部门人员的正 常行为。通过对部门 A 在 2012—2014 年的数据进 行处理,并设定 min_sup 为 200 到 350 的非连续整 数,分别在不同支持度下对行为序列进行频繁序列 挖掘。通过数据预处理,得到每天的行为序列(共 1 049 条)后,建立该部门在不同支持度下的正常行 为序列库。如表 3 所示。 在 3 年时间里,该部门的刷卡间隔数据共有 38 180 条,而刷卡间隔在 1 h 内的记录有 32 585 条, 占总记录数的 85.34%,因此认为超过 1 h 的刷卡时 间间隔不存在刷卡时间间隔过短的情况,统计 1 h 内的刷卡间隔与累积频率,结果如图 1 所示。 表 1 测试用正常行为序列库 Table 1 Testing normal sequences library 行为序列 支持度计数 p1 , p2 , p3 , p4 , p5 15 p1 , p3 , p2 , p4 3 p2 , p3 , p5 19 表 2 门禁数据属性说明 Table 2 Instruction on attributes of access control system 属性 说明 刷卡时间 记录在门禁系统中的进入某地的时间 设备名称 门禁设备的安放地点 设备编号 与设备名称是一对多的关系 设备类型 有普通门禁和密码门禁两种 用户姓名 每名用户的真实姓名 用户编号 每个持卡用户的唯一编号 群组 用户所在的部门 开门方式 用户打开门的方式,有按钮开门、刷卡开门等 开门结果 成功或失败 卡片号码 每张卡片对应的唯一号码 操作时间 由于系统延迟,数据库相应群组数据更新的 实际时间 操作人 数据库管理者,均为SYSTEM 第 6 期 王培超,等:基于门禁日志挖掘的内部威胁异常行为分析 ·785·