基于数据挖掘和蜜罐的新型入侵检测系统研究

2012-01-15 06:02张辰孟少卿鹿凯宁
电子设计工程 2012年14期
关键词:蜜罐数据挖掘关联

张辰,孟少卿,鹿凯宁

(天津大学 电子信息工程学院,天津 300072)

基于信息系统的计算机已经成为人们生活的重要部分。用户的计算机连接到了互联网上,这就增大了其他人安装恶意软件并在互联网上通过远程控制使用这些软件来攻击其他计算机的危险。计算机安全是指保护计算机系统及其资源的机密性、完整性、可用性。人们用了许多协议和防火墙来抵御网络威胁。如果计算机系统能够保护它的数据和资源抵御非法访问、修改和拒绝访问,即可称它为安全的。

目前,通过数据挖掘技术进行的入侵检测很常见。应用数据挖掘中的一些算法,如序列式模式分析、关联分析等来提取相关的访客行为特征,并根据这些特征生成安全事件的分类模型,应用于安全事件的自动鉴别。一个完整的基于数据挖掘的入侵检测模型要包括对审计数据的采集、数据预处理、特征变量选取、算法比较、挖掘结果处理等一系列过程。这种基于数据挖掘技术的入侵检测有两方面技术难点:第一点是如何根据实际应用的需求萃取出可以有效地反映系统特性的特征属性,以便于应用合适的算法来进行数据挖掘。第二点在于如何将挖掘结果自动地应用到实际的IDS中[1]。随着蜜罐技术的出现和快速发展,及IDS技术和数据挖掘结合的安全系统的出现,把前者融入到后者体系中去的需求越来越明显了。

1 相关技术介绍

1.1 入侵检测系统

入侵是企图破坏计算机平台上资源的完整性、机密性、可用性的一系列行为。入侵检测系统(IDS)是用于在网络中检测入侵行为的软硬件的结合。入侵检测系统可以检测所有网络行为,因此可以发现入侵行为的征兆。入侵检测系统的主要目标是警告系统管理员任何可疑行为。目前存在两种入侵检测系统。

1)异常检测 根据与正常行为的偏差检测出恶意行为,进而认定为攻击。虽然这种方式能检测出未知入侵,但是误报率较高。

2)特征检测 它是入侵检测基于一个恶意行为的模式,它对已知的攻击模式很有帮助,并且误报率很低。与异常检测相比特征检测的一个缺点是,它只能检测到包含已知攻击模式的入侵检测。

入侵检测系统需要了解攻击的特性,但不能检测到未知的威胁。而蜜罐系统能够检测未知的攻击,同时还可以了解系统漏洞。

1.2 蜜罐技术

蜜罐是一个被严密监控的计算机资源,希望被探测、攻击或者攻陷。更准确的描述是,蜜罐是“一个信息系统资源,其价值在于未经授权或非法使用该资源”。一个蜜罐的价值可以从它获得的信息来衡量,通过检测进出蜜罐的数据来收集NIDS无法获得的信息,通过观察离开蜜罐的网络流量,可以检测到漏洞威胁,即使是使用从未见过的漏洞利用方法[2]。设置一个专门构造的蜜罐系统来引诱入侵者,记录其如何攻入系统,以及攻击目的、所用工具等以获取有用的信息。在蜜罐中常会故意放置一些黑客企图获取的信息,以此吸引入侵者攻陷蜜罐系统,攻击者在蜜罐中停留的时间越长,暴露的攻击手段和技术就越多,网络管理员就可以获取更多的入侵者的有用信息,这样可以发现系统更多的安全隐患,允许网络安全人员采取相应的措施来增强系统和网络的安全性。

根据服务配置的不同,蜜罐可以分为高交互蜜罐和低交互蜜罐。

1)高交互蜜罐 提供给入侵者一个完全可交互的系统,它不模拟任何服务、功能或基础操作系统,提供真实的系统服务。因此,入侵者能够完全攻陷并控制它,这有助于网络管理员了解更多的有关入侵者所用的工具、手段和动机,加深对攻击者的了解。

2)低交互蜜罐 模拟物理机器的有限功能,例如,服务、网络和堆栈等。允许入侵者与其在特定范围内进行有限的交互,有助于掌握系统攻击的定量信息。

1.3 数据挖掘技术

从大量数据中提取有用信息的过程被称为数据挖掘。数据挖掘分析已得到的大量数据,探索它们之间的未知关系,总结数据分析的结果,并以易理解的方式展示给数据所有者。因此数据挖掘问题也被看作是数据分析问题。数据挖掘技术可以在大量数据中检测模式,并用这些模式捕捉大量的异常。

