一种基于树突细胞算法的恶意代码检测方法

文档序号:6521175阅读:275来源:国知局
一种基于树突细胞算法的恶意代码检测方法
【专利摘要】本发明提出了一种基于树突细胞算法的恶意代码检测方法,主要对树突细胞算法进行了改进,解决了应用树突细胞算法进行恶意代码监测时信号的产生与分类问题;通过成熟环境抗原值MCAV与异常阈值进行数值的大小比较:如果成熟环境抗原值MCAV大于异常阈值,则判定进程非法;如果成熟环境抗原值MCAV小于异常阈值,则判定进程合法。该方法提高恶意代码的检测效率及降低误报率并且实现对未知病毒的检测。较之其他检测方法,该方法模拟生物免疫系统的工作原理,可以更好的解决恶意代码检测问题。
【专利说明】一种基于树突细胞算法的恶意代码检测方法
【技术领域】
[0001]本发明提出了一种基于树突细胞算法的恶意代码检测方法,主要对树突细胞算法进行了改进,解决了应用树突细胞算法进行恶意代码监测时信号的产生与分类问题,属于信息安全领域问题。
【背景技术】
[0002]随着通信网络技术的飞速发展,基于IP的分组交换网日益发展壮大,给整个社会带来了日新月异的变化,然而网络技术的飞速发展也带来了很多安全问题。其中,恶意代码对社会、经济及军事造成的损失占有最大的比例。恶意代码是一段经过存储介质和网络进行传播,从一台计算机系统到另外一台计算机系统,未经授权认证破坏计算机系统完整性的程序或代码。它包括计算机病毒、蠕虫、特洛伊木马、逻辑炸弹、恶意移动代码、后门等。从第一个病毒产生至今,恶意代码的数量与危害都得到了极大的发展。以网络为主要传播途径,恶意代码向智能化、人性化、隐蔽化、多样化、网络化和主动攻击性方向发展,其破坏性也更强。恶意代码已经成为信息战的主要攻击手段之一,网络安全问题已经上升到了国家安全的高度。因此,恶意代码的检测与查杀得到极大的关注。
[0003]目前常用防火墙、入侵检测系统、杀毒软件、后门补丁等工具来防治恶意代码。这些工具对于防范恶意代码入侵和查杀恶意代码起到了重要的作用,但是也存在一些不足之处。例如,防火墙在控制不安全服务、控制站点访问、记录日志等方面取得了巨大的成功,但是对于已经进入内部的恶意代码或者后门就无能为力了。入侵检测系统与杀毒软件都不能查杀未知病毒,而且需要的计算开销相对较高。由于生物免疫系统与计算机安全问题的类同性,人们试图用生物免疫的思想与机制来处理各种计算机安全问题。
[0004]计算机免疫技术是人工免疫学在计算机及网络安全方面的应用,其目的是为计算机提供模拟人类生物学的高级免疫系统,从而解决病毒防御、网络入侵、异常检测等计算机安全问题。目前,基于计算机免疫技术的研究主要集中在基于自体/非自体识别(Self/Nonself Discrimination, SNSD),基于危险理论(Danger Theory, DT)及树突细胞算法(Dendritic Cell Algorithm, DCA)三个方面。自体/非自体识别理论是最早提出的免疫学经典理论,危险理论最初是由Polly Matzinger于1994年提出的,相比于前者,危险模型能够更好的解释生物免疫中的绝大多数问题,也更适合将其应用于计算机安全方面。而树突细胞算法是在危险理论的基础上,根据人类免疫系统中树突细胞的功能抽象出来的,对免疫系统各部分都有了更明确的定义,但DCA算法也存在一些局限性:首先,算法建立在系统已知输入信号类型的情况下,对系统如何判定信号类型方面的研究较少,而普遍假设信号由“专业”的细胞检测和判定。其次,使用加权求和公式来模拟生物信号转换机制建模,并且采用的权值是经验数据,虽然减少了计算开销,但是过于简单,不能准确的反映信号的融合。第三,DCA中随机为各个DC分配阈值,阈值的不合理可能导致DC检测失败。也就是说,如果阈值过大,DC累计的CSM (Co-StimulatoryMolecules,协同刺激分子)值无法超过阈值,导致DC细胞无法分化。相反地,如果阈值过小,DC更新频率过快,增加计算强度。[0005]综上,研究基于计算机免疫的恶意代码检测技术具有以下几点意义:首先,通过免疫技术,可以解决当前计算机安全技术存在的问题。例如,利用免疫技术检测未知病毒,可以很好地弥补安全策略和计算机安全漏洞等安全防护措施存在的弊端。计算机免疫系统可以很好地解决计算机后门的安全漏洞,因为在计算机免疫系统中,对不同途径的入侵,免疫系统的反应机制是相同的。其次,计算机免疫技术可以克服安全系统本身所存在的漏洞。传统的安全系统如杀毒软件对于那些具有反制功能的恶意代码将无能为力,而计算机免疫系统把计算机作为一个整理来保护,计算机免疫系统也被作为被防护的一部分,保护计算机其他系统安全的同时能够识别那些破坏计算机免疫系统工作的入侵,作出警示或生成相应的免疫细胞以修补计算机免疫系统存在的漏洞。

