1绪论
1.1硏究背景和意义
现在互联网的网民们在利用互联网提供的资源的同时,互联网安全和个人信息安全问题变得越来越重要,针对网络和计算机系统的各类攻击事件也层出不穷。如何保障用户信息安全和互联网系统安全,防止系统被非法的黑客入侵和攻击等这一类问题是现在急需解决的当务之急。2011年上半年的CNNIC[il《报告》指出,现在国内总网民数为4.85亿,其中2.17亿以上的网民遇到过病毒或木马攻击,受到攻击的网民比率达到了 44.7%,其中1.21亿网民有过账号或密码被盗经历,占24.9%,比2010年增加了 3.1%;另外其中有3880万网民遇到过消费欺诈,占总数的8%。
由于网络环境本身是复杂多变的,每一次系统升级或者软件升级可能就伴有着一些不为人知的系统漏洞,这些漏洞都可能成为黑客们入侵的后门,所以网络的迅速发展带来的除了方便的使用和更好的用户体验之外,还同时带来了各种各样的网络威胁。互联网的发展速度非常快,在这种快速发展之中电子商务类应用的发展尤为明显,因此很多黑客或者不法分子陆续将牟取不义之财的黑手伸向了互联网领域,这导致了最近几年网络安全威胁和诚信危机事件屡屡发生。虽然这些年来有关部门对网络安全问题的监察和管理力度越来越大,网络诚信进一步加强,但是整体局势依然比较严峻,存在的很多问题都是不容忽视的。在这样的整体发展趋势之下,现有的互联网大环境迫切需要一种能预防和阻止网络入侵,保护内部网络和用户主机安全的整体解决方案,出于对这一需求的考虑,安全审计这一技术发展也是日新月异的。安全审计是指在系统运行的过程中时刻监控系统的运行状态,实时地对被监控系统进行分析判断,主动解决一些在运行中发生的入侵或者其他类型的攻击行为,并且将监控到的状态实时推送给管理员或者系统用户。同时安全审计需要实现对己发生的攻击情况进行事后追求和追查,保证不会有一些隐蔽的未发现的攻击行为产生。现有的网络服务器或者用户主机上,普遍都有很多日志系统来记录系统日志。日志是对系统上发生的事件进行记录所产生的文件,每一种不同的网络服务可能会产生各种不同的日志内容,但是这些日志内容的共同点就是所有的日志内容都是代表了系统在此时的一个整体状态。
由于日志数据的这一些特性,现有的安全审计系统基本上都是从对日志数据内容的分析处理出发,对内部网络进行全面的管理和保护。在日志内容产生的同时对日志内容进行逐条分析,并且对日志中反映的一系列不同的状态产生不同的响应,这样的处理过程一般被称为实时审计;而将日志内容简单分析之后存储在数据库中,定期对日志数据进行整体分析处理,发掘这些日志中单条日志内容安全,但是用户此次访问中产生的日志序列为威胁的过程,-般被称为事后审计。由于日志产生的速度很快,所以当系统运行了一定的时间之后,日志数据库中必然会有非常海量的日志信息。数据收集技术和数据存储技术的快速进步使得各组织机构都积累了海量的数据。然而与此同时,提取这些数据中的有用信息的难度非常高,如何提取这些信息成为了技术人员巨大的挑战。传统的数据分析技术和工具已经没办法处理这些数据,这样就需要幵发一种新的方法来进行处理。在这样的需求之下,就产生了数据挖掘(Data Mining)技术。数据挖掘技术是一种将传统的数据分析方法与处理大量数据的复杂算法相结合。数据挖掘为探査和分析新的数据类型以及用新方法分析旧有数据类型提供了很好的机会。从基本任务角度来说,数据挖掘包含预测任务、描述任务这两大类任务。预测任务的具体目标是根据其他属性的值,预测出特定属性的值。描述任务的目标是导出可以概括数据中潜在的联系的模式。
2事后审计技术和贝叶斯分类器
事后审计技术是一种对海量日志数据进行二次处理,发现日志数据中隐藏威胁的一种知识发现(knowledge discovery in database, KDD)的过程,而数据挖掘技术正是现阶段在知识发现领域最热门的技术形式。通过将数据挖掘技术运用到事后审计模块中,我们解决了对日志数据进行建模分类的技术难点。
2.1事后审计及其目标
事后审计的主要目标是发现安全日志中隐含的威胁信息,为了实现这一目标,首先分析一下网络攻击技术和方式。审计系统所审计的日志主要的来源是网络中的服务器及网络设备,对于这些设备来说,它们可以提供一种或者多种网络服务,不同的网络服务产生不同的曰志信息。而同样的,不同的网络服务需要对外开放不同的网络端口,这使得网络攻击变成了可能,网络中的各种漏洞和管理失误都可能成为攻击者入侵的途径。对网络服务进行攻击的一般方法是,首先找出该服务器或者设备所开放的服务,然后根据相应的服务进行攻击。由于有些服务器上同时存在多种网络服务,而且这些服务很可能是共享数据区的,所以也不排除通过不同服务协同攻击服务器的可能性。从系统管理的角度来说,一台服务器应该只能提供一种服务,这样可以有效地防止攻击者的入侵。当前对网络进行攻击的主要方法有如下几种:
1) 拒绝服务攻击
拒绝服务攻击即攻击者想办法让目标机器停止提供服务,是黑客常用的攻击手段之一。造成这种攻击的方法主要有两种,一种是像系统或者服务发出大量的请求来严重消耗系统资源,另一种是发送非法的数据包进行攻击,致使系统无法处理或者处理数据包产生错误而崩溃。第一种方法短时间内会有一定的效果,比较常见的攻击方式就是SYN泛洪,该方法的原理就是利用TCP三次握手的过程,不停的向服务器发送SYN包来请求建立连接,服务器接到SYN包后创建一个TCP连接并发送ACK+SYN数据包至客户端,等待客户端的下一个ACK,如果此时客户端不发送对应的ACK,服务器将一直等待,攻击者利用这种特性不断发送SYN数据包导致服务器资源消耗,从而达到攻击的目的。这类型的攻击方式容易被察觉,并在攻击停止后服务器自动恢复,因此危害相对较小。而后一种攻击方式在使用极少的资源达到攻击的目的,不易被察觉,而且系统无法恢复,所以造成的损失非常大。在BIND服务器从9.0升级到9.2时曾出现过一个大BUG,当服务器收到特定的数据包后,服务器会自动关闭服务,攻击者利用该漏洞导致大量域名无法被解析,服务器不能连接,损失惨重。
2) 信息窃取
信息窃取特指利用服务程序的弱点或者配置错误获得服务器上的机密信息。这一类攻击的目标在于计算机中存储的信息。
3) 内容更改
内容更改最常见的例子是网站中网页内容的篡改。黑'客可以攻击后台网络服务器,获得权限后更改网页中的内容。这种形式的攻市会导致组织形象严重受损,而且可能进一步的危害登录该网站的用户。
3 一种面向事后审计的贝叶斯网络算法............................ 26-44
3.1 贝叶斯网络概述.......................... 26-31
3.1.1 贝叶斯信念网络工作原理.......................... 26-29
3.1.2 常用贝叶斯网络分类器算法分析 ..........................29-31
3.2 事后审计中的贝叶斯网络算法.......................... 31-43
3.2.1 网络服务日志格式分析.......................... 32-36
3.2.2 日志数据序列化处理.......................... 36-38
3.2.3 贝叶斯网络构建与搜索打分算法..........................38-41
3.2.4 算法实现分析.......................... 41-43
3.3 小结 ..........................43-44
4 基于贝叶斯网络的审计系统实现.......................... 44-67
4.1 系统整体方案设计 ..........................44-47
4.1.1 系统需求分析 ..........................44-45
4.1.2 系统设计与分析.......................... 45-47
4.2 实时审计模块 ..........................47-53
4.3 事后审计模块.......................... 53-54
4.4 Web前台和数据存储模块.......................... 54-58
4.5 系统测试分析 ..........................58-66
4.5.1 实验平台搭建.......................... 58-59
4.5.2 系统测试 ..........................59-66
4.6 小结 ..........................66-67
5 总结和展望.......................... 67-68
结论
现在研究日志审计的方法很多,每种审计方法都有它的优点,也有它的不足。贝叶斯网络作为一种基于概念推理的研究不确定性H题的方法,对于处理隐藏数据和不确定性数据有先天优势。在常见的贝叶斯网络研究屮,贝叶斯网络的主要的表现方式是使用拓扑结构部分来表述定性的信息,使用联合概率密度来表示定量信息。通过对日志数据进行有独创性的分析处理,本文构建了一个基于搜索打分机制的贝叶斯网络学习模型。在往常的日志审计研究中,审计的主题都是日志内容本A,本文创造性的提出了一个将日志序列转化成系统调用序列,并对此调用序列进行贝叶斯网络打分,确定日志内容安全与否的方法。使用搜索打分算法可以确保即使在日志序列中出现了影响判断的安全日志内容,也可以保证整体序列的处理不受影响,该算法的误检率是非常低的。在#p#分页标题#e#
对算法设计和系统构架进行良好的设计基础上,本文对系统的各个模块进行了具体实现,并进行了直观的简单的测试。对于安全审计系统的下一步研究的主要工作有:
1. 进一步完善用于搜索打分的系统调用训练集,确保该训练集能包含尽量多的原始数据。
2. 在系统实现上增加多核编程的内容,充分利用系统的CPU资源,使得学习训练的过程更加迅速。
3. 进一步增加和完善实时审计的规则内容,加强系统在实时审计过程中的准确率。
参考文献
[I] 国家互联网络信息中心.CNNIC第27次中国互联网络发展状况统计报告[EB/OL].
[2] 华为SIMS曰志审计系统.[EB/OL].
[3] Pang-Ning Tan, Michael Steinbach.数据挖掘导论[M].北京:人民邮电出版社,2006
[4] 网神SecFox-LAS日志审计系统.[EB/OL].
[5]李群.基于数据挖掘的日志审计技术研究与实现[D].杭州:浙江工商大学,2009.
[6]陈余超.安全日志审计系统及其快速匹配机制的研究与实现[D].杭州:浙江工商大学,2011
[7]王玲.网络服务系统日志安全分析技术研究P].北京:中国科学院计算技术研究所,2006
[8]钱柯.基于日志的网络安全审计系统中审计与管理中心的设计和实现[D].杭州:浙江工商大学,2009
[9]曹付元.面向分类数据的聚类算法研究[D].山西:山西大学,2006
[10]唐勇.基于网络的攻击特征自动提取技术研究[D].长沙:国防科技大学,2008