一种基于云计算的恶意代码识别方法

文档序号:6366646阅读:127来源:国知局
专利名称:一种基于云计算的恶意代码识别方法
技术领域
本发明是一种基于云计算平台恶意代码识别的解决方案,主要解决当前恶意代码 变异越来越快,靠传统的病毒库更新无法达到及时查杀等问题,属于病毒检测与防护领域。
背景技术
随着计算机技术的发展,尤其是计算机网络的飞速发展,恶意代码数量有着呈指 数级增长的趋势。早期的恶意代码并没有采用过多的自我保护机制,都具有固定的特征码。 因此,反病毒软件可以利用病毒特征码匹配很容易的检测出隐藏在系统中的病毒程序。但 随着技术的发展,恶意代码纷纷采用自我保护技术对抗反病毒检测引擎。致使传统的基于 特征码定位杀毒引擎准确率大幅下降。云计算(cloud computing),是一种基于互联网的计算方式,通过这种方式,共享 的软硬件资源和信息可以按需提供给计算机和其他设备。整个运行方式很像电网。云计算 是继1980年代大型计算机到客户端-服务器的大转变之后的又一种巨变。用户不再需要 了解“云”中基础设施的细节,不必具有相应的专业知识,也无需直接进行控制,用户只需要 提交需求,云服务根据用户提交的数据计算出结果返回给用户。云计算通常涉及通过互联 网来提供动态易扩展而且经常是虚拟化的资源。

发明内容
技术问题本发明的目的是提供一种基于云计算的恶意代码识别方法,需要解决 的技术问题是,首先,当前的恶意代码变异速度加快,其依靠自身加密机制,通过不断变换 加密密钥使得产生的代码主体相似度极低,而传统的基于特征码检测引擎没有办法识别, 造成查杀率不断下降。其次,随着技术的发展,恶意代码中加入更多的自我保护技术,尤其 对现行比较流行的虚拟机查杀机制展开对抗,使得在真实环境中很简单的代码在杀毒引擎 的虚拟机里分析的过程变得异常复杂,最终达到无法识别的目的。这显然需要新的可行方 案来解决当前环境下对恶意代码的识别,从而做到有效的防御。技术方案本发明的方法是一种策略性的方法,通过引入云计算服务解决对未知 代码的识别问题,具体是通过以下方案来实现的
一、体系结构
本方案的实现主要分为两部分应用用户端应用和服务器端应用。服务器端应用这 里的服务器端应用泛指的是多个不同功能的服务器相互联接组成的服务器集群,对外表现 为一个整体,相互配合共同完成相应功能,包括哈希匹配服务器、恶意代码检测服务器和特 征行为提取服务器。客户端应用为一个功能简单的杀毒引擎,包括二进制特征码匹配引擎、 行为特征匹配引擎、小型的二进制以及行为特征数据库和可疑代码提交系统。下面我们给出几个具体部分的说明
哈希匹配服务器主要功能为根据客户端提交的代码的哈希值,在服务器的哈希值数 据库中进行查找,并返回结果,从而对客户端代码执行识别。〔0007〕 恶意代码检测服务器主要功能为对客户端提交的未知代码,通过服务器强大的 计算能力,以及配合人工分析对其进行确定。
〔0008〕 特征行为提取服务器对确定的恶意代码行为进行分析,提取特征行为,并进行储存。
〔0009〕 二进制特征码匹配引擎用于对未知代码进行简单的二进制特征匹配。
〔0010〕 行为特征匹配引擎用于对未知代码进行深层次的行为特征匹配。
〔0011〕 小型的二进制以及行为特征数据库用于对常见的恶意代码进行快速识别。
〔0012〕 可疑代码提交系统对用户认为的可疑的未知代码提交给云服务器进行识别。 〔0013〕 二、方法流程
本发明的一种基于云计算的恶意代码识别方法所包含的步骤为
步骤1 :用户通过网站或是其它形式下载安装客户端程序,并与服务器建立连接;
步骤2 :当用户对某个未知代码检测时,首先由本机的二进制特征引擎进行快速检测; 步骤3 :当二进制特征引擎没有检测出结果,待检测代码会提交给行为特征检测引擎 做比较准确的检测;
步骤4行为特征检测引擎没有得到检测结果时,客户端会计算出待检测代码的哈希 值提交给哈希匹配服务器检测;
步骤5哈希匹配服务器根据客户端提交的待检测代码哈希值在数据库中查找,给出 最终的检测结果;
步骤6 :用户向恶意代码检测服务器提交可疑文件进行检测;
步骤7 :恶意代码检测服务器利用自身的强大的检测引擎,以及利用病毒分析专家人 工检测的方式对用户提交的未知代码做准确的判断;
步骤8恶意代码检测服务器将对确认为恶意代码的文件计算哈希值,提交给哈希匹 配服务器,保存到其数据库,以便以后的哈希匹配检测;另外恶意代码检测服务器会将该文 件提交给特征行为提取服务器;
步骤9 :特征行为提取服务器根据大量恶意代码检测服务器提交过来的行为特征相似 的文件,提取其中的行为特征保存,并且会不定时的更新给客户端程序,以便客户端程序进 行特征行为匹配检测。
〔0014〕 有益效果本发明方法提出了基于云计算的恶意代码识别方案,主要用于快速准 确的识别恶意代码,达到保护系统不受恶意代码攻击的目的。下面我们给出具体的说明。
1.高效性
由于客户端只有二进制特征码匹配引擎和简单的行为特征匹配引擎,并且特征数据库 中的特征比较少。如果没有识别出,客户端会简单的计算出代码的哈希值,提交给哈希匹配 服务器进行匹配。整个过程比现行的杀毒引擎要快速高效。
〔0〇15〕 高识别率
由于采用了云计算服务,任何客户端识别出的恶意代码,系统都会计算出该代码的哈 希值保存到哈希匹配服务器,以供其他客户端识别。另外,在客户端无法识别的未知代码, 会通过可疑代码提交系统提交给云端恶意代码检测服务器。恶意代码检测服务器依靠自 身的高性能处理能力,以及加上病毒分析专家的人工分析对被提交的代码做极其准确的判 别。
3.低误报率
由于采用了云计算服务,大量的对未知代码检测工作交由恶意代码检测服务器以及加 上病毒分析专家的人工分析,判断的结果相对而言较为准确。4.轻巧性
本系统充分的发挥了云计算的优势,不再像传统的杀毒软件那样经常的更新病毒特征 库。而是在客户端保存一份简单常用的特征库,而在云端服务器上更新一份比较全面完善 的特征库。特征行为提取服务器根据大量类似的恶意代码提取出行为特征更新给用户数据库。