【发明内容】

[0006]技术问题:本发明的目的是提出一种基于树突细胞算法的恶意代码检测方法,以提高恶意代码的检测效率及降低误报率并且实现对未知病毒的检测。较之其他检测方法,该方法模拟生物免疫系统的工作原理,可以更好的解决恶意代码检测问题。
[0007]技术方案:本发明的一种基于树突细胞算法的恶意代码检测方法具体如下:
[0008]分布于计算机的树突细胞监视计算机系统的运行情况,当检测到系统有新的进程创建时,激活检测程序;
[0009]首先,树突细胞DC以某一采集频率记录该进程运行期间的系统状态参数,包括:内存利用率、CPU利用率、注册表值的运行状态参数,系统异常报错、外部设备工作异常的系统的异常状态参数,端口、网络状况反映网络状态的系统参数,以及系统文件状态参数;每个树突细胞DC只提取一种类型的系统状态参数,每种类型的系统状态参数都定义了若干个树突细胞DC提呈;然后,基于支持向量机的信息分类器SVMSC以系统状态参数为输入,通过训练好的分类器产生“安全(+1)”、“危险(-1)”两类输出,最后,树突细胞分析器DCP以基于支持向量机的信息分类器SVMSC的输出结果为输入信号,计算输出信号,再以进程信息为依据,计算抗原环境,最终产生抗原的异常程度值,即成熟环境抗原值MCAV ;通过成熟环境抗原值MCAV与异常阈值进行数值的大小比较:如果成熟环境抗原值MCAV大于异常阈值,则判定进程非法;如果成熟环境抗原值MCAV小于异常阈值,则判定进程合法。
[0010]所述恶意代码检测的具体步骤如下:
[0011]步骤1:初始化-设定的迁移阈值thresholdi,树突细胞分析器DCP生命周期
lifespan,异常阈值threshold2以及树突细胞DC数目m;
[0012]步骤2:树突细胞DC以某一采集频率记录该进程运行期间的系统状态参数,收集和检测包括内存利用率、CPU利用率、注册表值的系统运行状态参数、系统异常报错、外部设备工作异常的系统异常状态参数、端口、网络状况的反映网络状态的系统参数以及系统文件状态参数;
[0013]步骤3:树突细胞DC群纪录系统状态参数,检测进程的异常特征标志病原相关分子模式PAMP ;
[0014]步骤4:基于支持向量机的信号分类器根据系统状态参数产生信号分类,也即产生危险信号DS,安全信号SS两类信号;
[0015]步骤5:树突细胞分析器DCP根据输入信号危险信号DS、安全信号SS、病原相关分子模式PAMP计算输出信号协同刺激分子CSM ;
[0016]步骤6:计算异常程度值成熟环境抗原值MCAV ;
[0017]步骤7:通过成熟环境抗原值MCAV与异常阈值进行数值的大小比较:如果成熟环境抗原值MCAV大于异常阈值,则判定进程非法;如果成熟环境抗原值MCAV小于异常阈值,则判定进程合法;
[0018]步骤8:提取恶意进程的异常特征标志,并写入异常特征标志库ASDB ;
[0019]步骤9:
[0020]DC突触群和分类器模拟神经网络的工作模式,根据机体的标志库ASDB表现给出信号,激励免疫系统分析;DC分析器能完成免疫系统中的检测工作,对信号与抗原进行关联,给出警报并激励免疫响应结果。
[0021]有益效果:本发明方案提出了一种基于树突细胞算法的恶意代码检测方法,旨在解决树突细胞算法在恶意代码检测的实际应用中信号的产生与分类问题,同时提高检测的正确性与对未知恶意代码的检测能力。该方法主要具有如下优点:
[0022](I)实时性:该模型是以事件为驱动的,由新进程的创建触发整个检测过程,实现了对恶意代码的实时监测。
[0023](2)准确性:本方法引入了支持向量机神经网络,充分利用其计算简单、未知样本快速判断等优点,提高了树突细胞算法中信号分类的精确性,降低误报率。另外,本方法能很好的检测未知恶意代码,整体上提高了恶意代码检测的准确性。
[0024](3)可行性:本方法通过对进程信息与行为的采集与提取,产生抗原与抗原环境,最后得到检测结果,无需研究人员或者用户的参与。相比启发式代码分析技术、行为监控法等检测方法,具有更好的可行性。
【专利附图】

