摘要:在本文中,我们将讨论一般系统的入侵检测方法,主要的想法是使用数据挖掘技术,发现相同的和有用的模式,描述程序和用户行为的系统功能,并使用相关的系统功能集计算(感应学习)的分类,可以识别异常和已知的入侵。通过实验对Sendmail系统调用数据和网络抓取数据,证明了我们可以构造简洁、准确的分类器检测异常。我们提供了两个通用的数据挖掘算法:关联规则算法和频繁情节算法。这些算法可以被用来计算内和跨审计记录模式,这是必不可少的描述程序或用户行为。发现的模式可以指导审计数据收集过程和促进特征选择。为了满足高效学习(挖掘)和实时检测的挑战,我们提出了一个基于代理的体系结构的入侵检测系统的学习代理连续计算,并提供更新(检测)模型的检测代理。
随着网络化的计算机系统在现代社会中扮演着越来越重要的角色,他们已经成为我们的敌人和罪犯的目标。因此,我们需要找到最好的方法来保护我们的系统。当入侵发生时,计算机系统的安全性受到损害。入侵防御技术,如用户认证(例如使用密码或生物识别技术),避免编程错误,和信息保护(例如,加密)已被用来保护计算机系统作为第一道防线。入侵防御是不够的,因为系统变得越来越复杂,总有可利用的弱点或程序的错误,或各种“社会工程”渗透技术。因此,需要入侵检测作为另一个墙,以保护计算机系统,其中最关键的部分是用数据挖掘的方式找到审计数据。
为了构建一个准确的基分类器,我们需要收集足够数量的训练数据,并确定一组有意义的功能。接下来我们描述了一些算法,可以解决这些需求。在这里,我们使用的术语“审计数据”是指一般数据流已妥善处理的检测数据。关联规则挖掘的目的是从数据库表中获取多特征(属性)相关性。而关联规则算法寻求内部审计记录模式,一个频繁的事件是一组事件发生在一个时间窗口(指定长度)。事件发生在至少一个指定的最小频率,滑动时间窗口。串行事件中的事件必须发生在部分顺序的时间,而对于一个平行的情节没有这样的约束。对于X和Y,其中X + Y是一个频繁的插曲,X -->Y信心=频率(X + Y)/频率(X)和支持=频率(X + Y)被称为频繁发作规则。一个部门网站日志文件中的频繁序列集规则示例是家,研究——>理论;[ 0.2,0.05 ],[ 30s ]这表明当主页和研究指南的访问(按顺序),在20%的情况下,理论组的网页被访问随后30s的时间窗口内,该序列的访问发生总数的5%(30)在日志文件中的时间窗(即约5%所有的记录)。
我们可以使用频繁情节算法分析审计痕迹,因为有证据表明,在程序执行用户命令的序列信息可以用于异常检测 [FHSL96,LB97],我们的实现是 [MTV95]描述。
关联规则和频繁集可以用来指导审计过程。我们运行程序多次和不同的设置。对于每一个新的运行,我们计算它的规则集(包括关联规则和频繁集)从审计线索,并更新(现有的)总规则集使用下面的合并过程:
对于新规则集中的每个规则:在集合规则集中找到匹配项。
期刊文章分类查询,尽在期刊图书馆一场比赛被定义为在左边和右边的规则的精确匹配,加小量的比赛(使用范围),在支架(或频率)和信心值
如果找到匹配,增量match_count匹配的规则集的规则集。否则,添加新的规则,其match_count初始化为1。当规则集的稳定(没有新的规则添加),我们可以从我们的产品停止数据收集过程。
我们做了一些初步的实验,利用关联规则对tcpdump数据被用来频繁发作的程序。我们想研究如何使用频繁情节算法,帮助我们确定时间窗口中使用的时间统计特征进行收集。我们运行的算法在“正常”的连接记录(没有时间统计特征)。我们设置程序产生两种类型的输出:原始串行和并行事件(没有规则生成)和串行情节规则。原集,我们用min_fr = 0.3。和串行情节规则,我们使用min_fr = 0.1和min_conf = 0.6和0.8。我们用不同的时间窗口大小:2S,5s,10s、15s、30s、45s、60s、90s,120s,150s,和200s;并记录每个频繁发作产生的数。频繁发作的次数(原集或系列事件规则)急剧增加是从2S 30s,然后逐渐稳定(注意到频繁情节算法,自然发作的次数只能为窗口大小的增加而增加)。注意,这里我们用参数特定的选择(即,min_fr,min_conf)仅用于控制的情节规则的最大大小的目的。不同的设置表现出相同的现象。我们猜想(并将验证与其他数据集的实验),我们可以使用这种技术来分析数据流和自动发现最重要的时间:时间窗口的大小,即,一段时间内,测量相应的统计特点最大化分类精度。直观地说,一个时间窗口大小的第一个要求是,其序列模式的集合是稳定的,也就是说,足够的模式被捕获和噪声小。
我们还运行关联规则和频繁发作程序的所有即将到来的连接数据,并比较正常数据与入侵数据的规则集。本实验的目的是确定这些程序可以提供洞察可能的入侵模式。频繁发作产生与窗口大小= 30s序列集的规则,min_fr = 0.1和min_conf = 0.8。关联规则是使用min_support = 0.3 产生min_confidence= 0.9。我们手动检查和比较的规则集,以寻找“独特的”模式中存在的入侵数据(但不在正常数据)。
在入侵检测中使用数据挖掘方法的最大挑战是,它需要大量的审计数据,以计算配置文件规则集。事实上,我们可能需要计算目标系统中的每个资源的检测模型,使得数据挖掘任务艰巨。此外,这种学习(挖掘)过程是一个不可分割的和连续的入侵检测系统的一部分,因为所使用的检测模块的规则集在很长一段时间可能不会是静态的。例如,作为一个新版本的系统软件安装,我们需要更新“正常”的配置文件规则。由于数据挖掘是一个昂贵的过程(在时间和存储),实时检测需要轻量化是可行的,我们不能有一个单片入侵检测系统。
在本文中,我们提出了一个系统框架,采用数据挖掘技术的入侵检测。该框架包括分类、关联规则、和频集的程序,可以用来(自动)构建检测模型。关于发送邮件的系统调用数据和网络tcpdump数据实验证明检测异常的分类模型的有效性。检测模型的准确性依赖于足够的训练数据和正确的功能集。我们建议,关联规则和频繁情节算法可以用来计算一致的模式和审计数据。这些频繁的模式形成了一个抽象的审计跟踪的总结,因此可以用来指导审计数据的收集过程,提供帮助的功能选择,并发现入侵的模式。使用这些算法对tcpdump数据初步的实验显示出可喜的成果。
论文作者:崔鹏,李霁雨
论文发表刊物:《电力设备》2017年第3期
论文发表时间:2017/4/26
标签:规则论文; 数据论文; 频繁论文; 算法论文; 时间论文; 模式论文; 程序论文; 《电力设备》2017年第3期论文;