一种基于主动学习的数据库恶意行为检测方法

2012-08-07 08:20车晶张瑛
网络安全技术与应用 2012年10期
关键词:会话训练样本样本

车晶 张瑛

南京邮电大学 江苏 210046

0 前言

本文设计并实现了一种适用于开源数据库软件架构的恶意行为检测方法,并在MySQL系统上验证了该方法,测试表明,本文提出的方法具有较好的适用性和可扩展性,可实现对多种流行恶意行为的检测,同时对系统性能影响较小。表示将所有收集到的日志信息按时间排序。

数据库会话原始行为特征收集算法如下:

1 系统设计与实现

1.1 会话行为签名及生成算法

基于行为签名的恶意行为检测主要面临两大挑战,其一是如何构建正常数据库会话的行为签名使其尽可能覆盖正常数据库会话,其二是对正常和恶意行为签名的在线重构,实时扩充和维护数据库会话行为签名特征库,这样就可以使检测算法可检测新的恶意行为。

基于开源数据库系统的特点,本文将数据库会话定义为从连接数据库开始,所有的数据库访问操作,直到断开数据库连接的一系列动作的集合。使用行为特征矩阵来表征数据库会话的行为模式。

首先,需在数据库管理系统的源代码中增加对敏感系统资源的访问的监控点,这些被监控收集的信息合在一起构成了数据库会话的行为模式,鉴于开源数据库管理系统的所有源代码均是可修改和重编译的,我们在每一类功能实现点进行监控,然后对各个监控点获得监控信息进行融合,获得数据库会话的行为模式。

函数 Access(DSID,FID)表示数据库会话 DSID调用了关键敏感函数FID,函数Log(DSID, functionInfo, timestamp)表示将DSID何时访问FID的信息写入日志文件。函数Sort(logs)

1.2 基于行为签名的恶意行为特征学习算法

目前大多数操作系统和网络的恶意行为检测采用的基于规则的检测技术,这类检测技术仅能检测出规则库中事先定义的恶意行为,无法检测已知恶意行为的变种和新的恶意行为。因此,基于异常的智能检测技术成为目前的研究热点。常用的异常检测技术有:概率统计、人工神经网络、遗传算法、模糊识别和人工免疫方法。

传统的基于规则的恶意行为检测大多采用统计的方法建模,将收集到的数据分成正常和异常两类。在解决分类问题时,首先需要标注样本的类别来构建训练样本集,由于训练样本集的建立主要依赖安全领域专家,成本较高。为了提高分类精度,在学习过程中需要的训练样本必须足够多,一方面增加了构建训练样本集的成本,同时对大量样本的学习也需要耗费大量的机器学习时间。

为解决这个问题,需要一种学习方法能在训练样本数量较少的情况下,获得较好的分类效果。主动学习作为解决这类问题的一种方法被提出来,它是由Lewis和Gale等人提出的,它改变了传统的从已知样本集中进行被动学习的方法,它根据学习进程,主动选择最佳的样本进行学习,从而有效减少所需评价样本的数量。支持向量机(SVM)是一种能在训练样本数很少的情况下达到很好分类推广能力的智能学习算法。本文将 SVM主动学习算法应用于数据库恶意行为检测中,使得在训练样本集较少的情况下,分类器达到较高的分类精度,从而在数据库恶意行为检测中提高训练速度和降低构建训练样本成本的目的。

SVM的参数是通过训练得到的,需获得两类训练样本,即正常行为签名模式样本和异常行为签名模式样本。由于本文定义的行为签名是数据库会话的行为轨迹,可用一个长度为k的窗口在数据库会话行为签名轨迹上滑动来获得系统资源访问短序列。系统资源访问短序列反映的数据库会话过程中的资源访问次序关系。如何选择滑动窗口的大小是关键问题。如果选取的段序列长度为1则丢掉了资源访问的次序关系,如果长度太大又无法反映正常和异常情况下的局部次序状况。Hofmeyr SA等人从实验中得出结论:当窗口大于30时,从调用序列中无法得到对数据库会话行为判定有用的信息。Lee W等人的研究认为最合适的资源访问段序列长度为6或7。据此本文选择系统资源访问短序列长度为6。可用如下算法来对数据库会话恶意行为的特征进行学习。

Algorithm: malware character learning Input: original behavior sequence Output: malware character library 1234567891 0 11 12 NCS←slidewindow(nobs);NCL ←NCS;MCS ←slidewindow(mobs);for (mcs in MCS)for (ncs in NCS)if (mcs = ncs) del mcs from MCS;for (mcs in MCS) {d←MAX;for (ncs in NCS) {d(mcs,ncs) ←Harmin(mcs,ncs);if (d(mcs,ncs)<d) d←d(mcs,ncs); }if d>D del mcs from MCS; }

用长度为6的滑动窗口对正常数据库会话的行为签名轨迹进行扫描,可得到正常的系统资源访问短序列样本,将这些样本保存于正常样本库中。该库中记录最多条数为,其中为系统资源访问集。为系统资源访问类型数目。实际应用中可已将冗余记录删除,规模会小得多。

