一种基于人工免疫的存储异常检测方法

文档序号:6483176阅读:148来源:国知局
专利名称:一种基于人工免疫的存储异常检测方法
技术领域
本发明属于计算机存储安全领域,具体涉及一种基于人工免疫的存储 异常检测方法。该方法通过分析存储元数据实现对存储系统的异常检测目 的,它不仅具有自学习、自适应、计算并行等人工智能特点,而且能达到 高检测率和低误警率的检测效果。
背景技术
异常检测通常是指将用户正常的行为特征存储在特征数据库中,然后 将用户当前行为特征与特征数据库中的特征进行比较,如果二者的偏差超 过了一定的范围,就认为发生了异常。这里将存储系统中出现的违背访问 规则、破坏完整性等相关行为或现象称为^存储异常'。传统的存储异常检 测技术体现在文件加密、访问控制、文件权限等技术中,这些技术的主要 优点是它们比较成熟,应用范围广泛,能在一定程度上防御用户的违规操 作。但它们都无法对用户的存取行为进行诊断。例如,如果入侵者使用一 个盗窃帐号,存储系统中的认证子系统就会将该使用者视为合法用户,入 侵者将对该存储系统造成威胁,甚至破坏现有存储数据,即传统的认证系 统无法对合法用户的越权行为形成有效检测。
近年来有研究者提出了基于规则的过滤、统计分析、模式匹配、隐性
马尔可夫模型、数据挖掘等新技术,在一定程度上改善了传统的存储异常 检测技术无法检测用户行为、检测率低下等缺陷,但它们在技术上都具有 先天性不足。例如,基于规则的过滤是通过事先定义好一组规则,然后用 这组规则与用户的存取行为进行匹配,即它采用一种预设置式、特征分析 式工作原理,由于检测规则的更新总是落后于攻击手段的更新,这样就无
5法做到对存储异常的主动防御能力,不具有实时性和自适应的功能。对于 使用较多的统计分析方法,如贝叶斯统计方法,也存在阈值难以有效确定 的问题,这里阈值是指判断行为是否异常的临界值,阈值太小会产生大量 的误报,阈值太大又将产生大量的漏报,它们都是一种被动的安全防护措 施,只能检测预定义规则下的异常特征,对新型的存储异常无能为力,因 此检测率无法保证,达不到真正意义上的存储安全系统的要求。

发明内容
为了弥补现有的存储异常检测技术无法针对用户的存取行为进行诊断 以及在新型异常检测上的缺陷,本发明提供了一种基于人工免疫的存储异 常检测方法,该方法具有自适应性、动态防御性的特点,不仅能够有效地 从用户访问行为级对非法的、越权的读/写请求进行检测,而且因为它的自 学习和遗忘等人工智能特点,能够对新型存储异常进行有效的检测,同时 保证较高的检测率和较低虚警率。
本发明提供的基于人工免疫的存储异常检测方法,首先按照(1) (3)建 立有效特征库,再在每次检测时,按照步骤(4) (6)进行处理;
(1) 定义用户读/写请求的元数据数据结构,并转换为特征序列,应用
统计学方法获得一组基本特征构成基本特征库;
(2) 对基本特征库里的基本特征进行组合,生成检测器,构成待训练 特征库;
(3) 收集一批事先判别好是合法或非法的读/写请求,利用这些请求 对应的特征序列与待训练特征库中的检测器进行逐个匹配,检测器每匹配 到一个特征序列,就根据该特征序列的合法性更新检测器对应的权值,所 有检测器与这些特征序列匹配结束后,对检测器进行筛选,得到有效特征 库;(4) 截获读/写请求,按照元数据数据结构得到所需的元数据,将其转
换成对应的特征序列,并为该待检测的特征序列设置两个权值;
(5) 将有效特征库中的每一个检测器与待检测的特征序列进行匹配, 当匹配成功时,同时更新该待检测的特征序列和检测器的权值;全部匹配 结束后,如果该待检测的特征序列所对应的两个权值之比大于给定的阈值, 则视为'异己',据此给特征库一个反馈,为成功匹配该特征序列的所有检测 器增加一个分值,如果特征库更新时间到,转到步骤(6),否则转到步骤
(4),等待新的读/写请求到来;
(6) 对特征库进行更新,然后转到步骤(4)。
本发明受自然免疫系统二维检测思想启发,类似于自然免疫系统对'自
己(Self),和'异己(Non-sdf),的检测机制,我们把它应用到存储系 统中对读/写数据请求的合法性判别上来,这里把用户合法的读/写请求定义 为'自己',非法的、越权的读/写请求定义为'异己'。通过对读/写请求 所形成的存储元数据进行监控,从而实现了针对存储元数据的免疫异常检 测,这里我们把针对用户的读/写请求所截取的元数据进行转换,形成二维 数字串,并称之为特征序列。把特征库中用来匹配该特征序列的检测规则 称为检测器,特征库中包含有多条捡测规则,所以特征库中包含多个检测 器。为了降低检测过程的计算和设计复杂度,我们的检测只关注存储系统 的元数据的读/写访问请求,这样在保证检测率的前提下提高了检测性能。 为实现对新型存储异常同样具备较好的检测能力,该方法引入了自然免疫 系统中自学习和遗忘等工作机制,每次对用户的读/写访问请求进行检测后, 都会更新检测器相应的权值,这里权值是指检测器的重要性,同时根据检 测器的权值,周期性地对检测器进行淘汰和重建,淘汰那些权值较低的无 效的检测器,重建新的有效的检测器,以应对存储系统中不断出现的新型 <异己,。正因为这种检测器更新机制,使得该方法与通常的存储异常检 测技术最大不同之处在于它实现了真正意义上的智能异常检测,使其具备自然免疫系统中自学习、自适应等人工智能特点,能够有效地对新型'异 己'进行检测。


