劉 必 雄
(福建農(nóng)林大學(xué)計算機(jī)與信息學(xué)院, 福州 350002)
?
自適應(yīng)日志采集間隔時間動態(tài)調(diào)整算法研究
劉 必 雄
(福建農(nóng)林大學(xué)計算機(jī)與信息學(xué)院, 福州 350002)
針對日志審計系統(tǒng),分析日志記錄數(shù)量變化規(guī)律及等間隔時間日志采集策略問題,提出一種自適應(yīng)日志采集間隔時間動態(tài)調(diào)整算法。該算法的功能是根據(jù)當(dāng)前采集的日志記錄數(shù)量,計算出單位時間內(nèi)產(chǎn)生的日志記錄數(shù)量變化,據(jù)此自動調(diào)節(jié)采集間隔時間。
日志采集; 等間隔時間日志;采集策略; 間隔時間動態(tài)調(diào)整算法
在日志審計系統(tǒng)的日志采集過程中,目前多采用等間隔時間日志采集策略[1-4]。這種方法的不足是,忽略了系統(tǒng)和設(shè)備在各個時間段內(nèi)產(chǎn)生的日志記錄數(shù)量差異。當(dāng)采集的日志記錄數(shù)量很少時,會造成系統(tǒng)資源浪費(fèi);而當(dāng)采集的日志記錄數(shù)量異常龐大時,又給系統(tǒng)帶來一定的壓力。本次研究將基于日志審計系統(tǒng)的實(shí)現(xiàn),對單位時間內(nèi)日志記錄數(shù)量的變化規(guī)律進(jìn)行分析,探討一種自適應(yīng)日志采集間隔時間動態(tài)調(diào)整算法。該算法可根據(jù)產(chǎn)生的日志記錄數(shù)量變化自動調(diào)節(jié)日志采集的間隔時間。當(dāng)產(chǎn)生的日志記錄較少時,自動延長日志采集的間隔時間,以節(jié)省系統(tǒng)開銷;當(dāng)產(chǎn)生的日志記錄較多時,自動縮短數(shù)據(jù)采集的時間間隔,以減少每次采集的日志數(shù)量。
在日志審計系統(tǒng)中,可通過日志審計分析結(jié)果發(fā)現(xiàn)網(wǎng)絡(luò)的薄弱環(huán)節(jié),提高網(wǎng)絡(luò)的安全性[5]。在構(gòu)建日志審計系統(tǒng)時,首先應(yīng)將網(wǎng)絡(luò)中各種設(shè)備和系統(tǒng)的日志數(shù)據(jù)集中在一起,以便進(jìn)行統(tǒng)一管理和分析,因此必須研究網(wǎng)絡(luò)環(huán)境下日志數(shù)據(jù)的采集問題。一般情況下,日志審計系統(tǒng)通過運(yùn)行在采集節(jié)點(diǎn)上的Agent,以一定的間隔時間,定期采集新產(chǎn)生的日志數(shù)據(jù)。在日志采集過程中應(yīng)注意以下問題:
(1) 系統(tǒng)和設(shè)備在單位時間內(nèi)產(chǎn)生的日志記錄數(shù)量有差異。比如部署某子網(wǎng)的IDS,在0點(diǎn)到7點(diǎn)時間段內(nèi),單位時間產(chǎn)生的日志記錄不足400條;而在12點(diǎn)到22點(diǎn)時間段內(nèi),每個單位時間產(chǎn)生的日志記錄有900條以上。由此可見,各個時間段內(nèi)產(chǎn)生的日志記錄數(shù)量差異較大。
(2) 有些系統(tǒng)或設(shè)備產(chǎn)生的日志采用了循環(huán)存儲的方法來記錄,記錄覆蓋的時間不一致。循環(huán)存儲時,不以時間為標(biāo)識而是以日志記錄總量為限制標(biāo)識。于是,有可能10 min前產(chǎn)生的日志已經(jīng)被新產(chǎn)生的日志覆蓋,而60 min前產(chǎn)生的日志仍然在存儲空間中。
現(xiàn)有的日志審計系統(tǒng)一般采用等間隔時間日志采集策略來采集日志數(shù)據(jù)。這種方法簡單易行,但是沒有考慮到系統(tǒng)和網(wǎng)絡(luò)在各個時間段內(nèi)所產(chǎn)生的日志記錄數(shù)量變化,在實(shí)際應(yīng)用中有時無法滿足系統(tǒng)真實(shí)需求。
為了便于描述,將t時刻采集到的日志記錄數(shù)量視為時間函數(shù)y=f(t)。根據(jù)黑盾IDS在某天內(nèi)產(chǎn)生的17 343條日志記錄,采用等間隔時間策略對產(chǎn)生的日志進(jìn)行模擬采集,間隔時間為30 min,然后通過平滑曲線將各點(diǎn)連接起來。 同時,設(shè)置每次采集的日志記錄數(shù)量的理想?yún)⒖贾禐?80條。理想?yún)⒖贾?,是根?jù)采集系統(tǒng)以及日志審計系統(tǒng)處理能力來定義,該值還與日志源文件保存的最大日志記錄數(shù)量有關(guān)。此次設(shè)置380條為理想?yún)⒖贾?,是以?shí)驗(yàn)數(shù)據(jù)為基礎(chǔ)。圖1所示為等間隔時間日志采集曲線。
從圖1可以看出,在時間區(qū)間[60,510],產(chǎn)生的日志記錄數(shù)量比較少。系統(tǒng)每次采集的日志記錄數(shù)量都比理想?yún)⒖紨?shù)量少,此時,可以適當(dāng)增加采集間隔時間,以增加采集的日志記錄數(shù)量。在時間區(qū)間[1 140,1 230],產(chǎn)生的日志記錄數(shù)量比較大。這時,每次采集的日志記錄數(shù)量超過理想?yún)⒖紨?shù)量,有可能超過日志采集及審計分析系統(tǒng)的處理能力,給系統(tǒng)帶來一定的負(fù)擔(dān)。
有效解決以上問題的方法是,提高日志采集頻率,縮短采集間隔時間,減少采集日志記錄數(shù)量。如果設(shè)置的采集間隔時間很短,系統(tǒng)就需要頻繁地啟動采集操作,從而會增加采集Agent和處理服務(wù)端的系統(tǒng)開銷;如果設(shè)置的采集間隔時間很長,系統(tǒng)有時需要處理大容量的數(shù)據(jù),承擔(dān)一定的負(fù)荷,而且可能導(dǎo)致間隔時間內(nèi)的日志數(shù)據(jù)被新數(shù)據(jù)覆蓋甚至丟失。
圖1 等間隔時間日志采集曲線
在自適應(yīng)日志采集間隔時間動態(tài)調(diào)整算法中,采集間隔時間是動態(tài)變化的。根據(jù)系統(tǒng)或設(shè)備單位時間內(nèi)產(chǎn)生的日志記錄數(shù)量變化,可動態(tài)調(diào)節(jié)日志采集的間隔時間。這里要解決的問題是,在什么情況下改變?nèi)罩静杉拈g隔時間,以及應(yīng)該采用什么方法來改變。通常,在日志采集過程中,如果單位時間內(nèi)產(chǎn)生的日志記錄數(shù)量變化顯著,就應(yīng)該修改日志采集的間隔時間,然后再與理想?yún)⒖贾颠M(jìn)行比較,最后決定延長或縮短采集時間間隔。
3.1 日志記錄數(shù)量偏差幅度判斷方法
在此,采用每次采集到的日志記錄數(shù)量參數(shù)RN與理想?yún)⒖紨?shù)量參數(shù)Ref_Value來計算日志記錄偏差幅度。為了量化實(shí)際采集到的日志記錄數(shù)量與理想?yún)⒖紨?shù)量的偏差,將第i次采集到的日志記錄數(shù)量表示為RNi,其中i=1,2,3,…,并作出以下定義:
定義1 第i次采集點(diǎn)的絕對偏差定義為:Di=︳RNi-Ref_Value︱,其中i=1,2,3,…。
不能只是簡單地根據(jù)絕對偏差來判斷偏差幅度。首先,絕對偏差與審計系統(tǒng)允許處理的日志記錄數(shù)量有關(guān),系統(tǒng)對不同類型的日志規(guī)定了不同的最大日志記錄數(shù)量。比如,審計系統(tǒng)規(guī)定防火墻日志數(shù)量為1 000,規(guī)定IDS的日志數(shù)量為100。當(dāng)日志記錄數(shù)量絕對偏差為100,對防火墻日志來說是小變化,而對IDS日志來說則是顯著變化。此外,絕對偏差還與某時間段內(nèi)的平均值大小相關(guān)。例如,如果日志記錄數(shù)量在一段時間內(nèi)平均為100,當(dāng)絕對偏差值變化為10時,可認(rèn)為這是一個小變化;但是如果日志記錄數(shù)量在一段時間內(nèi)平均為10,那么絕對偏差值變化為10時則可認(rèn)為數(shù)量發(fā)生了大變化。因此,引進(jìn)了“偏差平均比值”的概念。
定義3 偏差平均比值定義為:DRi= Di
從以上定義可以看出,偏差平均比值是一個大于0的值。在沒有突變的情況下,該值通常是一個小于1的小數(shù)。在自動調(diào)整算法中,用戶可以根據(jù)系統(tǒng)需求設(shè)定一個偏差平均比值臨界閾值。當(dāng)系統(tǒng)完成一次日志采集后,就可以計算與這次采集相關(guān)的偏差平均比值,然后將該值與預(yù)先設(shè)定的偏差平均比值臨界閾值進(jìn)行比較。如果大于閾值,說明單位時間內(nèi)產(chǎn)生的日志記錄數(shù)量變化大,這樣系統(tǒng)就要調(diào)整當(dāng)前所用的采集間隔時間,以適應(yīng)系統(tǒng)需求。如果小于閾值,說明產(chǎn)生的記錄數(shù)量變化不大,可以繼續(xù)使用原來的采集間隔時間。這里需要說明一點(diǎn),單位時間內(nèi)產(chǎn)生的日志記錄數(shù)量變化幅度并不是只和單位時間內(nèi)產(chǎn)生的記錄數(shù)量相關(guān)。因?yàn)樯婕暗嚼硐雲(yún)⒖贾?,所以,可通過偏差平均比值來判斷單位時間內(nèi)產(chǎn)生的日志記錄數(shù)量變化幅度。
3.2 自動間隔時間調(diào)整方法
若某段時間內(nèi)產(chǎn)生的日志記錄數(shù)量偏差幅度很大,即偏差平均比值超過設(shè)定的臨界閾值,系統(tǒng)就要調(diào)整采集間隔時間。根據(jù)當(dāng)前采集的日志記錄數(shù)量RN,如果RN大于理想?yún)⒖贾礡ef_Value,那么就要減少采集間隔時間,但采集間隔時間調(diào)整不能小于最小采集間隔時間;如果RN小于理想?yún)⒖贾礡ef_Value,那么就要增加采集間隔時間,但采集間隔時間調(diào)整不能大于最大采集間隔時間。
3.3 采集間隔時間動態(tài)調(diào)整算法執(zhí)行流程
這里給出了采集間隔時間動態(tài)調(diào)整算法執(zhí)行流程(見圖2)。為了方便描述算法,給出以下幾個定義:
圖2 自適應(yīng)日志采集間隔時間動態(tài)調(diào)整算法流程
定義4 日志記錄數(shù)量理想?yún)?shù)(Ref_Value):指審計系統(tǒng)希望每次收集到的日志記錄數(shù)量,即最佳日志記錄數(shù)量。
定義5 采集間隔原子時間(Atom_Time):指自動間隔時間調(diào)整策略中的最小時間單位。算法中自動設(shè)定的系統(tǒng)采集間隔時間必須是采集間隔原子時間的整數(shù)倍數(shù)。
定義6 采集間隔時間變化步長(Interval_Step):系統(tǒng)自動增加或減少采集間隔時間時,每次增加或減少的時值。
定義7 最大采集間隔時間(Interval_Max):系統(tǒng)自動調(diào)整采集間隔時間時,可調(diào)整的采集間隔時間的最大值。
定義8 最小采集間隔時間(Interval_Min):系統(tǒng)自動調(diào)整采集間隔時間時,可調(diào)整的采集間隔時間的最小值。
4.1 臨界閾值參數(shù)的選擇
臨界閾值的設(shè)置至關(guān)重要。如果閾值設(shè)置太小,那么即使單位時間內(nèi)日志記錄數(shù)量變化很小也會導(dǎo)致系統(tǒng)改變采集間隔時間。不過這種小變化對系統(tǒng)的需求影響不大,過度頻繁地改變采集間隔時間并不能滿足系統(tǒng)需求。如果閾值設(shè)置太大,就會導(dǎo)致單位時間內(nèi)日志記錄數(shù)量變化很大,而系統(tǒng)不能及時進(jìn)行采集間隔時間調(diào)整。因此, 需對黑盾IDS在某天內(nèi)產(chǎn)生的17 343條日志記錄進(jìn)行各種參數(shù)測試(見表1),然后根據(jù)測試結(jié)果來確定最佳臨界閾值。
表1 系統(tǒng)測試參數(shù)
采用表1中的參數(shù)進(jìn)行測試,并統(tǒng)計出在不同理想?yún)⒖贾?、不同臨界閾值情況下總的采集次數(shù)以及間隔時間調(diào)整次數(shù),系統(tǒng)測試結(jié)果見表2。 在不同的參數(shù)下,采集總次數(shù)變化不明顯,而臨界閾值從0.1到0.2的調(diào)整過程中,間隔時間調(diào)整次數(shù)變化很大,0.2是臨界值。因此, 采用0.2作為偏差平均比值臨界閾值。
表2 系統(tǒng)測試結(jié)果
4.2 實(shí)驗(yàn)結(jié)果分析
根據(jù)表1中的參數(shù)進(jìn)行分析,其中理想?yún)?shù)Ref_Value為380,偏差平均值比臨界閾值為0.2。運(yùn)用自適應(yīng)日志采集間隔時間動態(tài)調(diào)整算法,對IDS在某天內(nèi)產(chǎn)生的17 343條日志記錄進(jìn)行模擬采集,每次采集到的日志記錄數(shù)量變化描述如圖3所示。而圖1是采用等間隔時間日志采集策略對同樣的數(shù)據(jù)進(jìn)行模擬采集,時間間隔為30 min,而且理想?yún)⒖贾狄彩?80。等間隔時間日志采集策略有48個采集點(diǎn)。其中有22個采集點(diǎn)的數(shù)據(jù)值與理想數(shù)據(jù)值偏差比較大,即只有52.6%的采集點(diǎn)在系統(tǒng)理想范圍內(nèi),而自適應(yīng)日志采集間隔時間動態(tài)調(diào)整算法有47個采集點(diǎn)。從圖3可以看出,采集節(jié)點(diǎn)中有9個間隔時間調(diào)整點(diǎn),其中有5個節(jié)點(diǎn)屬于邊界調(diào)整點(diǎn)。系統(tǒng)穩(wěn)定采集過程中共有42個采集點(diǎn),其中4個采集點(diǎn)數(shù)據(jù)值與理想數(shù)據(jù)值的偏差比較大,即只有90.4%的采集點(diǎn)在系統(tǒng)理想范圍內(nèi)。由此可知,自適應(yīng)日志采集間隔時間動態(tài)調(diào)整算法更能滿足審計系統(tǒng)的需求。
圖3 自適應(yīng)日志采集間隔時間動態(tài)調(diào)整算法
通過本次研究,觀察了網(wǎng)絡(luò)中系統(tǒng)和設(shè)備單位時間內(nèi)產(chǎn)生的日志記錄數(shù)量的變化規(guī)律,討論了日志審計系統(tǒng)中等間隔時間日志采集策略存在的問題,提出了一種自適應(yīng)日志采集間隔時間動態(tài)調(diào)整算法。運(yùn)用本算法,可以根據(jù)當(dāng)前采集到的日志記錄數(shù)量,來計算單位時間內(nèi)產(chǎn)生的日志記錄數(shù)量變化,從而預(yù)測未來日志系統(tǒng)產(chǎn)生的日志記錄數(shù)量,自動判斷是否需要調(diào)節(jié)采集間隔時間。對IDS在某天內(nèi)產(chǎn)生的17 343條日志記錄進(jìn)行了模擬采集實(shí)驗(yàn),確定動態(tài)調(diào)整算法的參數(shù);然后根據(jù)這些參數(shù)對IDS的日志進(jìn)行模擬采集,得到了每次采集的日志記錄數(shù)量,并將這些數(shù)據(jù)與等間隔時間的日志采集策略模擬采集的結(jié)果進(jìn)行比較。在相同理想?yún)⒖贾档那闆r下,日志采集的總次數(shù)相近,等間隔時間日志采集策略測試中有一半以上的采集點(diǎn)數(shù)據(jù)值與理想數(shù)據(jù)值偏差較大;而動態(tài)調(diào)整算法測試中除了幾個間隔時間調(diào)整點(diǎn)外,其他采集點(diǎn)的數(shù)據(jù)值都與理想數(shù)據(jù)值比較接近。因此,自適應(yīng)日志采集間隔時間動態(tài)調(diào)整算法更能滿足審計系統(tǒng)的需求。
[1] ROBERT G A,JONATHAN M,BENJAMIN A,et al.Log analysis of cyber security training exercises[J].Procedia Manufacturing,2015(3):5088-5094.
[2] JUVONEN A,SIPOLA T.Online anomaly detection using dimensionality reduction techniques for HTTP log analysis[J].Computer Networks ,2015,91:46-56.
[3] 于靜.基于Web應(yīng)用的日志采集與分析系統(tǒng)的設(shè)計與實(shí)現(xiàn)[D].北京:北京交通大學(xué),2016:31-34.
[4] 肖東方.基于Hadoop的運(yùn)維日志采集分析平臺的設(shè)計與實(shí)現(xiàn)[D].濟(jì)南:山東大學(xué),2016:12-15.
[5] GORGE M.Making sense of log management for security purposes-an approach to best practice log collection,analysis and management[J].Computer Fraud and Security.2007(5):5-10.
Research on Self-Adaptive Interval Time Adjusting Algorithm for Log Collection
LIUBixiong
(School of Computer and Information, Fujian Agriculture and Forestry University, Fuzhou 350002, China)
Based on the research and implementation of log audit system, the changing rules of the log record amount from system and device in time unit and the shortcomings of equal-interval log collection algorithm were discussed; and a self-adaptive interval time adjusting algorithm for log collection was proposed. This algorithm adjusts the interval time based on the current log record amount to calculate the changing log record amount in time unit.
log collection; equal-interval log; collection algorithm; self-adaptive interval time adjustment algorithm
2016-09-26
福建省中青年教師教育科研項(xiàng)目“多源異構(gòu)日志實(shí)時融合分析關(guān)鍵技術(shù)研究”(JA12105)
劉必雄(1979 — ),男,副教授,研究方向?yàn)榫W(wǎng)絡(luò)安全、計算機(jī)應(yīng)用。
TP273
A
1673-1980(2017)02-0092-04