一种僵尸程序的检测方法技术

技术编号:3943960 阅读:585 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种僵尸程序的检测方法,属于信息安全技术领域,该方法包括:提取正常程序集合B的抗体基因构建抗体基因集合Agdl,并由不同抗体基因长度的抗体基因集合Agdl组成抗体基因库Agd的步骤;用抗体基因集合Agdl对正常程序集合B’进行特征提取构建正常程序状态模型的步骤;由正常程序状态集合Cb生成检测器,并由检测器生成检测器集合;由检测器集合检测僵尸程序的步骤;上述抗体基因库和检测器动态进行演化。本发明专利技术的方法不仅能识别已知的僵尸程序,而且通过自我学习与进化,能在实时变化的计算机环境中发现新的僵尸程序或已知僵尸程序的变种,有效地解决了传统计算机病毒特征码库无法与多态僵尸程序同步的突出矛盾。

【技术实现步骤摘要】

本专利技术涉及信息系统安全领域,尤其是一种基于免疫的僵尸程序的检测方法
技术介绍
传统的计算机病毒检测主要是基于特征码技术,仅当其特征库中事先保存有病毒 的特征码的情况下才能检测到,否则病毒将会逃过检测。僵尸程序是在传统计算机病毒、木 马和蠕虫基础上发展而成的一种新型计算机恶意代码程序,在僵尸程序中融合了加密、变 异、防查杀等多种防护机制,尤其是僵尸程序采用变异多态技术,在每次感染过程中均生成 一个新样本,给传统计算机病毒检测技术带来了很大挑战。公开号为CN101404658的中国专利申请案,公开了一种检测僵尸网络的方法,其 方法可以对整个僵尸网络进行整体的分析和防御。其检测僵尸网络的方法为首先从网络 数据包中提取出IRC协议数据;然后将协议数据与数据特征库中的特征码进行匹配,获取 僵尸网络数据包;最后在确定同一僵尸网络中的控制服务器、僵尸计算机、僵尸网络控制计 算机。该方法存在以下缺陷①仅能检测基于IRC协议的僵尸网络,通用性差;②仅能检测 未加密的僵尸网络,对于加密命令和控制通道的僵尸网络无能为力;③基于特征码技术检 测,不能检测已知僵尸网络的变种或新的僵尸网络,适应性差。
技术实现思路
本专利技术的目的是针对现有技术在僵尸程序的检测上存在的缺点,提出一种基于免 疫的僵尸程序检测方法,该方法不仅能识别已知的僵尸程序,而且通过自我学习与进化,能 在实时变化的计算机环境中发现新的僵尸程序或已知僵尸程序的变种,有效地解决了传统 计算机病毒特征码库无法与多态僵尸程序同步的突出矛盾。本专利技术为基于自然界生物体的免疫功能提出的专利技术,其原理如下自然界生物在 与外界细菌、病毒等病原体长期斗争的过程中,进化出了一套独特的保护机制——免疫保 护机制,它能有效地保护生物机体免遭外界病原体的侵害,并具有耐受性、自学习、分布式 并行处理、多样性、自组织、鲁棒性、自适应和免疫记忆等优良特性。生物免疫系统能记住以 前的病原体,当这些病原体进入生物体内,免疫细胞迅速克隆扩增,释放出大量的抗体来捕 获抗原。当新的病原体进入生物体内时,免疫系统迅速通过高频变异的自学习机制,进化出 高亲和力的免疫细胞,高和力的免疫细胞迅速克隆扩增以消灭抗原,高新和力的免疫细胞 进化成为记忆细胞,在下一次遭遇同样抗原时迅速做出反应。同时,生物免疫采用否定选择 机制巧妙地解决了免疫系统攻击自身的问题,即误杀的问题。为了更好的说明本专利技术所述的技术方案,须按如下方式定义系统中使用的一些名 词、符号以及一些公式程序集合设字符串集合Ω= (αι}',有程序集合 。定义正常程序 ,僵 EcQBcE尸程序Jf c 5,有5门-V = Φ JυM = S。正常程序i 的状态向量集合FtCiU,僵尸等恶意4程序I的状态向量集合K1CU ’有力η Fm = Φ, Fi u Vlli = U。抗体基因抗体基因为从正常程序中提取的二进制字符串,定义长度为/的抗体 基因集合^^为= H eA-NI = U e对,其中/为抗体基因长度(单位为字节), #为自然数,集合化为从正常程序中提取的二进制字符串。抗体基因库由不同抗体基因长度的抗体基因集合组成了抗体基因库 Agd =AgdkuAgdhu,L ,UAgdlm ,其中Ii e F,i = IL η为抗体基因长度,#为自然数。抗体基因库用于提取程序的特征,包括正常程序和僵尸程序的程序特征。自体定义自体集合S为S =、s = (αΚΓ )μ e CV c巧e i },其中G为从 正常程序中提取的状态向量集合,《/为自体元素自体半径。检测器定义检测器集合为 = P ifh,rd、\ch € U,rd e i ;),其中为检测器检 测半径。本专利技术的目的是基于上述的原理,提出一种僵尸程序检测方法,包括以下步骤 ,包括提取正常程序集合B的抗体基因构建抗体基因集合J#//,并由不同抗体基因长度的抗体基因集合J^//组成抗体基因库JM的步骤;用抗体基因 集合J^Z7对正常程序集合B’进行特征提取构建正常程序状态模型的步骤;由正常程序状 态集合G生成检测器,并由检测器生成检测器集合;由检测器集合检测僵尸程序的步骤。上述抗体基因集合J^Z7构建的方法包括步骤S101,初始化抗体基因长度为1字 节,初始抗体基因集合J^z7为空,变量i为1 ;步骤S102,对正常程序集合B的第i个程序 為提取长度为1的字符串& ;步骤S103,判断字符串力是否已包含于抗体基因集合J^/7, 若是,则i=i+l并返回执行步骤S102,否则进行步骤S104,将字符串力添加到抗体基因集 合Md1 ;步骤S105,判断程序為是否为正常程序集合B的最后一个程序,若是则结束,否则 i=i+l并返回执行步骤102。上述构建正常程序状态模型的步骤包括步骤S201,初始化自体元素自体半径r, 正常程序集合B’ ;步骤S202,依次用抗体基因库的每个抗体集合对正常程序集合B’的每个 程序提取程序特征c,得到其正常程序状态集合G ;步骤S203,由正常程序特征集合C;和自 体元素自体半径r构建正常程序状态模型。所述由正常程序特征集合C;和自体半径r构 建正常程序状态模型的方法如果一个程序与正常程序特征集合G中的一个程序的欧几里 德距离小于或等于自体元素自体半径r,则该正常程序,否则为僵尸程序。上述由正常程序状态集合C;生成检测器的步骤包括步骤S301,初始化正常程序 的自体半径rd为r,变量χ等于最大值MAX;步骤S302,随即生成一个检测器d ;步骤S303, 计算检测器d与正常程序状态集合Cb中的任何一个程序的间的欧几里德距离f,如果f小 于变量X,则变量χ的值更新为f ;步骤S304,在遍历完整个正常程序状态集合C;后,判断变 量χ的值是否小于或等于自体半径r,若是,则d为一个非法的检测器,予以舍弃,否则d为 一个合法的检测器予以保留,并得到该检测器的检测半径d. rd,检测器的检测半径d. rd为 变量χ与自体半径r的差值。上述由检测器检测僵尸程序的步骤包括步骤S401,对待检程序e进行程序特征提取;步骤S402,计算检测器集合中每一个检测器与待检程序特征的距离χ’;步骤S403,判 断X’是否小于或等于检测器的检测半径d. rd,若是,则待检测程序e为僵尸程序,否则待检 测程序e为正常程序。前述程序特征的提取方法包括步骤Sal,初始化抗体基因长度为1字节,计 数器Coimtb=Q和COimtm=Q ;步骤Sa2,对待提取程序特征集合的程序,依次提取长度为 1字节的字符串s;步骤Sa3,判断字符串s是否已存在于抗体基因集合J^Z7,若是,则 卯&= 卯&+1,否则COuntm=COuntm+Y ;步骤Sa4,判断待提取程序特征的程序是否已遍 历完,若不是,则返回步骤Sa2,否则进行步骤Sa5,计算待提取程序特征的特征值c,C= coun tj (coun tb—coun tm ) 0上述抗体基因库根据计算机程序的动态变化进行动态的演化,检测器根据抗体基 因库的动态演化进行动态演化。由于本专利技术采用了以上的技术方案,因此本专利技术可以达到以下的有益技术效果 本专利技术公开的僵尸程序检测方法,不仅能识别已知的僵尸程序,而且通过自我学习与进化, 能在实时变化的本文档来自技高网...

【技术保护点】
一种僵尸程序的检测方法,其特征在于,包括:提取正常程序集合B的抗体基因构建抗体基因集合Agd↓[l],并由不同抗体基因长度的抗体基因集合Agd↓[l]组成抗体基因库Agd的步骤;用抗体基因集合Agd↓[l]对正常程序集合B’进行特征提取构建正常程序状态模型的步骤;由正常程序状态集合C↓[b]生成检测器,并由检测器生成检测器集合;由检测器集合检测僵尸程序的步骤。

【技术特征摘要】

【专利技术属性】
技术研发人员:曾金全唐伟文
申请(专利权)人:四川通信科研规划设计有限责任公司
类型:发明
国别省市:90[中国|成都]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1