数据挖掘是以应用为目的的,它被频繁地应用于各种领域中,用于从大型数据库中发现明确的有用的东西,从数据中发现隐含的未知的规律。

针对以上情况,本文设计了一种基于数据挖掘和蜜罐技术的入侵检测系统。在这个系统中,蜜罐技术通过真实的网络资源为诱饵,吸引攻击者的入侵行为,入侵行为发生后,在蜜罐环境下,入侵者将会被监视和控制,此时,系统运用数据挖掘技术收集攻击行为的信息,并进行分析,产生模式或规律,并以此进行趋势分析、攻击预测等,以便于发现攻击行为的特征和规律。之后将获取的检测规则存入IDS的规则库,供未来的检测使用。因此,它提高了IDS的检测能力,尤其是检测未知攻击的能力。

2 基于蜜罐的入侵检测系统

传统的入侵检测系统不能检测到未知的攻击,因此存在漏报和误报。而蜜罐系统最大的优势就是可以检测到未知的攻击。通过捕获黑客与蜜罐的交互行为,可以分析出未知的入侵方式、攻击工具等,克服传统入侵检测系统的不足,有利于及时发现系统漏洞。将这两种技术结合,提出一种新的网络安全解决方案,该方案既可以通过入侵检测系统捕获已知攻击特征的入侵行为,又可以使用蜜罐系统采集攻击者新的攻击手段、工具等,从而全面捕获入侵者的攻击行为,更有效的保护网络安全。基于蜜罐的入侵检测系统设计如图1所示。

图1 基于蜜罐系统的入侵检测系统结构图Fig.1 System structure of intrusion detection based on Honeypot system

在这个系统中,可以包含多个蜜罐主机。关键部件是被称为HoneyWall的蜜网网关,它是蜜网与其它网络的惟一连接点,包含3个网卡,网络接口eth0连接蜜网,网络接口eth1配置了一个安全的内部网络地址,它转发出入蜜罐系统的网络包和系统日志进入到一个单独的机器,这个机器作为日志及管理控制中心,网络接口eth2则连接内网。日志及管理控制服务器安装有监控管理模块,它负责提取新的攻击模式,并和NIDS控制台进行通信,更新NIDS的入侵规则库。它有3个主要任务,1)管理IDS模块,Honeypot模块和数据挖掘模块,使它们协调工作;2)显示IDS和Honeypot发送过来的警报消息;3)根据安全策略进行一系列的响应动作来阻止非法行为以确保网络安全[3]。

3 数据挖掘技术在蜜罐中的应用

由于蜜罐只收集少量但极具价值的数据。正常情况下,蜜罐对网络内其他系统不提供任何服务,因此,所有与蜜罐系统的连接或探测都可视为对蜜罐系统的扫描或攻击。这样,就可以把所有流入蜜罐系统的网络流量当作恶意信息处理,而流出的流量是威胁更大的信息。因为只有当入侵者攻陷蜜罐后,利用蜜罐访问外部网络时才会出现流出的数据。对蜜罐系统收集的数据采用数据挖掘方面分析是提高分析效率的一种有效途径。由于数据挖掘技术是一项通用的知识发现技术,所以可以采用数据挖掘的方法对蜜罐收集的数据进行分析,利用得到的模式或规律,还可以进行趋势分析、攻击预测,以便于发现攻击行为的特征和规律。

对于蜜罐系统收集的信息,不论是系统中用户的命令行输入,还是其他任意的离散事件流,比如GUI事件、网络数据包传输、系统调用跟踪等,这些数据之间是存在联系的,都可以看作是事件的序列集合。通常,系统或用户的正常行为会有一定的规律,而攻击者发起的攻击过程也都是有前后关系的,例如,在攻击者真正实施攻击时,要先对目的系统的开放端口进行扫描,然后实施具体的攻击动作。要对蜜罐系统收集的信息进行分析,只凭孤立的事件对攻击者的攻击行为进行判断是很困难的,这就需要把攻击者的行为联系起来,当作一个整体进行分析[4]。

文中采用先关联规则挖掘、再序列模式挖掘的数据挖掘方法对审计数据进行挖掘。关联规则挖掘的目的是发现大量数据项之间的关联性。序列模式与关联模式相仿,只不过把数据之间的关联性与时间联系起来。利用序列模式挖掘可以发现不同数据记录之间的基于时间先后的相关性。

3.1 关联规则挖掘数据相关性

在数据挖掘研究领域,对于关联规则算法的研究开展得比较深入,人们提出了多种关联规则的挖掘算法,如Apriori、STERM、AIS、DHP算法等。本文使用关联规则中的Apriori算法。

