自适应日志采集间隔时间动态调整算法研究
2017-05-09刘必雄
刘 必 雄
(福建农林大学计算机与信息学院, 福州 350002)
自适应日志采集间隔时间动态调整算法研究
刘 必 雄
(福建农林大学计算机与信息学院, 福州 350002)
针对日志审计系统,分析日志记录数量变化规律及等间隔时间日志采集策略问题,提出一种自适应日志采集间隔时间动态调整算法。该算法的功能是根据当前采集的日志记录数量,计算出单位时间内产生的日志记录数量变化,据此自动调节采集间隔时间。
日志采集; 等间隔时间日志;采集策略; 间隔时间动态调整算法
在日志审计系统的日志采集过程中,目前多采用等间隔时间日志采集策略[1-4]。这种方法的不足是,忽略了系统和设备在各个时间段内产生的日志记录数量差异。当采集的日志记录数量很少时,会造成系统资源浪费;而当采集的日志记录数量异常庞大时,又给系统带来一定的压力。本次研究将基于日志审计系统的实现,对单位时间内日志记录数量的变化规律进行分析,探讨一种自适应日志采集间隔时间动态调整算法。该算法可根据产生的日志记录数量变化自动调节日志采集的间隔时间。当产生的日志记录较少时,自动延长日志采集的间隔时间,以节省系统开销;当产生的日志记录较多时,自动缩短数据采集的时间间隔,以减少每次采集的日志数量。
1 日志采集概念
在日志审计系统中,可通过日志审计分析结果发现网络的薄弱环节,提高网络的安全性[5]。在构建日志审计系统时,首先应将网络中各种设备和系统的日志数据集中在一起,以便进行统一管理和分析,因此必须研究网络环境下日志数据的采集问题。一般情况下,日志审计系统通过运行在采集节点上的Agent,以一定的间隔时间,定期采集新产生的日志数据。在日志采集过程中应注意以下问题:
(1) 系统和设备在单位时间内产生的日志记录数量有差异。比如部署某子网的IDS,在0点到7点时间段内,单位时间产生的日志记录不足400条;而在12点到22点时间段内,每个单位时间产生的日志记录有900条以上。由此可见,各个时间段内产生的日志记录数量差异较大。
(2) 有些系统或设备产生的日志采用了循环存储的方法来记录,记录覆盖的时间不一致。循环存储时,不以时间为标识而是以日志记录总量为限制标识。于是,有可能10 min前产生的日志已经被新产生的日志覆盖,而60 min前产生的日志仍然在存储空间中。
2 等间隔时间日志采集策略
现有的日志审计系统一般采用等间隔时间日志采集策略来采集日志数据。这种方法简单易行,但是没有考虑到系统和网络在各个时间段内所产生的日志记录数量变化,在实际应用中有时无法满足系统真实需求。
为了便于描述,将t时刻采集到的日志记录数量视为时间函数y=f(t)。根据黑盾IDS在某天内产生的17 343条日志记录,采用等间隔时间策略对产生的日志进行模拟采集,间隔时间为30 min,然后通过平滑曲线将各点连接起来。 同时,设置每次采集的日志记录数量的理想参考值为380条。理想参考值,是根据采集系统以及日志审计系统处理能力来定义,该值还与日志源文件保存的最大日志记录数量有关。此次设置380条为理想参考值,是以实验数据为基础。图1所示为等间隔时间日志采集曲线。
从图1可以看出,在时间区间[60,510],产生的日志记录数量比较少。系统每次采集的日志记录数量都比理想参考数量少,此时,可以适当增加采集间隔时间,以增加采集的日志记录数量。在时间区间[1 140,1 230],产生的日志记录数量比较大。这时,每次采集的日志记录数量超过理想参考数量,有可能超过日志采集及审计分析系统的处理能力,给系统带来一定的负担。
有效解决以上问题的方法是,提高日志采集频率,缩短采集间隔时间,减少采集日志记录数量。如果设置的采集间隔时间很短,系统就需要频繁地启动采集操作,从而会增加采集Agent和处理服务端的系统开销;如果设置的采集间隔时间很长,系统有时需要处理大容量的数据,承担一定的负荷,而且可能导致间隔时间内的日志数据被新数据覆盖甚至丢失。
图1 等间隔时间日志采集曲线
3 自适应日志采集间隔时间动态调整算法
在自适应日志采集间隔时间动态调整算法中,采集间隔时间是动态变化的。根据系统或设备单位时间内产生的日志记录数量变化,可动态调节日志采集的间隔时间。这里要解决的问题是,在什么情况下改变日志采集的间隔时间,以及应该采用什么方法来改变。通常,在日志采集过程中,如果单位时间内产生的日志记录数量变化显著,就应该修改日志采集的间隔时间,然后再与理想参考值进行比较,最后决定延长或缩短采集时间间隔。
3.1 日志记录数量偏差幅度判断方法
在此,采用每次采集到的日志记录数量参数RN与理想参考数量参数Ref_Value来计算日志记录偏差幅度。为了量化实际采集到的日志记录数量与理想参考数量的偏差,将第i次采集到的日志记录数量表示为RNi,其中i=1,2,3,…,并作出以下定义:
定义1 第i次采集点的绝对偏差定义为:Di=︳RNi-Ref_Value︱,其中i=1,2,3,…。
不能只是简单地根据绝对偏差来判断偏差幅度。首先,绝对偏差与审计系统允许处理的日志记录数量有关,系统对不同类型的日志规定了不同的最大日志记录数量。比如,审计系统规定防火墙日志数量为1 000,规定IDS的日志数量为100。当日志记录数量绝对偏差为100,对防火墙日志来说是小变化,而对IDS日志来说则是显著变化。此外,绝对偏差还与某时间段内的平均值大小相关。例如,如果日志记录数量在一段时间内平均为100,当绝对偏差值变化为10时,可认为这是一个小变化;但是如果日志记录数量在一段时间内平均为10,那么绝对偏差值变化为10时则可认为数量发生了大变化。因此,引进了“偏差平均比值”的概念。
定义3 偏差平均比值定义为:DRi= Di
从以上定义可以看出,偏差平均比值是一个大于0的值。在没有突变的情况下,该值通常是一个小于1的小数。在自动调整算法中,用户可以根据系统需求设定一个偏差平均比值临界阈值。当系统完成一次日志采集后,就可以计算与这次采集相关的偏差平均比值,然后将该值与预先设定的偏差平均比值临界阈值进行比较。如果大于阈值,说明单位时间内产生的日志记录数量变化大,这样系统就要调整当前所用的采集间隔时间,以适应系统需求。如果小于阈值,说明产生的记录数量变化不大,可以继续使用原来的采集间隔时间。这里需要说明一点,单位时间内产生的日志记录数量变化幅度并不是只和单位时间内产生的记录数量相关。因为涉及到理想参考值,所以,可通过偏差平均比值来判断单位时间内产生的日志记录数量变化幅度。
3.2 自动间隔时间调整方法
若某段时间内产生的日志记录数量偏差幅度很大,即偏差平均比值超过设定的临界阈值,系统就要调整采集间隔时间。根据当前采集的日志记录数量RN,如果RN大于理想参考值Ref_Value,那么就要减少采集间隔时间,但采集间隔时间调整不能小于最小采集间隔时间;如果RN小于理想参考值Ref_Value,那么就要增加采集间隔时间,但采集间隔时间调整不能大于最大采集间隔时间。
3.3 采集间隔时间动态调整算法执行流程
这里给出了采集间隔时间动态调整算法执行流程(见图2)。为了方便描述算法,给出以下几个定义:
图2 自适应日志采集间隔时间动态调整算法流程
定义4 日志记录数量理想参数(Ref_Value):指审计系统希望每次收集到的日志记录数量,即最佳日志记录数量。
定义5 采集间隔原子时间(Atom_Time):指自动间隔时间调整策略中的最小时间单位。算法中自动设定的系统采集间隔时间必须是采集间隔原子时间的整数倍数。
定义6 采集间隔时间变化步长(Interval_Step):系统自动增加或减少采集间隔时间时,每次增加或减少的时值。
定义7 最大采集间隔时间(Interval_Max):系统自动调整采集间隔时间时,可调整的采集间隔时间的最大值。
定义8 最小采集间隔时间(Interval_Min):系统自动调整采集间隔时间时,可调整的采集间隔时间的最小值。
4 动态调整算法实验
4.1 临界阈值参数的选择
临界阈值的设置至关重要。如果阈值设置太小,那么即使单位时间内日志记录数量变化很小也会导致系统改变采集间隔时间。不过这种小变化对系统的需求影响不大,过度频繁地改变采集间隔时间并不能满足系统需求。如果阈值设置太大,就会导致单位时间内日志记录数量变化很大,而系统不能及时进行采集间隔时间调整。因此, 需对黑盾IDS在某天内产生的17 343条日志记录进行各种参数测试(见表1),然后根据测试结果来确定最佳临界阈值。
表1 系统测试参数
采用表1中的参数进行测试,并统计出在不同理想参考值、不同临界阈值情况下总的采集次数以及间隔时间调整次数,系统测试结果见表2。 在不同的参数下,采集总次数变化不明显,而临界阈值从0.1到0.2的调整过程中,间隔时间调整次数变化很大,0.2是临界值。因此, 采用0.2作为偏差平均比值临界阈值。
表2 系统测试结果
4.2 实验结果分析
根据表1中的参数进行分析,其中理想参数Ref_Value为380,偏差平均值比临界阈值为0.2。运用自适应日志采集间隔时间动态调整算法,对IDS在某天内产生的17 343条日志记录进行模拟采集,每次采集到的日志记录数量变化描述如图3所示。而图1是采用等间隔时间日志采集策略对同样的数据进行模拟采集,时间间隔为30 min,而且理想参考值也是380。等间隔时间日志采集策略有48个采集点。其中有22个采集点的数据值与理想数据值偏差比较大,即只有52.6%的采集点在系统理想范围内,而自适应日志采集间隔时间动态调整算法有47个采集点。从图3可以看出,采集节点中有9个间隔时间调整点,其中有5个节点属于边界调整点。系统稳定采集过程中共有42个采集点,其中4个采集点数据值与理想数据值的偏差比较大,即只有90.4%的采集点在系统理想范围内。由此可知,自适应日志采集间隔时间动态调整算法更能满足审计系统的需求。
图3 自适应日志采集间隔时间动态调整算法
5 结 语
通过本次研究,观察了网络中系统和设备单位时间内产生的日志记录数量的变化规律,讨论了日志审计系统中等间隔时间日志采集策略存在的问题,提出了一种自适应日志采集间隔时间动态调整算法。运用本算法,可以根据当前采集到的日志记录数量,来计算单位时间内产生的日志记录数量变化,从而预测未来日志系统产生的日志记录数量,自动判断是否需要调节采集间隔时间。对IDS在某天内产生的17 343条日志记录进行了模拟采集实验,确定动态调整算法的参数;然后根据这些参数对IDS的日志进行模拟采集,得到了每次采集的日志记录数量,并将这些数据与等间隔时间的日志采集策略模拟采集的结果进行比较。在相同理想参考值的情况下,日志采集的总次数相近,等间隔时间日志采集策略测试中有一半以上的采集点数据值与理想数据值偏差较大;而动态调整算法测试中除了几个间隔时间调整点外,其他采集点的数据值都与理想数据值比较接近。因此,自适应日志采集间隔时间动态调整算法更能满足审计系统的需求。
[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应用的日志采集与分析系统的设计与实现[D].北京:北京交通大学,2016:31-34.
[4] 肖东方.基于Hadoop的运维日志采集分析平台的设计与实现[D].济南:山东大学,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
福建省中青年教师教育科研项目“多源异构日志实时融合分析关键技术研究”(JA12105)
刘必雄(1979 — ),男,副教授,研究方向为网络安全、计算机应用。
TP273
A
1673-1980(2017)02-0092-04