基于免疫学和模糊聚类的云安全算法研究
2019-10-15仲伟伟刘丽萍汪方正
◆仲伟伟 刘丽萍 汪方正
基于免疫学和模糊聚类的云安全算法研究
◆仲伟伟 刘丽萍通讯作者汪方正
(江苏医药职业学院 江苏 224005)
随着信息化的不断发展,互联网中的数据量呈现爆炸性的增长,一些企事业单位已经意识到通过挖掘和分析大数据,能够有效地了解行业发展趋势后开拓新的业务模式,显著提高自身的运营效率和竞争优势。海量的数据处理需求使得拥有强大的计算能力的云计算成为大数据时代的必然选择。然而企业的数据安全问题关系到核心商业机密乃至整个企业的生命,因此安全问题自然成为大数据时代的重点研究方向。本文通过人工免疫理论改进传统的模糊聚类算法,提出一个将生物免疫原理和模糊聚类算法相结合应用于云系统的安全模型。
大数据;模糊聚类;免疫算法;云计算;安全
云计算是由分布式计算(Distributed Computing)、并行计算(Parallel Computing)和网格计算(Grid Computing)等基础上发展而来。首先,究竟什么是云计算(Cloud Computing)呢?根据相关标准定义云计算表示的是一种“网络就是计算机”的模型[1],利用互联网这些资源可以通过简单的业务交互过程和统一的管理流程来实现快速部署和应用,通过将大量的数据资源、计算能力以及应用软件整合起来,形成一个超大体量的共享虚拟资源池,为用户提供强大的计算能力。作为当今信息领域的集大成者,云计算从最初的质疑到现在社会各行业的广泛认可,它的整个产业链已经初步形成,并且正在快速地发展和完善。特别是国外的IBM、Amazon、Google以及国内的百度、阿里、腾讯等云计算领域的巨头在商业推广和应用实践中不断取得成功,使得云计算已经成为国内外学术研究机构和企业以及政府机构的战略投资热点,世界各国都将其作为本国科技发展的重要战略方向,并投入大量资源来促进其发展。
随着云计算基础设施的不断建设和完善,很多公司和机构逐渐将规模巨大且计算复杂的数据迁移存储到数据中心来。但是由于其计算节点和系统的规模很大,同时还具有前所未有的开放性,因此拥有大量客户数据的云计算中心很容易成为竞争对手或不法分子的窃取和攻击对象,系统的安全性能要求肯定会比以往互联网系统更高,毫无疑问安全风险将会是阻碍云计算发展的最大瓶颈。近几年,国内外的各大公司如谷歌、微软和亚马逊等都相继爆发过云计算数据中心的安全事故,轻则造成系统宕机重则泄露用户数据造成无法挽回的重大损失。Gartner公司曾经在一项研究报告中表示正是由于对公司数据安全的担忧才导致七成以上老板暂时还没有部署云平台的计划。所以安全问题已经成为影响云计算发展的主要因素,必须不断地提高云系统的安全性能,才能使其更好更快地服务于广大用户。本文基于生物免疫系统较强的自主防御能力,改进传统的模糊聚类算法,提出了一个将免疫算法和模糊理论相结合的云系统安全策略。
1 人工免疫系统
生物体最基本的本能反应就是抵御各种对自身有害的攻击,而免疫功能正是其中最重要的一种,它是一个由各种免疫细胞和器官组成的综合系统,主要任务是消灭各种对生物体有害的细菌、病毒和病变组织等,学习和利用生物体优胜劣汰的本能一直是智能进化算法研究的灵感源泉,而人工免疫系统(Artificial Immune System:AIS)就是借鉴生物免疫机制而形成的一类新的仿生算法,近年来逐渐成为人工智能领域的一个重要研究热点。免疫算法通过利用生物体学习-记忆-遗忘的免疫机制,很大程度上改进了传统进化算法的局部收敛问题,同时具有较强的抗干扰能力,而最关键的是其群智搜索的特点更适合于部署在云平台进行分布式并行运算,因此利用免疫算法解决云计算复杂的安全问题具有较强的可行性。
目前人工免疫系统已经广泛应用于人工智能的各个研究方向。例如李洁和高新波等将免疫算法结合数据挖掘中的聚类分析,能够解决传统聚类算法局部收敛的缺陷[2];曹永春和邵亚斌等[3]利用免疫算法提高了传统数据挖掘算法的正确率。在免疫算法不断研究和改进的过程中也衍生出了很多性能更好的改进算法,例如克隆选择算法(CSA)就是利用免疫机制里的抗体在克隆选择中不断自我改进和提高的过程而设计出的一种新的免疫进化算法。克隆选择算法的具体流程如图1。
图1 克隆选择算法流程图
2 基于免疫算法的安全机制
免疫系统是生物体最重要的本能之一,承担着生物体抵抗外部入侵的主要功能。人工免疫系统是根据生物体的免疫机制设计出的新型算法,将免疫系统的机制应用于计算机安全系统以抵抗复杂的各类病毒入侵具有很高的研究价值,免疫系统和计算机安全系统的对应关系相似性主要表现在一是情况相似,随着信息时代的不断发展,各种各样的计算机病毒或木马程序等攻击手段在网络世界中层出不穷,信息安全问题日益严重。生物免疫系统面对的是各种细菌和病毒等微生物对生物体的感染和破坏;其次是目标相似,信息系统的安全保护需要高效实时地识别出各种对内部网络进行非法访问或入侵的程序,同时采取有效的防御手段以保护信息系统的数据安全性和完整性等。而生物体的免疫功能是先识别出对自身有害的细菌和病毒等抗原,然后产生免疫反应清除有害的抗原来保持生物体的健康;最后是机制相似,生物体的免疫系统主要通过两种机制实现对自身的保护,一种是利用免疫记忆机制来识别各种病毒细菌等的特点来进行消灭,还有一种是根据隐含定义的自身来区分自我与非自我,例如通过“否定选择”的淋巴细胞来对抗体进行的识别,生物免疫系统的这两种保护机制非常类似于信息安全系统所采用的滥用检测方法和异常检测方法。
传统人工免疫系统的处理过程是首先通过数据预处理,主要是对数据源进行特征提取等手段来对数据进行分类和规范等;然后通过否定选择算法,利用抗原模式库来对数据进行模式匹配,抗原库类似于给生物体注射的疫苗功能;最后将其与抗体库进行识别,判断是否是异常行为,如是则产生抗体对该行为进行阻止,并更新和完善抗原库。具体过程如图2所示:
图2 传统人工免疫系统
然而云计算的环境复杂,面对的安全形势更加严峻,将传统人工免疫系统应用于云计算环境中还存在以下问题:
(1)云计算平台具有较强的开放性,其中的网络行为是动态变化的,各种攻击手段不断地演变和进化,甚至不同网络之间的运行环境还可能是异构的。然而,传统人工免疫系统仅适用于形式相对稳定和不易变化的对象,为适应网络行为的不断变化和各种异构网络对自身不同的安全需求,系统需要有一定的自配置能力来动态地调整对不同网络的安全保护级别。
(2)传统的人工免疫系统在检测样本数据时,匹配的结果往往都是确定性的,即样本的行为数据若有一点不正常则将其判断为异常的而直接阻止它访问受保护系统。但是由于很多行为数据的界限本身就是模糊的,带有不确定性,如果其检测结果被非常严格地区分为正常或异常行为,则会出现较多的误报或者漏报,必然会降低系统的检测性能和使用感知。
(3)当前已经进入一个海量数据的时代,传统人工免疫算法在单机环境下的数据存储和处理能力都严重不足,因此需要对传统的算法进行分布式的改造,并充分利用云计算平台强大的计算和存储能力才能满足当前大数据背景下信息系统的安全需求。
目前云计算的安全体系很大程度上依赖于传统的防火墙技术[4],一旦遭受非法入侵将造成系统瘫痪甚至数据泄露等严重后果,所以基于智能算法的防御技术将会是安全领域的研究重点[5]。针对以上问题,本文利用智能进化算法改进传统的模糊聚类算法,提高聚类的准确率并充分吸收其分布式特性从而能够更好地部署在云计算平台,提高云平台的安全性。
3 基于模糊免疫算法的云安全系统
客观世界中的绝大多数现象都会随着时间或环境的改变而产生相应的变化,具有一定的不确定性,模糊聚类分析就是利用模糊理论的思想建立一个隶属度矩阵,从而比较真实的反应样本之间似是而非的隶属关系。目前最经典的模糊聚类算法是1974年由Dunn提出并由Bezdek加以推广的模糊C-均值(fuzzy C-means,简称FCM)算法。
3.1 基于CSA的改进模糊C均值算法
FCM算法的基本思想是用={1,2,…,x}来表示测试样本集的个数据,并假设这些样本可以形成种不同的类簇,通过随机初始化程序生成这些聚类中心,并用={1,2,…,v}的形式来表示他们。接着算法开始用欧氏距离计算测试集中的每个样本对所有初始聚类中心的隶属度,构造出一个隶属度矩阵,然后利用隶属函数不断地进行迭代计算出新的聚类中心,最后的终止条件是使目标函数的值达到最小。目标函数为:
模糊C-均值算法具体步骤如下:
(2)初始化各个聚类中心v;
(3)用当前聚类中心根据公式2计算隶属函数;
(4)用当前隶属函数按公式3更新各类聚类中心;
通过以上步骤最终可以计算出每个类的聚类中心以及所有样本对于每个聚类中心的隶属度矩阵,通过不断地迭代优化使得样本点逐渐接近其隶属度最大的一个类中。但是经典的FCM算法由于初始聚类中心的数量是人为确定的,选取的好坏会直接影响算法的性能,并且容易形成局部最优解,因此本文提出一种新的基于免疫原理的模糊C均值算法,算法的基本概念如下:
(1)抗体的编码方式
改进算法中的抗体类似于经典聚类算法的初始聚类中心,因此可以对初始聚类中心的各个特征属性值进行量化编码形成抗体的模式串。假设为聚类中心的个数,为样本数据中特征属性的维度,可以将抗体编码成:
(2)亲和度函数
基于免疫原理的克隆选择算法最终聚类目的是要使所有样本点对于聚类中心的亲和度达到最大,而模糊C均值算法的最终目的则是要使它的目标函数值达到最小。因此,克隆选择算法中抗体与抗原的亲和度函数可以通过FCM算法的目标函数来构造,亲和度函数的构造如下:
(3)克隆算子
克隆选择。利用免疫记忆的原理,通过亲和度函数计算出样本中每个抗原与抗体的亲和力,通过隶属矩阵将与抗原亲和力最高的抗体选出作为下一轮迭代过程的聚类中心,同时根据生物体的免疫抑制原理将亲和度低的抗体去掉。
(4)类内距
传统的聚类算法在每次迭代时上一轮计算的结果没有被充分利用,当聚类数目增加时新的聚类中心是随机选取的,导致每次迭代时的计算量都很大。而从多次实验结果中可以发现,新的聚类中心往往来自上一轮迭代中类内距最大的类。因此的我们在算法中设定每次聚类数目增加时,新的聚类中心都直接从上一轮计算结果中类内距最大的那个类里选取,也就是将最大的类分为两个,而其他聚类中心不变,这样便可以大大提高算法的执行效率。类内距的计算公式如下:
公式中的v与d分别对应传统模糊聚类算法中的聚类中心和欧式距离,而x代表第个类簇中的第个样本。
算法的具体过程如下:
步骤一:设置算法的初始种群中抗体的个数为,并随机产生初始抗体种群(),设置算法的初始聚类数等于2,最大聚类数为max;
步骤三:选择亲和度最高的个抗体进入记忆细胞群,采用克隆选择算法中的克隆算子对记忆细胞集中的抗体种群进行克隆和变异操作,最后计算出新的抗体种群与所有抗原的亲和度,删除新的抗体种群中亲和度较低的抗体,并将欧式距离相近的抗体进行免疫抑制形成新的抗体种群’(),如果满足聚类算法的终止条件则转向下一步,否则返回步骤二;
步骤四:利用公式4算出新的抗体种群中亲和度最高的抗体,并将其所对应的聚类中心作为聚类数为C时的最优聚类结果;
步骤六:将使模糊聚类算法目标函数值最小的最佳抗体作为最终的聚类结果输出,而与抗体中每个聚类中心隶属度最大的抗原(样本数据)则是该聚类的组成部分。
3.2 云环境下的安全系统设计
云计算从本质上来讲属于一种分布式系统[6],通过大量的分布式节点为客户提供强大的计算能力和存储能力[7]。这种遍及于互联网的分布式节点给安全系统的性能提出了很高的要求,同样生物体也处于一个周围充满大量病毒和细菌等微生物的环境下,各种病菌随时都可以通过呼吸道、咽喉或者皮肤等各处侵入生物体,因此生物体的免疫系统具有天然的分布式特性,由分布在全身各处的细胞、器官以及免疫活性物质组成,这种分布式特性使得生物体不会因为局部的受伤而导致整体免疫功能的崩溃,同时免疫系统的学习和记忆机制也使得其具备很强的自适应能力。因此,免疫系统的这种分布式特性和自适应能力使得其衍生出的智能算法很容易部署在云计算平台中,具有天然的可移植性。
基于免疫原理改进的模糊聚类算法同样具有一定的分布式特性和自适应能力,因此可以将其应用于云计算平台建立一种新的网络安全入侵检测系统,算法的分布式和自适应特性可以大大提高系统的效率和性能。
将基于免疫学改进的模糊聚类算法应用于云计算平台的安全检测系统可以通过以下几步来实现:首先在云计算环境下将用户的各种访问数据和系统使用的行为数据等采集并存储在分布式文件系统(HDFS)里;然后将采集到的各种用户行为数据通过预处理程序进行标准化后存储到分布式数据库(HBase);再通过改进后的模糊聚类算法对各种行为数据进行聚类分析,判断样本数据对抗原数据库的模糊匹配程度;最后通过算法的检测结果对用户的行为进行分级预警处理。相应的系统框架模型如下图所示:
图3 云环境下的安全系统框架图
4 总结与展望
随着云计算商业化应用的不断推广,其面临的安全威胁也必将与日俱增,传统的入侵检测算法很难满足云环境下海量数据的安全需求。本文利用适合于分布式环境的克隆选择算法改进传统的模糊聚类并应用于云计算环境中,从而建立一个针对云平台的分布式入侵检测聚类模型,提高云系统的安全检测能力。
然而在进行大规模数据的聚类计算时,模糊聚类算法的迭代次数较多,计算量很大会严重影响系统的检测性能。因此我们还需要研究基于云平台的MapReduce框架将本文算法做进一步的分布式改造,充分利用云平台的海量数据计算能力,提高系统的整体安全性能。
[1]Mell P,Grance T. The NIST Definition of Cloud Computing[R].National Institute of Standards and Technology, 2009.
[2]李洁,高新波,焦李成.基于特征加权的模糊聚类新算法[J].电子学报.2006,34(1):89-92.
[3]曹永春,邵亚斌等.一种基于免疫遗传算法的聚类方法.广西师范大学(自然科学版).2013,31(3):59-64.
[4]王俊.基于云计算视角的网络安全技术实现的途径分析[J].电视指南,2018(11):269-270.
[5]张丹青.基于云计算下的计算机网络安全技术的优化策略探讨[J].中小企业管理与科技,2018(11):167-168.
[6]王志刚,蒲文彬,滕鹏国.云计算下数据安全存储技术研究[J].通信技术,2019,52(02):471-475.
[7]张晓丽,杨家海,孙晓晴等.分布式云的研究进展综述[J].软件学报,2018,29(07):2116-2132.
江苏省社会科学基金项目“大数据背景下智慧校园建设的策略与实践研究”(项目编号:15JYC001)。