图1为存储元数据的数据结构示意图2为存储元数据转换成特征序列的过程示意图3为本发明方法的总体流程示意图4为特征库生成过程的示意图。
具体实施例方式
在大规模存储系统中,很难检测所有数据的异常,因为数据量通常是 巨大的。元数据是描述其他数据的信息,即数据的数据,我们将通过监控 用户访问时的相关元数据来识别出异常的读/写访问请求,这种方法能降低 检测系统的计算量和设计复杂度。对生物免疫系统的免疫原理进行隐喻, 借鉴生物体内生成抗体和匹配抗原,最终识别'自己'和'异己'的免疫 机制。下面结合附图和实例对本发明作进一步详细的说明。
怎样获取存储元数据呢?首先是截获访问请求的系统调用,然后结合
请求文件的访问控制模式和MD5值,形成如图1所示的存储元数据数据结 构,包括文件名、用户ID、组ID、文件的MD5值、文件的访问控制模式
(包括读、写、修改、删除),并设置有保留字段。它主要针对存储安全中 的访问控制和存储完整性。其中MD5是为了保证文件的完整性,防止一些 人对文件进行非法操作,如加入恶意代码(如木马),或篡改版权,而设计 的一套验证技术,每个文件都可以用MD5验证程序算出一个特定的MD5 数值。为了将来扩展的需要,专门预留了 '保留字段(Revltem)'。
网络存储系统通常采用Linux操作系统将物理存储设备挂载到网络上
(如SAN等),从而给客户端提供存储服务。来自客户端的访问请求将发
8起一个或多个进程,这些进程将进一步调用底层的系统调用。在网络存储 系统中存在几百个系统调用,但与文件访问相关的系统调用的数量是相当
小的,因此本发明方法只对一些系统调用感兴趣,比如'open,、 'fstat,、 'mmap,、 'read,、 'uname,、 ' write'、 'munmap,、 'create'、 'delete'、 'close' 等等。通过监控这些系统调用,截获相关的访问信息,包括用户标识符、 文件标识符、组标识符、用户访问权限等,这些信息将按照存储元数据的 数据结构进行组织(包括图l所示的用户访问控制模式和保留字段),然后 按照如图2所示的过程进行转换,得到二维数字串,作为特征序列。
本发明的存储异常检测方法包括特征库生成过程(A)和检测过程(B),首 先按照步骤(Al) (A3 )建立由检测器组成的特征库,再按照步骤(Bl) (B9)利用该特征库中的检测器对每一个读/写请求进行检测。下面结合图 3具体说明各个步骤。
如图4所示,特征库生成过程(A)包括下述步骤 (Al)按照下述过程生成特征库 (A1.1)构建由基本特征构成的基本特征库;
类似于人体免疫系统通过基因库中的基因片段组合成抗体的机制,这 里的基本特征库包含组合有效检测器(这里的有效检测器指能够检测出存 储异常的检测器)所需要的完整信息,通过对其中的基本特征进行组合, 总能得到适合的检测器与到来的异常读/写请求所对应的特征序列成功匹 配,例如假设存在基本特征库{01, 011, 101, 0101}和一个异常读/写请 求对应的特征序列'0111011110101',则我们通过对基本特征库中的Oll,
ioi, ioi, oioi进行组合,得到检测器^1110110101or,该检测器和给 定的异常请求所对应的特征序列是近似的,据此我们可以认为它们是匹配 的,具体近似到何种程度才算是成功匹配,由具体的匹配算法来决定,在
下面的步骤A1.3中将对匹配过程做更详细的讲述。如果对任意一个异常的
读/写操作所对应的特征序列,我们都能够通过对该基本特征库中的基本特
9征进行组合,并得到至少一个检测器与之成功匹配,就认为该基本特征库 是完备的,同时也是可用的。
为了得到这样一个完备的基本特征库,我们可以事先针对大量的异常 读/写请求所对应的特征序列进行分析,应用统计学方法从这些特征序列中 找出那些经常出现的基本特征,构成基本特征库。
(A1.2)利用上一步所生成的基本特征库内的基本特征组合生成一定 数量的检测器,构成特征库,且为每个检测器设置两个权值times (描述检 测器匹配抗原序列的活跃程度)和illegals (描述检测器判别非法序列的有 效程度,即它能做出正确决定的权重),它们的初值都设置为0;
通常可以采用随机组合算法对基本特征进行组合,也可以不用随机组 合算法来进行,因为随机组合不能体现其中一部分基本特征对有效的检测 器的生成具有更大作用,所以我们可以根据系统的运行情况,对那些经常 出现在有效检测器中的基本特征进行更多的组合,这样可能使整个检测过 程处于一个更好的状态。对于特征库中检测器的个数Detector—Num由正常 检测过程的检测效果决定,检测器越多,判断就越准确,如果检测效果不 佳,可以通过增加检测器的数量来调整,当然检测器越多,性能会下降(仿 真结果表明检测器数量500到600个为好)。
(A1.3)收集一批事先已判别好是非法或合法的读/写数据请求,截取这 些请求所对应的特征序列集合,称之为'训练特征集'。用这些特征序列逐 个与(AL2)中生成的每个检测器进行匹配,若匹配成功,则该检测器对应的 权times加l,若匹配到的行为事先判别是非法的,则illegals加l,否则进 行下一次匹配,直到完成所有检测器的遍历;
对于(A1.3)中的匹配过程,我们需要注意的是这种匹配不必是很精确 的匹配,某一个检测器很可能会匹配到多个抗原序列,尽管它们的匹配程 度不尽相同,即我们这里需要的是一种近似的模糊匹配,可以使用基于欧 几里德距离的匹配规则等。
(A1.4)把经过(A1.3)步骤后的每一个检测器的权值times与预先给定的
阈值(该阈值的大小视检测器的个数和系统的检测效果而定)进行比较,若大于这个阈值,则激活它,否则不激活它,然后删除所有未激活的检测 器。
(A2)设置特征库的更新周期T;
由于存储系统的异常特征随着时间的改变而改变,所以我们需要对特
征库定期更新,T值视存储系统的运行状况和不同类型的用户而定,从几个 星期或几个月不等。
(A3)计算特征库更新时间t^to+T,其中to为当前时间; (B)检测过程
(Bl)截获存储系统的读/写请求,按照图1和图2所述过程生成该请 求对应的特征序列,为该特征序列设置两个权值total—times和total—illegal, 它们的初值都设置为0;
(B2)从特征库生成过程所得到的特征库中抽取一个检测器对特征序列 进行匹配,若该检测器匹配成功,则该特征序列对应的权值total—times加 上该检测器的权值times, total—illegal加上该检测器的权值illegals,该检测 器的times也相应地加1;
(B3)判断特征库中是否还有剩余的检测器未对该特征序列进行检测, 如果是,转到步骤(B2),否则进入步骤(B4);
(B4)若total—times为0,转到步骤(B5),否则计算最终的total_ illegal/total—times比值,如果该比值大于给定阈值(0到1之间,最适合的 取值通过试验进行拟合,仿真结果显示0.55为最佳取值,这时候检测出错 率只有4.54%左右),则判定该行为非法(即"异己"),转到步骤(B6), 否则合法(即"自己"),转到步骤(B7);
(B5) total—times为0,表示没有任何检测器可以匹配到该特征序列, 所以给控制台进行报警,由用户来裁决其合法性,同时给特征库一个信息 反馈,把该特征序列作为检测器,加入到特征库中,同时把该特征序列对 应的基本特征添加到基本特征库中,转到步骤(B7)。
(B6)以步骤(B4)中的比值为依据对匹配到该特征序列的所有检测器 的权值illegals值进行更新,即给成功匹配的检测器一个奖励分(该奖励分
ii的大小可为步骤(B4)中得到的比值),希望它以后能够发挥更大的作用, 转到步骤(B7);
(B7)判断是否有新的读/写请求到来,如果有转到步骤(Bl),否则进 入步骤(B8);
(B8)判断当前时间tQ'是否大于等于特征库的更新时间t,如果大于, 转入步骤(B9),否则转到步骤(B7)继续等待新的读/写请求;
(B9)按相同的比例减小每个检测器的两个权值,把那些权值times低 于给定阈值(最佳值通过实验进行拟合,仿真结果表明0或1都能达到很 好的效果)的检测器设置为非激活状态,并删除它们,然后转到步骤(A1.2), 以补充新的检测器并计算下次特征库的更新时间t,即需要经历一次再训练 过程。
以上所述为本发明的较佳实施例而己,但本发明不应该局限于该实施 例和附图所公开的内容。所以凡是不脱离本发明所公开的精神下完成的等 效或修改,都落入本发明保护的范围。
权利要求
1、一种基于人工免疫的存储异常检测方法,首先按照(1)~(3)建立有效特征库,再在每次检测时,按照步骤(4)~(6)进行处理;(1)定义用户读/写请求的元数据数据结构,并转换为特征序列,应用统计学方法获得一组基本特征构成基本特征库;(2)对基本特征库里的基本特征进行组合,生成检测器,构成待训练特征库;(3)收集一批事先好判别是合法或非法的读/写请求,利用这些请求对应的特征序列与待训练特征库中的检测器进行逐个匹配,检测器每匹配到一个特征序列,就根据该特征序列的合法性更新检测器对应的权值,所有检测器与这些特征序列匹配结束后,对检测器进行筛选,得到有效特征库;(4)截获读/写请求,按照元数据数据结构得到所需的元数据,并将其转换成对应的特征序列,并为该待检测的特征序列设置两个权值;(5)将有效特征库中的每一个检测器与待检测的特征序列进行匹配,当匹配成功时,同时更新该待检测的特征序列和检测器的权值;全部匹配结束后,如果该待检测的特征序列所对应的两个权值之比大于给定的阈值,则视为‘异已’,据此给特征库一个反馈,为成功匹配该特征序列的所有检测器增加一个分值,如果特征库更新时间到,转到步骤(6),否则转到步骤(4),等待新的读/写请求到来;(6)对特征库进行更新,然后转到步骤(4)。
2、 根据权利要求1所述的基于人工免疫的存储异常检测方法,其特征 在于步骤(2)中,为每个检测器设置两个权值times和illegals, times描述检测器匹配抗原序列的活跃程度,illegals描述检测器判别非法序列的 有效程度,并设置其初始值为0。
3、根据权利要求1所述的基于人工免疫的存储异常检测方法,其特征 在于步骤(5)具体包括下述过程(5.1) 从有效特征库中抽取一个检测器对待检测的特征序列进行匹配, 设待检测的特征序列的两个权值为total_ times和total—illegal,若该检测器 匹配成功,则该待检测的特征序列对应的权值total— times加上该检测器的 权值times, total—illegal加上该检测器的权值illegals,该检测器的times也 相应地加1;(5.2) 判断特征库中是否还有剩余的检测器未对该特征序列进行检测, 如果是,转到步骤(5.1),否则进入步骤(5.3);(5.3) 若total—times为0,转到步骤(5.4),否则计算待检测的特征序 列的二个权值比值,即total—illegal/total—times,如果该比值大于给定阈值, 则判定该行为非法,转到步骤(5.5),否则合法,转到步骤(5.6);(5.4) 进行报警,用户裁决待检测的特征序列所对应的读/写请求的合 法性,同时给有效特征库一个信息反馈,把该待检测特征序列作为检测器, 加入到有效特征库中,同时将该待检测特征序列对应的基本特征添加到基 本特征库中,转到步骤(5.6);(5.5) 以步骤(5.3)中的比值为依据对成功匹配该待检测特征序列的 所有检测器的权值illegals值进行更新,转到步骤(5.6);(5.6) 判断是否有新的读/写请求到来,如果有转到步骤(4),否则进 入步骤(5.7);(5.7) 如果更新时间到,转入步骤(6),否则转到步骤(5.6)继续等 待新的读/写请求。
4、根据权利要求1所述的基于人工免疫的存储异常检测方法,其特征 在于步骤(6)中按照下述方式进行更新有效特征库-按相同的比例减小有效特征库中每个检测器的两个权值,将所有权值 times低于给定阈值的检测器设置为非激活状态,并删除它们,然后转到步 骤(2),补充新的检测器并计算下次特征库的更新时间。
全文摘要
本发明公开了基于人工免疫的存储异常检测方法,该方法采用自然免疫系统中的“异己”检测机制,对读/写数据请求的合法性判别。通过对读/写数据请求所形成的存储元数据进行监控,实现了针对存储元数据的免疫异常检测。该方法引入了自然免疫系统中自学习和遗忘等工作机制,每次对用户的读/写请求进行检测后,都更新检测器权值,并根据该权值,周期性地淘汰或重建检测器,以应对存储系统中不断出现的新型“异己”。由于检测器更新机制,使得该方法区别于现有存储异常检测技术,实现了真正意义上的智能异常检测,并具备了自学习和自适应等人工智能特点,有效地识别新出现的“异常”。
文档编号G06F21/00GK101458751SQ20091006043
公开日2009年6月17日 申请日期2009年1月6日 优先权日2009年1月6日
发明者方允福, 欣 李, 谢长生, 陈云亮, 黄建忠 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1