蔡刚山 周刚
摘要:近年来信息化趋势愈演愈烈,数据已摇身成为个人、公司、机构等最有价值的资产之一。随着云存储系统普及率逐渐提高,存储安全问题也屡屡出现。传统的用户认证虽然包含证明和验证两个阶段,但却无法保证用户的真实性。本文提出了一种基于人工免疫的云存储安全检测方法,该方法主要是使用元数据二进制建模技术将用户访问文件请求转化为二进制字符串,采用阴性选择算法生成适当数量的有效检测器,使用这些有效检测器集合判断用户的访问请求是否合法,对非法访问请求予以拦截。实验表明本方法能够在检出率和误报率这两个功能指标方面取得较好的效果。
关键词:存储安全;人工免疫;元数据;阴性选择算法
中图分类号:TP393.08
文献标志码:A
1 引 言
近年来随着云存储技术的使用广泛,所造成的安全问题也逐渐显现。云存储系统的第一道防线是身份认证,其目的是检查用户身份是否有效。目前较为常见的身份认证手段包括口令和多因素认证。通过口令认证的途径,不用借助硬件设备就可以达到身份认证效果,实现较为方便。其缺点是入侵者可以通过撞库攻击等途径破解用户口令。使用口令认证可以判断用户身份是否有效,却无法判断其身份是否真实。为了提高存储系统的安全性,多因素综合认证等方式应运而生。多因素综合认证往往与电子令牌或人体生物特征等相结合。电子令牌虽然能提高安全保障,但同时也伴有易丢失和盗窃的风险。绑定了人体生物特征的认证方式更好地提升了系统安全性,但其必须的硬件设备却十分昂贵。
在云存储系统中只通过确保用户身份有效性的途径来保护系统安全的做法是不明智的,入侵者可能盗用合法账户执行非法操作,鉴于入侵行为常常造成的巨额损失,对用户操作行为进行合法性检查是非常有必要的。近年来人工免疫系统( Artificial Immune System,AIS)发展迅猛,它作为一种新兴技术,借鉴诸多生物免疫系统的特性,可用来处理多个方面的问题,如入侵检测、错误检测与数据挖掘等。在现有云存储安全检测方式之上,结合人工免疫核心技术开发完成一种云存储安全检测模块,对用户访问行为进行截获和过滤,只允许合法操作到达底层文件系统,拦截非法操作请求,令云存储系统具有免疫效果,从而更好地保障系统安全。
2 安全检测系统工作流程图
人工免疫算法具有多种算法模型[3],本文使用基于人工免疫技术的阴性选择算法[4],学习区分自我(合法请求)与非我(非法请求),允许合法请求传递至底层文件系统,而对非法请求予以拦截,从而保障存储系统安全,避免入侵。
安全检测系统工作流程如图1所示,首先收集合法访问请求数据,并对其进行二进制建模生成自我集合,再使用阴性选择算法生成检测器,从而区分自己和非己[5]。通过基于真实运行系统的访问请求数据进行二进制建模,根据阴性选择算法的相关公式确定二进制建模的字符串长度以及字符串匹配的位数,使得二进制建模生成的自我集合具有较高的有效性和科学性,同时根据访问请求的不断变化,对自我集合以及生成的有效检测器进行周期性的更新,使自我集合的完备性不断加强。
阴性选择算法包含审查和检测两个阶段。审查阶段随机产生大量的候选个体,将这些个体跟自体元素相匹配,如果匹配成功则舍弃该候选个体,否则予以保留,这个过程又称为自我耐受;检测阶段通过使用上一阶段保留的检测器与未知个体进行匹配,如果匹配成功说明该个体为非己。原始阴性选择算法使用穷举法作为候选检测器的生成方式[6],但由于其时间复杂度太大,故本文比较了时间复雜度较优的线性检测器生成算法和贪心检测器生成算法,并最终选取了贪心检测器生成算法生成候选检测器。
2.1 元数据二进制建模
在海量数据中检测数据的变化与异常是非常困难甚至是不可能的,然而元数据技术的出现很好地解决了这个难题,元数据是描述其他数据的信息,即数据的数据。元数据的概念也可以运用至存储系统安全检测模块:从访问系统调用中抽取元数据,包括访问文件有效信息,如uid,gid等,将元数据进行二进制建模从而转变为所需的二进制字符串,再采用某种二进制匹配技术模拟生物免疫系统中的抗原与抗体的匹配过程,最终根据匹配结果进行相应处理。
虽然云存储系统的系统调用数目繁多,但与文件访问相关的系统调用只有很少数。本系统只需要关注相关的少量系统调用,如open,read,write等。通过对上述内容进行建模,安全检测模块可以通过获取访问模式、用户id、文件id、组id等相关内容,进而将其建模为二进制字符串序列,通过NSA区分合法与非法操作,保障存储系统的安全[7]。访问请求的二进制建模方式如图2所示:
2.2 阴性选择算法
阴性选择算法基于生物体的阴性选择原理[8],因此该算法具备如下一些特点:
(1)算法产生的检测器只覆盖了部分非我集,检测器内部的交流与协调非必须。
(2)检测器的检测过程并不是根据已知模式库进行匹配,而是具备概率性地检测非我集,故能够有效地检测异常的活动。
(3)对于某个长度的字符串,其所有的可能情况是有限的,故当自我集足够完整时不会出现误报情况。
由以上特性可知,阴性选择算法的检测过程是具有一定概率性的,字符串匹配算法的选取以及针对不同的匹配精度生成的检测器数量等决策都需要进行较为精确的估算[9],算法相关参数见表1:
式4是有效检测器数量在数学上的描述,当P,取值一定的情况下,通过该公式可以得到有效检测器数量NR与匹配概率PM的变化关系的折线图,见图3:
由图3可知,在有效检测器匹配失败率P,一定的情况下,随着两个随机串匹配成功率PM的增大,需要的有效检测器数量越来越少。而根据不同Pf对应的曲线可知,系统有更高安全要求的情况下,需要的有效检测器数量也更多。此外,根据公式4可知,在P,为定值时,有效检测器的数量只与PM有关,而与自我集的元素个数Ns无关。
公式5是对候选检测器数量在数学上的描述。当Ns和Pf一定的情况下,根据该公式能够绘制出NR。和匹配概率PM的折线图,见图4。图4是基于Pf= 0.0001的前提下绘制的,可知在匹配失败率Pf一定的情况下,随着两个随机串匹配成功率PM增大,需要的候选检测器数量越来越多。而根据不同Ns对应的曲线可知,自我集合中元素数量的越多,需要的候选检测器数量也越多。
在本文中,使用的字符序列匹配算法主要是r连续位匹配规则( R-contiguous Bits MatchingRule)。该规则是模糊匹配规则中的一种,常常用于免疫系统中对亲和力的建模上。若两个字符序列在对应位置上有至少r个连续位置的字符相同,那么就称二者符合r连续位匹配规则。令l表示随机串的位数,则当字符串为二进制字符串时,存在如下关系:
公式6是对随机串成功匹配的概率在数学上的表述10]。当字符串长度1-定的情况下,根据该公式可以得到匹配概率PM与匹配位数r的变化图像,见图5。
由图5可知,在字符串长度l为定值的情况下,随着匹配位数r的增大,两个随机字符串r连续位匹配成功的概率逐渐减少。而在匹配位数r一定的情况下,随着字符序列长度l的增大,两个随机字符串相匹配的概率逐渐增大。
3 实验过程
3.1 实验测试内容介绍
本系统主要进行功能测试,主要关注检出率和误报率两个方面。检出率用来衡量将非法访问信息检测出来的能力,而误报率则用来描述将合法访问请求误判为非法的概率。在确定系统一些动态参数时,也是将检出率和误报率作为重要依據。
3.2 系统实验环境
(1)硬件环境:内存:4G,处理器:2.7 GHzIntel Core 15,硬盘:2T硬盘
(2)软件环境:操作系统:Ubuntu Server 14.1064bit,Linux内核版本:3.16.1,集群环境:OpenStack Havana。
3.3 系统功能测试
测试数据集应当具备足够多且能够全面而真实地反映系统安全状态,基于这项原则,本文采用了MIT LL实验室收集的DARPA 1999 IDS离线评估数据集。该离线评估数据包括收集的模拟网络中的网络流量和审计日志,本文采用了其文件列表信息进行试验。从文件中提取文件ID、文件所属用户,文件所属用户组、访问模式等信息并建模为10000条合法的20位二进制数据,基于此再变异产生10000条异常数据。选取合法数据中的4000条记录作为自我集进行训练。采用r连续位匹配算法进行测试时,对r长度进行不同取值,发现r取9时能取得较好结果,故本文采用r-9进行试验。
4 结果与分析
使用贪心检测器生成算法生成不同数量的有效检测器进行检出测试,各试验10次取平均值,得到的检出率测试结果见图6。
使用贪心检测器生成算法生成不同数量的有效检测器进行误报率测试,各实验10次取平均值,得到的误报率测试结果见图7所示。
由图6和图7可知,使用贪心检测器生成算法,在有效检测器数量为400时就能够在检出率和误报率中寻求较好的平衡,其中检出率平均值为99.37%,误报率平均值为0.24%。
对实验结果进行分析可知,使用阴性选择算法生成有效检测器,对元数据二进制建模后的字符串进行匹配检测,由于不是根据已知模式库进行匹配,而是具备概率性地检测非我集,因此根据阴性选择算法的相关公式描述,基于真实数据集进行建模测试,从而确定较有效的匹配算法参数以及检测器数量,故能够取得较好的试验结果。
5 结论
实现了一种基于人工免疫的云存储安全检测方法,该方法首先通过收集合法的访问请求,使用阴性选择算法生成有效检测器,针对未知合法性的用户行为抽取关键数据进行二进制建模,将其与检测器进行匹配,若匹配成功,说明访问请求非法,应予以拦截,否则允许其执行后续操作。实验表明在生成有效检测器数量为400时,该方法在检出率和误报率方面能够取得较好的效果。
参考文献
[1] 张亚敏,基于信息隐藏的身份认证方法和技术的研究[J].电子制作,2014,6 :143+118.
[2]JANEWAY C A. The immune system evolved todiscriminate infectious nonself from noninfectious self[J].Immunology today, 1992, 13(1): 11-16.
[3]谢克明,谢刚,郭红波,等,人工免疫系统及其算法[J].电 子与信息学报,2005, 27(11):1839-1844
[4]JI Z, DASGUPTA D. Real-valued negative selectionalgorithm with variable-sized detectors[C]//Genetic and Ev-olutionary Computation - GECC0 2004. Springer BerlinHeidelberg, 2004: 287-298.
[5] FORREST S,PERELSON A S,ALLEN L.Self-NonselfDiscrimination in a Computer[C]// In Proceedings of the1994 IEEE Symposium on Research in Security and Privacy.1994:202.
[6] AYARA M, TIMMIS J,DE LEMOS R, et al. Negative se-lection: How to generate detectors[C]//Proceedings of thelst International Conference on Artificial Immune Systems(ICARIS). Canterbury, UK:[sn], 2002, 1: 89-98.
[7]黄建忠,裴灿浩,谢长生,等. 一种基于AI免疫技术的存检常异检测系统 [J].计算机科学 , 2010 (1) : 42- 46.
[8]HOFMEYR S A, FORREST S.Immunity by design: An artificial immune system[C]//Proceedings of the Genetic andEvolutionary Computation Conference. 1999, 2: 1289-1296.
[9] GONZALEZ F, DASGUPTA D, NINO LF. A randomizedreal-valued negative selection algorithm[M]//Artificial Im-mune Systems. Springer Berlin Heidelberg, 2003 : 261- 272.
[10]DHAESELEER P, FORREST S, HELMAN P. An immu-nological approach to change detection: Algorithms,analysis and implications[C]//sp. IEEE, 1996: 011