图I为系统整体架构图。图2为哈希匹配检测流程图。图3为可疑代码提交检测流程图。
具体实施例方式系统的主要工作流程如下
I.用户首先通过网络下载用户端程序,安装完成后用户电脑会拥有ー个功能简单的 杀毒引擎,包括ニ进制特征码匹配引擎、行为特征匹配引擎、小型的ニ进制以及行为特征数 据库和可疑代码提交系统。2.当用户选定对ー个未知代码进行检测吋,杀毒引擎会根据本地的小型ニ进制 特征码数据库,对代码进行快速识别。3. ニ进制特征码匹配引擎匹配成功,告诉用户该代码为恶意代码。否则利用行 为特征匹配引擎,对未知代码进行深层次分析。4.行为特征匹配引擎成功,告诉用户该代码为恶意代码。否则利用哈希算法计 算出未知代码的哈希值,提交给哈希匹配服务器,
5.哈希匹配服务器根据用户提交的代码哈希值,利用服务器储存的哈希数据库进行 匹配。匹配成功告诉用户,该代码为恶意代码。6.用户通过可疑代码提交系统将认为可疑的未知代码提交到恶意代码检测服务 器,服务器利用自身強大的计算能力,以及结合人工分析手段对未知代码进行分析判断。确 定为恶意代码,则计算出该代码的哈希值,提交给哈希匹配服务器,保存入数据库。并将该 代码提交给特征行为提取服务器。否则不做任何处理。7.特征行为提取服务器对恶意代码检测服务器提交的恶意代码进行行为特征分 析,提取行为特征保存,并更新给用户的行为特征数据库。为了方便描述,我们假定有如下基于云计算的恶意代码识别系统应用实例
假定用户Alice希望通过本系统对ー个未知代码进行识别检测,具体实施方式
如下 步骤I =Alice首先下载并安装应用端程序,安装完成客户端电脑将拥有了四部分组 件,包括ー个轻量级的ニ进制特征码数据库、ー个行为特征数据库、一个可疑代码提交系 统、一个ニ进制特征码匹配引擎和ー个行为特征匹配引擎。步骤2 :客户端应用跟据用户选择的待检测代码,首先利用ニ进制特征码匹配引擎匹配,在一次初步的识别,匹配成功则直接告诉Alice这是个恶意代码,否则提交行为特 征匹配引擎。步骤3 :在二进制特征码匹配引擎匹配后没有得到准确结果时,行为特征匹配引 擎会对被提交的未知代码进行匹配检测。行为特征匹配引擎会对未知代码做一次比较准确 的检测,匹配成功则直接告诉Alice这是个恶意代码,否则计算未知代码的哈希值,提交给 哈希匹配服务器。步骤4:哈希匹配服务器中保存着一份数据库,包含大量已知恶意代码的哈希值。 哈希匹配服务器会根据用户提交的未知代码哈希值,在数据库中快速的查找。如果数据库 中有该哈希值的记录,这告诉用户该文件为恶意代码,否则告诉用户该文件为安全文件。步骤5 :用户在对上述一系列检测依然有疑虑的话,可以通过客户端自带的可疑 代码提交系统将未知代码提交给恶意代码检测服务器做一次全面的检测。步骤6 :恶意代码检测服务器中有着高性能的检测引擎,利用服务器的高性能配 置对未知代码的所有行为进行模拟检测,另外还会配合病毒分析专家的人工分析,最终给 未知代码一个较为准确的判定结果。步骤7 :恶意代码检测服务器一旦确认了被检测的未知代码为恶意代码,会计算 出该代码的哈希值,并提交给哈希匹配服务器进行保存以便以后的哈希匹配使用。步骤8 :恶意代码检测服务器会将确认的恶意代码提交一份给特征行为提取服务 器,特征行为提取服务器根据大量行为类似的恶意代码提取出其共同的行为特征,保存到 数据库,并对客户端程序做不定期的更新,以便客户端做行为特征匹配使用。
权利要求
1. 一种基于云计算的恶意代码识别方法,其特征在于该方法所包含的步骤为步骤1:用户通过网站或是其它形式下载安装客户端程序,并与服务器建立连接;步骤2 :当用户对某个未知代码检测时,首先由本机的二进制特征引擎进行快速检测; 步骤3 :当二进制特征引擎没有检测出结果,待检测代码会提交给行为特征检测引擎 做比较准确的检测;步骤4 :行为特征检测引擎没有得到检测结果时,客户端会计算出待检测代码的哈希 值提交给哈希匹配服务器检测;步骤5:哈希匹配服务器根据客户端提交的待检测代码哈希值在数据库中查找,给出 最终的检测结果;步骤6 :用户向恶意代码检测服务器提交可疑文件进行检测;步骤7 :恶意代码检测服务器利用自身的强大的检测引擎,以及利用病毒分析专家人 工检测的方式对用户提交的未知代码做准确的判断;步骤8 :恶意代码检测服务器将对确认为恶意代码的文件计算哈希值,提交给哈希匹 配服务器,保存到其数据库,以便以后的哈希匹配检测;另外恶意代码检测服务器会将该文 件提交给特征行为提取服务器;步骤9 :特征行为提取服务器根据大量恶意代码检测服务器提交过来的行为特征相似 的文件,提取其中的行为特征保存,并且会不定时的更新给客户端程序,以便客户端程序进 行特征行为匹配检测。
全文摘要
本发明是一种基于云计算的恶意代码识别方法,需要解决的技术问题是,首先,当前的恶意代码变异速度加快,其依靠自身加密机制,通过不断变换加密密钥使得产生的代码主体相似度极低,而传统的基于特征码检测引擎没有办法识别,造成查杀率不断下降。其次,随着技术的发展,恶意代码中加入更多的自我保护技术,尤其对现行比较流行的虚拟机查杀机制展开对抗,使得在真实环境中很简单的代码在杀毒引擎的虚拟机里分析的过程变得异常复杂,最终达到无法识别的目的。这显然需要新的可行方案来解决当前环境下对恶意代码的识别,从而做到有效的防御。
文档编号G06F21/00GK102663284SQ20121007536
公开日2012年9月12日 申请日期2012年3月21日 优先权日2012年3月21日
发明者付雄, 孙力娟, 季一木, 戴华, 王汝传, 雷迟骏, 韩志杰 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1