当用长度为6的滑动窗口对恶意行为签名进行扫描时,会得到一组既有正常段序列又有异常短序列的系统资源访问短序列列表,由于恶意的非法行动只占数据库会话行为的小部分,故异常短序列只占全部数据库会话行为签名的很小部分。当获得恶意数据库会话系统资源访问轨迹后,可将其中与正常样本库匹配的记录删除,对于不匹配的短序列,用哈明距离测量其与正常样本的相似度。对于两条短序列i和j,它们之间的哈明距离记为d(i,j)。对于,每一条新序列i,定义最短哈明距离为dmin(i)=min{d(i,j)}。dmin(i)的值表达了序列与正常模式的偏差程度。

最后,对于不匹配的序列i,根据dmin(i)与预定的阈值D进行比较以判定其是否为异常,即若dmin(i)>=D,式中D为阈值,即认为序列i为异常序列,据此可获得异常短序列样本集。

1.3 恶意行为检测

本文采用的检测是SVM主动学习算法,SVM的最大特点是根据Vapnik结构风险最小化原则,尽量提高学习的泛化能力,即由有限的训练样本集得到小的误差仍能保证对独立的测试集保持小的误差。

由于上述特征学习过程获得的正常短序列样本并不完备,导致在基于正常短序列上获得的异常短序列样本可能包含正常断续里,使得SVM分类器产生分类错误,所以引入检测模块,它使用下文提出的危险程度来对恶意软件进行决策。

考虑到数据库上不同的恶意行为对系统和用户造成的损失是不同的,引入一个危险系数(Risk Factor,RF),RF用来对每一个恶意行为短序列赋予一个权值,基准权值设为 1,如果这个行为对系统和用户的安全威胁较大,则赋予一个大于1的RF。引入危险程度(Risk Rank,RR)来作为衡量一个软件是否为恶意软件的定量标识,RR定义如下。

设定一个恶意软件检测阈值D,该值由实验结果决定,我们的实验结果表明D取值17时检测器检测效果较好。当计算所得的最终RR大于D则认定此软件为恶意软件。系统将此恶意行为按上文提出的数据库会话行为签名算法和恶意特征学习算法进行特征学习,并将学习到的特征扩充进恶意短序列特征库,从而可以在运行中不断增强此检测系统的检测能力。

2 测试与评价

2.1 评价标准

评价一个数据库恶意行为检测方法的优劣主要有三个要素:检测率、误报率和漏报率。

除了上述的三个参数外,处理能力,容错性和对原系统运行性能的影响、对数据库应用系统的兼容性也可用来评价一个数据库恶意行为检测系统。

2.2 实验设置

本文依据提出的检测方法在开源的MySQL数据库上实现了一个恶意行为检测原型系统。实验系统使用Ubuntu10.04操作系统,MySQL使用 5.0.19版本源代码。实验设置了两种类型的攻击场景,分别为:

(1) 合法用户攻击:合法授权用户绕过安全机制,访问安全机制不允许访问的数据库对象或有访问数据库对象的权限,但执行了未授权的操作。

(2) 伪装攻击:通过合法的登录过程进入数据库,而使用系统的方式异常。

另外还在恶意行为检测系统工作过程中,对数据库进行了TPC-C测试来衡量恶意行为检测系统对数据库性能的影响。

2.3 测试实施

攻击测试时对每种场景分别产生100次正常行为和100次恶意行为,统计恶意行为检测系统的检测结果如图1所示。

从图1中可以看出,对合法用户的攻击的检测率较高,都在82%以上,对伪装攻击的检测率在70%以上。就漏报率来说,对合法用户的攻击的漏报率较低,对伪装的漏报率较高。对两种攻击行为的误报率都在15%以下。总的来说,对合法用户的攻击检测效果较好。

图1 攻击测试结果曲线图

3 结论及展望

本文基于机器学习中的主动学习原理,设计了一个数据库恶意行为检测模型,并依据模型实现了一个原型系统。实验表明,原型系统能对合法用户攻击和伪装攻击进行较好的检测。目前系统尚不支持非开源数据库管理系统的恶意行为检测,后期工作可考虑分析Oracle、SQL Server等商业数据库的审计日志,利用审计日志,使用本文提出的方法进行恶意行为检测。

[1] 钟勇,秦小麟.数据库入侵检测综述.计算机科学.2004.

[2] Jerne N K. Towards a Network Theory of the Immune System 1974,Annual Immunology, vol.125c.

[3] S.Forrest,A S Perelson,R Cherukuri. Self-Nonself Discrimination in a Computater.1994.5.Proceeding of IEEE Symposium on Research in Security and Privacy.

[4] Steven A. Hofmeyr amd S.Forrest Architecture for an Artificial Immune System 2000.Journal of Evolutionary Computation.

[5] 赵敏,王红伟.AIB-DBIDM:一种基于人工免疫的数据库入侵检测模型.计算机研究与发展.2009.

猜你喜欢
会话训练样本样本
用样本估计总体复习点拨
QQ和微信会话话轮及话轮转换特点浅析
人工智能
推动医改的“直销样本”
基于集群节点间即时拷贝的会话同步技术研究①
随机微分方程的样本Lyapunov二次型估计
汉语教材中的会话结构特征及其语用功能呈现——基于85个会话片段的个案研究
宽带光谱成像系统最优训练样本选择方法研究
融合原始样本和虚拟样本的人脸识别算法
基于稀疏重构的机载雷达训练样本挑选方法