

摘 要: 銀行對于系統(tǒng)日志、應(yīng)用日志的分析需求日趨繁復(fù),但目前對日志的分析大多基于簡單關(guān)鍵字告警以及信息分類統(tǒng)計(jì)。為從銀行海量日志信息中挖掘出更多有價(jià)值的信息,例如潛在安全風(fēng)險(xiǎn)、交易分布情況等,通過將模式識別的概念引入到日志分析方法中,對關(guān)鍵信息設(shè)定模式長度和模式次數(shù)等屬性,從日志中挖掘通常難以發(fā)現(xiàn)的信息。在日志管理平臺上實(shí)現(xiàn)了日志模式識別分析策略,從而及時(shí)發(fā)現(xiàn)安全隱患,進(jìn)一步提升信息系統(tǒng)安全管理的能力。
關(guān)鍵詞: 日志分析; 模式識別; 安全管理; 數(shù)據(jù)挖掘
中圖分類號:TP391.4 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2015)10-36-03
Abstract: The demand of analyzing system log and application log is becoming much more complex in banks recently. The commonest methods of log analysis are key words alarming and information statistic. To find more valuable information from mass logs, for example, information of security risk, trade distributions and so on, pattern recognition is brought into log analysis, which sets attributes about pattern length and pattern frequency for key information, to mine indiscoverable information from logs. The analytic strategy of pattern recognition is realized in the log analysis platform, so that the hidden danger can be found in time, and the security management capability of the information system is further enhanced.
Key words: log analysis; pattern recognition; security management; data mining
0 引言
目前各家銀行對于系統(tǒng)日志、應(yīng)用日志的管理觀念正在不斷地發(fā)生變化。從最早的僅將日志用于確認(rèn)系統(tǒng)是否正常,到現(xiàn)今利用集中監(jiān)控平臺對日志進(jìn)行實(shí)時(shí)監(jiān)控并識別關(guān)鍵字予以告警。近年來,隨著日志量的持續(xù)增長和日志內(nèi)容的不斷豐富,越來越多的銀行發(fā)現(xiàn)日志中蘊(yùn)藏著極大價(jià)值的信息可以為己所用。例如,銀行業(yè)務(wù)和開發(fā)部門基于對日志中交易情況的統(tǒng)計(jì),可對未來業(yè)務(wù)量和業(yè)務(wù)種類進(jìn)行判斷和預(yù)估;運(yùn)維部門通過對應(yīng)用日志中交易情況的分析,可幫助運(yùn)維人員迅速了解交易分布、交易響應(yīng)的情況,幫助運(yùn)維人員在系統(tǒng)異常時(shí)快速判斷問題點(diǎn);內(nèi)控安全部門利用日志中的審計(jì)信息,可及時(shí)發(fā)現(xiàn)風(fēng)險(xiǎn)漏洞。
雖然許多銀行逐漸將海量日志分析歸入大數(shù)據(jù)分析的范疇,但大部分的分析仍舊是基于單類日志和已知特征的,比如對某類日志中的某一種信息進(jìn)行統(tǒng)計(jì)等。缺少跨系統(tǒng)或跨時(shí)間的日志關(guān)聯(lián)分析,也較少能夠通過日志發(fā)現(xiàn)那些從未關(guān)注從未引起注意的有用的信息。正因如此,我們考慮將模式識別引入日志分析,通過模式識別來讓安全管理員或系統(tǒng)網(wǎng)絡(luò)管理員分析挖掘出以往未受關(guān)注的重要信息。
我行的系統(tǒng)日志集中管理平臺已完成上線部署,通過對系統(tǒng)日志的實(shí)時(shí)收集和分析,能夠產(chǎn)生安全事件實(shí)時(shí)告警以及多種安全、內(nèi)控報(bào)表提供給安全內(nèi)控部門。隨著日志分析被深入使用,安全管理員需要日益關(guān)注海量日志中存在的潛在風(fēng)險(xiǎn)信息。我行決定引入模式識別技術(shù)來發(fā)現(xiàn)海量日志中的潛在風(fēng)險(xiǎn)信息。雖然模式識別存在已久,但在系統(tǒng)日志關(guān)聯(lián)分析中融入模式識別,在金融企業(yè)中尚不多見。
1 日志模式識別的目的
通常所說的模式識別是指,人們在觀察事物或現(xiàn)象的時(shí)候,通過尋找它與其他事物或現(xiàn)象的不同之處,并根據(jù)一定的目的把各個(gè)相似但又不完全相同的事物或現(xiàn)象組成一類。為了強(qiáng)調(diào)從一些個(gè)別的事物或現(xiàn)象推斷出事物或現(xiàn)象的總體,把這樣一些個(gè)別的事物或現(xiàn)象叫作“模式”[1]。
區(qū)別于傳統(tǒng)的預(yù)先知道信息特征來匹配日志事件,日志中的模式識別不僅是為了搜索到已知特征的信息,也可幫助使用者發(fā)現(xiàn)未知的模式[2]。
模式識別應(yīng)用于日志分析的主要目的包括:
⑴ 在數(shù)以百萬計(jì)的海量日志流中找到簡單重復(fù)的相關(guān)事件;
⑵ 建立模式基線,這些基線可以表示正常的事件流,然后將匹配的事件予以過濾;
⑶ 對過濾后的事件作進(jìn)一步分析,從中發(fā)現(xiàn)有價(jià)值的信息。
通過這個(gè)方法來發(fā)現(xiàn)、研究未被關(guān)注的新類型事件或者那些有未知特征的事件[3]。
日志模式識別在安全事件鑒別上,能夠帶來更多的收益。模式識別可以自動(dòng)檢測到一些微小的、特殊的、或者長期的模式,這些模式信息可能在常規(guī)的日志檢查中很難被發(fā)現(xiàn)。
利用模式檢查,可以實(shí)現(xiàn):
⑴ 零日攻擊檢測:“零日漏洞”是指被發(fā)現(xiàn)后立即被惡意利用的安全漏洞,這種攻擊利用廠商缺少防范意識或缺少補(bǔ)丁,從而能造成巨大破壞,這種攻擊方式叫“零日攻擊”。模式發(fā)現(xiàn)記錄了歷史模式,形成模式基線,因此可以發(fā)現(xiàn)以往從未出現(xiàn)的新的行為模式,使管理員可及時(shí)發(fā)現(xiàn)異常的行為日志。
⑵ 慢攻擊檢測:慢速攻擊,區(qū)別于快速的、海量流量的傳統(tǒng)攻擊方式,反其道而行之,是在一段較長時(shí)間中緩慢的進(jìn)行攻擊行為。這種攻擊方式更為隱蔽, 由于異常事件是零星分布在很長的時(shí)間段內(nèi),因此受攻擊系統(tǒng)在最終被攻陷前較難發(fā)現(xiàn)這些異常的行為。而利用長時(shí)間范圍內(nèi)的模式識別技術(shù),可以有效發(fā)現(xiàn)這類攻擊。
⑶ 自動(dòng)創(chuàng)建日志分析規(guī)則:在已有的日志分析規(guī)則之上,結(jié)合模式識別,將新模式轉(zhuǎn)換為分析規(guī)則,能使自動(dòng)化的日志分析策略更為精確。
⑷ 發(fā)現(xiàn)正常的行為模式:例如從現(xiàn)有網(wǎng)絡(luò)通訊日志中發(fā)現(xiàn)新的網(wǎng)絡(luò)通訊關(guān)系,通過網(wǎng)絡(luò)管理員進(jìn)一步的篩選甄別,標(biāo)識出正常網(wǎng)絡(luò)訪問路徑,并從分析結(jié)果中過濾,那么過濾后剩下的訪問路徑則極有可能是潛在的威脅風(fēng)險(xiǎn)。
⑸ 保存歷史的威脅模式:模式識別可以利用信息系統(tǒng)發(fā)出(或收到)的事件模式來進(jìn)行歸類。例如,利用模式識別發(fā)現(xiàn)某個(gè)系統(tǒng)存在特定的異常行為模式,并最終確認(rèn)該系統(tǒng)上存在某個(gè)后門漏洞,該行為模式是后門漏洞引起的,則將這個(gè)異常行為模式保存并標(biāo)記為風(fēng)險(xiǎn)類別。當(dāng)發(fā)現(xiàn)另外一個(gè)系統(tǒng)也存在同樣行為模式后,就能夠迅速判斷這個(gè)系統(tǒng)極有可能也存在相同的后門漏洞,將其自動(dòng)加入到風(fēng)險(xiǎn)類別中,這就給管理員提供了快速找到威脅的手段。
基于日志的模式識別,讓管理員在安全管理過程中能夠預(yù)防性的檢查,并提前檢測到安全漏洞、異常威脅。長期并且定期的模式識別,能夠不斷積累正常和異常的系統(tǒng)行為模式,對安全管理和系統(tǒng)管理有著極大的幫助[4]。
2 日志模式識別的工作原理
如圖1是一個(gè)模式識別實(shí)例。面包、果醬和黃油會(huì)同時(shí)被采購,牛奶和餅干也會(huì)被同時(shí)購買,其中果醬加面包出現(xiàn)3次,果醬加黃油加面包出現(xiàn)2次,餅干加牛奶出現(xiàn)2次。可見采購事務(wù)包含了三種模式。分析者會(huì)從這些模式中推導(dǎo)出:①采購者傾向于購買早餐食品;②采購者更多傾向于以烤面包或餅干為早餐主食。其中果醬加面包的組合總共出現(xiàn)在兩個(gè)模式中,可以將其作為一個(gè)子模式[5]。
通過這個(gè)實(shí)例,我們對模式識別有了初步的印象,包括從模式中能夠分析推導(dǎo)出行為的目的。那下一步就是要在信息系統(tǒng)的日志數(shù)據(jù)中實(shí)現(xiàn)模式識別。
首先是將事件流按一定規(guī)則劃分為獨(dú)立的事務(wù),再將多個(gè)事務(wù)中發(fā)生的事件進(jìn)行識別和分組。這些事件成為子集并被標(biāo)記support level,support level即表示相關(guān)事件中這些特定事件的發(fā)生次數(shù)。Support level數(shù)字越大,表示這個(gè)事件模式發(fā)生的越頻繁。
舉例來說,當(dāng)引入一組事件流,事件順序?yàn)椤皌he cat sat on the mat”。當(dāng)我們定義模式最小長度為3,模式最少發(fā)生次數(shù)為2時(shí),這組事件流中匹配模式的關(guān)鍵字段為“the”,出現(xiàn)了兩次,故support level為2。
當(dāng)我們將模式最小長度設(shè)置為2,模式最少發(fā)生次數(shù)設(shè)置為3時(shí),這組事件流中匹該配模式的字段為“at”,共發(fā)生三次,support level為3。
模式識別完成后,將正常的模式予以標(biāo)記,這樣日志分析系統(tǒng)就可以自動(dòng)識別出這類事件而無需再評估。對于管理員希望發(fā)現(xiàn)的潛在的威脅模式,可以在日志分析中加入基于模式特征的規(guī)則,一旦這些模式出現(xiàn),就可以觸發(fā)必要的處理行為,例如主動(dòng)告警或運(yùn)行腳本實(shí)現(xiàn)自動(dòng)化的威脅處理[6]。
3 模式識別在日志分析中的應(yīng)用
利用基于日志的模式識別原理,在日志分析系統(tǒng)中增加模式識別功能模塊,實(shí)現(xiàn)了多個(gè)日志分析規(guī)則。
通過防火墻日志,發(fā)現(xiàn)系統(tǒng)間訪問模式。
在日志分析系統(tǒng)中設(shè)置日志過濾條件為“防火墻允許事件”,事件字段為“目的端口”,源設(shè)置為“源地址”,目標(biāo)設(shè)置為“目的地址”,最短模式長度為“5”,模式最少出現(xiàn)次數(shù)“2”,時(shí)間跨度“5分鐘”。
以上配置說明:我們搜索在5分鐘之內(nèi),外部訪問內(nèi)部,訪問源/目地址相同,并且訪問端口不同(至少出現(xiàn)5個(gè)不同端口)在規(guī)定時(shí)間內(nèi)出現(xiàn)兩次以上的。
應(yīng)用這個(gè)模式識別策略后,發(fā)現(xiàn)的端口訪問模式,通過點(diǎn)擊鉆取,能夠查看詳細(xì)端口列表以及源和目的地址、訪問時(shí)間等詳細(xì)信息。網(wǎng)絡(luò)管理員與安全管理員通過這類模式識別,甄別合法和非法的系統(tǒng)訪問,提升了網(wǎng)絡(luò)安全。
針對系統(tǒng)攻擊和非法訪問,設(shè)計(jì)實(shí)現(xiàn)了“慢速嘗試服務(wù)器用戶口令”的模式識別。通常的暴力破解都是通過工具,快速登錄嘗試,這類集中的大量用戶登錄失敗事件容易被發(fā)現(xiàn)。但若有人蓄意猜測密碼,每隔一段時(shí)間通過手工鍵入口令。而且由于連續(xù)多次輸入錯(cuò)誤口令容易造成賬號被鎖或被系統(tǒng)自動(dòng)踢出,嘗試者往往會(huì)輸入三、四次錯(cuò)誤口令后關(guān)掉登錄界面,間隔一段時(shí)間后再次嘗試。這種行為和普通的拍錯(cuò)密碼沒有明顯區(qū)別,原有的日志分析很難發(fā)現(xiàn)這個(gè)行為。
“慢速嘗試服務(wù)器用戶口令”的模式識別設(shè)置:日志過濾條件為“登錄失敗事件”,事件字段為“源端口”,源設(shè)置為“源地址”,目標(biāo)設(shè)置為“目的地址”,最短模式長度為“2”,模式最少出現(xiàn)次數(shù)“2”,時(shí)間跨度“8小時(shí)”。
模式識別策略應(yīng)用后,得到的結(jié)果如圖2。圖2中通過不同端口,嘗試四次以上錯(cuò)誤口令,屬于可疑行為。
以1796、1792端口序列為例,“支持=4”表示發(fā)生四次錯(cuò)誤登陸,“支持=2”表示第二個(gè)四次,也就是說通過1792端口訪問服務(wù)器發(fā)生四次,通過1796同樣發(fā)生了四次。通過進(jìn)一步鉆取,利用原始日志信息可以查到源和目的地址、訪問時(shí)間,快速定位到終端位置。
4 結(jié)論
現(xiàn)在銀行內(nèi)的日志分析已非常普遍,也不乏將日志分析納入大數(shù)據(jù)分析范疇的案例,但大多是基于歷史日志的統(tǒng)計(jì)分析和日志的實(shí)時(shí)關(guān)聯(lián),而將模式識別應(yīng)用到日志分析中還不多見。日志的模式識別已在我行安全領(lǐng)域得到應(yīng)用,后續(xù)將會(huì)進(jìn)一步拓展其應(yīng)用,進(jìn)一步提升系統(tǒng)安全、系統(tǒng)運(yùn)維的能力。甚至可以將應(yīng)用交易日志也納入實(shí)現(xiàn)交易的模式識別。沃爾瑪?shù)摹捌【萍幽虿肌钡慕?jīng)典案例,也許會(huì)在銀行的交易模式識別中得到再現(xiàn),業(yè)務(wù)人員將會(huì)推出更易于接受的產(chǎn)品組合。基于日志的模式識別將會(huì)越來越廣泛的使用。
參考文獻(xiàn):
[1] 張新生,張英海,毛謙.模式識別[OL].http://baike.baidu.com/link?url=w_7OuQmoux9SWjuVYmWRsO-4mEl3OEMwl2KH4Fc51D5qfScuyNsKxCGxYO73fkztwV6lmwRKVYBGzc5Lp4jQ4q
[2] 謝紅濤.基于模式識別的大數(shù)據(jù)集的數(shù)據(jù)分析求解[OL]. http://www.docin.com/p-722121831.html
[3] 丁世飛,靳奉祥,趙相偉.現(xiàn)代數(shù)據(jù)分析與信息模式識別[M]. 科學(xué)出版社,2013.
[4] 熊超.模式識別理論及其應(yīng)用綜述[J].中國科技信息,2006.6:171
[5] Theodoridis,Koutroumbas,Pattern Recognition[M].Academic Press,2008.
[6] 李弼程,邵美珍等.模式識別原理及應(yīng)用[M].西安電子科技大學(xué)出版社,2008.