Apriori算法是一种最有影响力的挖掘产生布尔关联规则所需频繁项集的基本算法。Apriori算法就是根据有关频繁项集特性的先验知识(prior knowledge)而命名的。该算法利用了大项目集性质。用伪代码[5]将其描述如下:

L1=find_frequent_1-itemset(D);

for(k=2; Lk-1≠;k++){

Ck==apriori_gen(Lk-1,min_sup);

For each customer-sequence t∈D{ //扫描D对项集计数

Ct=subset(Ck,t); //取得候选集的子集

For each candidate C∈Ct

c.count++;

}

Lk={c∈Ck|c.count>=min_sup}

}

return Answer=UkLk;

function apriori_gen(Lk-1;min_sup)

For each itemset l1∈Lk-1

For each itemset l2∈Lk-1

If(l1[1]=l2[1]) (l1[1]=l2[2]) … (l1[k-2]=l2[k-2]) ( l1[k-1]=l2[k-1])

Then{

C=l1;l2//连接产生候选集

If has_infrequent_subset(c, Lk-1) then

Delete C;//剪枝删除非频繁项集

else add c to Ck;

}

return;

function has_infrequent_subset(c; )

for each(k-1)-subset s of c

if s∈Lk-1then return TRUE;

return FALSE;

注:所有算法表示中,代表所有k-序列组成的集合,代表候选k-序列组成的集合。

找到频繁项集后,就可以产生强关联规则。

3.2 序列模式挖掘数据时序性

在时序和序列数据库中存放的数据具有时间上的先后关系,对这些数据可以进行序列模式挖掘、趋势分析、相似性搜索、周期模式挖掘等。本文对序列数据库进行挖掘的主要目的是找出序列记录之间的联系,发现攻击模式和攻击序列,所以主要针对序列模式挖掘进行说明。

序列模式挖掘[6]是指挖掘相对时间出现频率高的模式,也就是从序列组成的数据库(sequence database)中找出出现频繁的子序列(sub—sequences),它是一项重要的数据挖掘任务。近年来序列模式挖掘已经成为数据挖掘的一个重要方面,其应用范围也不局限于数据库,在DNA分析等尖端科学研究领域、Web访问等新型应用数据源等众多方面都有针对性研究。

AprioriAll算法源于频繁集算法Apriori,它把Apriori的基本思想扩展到序列挖掘中,也是一个多遍扫描数据库的算法。在每一遍扫描中都利用前一遍的大序列来产生候选序列,然后在完成对整个数据库的遍历后测试它们的支持度。在第一遍扫描中,利用大项集阶段的输出来初始化大小序列的集合。在每次遍历中,从一个由大序列组成的种子集开始,利用这个种子集,可以产生新的潜在的大序列。在第一次遍历前,所有在大项集阶段得到的大小序列组成了种子集[7]。用伪代码[8]将其描述如下:

L1={large 1-sequences};//大项集阶段得到的结果

For(k=2;Lk-1≠;k++) DO BEGIN

Ck=aprioriALL-generate(Lk-1)

For each customer—sequence c in DT DO//对于在数据库中的每一个顾客序列c

Sum the count of all candidates in Ckthat are contained in C//对包含于C中Ck内的所有候选者计数

Lk=Candidates in Ckwith minimum support; //Lk=Ck中满足最小支持度的候选者

END

Answer=Maximal Sequences in UkLk;

3.3 关联规则挖掘与序列模式挖掘相结合

文中关联规则挖掘和序列模式挖掘算法的目的是挖掘数据仓库中存放的攻击信息记录,寻找记录中的关联模式和序列模式,从而提取和发现有价值的攻击模式和攻击方法。

利用算法挖掘审计记录的过程为:寻找审计记录内的大项集采用关联规则Apriori算法;寻找审计记录间的大项集序列采用序列模式AprioriAll算法进行挖掘。进行关联规则挖掘结果下的序列模式再挖掘有如下几步工作:首先要把数据库按时间段进行划分,然后在每个被划分的段中进行关联规则的挖掘,对挖掘出来的结果进行整理并生成新的数据库,最后对新的数据库进行序列模式挖掘。

4 基于数据挖掘和蜜罐的新型入侵检测系统

蜜罐系统和入侵检测系统在优缺点上有着互补性。本文设计的新型入侵检测系统结合两者的优势,当出现未知的攻击时,则调用数据挖掘模块,生成新的入侵检测规则。这样更有效的提高系统的检测性从而增强系统的安全性。