【附图说明】
[0025]图1是基于树突细胞算法的恶意代码检测模型。该模型是对本发明所提出的恶意代码检测方法各部件的建模,表明该方法中包含的各功能模块的结构及相互作用。
[0026]图2是树突细胞群的工作流程示意图。表示树突细胞群的工作原理及输出结果。
[0027]图3是基于树突细胞算法的恶意代码检测方法流程。该图描述了本文提出的检测方法的工作过程。
【具体实施方式】
[0028]本发明的设计方案强调检测的效率及误报率。前者主要通过在保证算法正确的前提下,对原算法参数进行有效约减、分析过程进行必要简化来实现;后者是在原DCA算法的基础上引入了系统状态参数、支持向量机等概念,通过解决基于DCA的恶意代码检测时信号的产生与分类问题。
[0029]该方法具体如下:
[0030]分布于计算机的树突细胞监视计算机系统的运行情况,当检测到系统有新的进程创建时,激活检测程序;
[0031]首先,树突细胞DC (Dendritic Cell,)以某一采集频率记录该进程运行期间的系统状态参数,包括:内存利用率、CPU利用率、注册表值等系统的运行状态参数;系统异常报错、外部设备工作异常等系统的异常状态参数;端口、网络状况等反映网络状态的系统参数;以及系统文件等系统文件状态参数。每个树突细胞DC只提取一种类型的系统状态参数,每种类型的系统状态参数都定义了若干个树突细胞DC提呈;然后,信号分类器SVMSC(Signal Classifier based on Support Vector Machine,基于支持向量机的信息分类器)以系统状态参数为输入,通过训练好的分类器产生“安全(+1)”、“危险(-1)”两类输出,最后,树突细胞分析器DCP (Dendritic Cell Profiler,)以基于支持向量机的信息分类器SVMSC (Signal Classifier based on Support Vector Machine,)的输出结果为输入信号,计算输出信号,再以进程信息为依据,计算抗原环境,最终产生抗原的异常程度值,即成熟环境抗原值MCAV (Mature Context Antigen Value,);通过成熟环境抗原值MCAV与异常阈值进行数值的大小比较:如果成熟环境抗原值MCAV大于异常阈值,则判定进程非法;如果成熟环境抗原值MCAV小于异常阈值,则判定进程合法。
[0032]所述恶意代码检测的具体步骤如下:
[0033]1.)初始化——设定的迁移阈值thresholdi,树突细胞分析器DCP生命周期lifespan,异常阈值threshold2以及树突细胞DC数目m;
[0034]2.)树突细胞DC群纪录系统状态参数,检测进程的异常特征标志病原相关分子模式 PAMP (Pathogen Associated Molecular Pattern,);
[0035]3.)基于支持向量机的信号分类器根据系统状态参数产生信号分类,也即产生危险信号 DS (Danger Signal,),安全信号 SS (Safe Signal,)两类信号;
[0036]4.)树突细胞分析器DCP根据输入信号危险信号DS、安全信号SS、病原相关分子模式PAMP计算输出信号协同刺激分子CSM (Co-Stimulatory Molecules,);
[0037]5.)计算异常程度值成熟环境抗原值MCAV,并据此判定进程的合法性;
[0038]6.)提取恶意进程的异常特征标志,并写入异常特征标志库ASDB (Abnormal SignDatabase,)。
[0039]1、系统结构
[0040]本发明在结构上主要分为以下三个部分:树突细胞群(Dendritic Cell Group,DCG)、基于支持向量机的信号分类器(Signal Classifier based on Support VectorMachine,SVMSC)和 DC 分析器(Dendritic Cell Profiler, DCP)。
[0041]DCG由一定数量的DC组成,负责监视计算机系统的运行情况。当系统创建新的进程时,DC以某一采集频率记录该进程运行期间的系统状态。根据恶意代码运行时的症状及对系统的影响共定义了 8个参数来描述反映系统运行状态的参数(称为系统状态参数),分别是内存利用率、CPU利用率、文件、注册表值、端Π、网络状况、系统异常报错及外部设备工作异常。每个DC只提取一种类型的系统状态参数,每种类型的系统状态参数都定义了若干个DC提呈,这样做可以避免由于某个DC提呈错误引起的错检,从而提高系统的正确性。DCG的提成结果可以由三元组(系统时间,进程ID,系统状态参数)表示。
[0042]信号分类器SVMSC以系统状态参数为输入,通过训练好的分类器产生“安全(+1)”、“危险(-1)”两类输出。
[0043]DCP以SVM分类器输出的信号以及进程信息为依据,根据DCA算法思想计算抗原环境,最终产生抗原的异常程度值MCAV(Mature Context Antigen Value,成熟环境抗原值)。
[0044]DC突触群和分类器模拟神经网络的工作模式,根据机体的表现给出信号,激励免疫系统分析;DC分析器能完成免疫系统中的检测工作,对信号与抗原进行相关,给出警报并激励免疫响应。
[0045]2、方法流程
[0046]1.初始化。为各树突细胞设定统一的迁移阈值thresholdi,为DC分析器设定统一的生命周期lifespan以及异常阈值threshold2。
[0047]2.使用样本数据库训练信号分类器SVMSC。
[0048]?输入样本库中的两类训练样本向量(Xi, Yi)(i=1, 2,…,N,X∈Rn,Y∈ {-1, +1}),+1表示安全,-1表示危险。其中Xi是一个向量,由上述的系统状态参数组成,Yi为抽样时刻的信号类型。
[0049]?使用二次核函数作为信号分类器的和函数。
[0050]?利用二次规划方法求解目标函数
[0051 ]
【权利要求】
1.一种基于树突细胞算法的恶意代码检测方法,其特征在于该方法具体如下: 分布于计算机的树突细胞监视计算机系统的运行情况,当检测到系统有新的进程创建时,激活检测程序; 首先,树突细胞DC以某一采集频率记录该进程运行期间的系统状态参数,包括:内存利用率、CPU利用率、注册表值的运行状态参数,系统异常报错、外部设备工作异常的系统的异常状态参数,端口、网络状况反映网络状态的系统参数,以及系统文件状态参数;每个树突细胞DC只提取一种类型的系统状态参数,每种类型的系统状态参数都定义了若干个树突细胞DC提呈;然后,基于支持向量机的信息分类器SVMSC以系统状态参数为输入,通过训练好的分类器产生“安全(+1)”、“危险(-1)”两类输出,最后,树突细胞分析器DCP以基于支持向量机的信息分类器SVMSC的输出结果为输入信号,计算输出信号,再以进程信息为依据,计算抗原环境,最终产生抗原的异常程度值,即成熟环境抗原值MCAV ;通过成熟环境抗原值MCAV与异常阈值进行数值的大小比较:如果成熟环境抗原值MCAV大于异常阈值,则判定进程非法;如果成熟环境抗原值MCAV小于异常阈值,则判定进程合法。
2.根据权利要求1所述的基于树突细胞算法的恶意代码检测方法,其特征在于所述恶意代码检测的具体步骤如下: 步骤1:初始化- 设定的迁移阈值threshold^树突细胞分析器DCP生命周期lifespan,异常阈值thresh old2以及树突细胞DC数目m ; 步骤2:树突细胞DC以某一采集频率记录该进程运行期间的系统状态参数,收集和检测包括内存利用率、CPU利用率、注册表值的系统运行状态参数、系统异常报错、外部设备工作异常的系统异常状 态参数、端口、网络状况的反映网络状态的系统参数以及系统文件状态参数; 步骤3:树突细胞DC群纪录系统状态参数,检测进程的异常特征标志病原相关分子模式 PAMP ; 步骤4:基于支持向量机的信号分类器根据系统状态参数产生信号分类,也即产生危险信号DS,安全信号SS两类信号; 步骤5:树突细胞分析器DCP根据输入信号危险信号DS、安全信号SS、病原相关分子模式PAMP计算输出信号协同刺激分子CSM ; 步骤6:计算异常程度值成熟环境抗原值MCAV ; 步骤7:通过成熟环境抗原值MCAV与异常阈值进行数值的大小比较:如果成熟环境抗原值MCAV大于异常阈值,则判定进程非法;如果成熟环境抗原值MCAV小于异常阈值,则判定进程合法; 步骤8:提取恶意进程的异常特征标志,并写入异常特征标志库ASDB ; 步骤9: DC突触群和分类器模拟神经网络的工作模式,根据机体的标志库ASDB表现给出信号,激励免疫系统分析;DC分析器能完成免疫系统中的检测工作,对信号与抗原进行关联,给出警报并激励免疫响应结果。
【文档编号】G06F21/56GK103679025SQ201310624206
【公开日】2014年3月26日 申请日期:2013年11月26日 优先权日:2013年11月26日
【发明者】王汝传, 李鹏, 戴秋玉, 徐鹤, 黄海平, 肖甫, 蒋凌云, 徐佳, 沙超 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1