王培超,周鋆,朱承,黃金才,張維明
重要場(chǎng)所的安全保護(hù)歷來是人們關(guān)注的焦點(diǎn),其安保措施有鑰匙專人攜帶、雇用安保人員、使用門禁系統(tǒng)等,然而,隨著經(jīng)濟(jì)社會(huì)的發(fā)展,門禁系統(tǒng)(access control system)在各重要場(chǎng)所的所占比重越來越大,傳統(tǒng)安保措施的應(yīng)用越來越少。這一方面由于傳統(tǒng)安保措施的弊端(如鑰匙易丟失、易被復(fù)制,人員被收買等),另一方面得益于門禁系統(tǒng)日益完善的強(qiáng)大功能,指紋識(shí)別[1]、虹膜識(shí)別[2]等新識(shí)別技術(shù)的應(yīng)用使門禁系統(tǒng)已經(jīng)成為了涉及諸多新技術(shù)的新型現(xiàn)代化安全管理系統(tǒng),在銀行、賓館、重要辦公場(chǎng)所等地發(fā)揮著無(wú)可替代的作用。
門禁系統(tǒng)發(fā)揮作用的主要途徑,是通過對(duì)不同用戶授予不同的權(quán)限,從而規(guī)范不同地點(diǎn)的進(jìn)出人員。但是,近年來大量案例表明,一個(gè)重要場(chǎng)所的最大威脅往往不是來自外部人員,而是來自那些擁有合法權(quán)限的內(nèi)部人員,內(nèi)部威脅(insider threat)隨著“棱鏡門”等事件的曝光而越來越受到人們的重視。國(guó)外已有不少學(xué)者對(duì)于內(nèi)部威脅進(jìn)行了研究,這些研究主要存在于信息域,如D.F.Ferraiolo[3]提出了基于角色的訪問控制(role based access control,RBAC),Bishop Matt[4]在此基礎(chǔ)上,提出了基于屬性的組訪問控制(attribute based group access control,ABGAC)等,這些研究對(duì)本文進(jìn)行物理域異常檢測(cè)提供了很好的指導(dǎo)作用。
門禁日志分析是發(fā)現(xiàn)內(nèi)部威脅的重要途徑,作為物理域信息的重要來源,國(guó)內(nèi)外已有不少學(xué)者對(duì)此展開研究,通常借鑒網(wǎng)絡(luò)空間異常檢測(cè)的方法來刻畫人員的行為。序列模式挖掘是利用門禁日志數(shù)據(jù)刻畫人員行為的有效方法,本文在此基礎(chǔ)上提出了一種計(jì)算序列異常度分?jǐn)?shù)的方法,通過利用PrefixSpan算法[5]找出人員行為的頻繁序列,并通過計(jì)算序列異常度分?jǐn)?shù)對(duì)人員的行為序列的異常度進(jìn)行了定量刻畫表示,進(jìn)而可根據(jù)閾值來找出異常行為,有效減少了因精確匹配造成的高誤報(bào)率,適用于對(duì)各種門禁日志的分析處理。
內(nèi)部威脅是異常檢測(cè)所面臨的巨大挑戰(zhàn),國(guó)外學(xué)者均提出了檢測(cè)內(nèi)部威脅的相關(guān)理論或?qū)嵺`方法[6-12],并取得了較好的效果。無(wú)論是國(guó)內(nèi)外的學(xué)者,在進(jìn)行實(shí)際的內(nèi)部威脅檢測(cè)時(shí),通常借鑒網(wǎng)絡(luò)空間異常檢測(cè)的方法來對(duì)用戶行為進(jìn)行分析,即構(gòu)建用戶的正常行為模型后查找離群點(diǎn),常用方法包括有監(jiān)督的異常檢測(cè)、半監(jiān)督的異常檢測(cè)和無(wú)監(jiān)督的異常檢測(cè)[13],通過建立正常的行為模式集,將實(shí)際行為模式與正常行為模式進(jìn)行對(duì)比,看兩者是否匹配,若不匹配,說明是異常,反之則為正常。
門禁日志分析是內(nèi)部威脅檢測(cè)的一個(gè)小分支,國(guó)外學(xué)者對(duì)其已有一定的研究,如Bostjan等[14]通過將刷卡數(shù)據(jù)與監(jiān)控?cái)?shù)據(jù)結(jié)合提出了多層框架模型對(duì)用戶行為進(jìn)行分析,M. Davis等[15]采用圖挖掘算法檢測(cè)門禁數(shù)據(jù)中的結(jié)構(gòu)異常(建筑物中不正常路徑)和數(shù)值異常(不正常計(jì)時(shí)數(shù)據(jù))等。與國(guó)外學(xué)者相比,國(guó)內(nèi)學(xué)者對(duì)于門禁日志數(shù)據(jù)挖掘的研究較少,不少學(xué)者關(guān)注于門禁系統(tǒng)架構(gòu)的設(shè)計(jì)[16-17],而對(duì)于門禁數(shù)據(jù)僅進(jìn)行了統(tǒng)計(jì)學(xué)分析[18],較少對(duì)異常行為進(jìn)行相應(yīng)分析。鄭偉平等[19]對(duì)社區(qū)管理數(shù)據(jù)利用k-means找出社區(qū)人流規(guī)律,從而加強(qiáng)對(duì)社區(qū)治安的管理;史殿習(xí)等[20]提出了可視為Apriori算法擴(kuò)展的加權(quán)模式挖掘算法,利用此算法刻畫用戶的日常行為模式,取得了較好的效果;顧兆軍等[21]對(duì)大型航站樓門禁日志進(jìn)行了序列模式挖掘,對(duì)機(jī)場(chǎng)員工行為進(jìn)行了有效刻畫,并利用精確匹配找出內(nèi)部人員的異常行為序列。
序列模式挖掘是查找序列集合中的頻繁序列的重要方法,給定一個(gè)由不同序列組成的集合,其中,每個(gè)序列由不同的元素按順序有序排列,同時(shí)給定一個(gè)用戶指定的最小支持度閾值min_sup,序列模式挖掘就是找出所有出現(xiàn)頻率不低于min_sup的子序列[22]。常用的基本序列模式挖掘算法有類Apriori算法(AprioriAll、AprioriSome、DynamicSome)和基于數(shù)據(jù)投影的算法(FreeSpan[23],Prefix-Span)等。Apriori類算法的思想大致相同,首先遍歷序列數(shù)據(jù)庫(kù)生成候選序列,并利用先驗(yàn)性質(zhì)進(jìn)行剪枝得到頻繁序列,每次遍歷都是通過連接上次得到的頻繁序列生成新的長(zhǎng)度加1的候選序列,然后掃描每個(gè)候選序列驗(yàn)證其是否為頻繁序列,要對(duì)數(shù)據(jù)庫(kù)進(jìn)行反復(fù)多次的掃描。FreeSpan算法利用當(dāng)前挖掘的頻繁序列集將序列數(shù)據(jù)庫(kù)遞歸地投影到一組更小的投影數(shù)據(jù)庫(kù)上,分別在每個(gè)投影數(shù)據(jù)庫(kù)上增長(zhǎng)子序列,PrefixSpan是FreeSpan的改進(jìn)算法,其投影時(shí)不考慮所有可能出現(xiàn)的頻繁子序列,只檢查前綴序列,然后把相應(yīng)的后綴投影成投影數(shù)據(jù)庫(kù),之后在其中只檢查局部頻繁模式,不需要生成候選子序列。PrefixSpan算法在處理數(shù)據(jù)時(shí)有較高的效率,故本文在后續(xù)的實(shí)驗(yàn)中采用此算法。
序列模式挖掘是查找序列集合中的頻繁序列的重要方法,給定一個(gè)由不同序列組成的集合,其中,每個(gè)序列由不同的元素按順序有序排列,同時(shí)給定一個(gè)用戶指定的最小支持度閾值min_sup,序列模式挖掘就是找出所有出現(xiàn)頻率不低于min_sup的子序列[22]。常用的基本序列模式挖掘算法有類Apriori算法(AprioriAll、AprioriSome、DynamicSome)和基于數(shù)據(jù)投影的算法(FreeSpan[23],Prefix-Span)等。類Apriori算法的思想大致相同,首先遍歷序列數(shù)據(jù)庫(kù)生成候選序列并利用先驗(yàn)性質(zhì)進(jìn)行剪枝得到頻繁序列,每次遍歷都是通過連接上次得到的頻繁序列生成新的長(zhǎng)度加1的候選序列,然后掃描每個(gè)候選序列驗(yàn)證其是否為頻繁序列,要對(duì)數(shù)據(jù)庫(kù)進(jìn)行反復(fù)多次的掃描。FreeSpan算法利用當(dāng)前挖掘的頻繁序列集將序列數(shù)據(jù)庫(kù)遞歸地投影到一組更小的投影數(shù)據(jù)庫(kù)上,分別在每個(gè)投影數(shù)據(jù)庫(kù)上增長(zhǎng)子序列,PrefixSpan是FreeSpan的改進(jìn)算法,其投影時(shí)不考慮所有可能出現(xiàn)的頻繁子序列,只檢查前綴序列,然后把相應(yīng)的后綴投影成投影數(shù)據(jù)庫(kù),之后在其中只檢查局部頻繁模式,不需要生成候選子序列。PrefixSpan算法在處理數(shù)據(jù)時(shí)有較高的效率,故本文在后續(xù)的實(shí)驗(yàn)中采用此算法。
由于門禁系統(tǒng)的存在,每個(gè)人的卡會(huì)由管理人員統(tǒng)一進(jìn)行授權(quán),只被允許訪問特定的區(qū)域。當(dāng)一個(gè)人進(jìn)入某個(gè)區(qū)域時(shí),需要預(yù)先刷卡,門禁系統(tǒng)會(huì)將當(dāng)前刷卡時(shí)間、刷卡人姓名、卡號(hào)、刷卡地點(diǎn)等重要信息進(jìn)行記錄。對(duì)于內(nèi)部人員來說,他們的行為路徑是本文進(jìn)行異常行為分析的重要對(duì)象,將一個(gè)人每天的刷卡地點(diǎn)按順序進(jìn)行采集,即可得到一個(gè)人每天的行為序列。
對(duì)一個(gè)人來說,每天工作的流程是基本確定的,因此每天的行為路徑序列應(yīng)該有較大的相似性。例如,對(duì)于一個(gè)老師來說,每天來到辦公室后,在短暫準(zhǔn)備后會(huì)去實(shí)驗(yàn)室和學(xué)生討論問題,之后再回到辦公室備課或完成論文等,這樣就形成了“辦公室—實(shí)驗(yàn)室—辦公室”的行為序列。將人員訪問的門禁點(diǎn)用pi(i=1, 2, …, n)表示,按采集順序排列就可以得到人員的路徑序列〈p1, p2, …, pi, …, pn〉,之后由決策者人為設(shè)定min_sup,即可將這些數(shù)據(jù)進(jìn)行頻繁模式挖掘,將支持度高于min_sup的行為序列視為正常行為序列,從而得到正常行為序列庫(kù)。
通過精確匹配直接判定異常在數(shù)據(jù)有一定缺失的情況下會(huì)導(dǎo)致極高的誤報(bào)率,為此,本文引入了序列異常度分?jǐn)?shù)(score of sequence’s abnormal degree),來定量刻畫一個(gè)正常序列與一個(gè)待評(píng)判序列之間的差異。序列〈p1, p2, p3, p4〉和〈p1, p2, p4, p3〉以及序列〈p1, p2, p3, p4〉和〈p3, p5, p1, p6〉的差異顯然是不同的,傳統(tǒng)異常檢測(cè)方法通過進(jìn)行精確匹配,將與正常行為序列庫(kù)中所有內(nèi)容均不同的序列直接判定為異常,不考慮兩個(gè)序列之間的差異;為了更好比較兩個(gè)序列之間的差異,可以采用編輯距離(edit distance,ED)對(duì)序列間的差異進(jìn)行量化。由于不同序列長(zhǎng)短和復(fù)雜程度各不相同,用于比較的正常行為序列的支持度也不相同,僅靠通過計(jì)算編輯距離會(huì)造成巨大誤差,因此,本文計(jì)算相對(duì)編輯距離(relative edit distance,RED)和相對(duì)支持度(relative support,RSup),進(jìn)而計(jì)算可以得到序列差異分?jǐn)?shù)(score of sequence’s difference degree),之后根據(jù)時(shí)間規(guī)則計(jì)算時(shí)間異常分?jǐn)?shù)(score of abnormal time),通過將二者加權(quán)相加得到序列異常度分?jǐn)?shù),根據(jù)決策者的閾值可以對(duì)異常序列進(jìn)行發(fā)現(xiàn)。
對(duì)于序列的異常程度,本模型從兩個(gè)方面來考慮:一方面是當(dāng)前行為序列與正常行為序列庫(kù)中的序列的差異程度,即序列差異分?jǐn)?shù),這需要考慮相對(duì)編輯距離大小和相對(duì)支持度大小;另一方面是刷卡的時(shí)間因素,包括刷卡行為的發(fā)生時(shí)間和過于短暫的刷卡時(shí)間間隔兩個(gè)方面。
3.1.1 正常行為序列庫(kù)建立
為了定量刻畫異常序列的異常程度,首先應(yīng)進(jìn)行正常序列庫(kù)的建立。通過利用PrefixSpan算法,設(shè)定合理的最小支持度min_sup(通常為20%左右),對(duì)預(yù)處理后得到的行為序列進(jìn)行頻繁模式挖掘,可以得到行為序列中的高頻序列。對(duì)于一個(gè)部門來說,在常年的正常運(yùn)行中已基本形成固定的行為模式,每名員工在崗位不變的情況下均會(huì)形成自身固定的行為模式(例如先去實(shí)驗(yàn)室a,后去實(shí)驗(yàn)室b),因而通過對(duì)大量數(shù)據(jù)進(jìn)行頻繁模式挖掘得到的高頻行為序列可以被認(rèn)為是正常行為序列。
3.1.2 相對(duì)編輯距離計(jì)算
將一個(gè)序列變換成另一個(gè)序列,其可能的最大編輯距離為正常行為序列長(zhǎng)度和當(dāng)前行為序列長(zhǎng)度中較大的那個(gè)。為了更好比較不同序列進(jìn)行變換時(shí)需要的編輯距離的相對(duì)大小,計(jì)算相對(duì)編輯距離公式為

3.1.3 相對(duì)支持度計(jì)算
對(duì)于當(dāng)前行為序列來說,與其對(duì)比的正常行為序列的支持度對(duì)評(píng)價(jià)當(dāng)前行為序列的差異程度有很大影響。為了定量刻畫這種差異,定義相對(duì)支持度為

3.1.4 序列差異分?jǐn)?shù)計(jì)算
相對(duì)編輯距離和相對(duì)支持度兩方面在計(jì)算序列差異分?jǐn)?shù)時(shí)都需要考慮。當(dāng)前行為序列應(yīng)與正常行為序列庫(kù)中每一條序列進(jìn)行比較,從而得到序列差異分?jǐn)?shù)score1:
1)當(dāng)相對(duì)編輯距離計(jì)算結(jié)果中存在0時(shí),意味著當(dāng)前行為序列與正常行為序列庫(kù)中的序列存在完全一致的情況,因此此時(shí)序列差異分?jǐn)?shù)為0;
2)當(dāng)相對(duì)編輯距離計(jì)算結(jié)果中不存在0時(shí),意味著當(dāng)前行為序列與正常行為序列庫(kù)中的序列不存在完全一致的情況,這時(shí)考慮當(dāng)前行為序列與正常行為序列庫(kù)中所有序列的整體差別,對(duì)計(jì)算出的多個(gè)得分求平均值,從而得到該行為序列偏離正常行為序列的總體程度:

式中:Mmin_sup為在當(dāng)前最小支持度下的正常行為序列庫(kù)中行為序列的總數(shù);mean為求平均值,可得出該條測(cè)試序列與正常行為序列庫(kù)中所有行為序列的整體差距。
3.2.1 時(shí)間規(guī)則
通過序列差異分?jǐn)?shù)只能對(duì)序列的次序異常進(jìn)行刻畫,由于沒有考慮時(shí)間,對(duì)于異常的發(fā)現(xiàn)存在一定的缺陷。定義時(shí)間異常規(guī)則如下:
1)異常時(shí)間段進(jìn)入:用戶在非正常時(shí)間段進(jìn)入某地。
2)刷卡間隔過短:兩次刷卡時(shí)間間隔過于短暫,異于平常。
這兩種異常利用序列差異分?jǐn)?shù)的方法是無(wú)法發(fā)現(xiàn)的,例如,對(duì)于序列〈p1,p1,p1,p2〉,當(dāng)對(duì)編號(hào)p1的設(shè)備在10 s內(nèi)刷卡3次時(shí),這種行為顯然是異常的;然而,這條序列可能出現(xiàn)在構(gòu)建的正常行為序列庫(kù)中,因?yàn)橛脩粼谝惶靸?nèi)對(duì)設(shè)備刷卡3次的行為是正常的,此種情況使用異常度分?jǐn)?shù)的方法無(wú)法發(fā)現(xiàn)其異常,而時(shí)間規(guī)則卻可以很好地將其發(fā)現(xiàn)。
3.2.2 時(shí)間分?jǐn)?shù)計(jì)算
對(duì)于兩條時(shí)間規(guī)則,而對(duì)于異常時(shí)間的刷卡行為,不同部門的工作時(shí)間段有不同之處,部門的異常刷卡時(shí)間段閾值(threshold)應(yīng)該根據(jù)對(duì)該部門的正常運(yùn)行時(shí)間進(jìn)行人為設(shè)定,當(dāng)某天的刷卡時(shí)間出現(xiàn)在異常時(shí)間段內(nèi)時(shí),根據(jù)出現(xiàn)時(shí)間與閾值之間的相對(duì)差距來計(jì)算二者之間的分?jǐn)?shù);刷卡間隔為門禁系統(tǒng)中同一天內(nèi)兩條數(shù)據(jù)之間的時(shí)間差(min),對(duì)于刷卡間隔過短的異常,本文根據(jù)該部門的整體刷卡間隔情況來確定。通過繪制刷卡間隔與累積頻率的曲線,并將此曲線進(jìn)行擬合,可以得到刷卡時(shí)間間隔與累計(jì)頻率的關(guān)系函數(shù),刷卡時(shí)間間隔對(duì)應(yīng)的累計(jì)頻率越大,意味著該刷卡間隔過短的可能性越小,計(jì)算分?jǐn)?shù)時(shí)使用式(4):

式中:f為擬合出的函數(shù),Δtk為當(dāng)天的第k時(shí)間間隔(min),threshold為設(shè)定的異常時(shí)間閾值,ti為第i天最早的刷卡時(shí)間,Ni為門禁測(cè)試序列中第i天的記錄總數(shù)。
3.3.1 序列異常度分?jǐn)?shù)計(jì)算
序列異常度分?jǐn)?shù)由序列差異分?jǐn)?shù)和時(shí)間異常分?jǐn)?shù)兩部分構(gòu)成,計(jì)算第i條測(cè)試序列的序列異常度分?jǐn)?shù)采用的方法如下:

式中:α和1-α為兩個(gè)子分?jǐn)?shù)的權(quán)重,權(quán)重可根據(jù)決策者的偏好來決定,缺省值為0.5,即簡(jiǎn)單平均。
3.3.2 異常路徑行為發(fā)現(xiàn)
分?jǐn)?shù)計(jì)算出來后,人員行為序列的異常程度大小就有了定量的刻畫,而將哪些分?jǐn)?shù)視為異常需要人為定性決定。不同部門的人員最后計(jì)算出的分?jǐn)?shù)是不一樣的,直接對(duì)所有人員劃定統(tǒng)一的異常分?jǐn)?shù)閾值會(huì)導(dǎo)致高誤報(bào)率,同一部門的人只有在同一部門中進(jìn)行比較才有較大的說服力;頻繁序列的min_sup的設(shè)定也是一個(gè)問題,不同min_sup會(huì)對(duì)最后計(jì)算得到的分?jǐn)?shù)產(chǎn)生一定的影響。為了給決策者進(jìn)行決策提供更好的支持,應(yīng)為決策者提供在不同支持度下設(shè)定不同閾值時(shí)產(chǎn)生的報(bào)警率,為此,本文通過繪制不同min_sup下的報(bào)警率曲線來為決策者提供決策依據(jù),決策者可以自行決定需要設(shè)定的min_sup和異常分?jǐn)?shù)閾值。
3.3.3 序列異常度分?jǐn)?shù)計(jì)算示例
假設(shè)對(duì)某部門一個(gè)月的行為序列數(shù)據(jù)進(jìn)行頻繁模式挖掘,得到表1結(jié)果。

表1 測(cè)試用正常行為序列庫(kù)Table 1 Testing normal sequences library
給定測(cè)試路徑序列為〈p1, p2, p5〉,設(shè)定異常刷卡時(shí)間段閾值為早上7點(diǎn),刷卡時(shí)間間隔與累計(jì)頻率的對(duì)應(yīng)函數(shù)為,刷卡時(shí)間序列為〈2012-3-17:30:12,2012-3-18:02:18,2012-3-18:06:24〉,測(cè)試閾值設(shè)定為41,權(quán)重α設(shè)定為0.5。將測(cè)試路徑分別與3條行為序列進(jìn)行比較:

最后計(jì)算得到測(cè)試序列的序列異常度分?jǐn)?shù):
score=40.71×0.5+18.33×0.5=29.52
分?jǐn)?shù)低于閾值,因此該序列被標(biāo)記為正常。
為了驗(yàn)證本文所提分?jǐn)?shù)計(jì)算方法的有效性,在python2.7和MATLAB2014a的環(huán)境下進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)數(shù)據(jù)來自某涉密場(chǎng)所2012—2016年的門禁日志記錄。
本文數(shù)據(jù)來自某單位的門禁系統(tǒng),其系統(tǒng)記錄的門禁數(shù)據(jù)屬性如表2所示。其中,對(duì)本文的實(shí)驗(yàn)有幫助的屬性有刷卡時(shí)間、設(shè)備名稱、群組、用戶姓名、卡片號(hào)碼、用戶編號(hào),6個(gè)屬性中,最后兩個(gè)是在找出異常序列后進(jìn)行精確定位時(shí)使用,其余屬性的去除原因?yàn)橹貜?fù)或與題目無(wú)關(guān)。門禁系統(tǒng)無(wú)法沒有對(duì)異常行為進(jìn)行標(biāo)記,因此無(wú)法通過傳統(tǒng)的分類方法對(duì)異常行為進(jìn)行模型的構(gòu)建。

表2 門禁數(shù)據(jù)屬性說明Table 2 Instruction on attributes of access control system
在門禁系統(tǒng)中,總共有103個(gè)記錄點(diǎn),但是由于系統(tǒng)存在較大問題,很多門禁點(diǎn)在記錄數(shù)據(jù)時(shí)存在不同程度的丟失現(xiàn)象,而且不同群組的數(shù)據(jù)記錄情況也各不相同,為了建立可以反映用戶正常行為的行為序列,需要大量的數(shù)據(jù),因此需要尋找數(shù)據(jù)缺失最少的群組來進(jìn)行正常路徑行為模型建立。當(dāng)使用有大量數(shù)據(jù)缺失的群組時(shí),會(huì)導(dǎo)致極高的誤報(bào)率。導(dǎo)出數(shù)據(jù)后,通過觀察可以發(fā)現(xiàn),群組A(部門A)數(shù)據(jù)缺失較少,因而接下來的實(shí)驗(yàn)中使用部門A的數(shù)據(jù)。
本實(shí)驗(yàn)對(duì)部門A的數(shù)據(jù)進(jìn)行了采集,該部門是日常工作流程的關(guān)鍵部門之一,應(yīng)當(dāng)進(jìn)行高度關(guān)注。并且,部門中的每個(gè)人在數(shù)據(jù)采集期間沒有出現(xiàn)工作變動(dòng)的情況,長(zhǎng)期工作性質(zhì)未變,最終得到的正常行為序列庫(kù)可以較好地反映出部門人員的正常行為。通過對(duì)部門A在2012—2014年的數(shù)據(jù)進(jìn)行處理,并設(shè)定min_sup為200到350的非連續(xù)整數(shù),分別在不同支持度下對(duì)行為序列進(jìn)行頻繁序列挖掘。通過數(shù)據(jù)預(yù)處理,得到每天的行為序列(共1 049條)后,建立該部門在不同支持度下的正常行為序列庫(kù)。如表 3所示。
在3年時(shí)間里,該部門的刷卡間隔數(shù)據(jù)共有38 180條,而刷卡間隔在1 h內(nèi)的記錄有32 585條,占總記錄數(shù)的85.34%,因此認(rèn)為超過1 h的刷卡時(shí)間間隔不存在刷卡時(shí)間間隔過短的情況,統(tǒng)計(jì)1 h內(nèi)的刷卡間隔與累積頻率,結(jié)果如圖1所示。

表3 正常路徑序列模式集Table 3 Normal set of road sequences

圖1 刷卡間隔與累積頻率曲線Fig. 1 Curve of swiping card interval and cumulative frequency
從圖1中可以看出刷卡間隔和累積頻率存在較明顯的函數(shù)關(guān)系,利用MATLAB對(duì)其進(jìn)行擬合,得到如下結(jié)果,圖像如圖2所示。

R2為0.983,證明該函數(shù)對(duì)數(shù)據(jù)有較好的擬合效果。

圖2 刷卡間隔與累積頻率擬合曲線Fig. 2 Fitted curve of swiping card interval and cumulative frequency
該部門的人員有不同程度的加班行為,但是早上的正常工作時(shí)間多為8點(diǎn)開始,不少工作人員7點(diǎn)多就會(huì)到達(dá)工作地點(diǎn)進(jìn)行準(zhǔn)備,因此設(shè)定threshold為7,即異常時(shí)間段閾值為早上7點(diǎn)。采集該部門門禁記錄中的剩余數(shù)據(jù),處理后得到無(wú)標(biāo)簽的測(cè)試路徑序列數(shù)據(jù)庫(kù)(620條),對(duì)得到的測(cè)試路徑序列數(shù)據(jù)庫(kù)計(jì)算序列異常度分?jǐn)?shù),得到在不同支持度下的結(jié)果,部分結(jié)果如圖3所示。

圖3 序列異常度分?jǐn)?shù)分布Fig. 3 Distribution of score of sequence’s abnormal degree
從圖3中可以看出,隨著支持度的增加,計(jì)算得到的序列異常度分?jǐn)?shù)整體增大,高分段的集中區(qū)域在x軸上向右推進(jìn),計(jì)算得到的最大分?jǐn)?shù)也逐漸增大。接下來,進(jìn)行報(bào)警率曲線的繪制,在報(bào)警率曲線中,縱軸為報(bào)警率,即在當(dāng)前閾值下報(bào)警的異常行為序列數(shù)占總序列數(shù)的百分比;橫軸為人工設(shè)定的差值,從0開始遞增,間隔為1,在每個(gè)min_sup下通過將計(jì)算得到的待評(píng)價(jià)序列的序列異常度分?jǐn)?shù)集合中的最高值減去當(dāng)前差值后成為當(dāng)前閾值。利用本文方法得到在不同支持度下的結(jié)果后,為了便于比較和傳統(tǒng)方法得到結(jié)果的差別,在此一并繪制了利用精確匹配得到的結(jié)果圖像,部分結(jié)果如圖 4所示。
從圖 4中可以看出,在本文方法得到的曲線中,隨著當(dāng)前閾值的逐漸下降(即差值的逐漸提升),報(bào)警的異常行為序列越來越多,決策者可根據(jù)圖中結(jié)果來選定需要的閾值,為今后的異常行為發(fā)現(xiàn)提供標(biāo)準(zhǔn)。在不同支持度下,曲線的上升速度相似,這是由于隨著支持度的增加,計(jì)算得到的分?jǐn)?shù)整體增加的結(jié)果;同時(shí),在差值為21左右的時(shí)候報(bào)警率曲線相對(duì)之前突然變陡,決策者可根據(jù)此設(shè)定合理的分?jǐn)?shù)閾值。在本實(shí)例中,決策者可考慮將支持度300、差值21時(shí)對(duì)應(yīng)的閾值設(shè)定為今后的合理分?jǐn)?shù)閾值(即序列異常度分?jǐn)?shù)閾值=55.35)。這里對(duì)支持度為250、差值為4的情況下查找出的序列進(jìn)行人為觀察,部分結(jié)果如下所示。

圖4 部門A報(bào)警率曲線Fig. 4 Department A’s curve of alarm rate
〈p0,p32,p30,p48,p32〉:當(dāng)天的刷卡記錄中只有從辦公室之間的刷卡記錄,沒有出現(xiàn)正門的刷卡記錄。
〈 p32,p32,p4,…,p48,p32,p32〉:平日刷卡記錄極少的p32在當(dāng)天出現(xiàn)了大量的刷卡記錄。
傳統(tǒng)的異常序列判別是通過精確匹配的方式,若當(dāng)前行為序列與正常行為序列庫(kù)中的所有記錄均無(wú)法完全匹配,則當(dāng)前行為序列被判定為異常。對(duì)于本數(shù)據(jù)來說,若通過傳統(tǒng)方式來找到異常序列,直接將序列差異分?jǐn)?shù)score1的最終得分不為0的序列判定為異常序列即可。從圖4(e)中可以看出,在不同支持度下,利用傳統(tǒng)方法查找得到的報(bào)警率均較高,對(duì)于一個(gè)正常運(yùn)行的單位來說,這顯然有悖于常識(shí),有較高的誤報(bào)率。因此,通過本文的方法,可以對(duì)因精確匹配查找報(bào)警率高的序列集合提供有效的異常序列判斷依據(jù)。
針對(duì)門禁日志,本文沒有像傳統(tǒng)文章那樣通過精確匹配找出異常,而是提出了一種計(jì)算內(nèi)部人員異常度分?jǐn)?shù)的方法,并通過補(bǔ)充的時(shí)間規(guī)則對(duì)異常數(shù)據(jù)進(jìn)行良好判別,適用于對(duì)內(nèi)部人員的行為序列異常度進(jìn)行有效的定量刻畫。實(shí)驗(yàn)表明,本文提出的序列異常度計(jì)算方法能夠很好地對(duì)員工的路徑行為異常度進(jìn)行刻畫,并可以根據(jù)依圖像設(shè)定的閾值將異常行為進(jìn)行查找,面對(duì)有一定缺失的數(shù)據(jù)可以有效減少由于精確匹配查找異常而造成的過高誤報(bào)率,這是對(duì)門禁日志數(shù)據(jù)的有效利用,也是防范內(nèi)部威脅的重要手段。在后續(xù)工作中,考慮對(duì)人員行為進(jìn)行更細(xì)粒度的分析,異常時(shí)間段的設(shè)置將個(gè)人的日常行為習(xí)慣考慮進(jìn)去,并進(jìn)一步利用貝葉斯網(wǎng)絡(luò)對(duì)異常進(jìn)行推斷。
[1]楊榮秀. 基于指紋識(shí)別技術(shù)的智能小區(qū)門禁系統(tǒng)的設(shè)計(jì)[J]. 科技與企業(yè), 2016(5): 88–90.YANG Xiurong. Design of intelligent community access control system based on fingerprint identification technique[J]. Technology and enterprise, 2016(5): 88–90.
[2]李海青, 孫哲南, 譚鐵牛, 等. 虹膜識(shí)別技術(shù)進(jìn)展與發(fā)展趨勢(shì)[J]. 信息安全研究, 2016, 2(1): 40–43.LI Haiqing, SUN Zhenan, TAN Tieniu, et al. Progress and trends in iris recognition[J]. Journal of information security research, 2016, 2(1): 40–43.
[3]FERRAIOLO D F, KUHN R. Role based access control[C]//Proceedings of the 15th NIST-NCSC National Com-puter Security Conference. Baltimore, Maryland, 1992: 554-563.
[4]MATT B, SOPHIE E, SEAN P, et al. We have met the enemy and he is us[C]//New Security Paradigms Workshop.Lake Tahoe, USA, 2008: 1-11.
[5]JIAN Pei, HAN Jiawei, BEHZAD M, et al. PrefixSpan:mining sequential patterns efficiently by prefix-projected pattern growth[C]//20th International Council for Open and Distance Education World Conference on Open Learning and Distance Education. Heidelberg, Germany, 2001: 215-224.
[6]ANTONIO L, SIMON F, ZHUNAG Yan. A logical model for detecting irregular actions in physical access[C]// IEEE conference on database and expert systems applications.[S.l.], 2007: 560-564.
[7]DAVIS M, LIU W, MILLER P, et al. Detecting anomalise in graphs with numeric labels[C]//ACM Conference on Information and Knowledge Management. Glasgow, United Kingdom, 2011: 1197-1202.
[8]GOKHAN K, DUC L, TING X, et al. Ettu: analyzing query intents in corporate databases[C]//Proceedings of the 25th International Conference Companion on World Wide Web.Montreal, Canada, 2016: 463-466.
[9]TABISH R, IOANNIS A, JASON R. A new take on detecting insider threats: exploring the use of hidden markov models[C]//Proceedings of the 22nd International Conference on Intelligent User Interfaces Companion. Limassol, Cyprus,2016: 47-56.
[10]TED E S, DAVID A B, THOMAS G D, et al. Detecting insider threats in a real corporate database of computer usage activity[C]//Proceedings of the 19th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. Chicago, USA, 2013: 1393-1401.
[11]王懷寶, 郭江利. 基于跟蹤軌跡的徘徊行為分析[J]. 計(jì)算機(jī)與數(shù)字工程, 2016, 44(5): 843–846.WANG Huaibao, GUO Jiangli. Wandering behavior analysis based on trajectory[J]. Computer and digital engineering, 2016, 44(5): 843–846.
[12]鄒一波, 陳一民. 基于運(yùn)動(dòng)標(biāo)簽的異常行為檢測(cè)算法[J].計(jì)算機(jī)應(yīng)用與軟件, 2015, 5: 238–240, 266.ZOU Yibo, CHEN Yimin. Anomalous behaviors detection algorithm based on motion label[J]. Computer applications and software, 2015, 5: 238–240, 266.
[13]HAN Jiawei, MICHELINE K, PEI Jian. Data mining concepts and techniques[M]. 3版. 北京: 機(jī)械工業(yè)出版社:2016: 355-356.
[14]BOSTJAN K, ERIK D, TEA T, et al. A probabilistic risk analysis for multimodal entry control[J]. Expert systems with applications, 2011, 38(6): 6696–6704.
[15]MICHAEL D, WEIRU L, PAUL M. Detecting anomalies in graphs with numeric labels[J]. ACM conference on information and knowledge management, 2011(10):1197–1202.
[16]胡向東, 韓愷敏, 許宏如. 智能家居物聯(lián)網(wǎng)的安全性設(shè)計(jì)與驗(yàn)證[J]. 重慶郵電大學(xué)學(xué)報(bào):自然科學(xué)版, 2016, 26(2):171–176.HU Xiangdong, Han Kaimin, XU Hongru. Design and implementation of security-focused intelligent household Internet of things[J]. Journal of Chongqing university of posts and telecommunications: natural science edition,2016, 26(2): 171–176.
[17]胡向東, 唐飛. 智能家居門禁系統(tǒng)的安全控制方法[J]. 重慶郵電大學(xué)學(xué)報(bào):自然科學(xué)版, 2016, 28(6): 863–869.HU Xiangdong, TANG Fei. Secure control methods of the entrance guard system for smart home[J]. Journal of Chongqing university of posts and telecommunications:natural science edition, 2016, 28(6): 863–869.
[18]王菲. 數(shù)據(jù)挖掘在圖書館用戶行為分析上的應(yīng)用研究[D].上海: 上海交通大學(xué), 2013: 26-49.WANG Fei. Data mining applied in the library user behavior analysis[D]. Shanghai: Shanghai Jiao Tong University,2013: 26-49.
[19]鄭偉平, 言專藝, 唐曉紅. 電子門禁數(shù)據(jù)挖掘與應(yīng)用方法[J]. 警察技術(shù), 2015, 6: 47–50.ZHENG Weiping, YAN Zhuanyi, TANG Xiaohong. Access control data mining and application methods[J]. Police technology, 2015, 6: 47–50.
[20]史殿習(xí), 李寒, 楊若松, 等. 用戶日常頻繁行為模式挖掘[J]. 國(guó)防科技大學(xué)學(xué)報(bào), 2017, 39(1): 74–80.SHI Dianxi, LI Han, YANG Ruosong, et al. Mining user frequent behavior patterns in daily life[J]. Journal of national university of defense technology, 2017, 39(1):74–80.
[21]顧兆軍, 安一然, 劉飛. 基于航站樓門禁日志挖掘的物理入侵檢測(cè)技術(shù)[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2015, 32(11):317–320, 324.GU Zhaojun, AN Yiran, LIU Fei. Physical intrusion detection technology based on terminal buildings access log mining[J]. Computer applications and software, 2015,32(11): 317–320, 324.
[22]陳卓, 楊炳儒, 宋威, 等. 序列模式挖掘綜述[J]. 計(jì)算機(jī)應(yīng)用研究, 2008, 25(7): 1960–1964.CHEN Zhuo, YANG Bingru, SONG Wei, et al. Survey of sequential pattern mining[J]. Application research of computers, 2008, 25(7): 1960–1964.
[23]HAN Jiawei, PEI Jian, BEHZAD M, et al. FreeSpan: frequent pattern-projected sequential pattern mining[C]//Proceedings of the 6th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, USA, 2000: 355-359.