基于主机的IDS过滤日志、分析日志、使用它自己的严重性级别系统来给异常消息标签[9]。基于网络的IDS在路由器或主机级别扫描分组、审查分组、并且把可疑的记录在一个特殊的文件中详细的记录下来。然后根据网络攻击特征数据库,为每个分组指定严重级别。对于已知的攻击,根据攻击类型与总控模块通信,由总控模块做出响应。

系统框架模型如图2所示。

图2 新型入侵检测系统模型图Fig.2 System model of new IDS

当蜜罐被进入的时候.即为恶意入侵或者是入侵的前奏。若是已知的攻击,则控制器会做出响应。如果是未知的攻击,系统并不知道其入侵模式,这就需要最大限度的拖延攻击的入侵速度。蜜罐主机与未知的攻击建立起TCP会话,并把会话的接受窗口大小始终保持为0[10]。这样就能够把攻击阻挡在蜜罐中,为数据挖掘争取更多的时间。当面对未知的攻击时,调用数据挖掘模块。综合利用分类、序列分析、关联规则等各种数据挖掘方法。分析经过预处理的数据,发现事件之间的时间和空间关系,从中提取相关的特征和规则。在此基础上对行为集进行数据挖掘,根据给定的信任度和支持度,找出一些攻击的行为模式,建立异常模式,并存入IDS的规则库中,从而实现对新型攻击的有效抵御。

5 结束语

文中介绍了入侵检测系统、蜜罐技术、数据挖掘技术的相关概念。通过分析入侵检测系统和蜜罐系统的优缺点,提出将两者结合的方案,并将数据挖掘技术融入结合后的蜜罐模块中,使用先关联规则挖掘,后序列模式挖掘的方法,发现规则、模式等信息,并将其加入入侵检测的规则库,以便以后使用。与传统入侵检测系统相比,基于蜜罐和数据挖掘技术的新型入侵检测系统完善了功能,提高了保护系统安全的能力。

[1]Denatious D K,John A.Survey on data mining techniques to enhance intrusion detection[J].ICCC,2012(1):1-5.

[2]Provos N,Holz T.虚拟蜜罐从僵尸网络追踪到入侵检测[M].张浩军,李景峰,等译.北京:中国水利水电出版社,2011.

[3]夏磊,蒋建中,高志吴.入侵诱骗、入侵检测、入侵响应三位一体的网络安全新机制[J].计算机应用与软件,2007,24(4):171-173.XIA Lei,JIANG Jian-zhong,Gao Zhi-wu.A new network security mechanism which containing honeypot IDS and intrusion response system[J].ComputerApplication and Software,2007,24(4):171-173.

[4]郑君杰,肖军模.基于Honeypot技术的网络入侵检测系统[J].电子科技大学学报,2007,36(2):257-259.ZHENG Jun-jie,XIAO Jun-mo.Network intrusion detection system based on honeypot[J].Journal of University of Electronic Science and Technology of China,2007,36 (2):257-259.

[5]姜染石.在蜜罐中应用数据挖掘技术[D].长春:长春工业大学,2007.

[6]序列挖掘模式.[EB/OL].(2012-04-24)http://site.douban.com/widget/notes/108962/note/88480888.

[7]王金磊.数据挖掘技术在网络入侵检测中的应用[D].郑州:郑州大学,2005.

[8]冯萍,孙伟,姚艳秋.一种基于数据挖掘的入侵检测方法[J].长春师范学院学报:自然科学版,2009,28(5):30-32.FENG Ping,SUN Wei,YAO Yan-qiu.An intrusion detection method based on data mining[J].Journal of Changchun Normal University:Natural Science,2009,28(5):30-32.

[9]翟光群,陈向东,胡贵江,等.蜜罐与入侵检测技术联动系统的研究与设计[J].计算机工程与设计,2009,30(21):45-47.ZHAI Guang-qun,CHEN Xiang-dong,HU Gui-jiang,et al.Research and design on linkage system of honeypot and intrusion detected technology[J].Computer Engineering and Design,2009,30(21):45-47.

[10]潘立武.基于IDS和DM的Honeypot系统的设计[J].北京联合大学学报,2010,24(1):42-45.PAN Li-wu.A design of honeypot system based on IDS and DM[J].Journal of Beijing Union University,2010,24(1):42-45.

猜你喜欢
蜜罐数据挖掘关联
不惧于新,不困于形——一道函数“关联”题的剖析与拓展
探讨人工智能与数据挖掘发展趋势
蜜罐蚁
“一带一路”递进,关联民生更紧
被自己撑死的蜜罐蚁
基于博弈的蜜罐和入侵检测系统最优配置策略
奇趣搭配
哈密瓜:乡间蜜罐
基于并行计算的大数据挖掘在电网中的应用
智趣