恶意代码自动分析方法及系统的制作方法

文档序号:6428924阅读:368来源:国知局
专利名称:恶意代码自动分析方法及系统的制作方法
技术领域
本发明属于网络安全领域,涉及针对计算机和智能手机终端的恶意代码自动分析系统,尤其涉及这种恶意代码自动分析系统和恶意代码自动分析方法。
背景技术
网络在提供便利的信息与资源共享的同时,由于其多样化的传播途径和复杂的应用环境,给用户带来了各种各样的安全风险。恶意代码的入侵则成为近年来广大个人用户使用计算机和智能手机过程中需要面对的首要安全问题。恶意代码入侵轻则浪费系统资源、篡改用户的浏览器或者弹出广告页面,重则盗取用户资料、机密文件,甚至通过毁坏系统文件、格式化硬盘等方式破坏系统,给用户造成了巨大的经济损失。对于企业来说,一旦 内部敏感信息泄露,或者内部网络遭到破坏,造成的损失都是十分致命的。在这种背景下,快速的恶意代码分析系统,能够对恶意代码危害行为进行快速有效的识别,并对恶意代码的阻断和清除提供有利依据。恶意代码分析技术主要包含两种静态分析技术和动态分析技术。静态分析技术是指在不运行恶意代码的情况下,利用分析工具对恶意代码的静态特征和功能模块进行分析的方法,利用静态分析方法,可以找到恶意代码的特征字符串、特征代码段等,还可以得到恶意代码的功能模块和各个功能模块的流程图。静态分析的好处是可以避免恶意代码执行过程对分析系统的破坏。恶意代码从本质上是由计算机指令构成的,根据分析过程是否考虑构成恶意代码的计算机指令的语义,可以把静态分析方法分成基于代码特征的分析方法和基于代码语义的分析方法两种类型。传统的静态分析,基于代码特征检测的方法已经不能阻止越来越多的未知恶意代码的攻击。现在的恶意代码已经采用了变形、模糊变换、多态等技术,基于特征码的分析方法并不能对恶意代码进行准确的分析,且漏报误报率高。目前,病毒、木马等非法程序的种类迅速增加、变化不断加快,带来的危害日益严重,而特征码的提取又必然滞后于非法程序的出现。动态行为分析,就是根据程序的动态行为特征(如在注册表设置自启动项等)判断其是否可疑。恶意代码要达到一定的目的,必须会对系统进行某些操作,比如添加启动项、网络连接、创建进程、注册表操作、文件操作等。通过在虚拟环境中执行恶意代码,并记录其运行过程中的各种行为,就可以比较真实的得到有关恶意代码的信息。动态行为分析具有可检测特征码未知的恶意程序的特点,所以成为目前国内外反病毒、反木马等领域研究的热点。

发明内容
本发明提供一种恶意代码自动分析方法及系统,能够对计算机和智能手机中的已知恶意代码进行快速有效的识别,并且对于未知的恶意代码可准确的分析其运行过程中的各种恶意操作行为。该恶意代码自动分析方法包括以下步骤第一步样本匹配计算样本文件的HASH值,同原始分析的样本进行对比判断是否曾分析过,如果分析过则直接返回以前的分析结果,缩短分析时间;第二步对于未分析过的样本,调用杀毒引擎进行病毒扫描,判断恶意代码是否是已知恶意代码,对于已知恶意代码,获得其恶意代码名称、种类、危害等级信息;第三步对于未知恶意代码样本,进行更加全面的动态分析,根据恶意代码运行的平台不同分为计算机恶意代码和手机恶意代码;对于计算机恶意代码,采用虚拟机技术进行动态分析;对于智能手机病毒,在模拟器或真实手机中运行恶意代码程序,记录下恶意代码运行过程中的动态行为,利用手机的恢复出厂设置功能还原分析环境。该恶意代码自动分析方法采用分布式系统以全局方式管理系统资源,当用户提交一个作业时,分布式系统在系统中选择服务器,将用户的任务提交给该服务器,过程中用户 不会意识到有多个服务器的存在。该恶意代码自动分析方法采用同一功能对应多个服务器的方法,由多个功能服务器同时执行接收到的不同任务,任务的分发由控制中心负责,分布式服务器分为MD5匹配服务器、扫描服务器、分析服务器;控制中心进行任务分配时根据任务的种类先找到对应类型的服务器,将新任务分配给待处理任务数目最小的服务器。所述的分布式服务器同一类服务器有多个。该恶意代码自动分析系统包括客户端浏览器、控制中心、样本接收和登记模块、样本处理模块、报告生成模块、客户信息数据库;样本处理模块包括样本扫描模块和样本分析模块;其中用户通过客户端浏览器登录到恶意代码分析系统网站,将可疑样本通过HTTP上传到服务器端,接收服务器端返回的恶意代码分析报告;控制中心负责协调各个模块处理流程,包括对各个模块下达处理命令以及接收命令完成结果,是分布式系统进行任务调度的管理模块;样本接收和登记模块接收客户端上传的样本信息,将样本文件保存到本地磁盘,并将样本信息及待处理的分析任务存入数据库中;样本扫描模块负责将用户新上传的样本和以前分析过的样本进行匹配,如果匹配成功则直接返回以前的分析结果,匹配未成功的样本通过杀毒引擎扫描,判断是否是已知恶意代码,如果是则返回恶意代码的名称信息;样本分析模块进行样本特征分析,在虚拟机等环境中将样本动态启动,监控其行为活动,分析结束后,将分析结果存入客户信息数据库中;报告生成模块在收到控制中心下达的报告生成命令后,从客户信息数据库中读出相关信息,生成报告,并将报告返回到客户端浏览器;客户信息数据库保存客户上传的样本信息,扫描分析结果也存入客户信息数据库中,分析报告最终也是根据该数据库的相关内容生成的。本发明的有益效果是,采用静态分析和动态分析相结合的方法,自动化快速的分析计算机系统和智能手机系统的各种恶意代码,生成恶意代码分析报告。报告中给出已知恶意代码的名称、危害等级等信息,对于未知恶意代码能够准确、全面的描述其特征和行为,为研究恶意代码防御和清除方法提供依据。


图I是恶意代码自动分析系统原理结构图。
具体实施例方式下面结合附图对本发明作进一步介绍。
该恶意代码分析过程经过三个步骤首先,进行样本匹配,计算样本文件的HASH值,和以前分析过的样本进行对比判断是否曾分析过,如果分析过则直接返回以前的分析结果,缩短分析时间。然后,对于未分析过的样本,调用杀毒引擎进行病毒扫描,判断恶意代码是否是已知恶意代码。对于已知恶意代码,可以获得其恶意代码名称、种类、危害等级等信息。最后,对于未知恶意代码样本,进行更加全面的动态分析,根据恶意代码运行的平台不同分为计算机恶意代码和手机恶意代码。对于计算机恶意代码,采用虚拟机技术进行动态分析。在虚拟机中恶意代码的动态行为可以完整的展现,并且便于实现分析环境的恢复。对于智能手机病毒,在模拟器或真实手机中运行恶意代码程序,记录下恶意代码运行过 程中的动态行为,利用手机的恢复出厂设置功能还原分析环境。分布式系统是以全局方式管理系统资源的,它可以为用户任意调度网络资源,并且调度过程是“透明的”。当用户提交一个作业时,分布式系统能够在系统中选择最合适的服务器,将用户的任务提交给该服务器。在这个过程中,用户并不会意识到有多个服务器的存在,整个系统就好像一个服务器一样。本系统为了适应多任务的同时执行,米用了同一功能对应多个服务器的方法。系统实际运行过程中将由多个功能服务器同时执行接收到的不同任务,任务的分发由总控中心负责,达到任务并行处理的效果,加快系统处理任务的速度。分布式服务器有三类,分别是MD5匹配服务器、扫描服务器、分析服务器。同一类服务器可以有多个,总控中心进行任务分配时会根据任务的种类先找到对应类型的服务器,将新任务分配给待处理任务数目最小的服务器,从而更好地利用分布式计算机资源。该恶意代码自动分析系统包括I)客户端浏览器用户通过浏览器登录到恶意代码分析系统网站,将可疑样本通过HTTP上传到服务器端。接收服务器端返回的恶意代码分析报告,报告以网页形式展现。2)控制中心负责协调各个模块处理流程。包括对各个模块下达处理命令以及接收命令完成结果。是分布式系统进行任务调度的管理模块。3)样本接收和登记接收客户端上传的样本信息,将样本文件保存到本地磁盘,并将样本信息及待处理的分析任务存入数据库中。4)样本处理模块该模块由两个子模块组成样本扫描模块和样本分析模块。a)样本扫描模块样本特征匹配负责将用户新上传的样本和以前分析过的样本进行匹配,匹配算法采用MD5。如果匹配成功则直接返回以前的分析结果。这里运用了文件特征匹配技术,可以将该模块做成分布式的系统。杀毒引擎样本查毒将匹配未成功的样本通过杀毒引擎扫描,判断是否是已知恶意代码。如果是则返回恶意代码的名称等信息。这里运用了病毒扫描技术,可以将该模块做成分布式的系统。b)样本分析模块
样本特征分析在虚拟机等环境中,将样本动态启动,监控其行为活动,主要包括文件、进程、注册表、网络连接、启动项等方面。分析结束后,将分析结果存入客户信息数据库中。这里运用了行为分析技术和虚拟机技术,将该模块做成分布式的系统。5)报告生成模块该模块在收到总控下达的报告生成命令后,从客户信息数据库中读出相关信息,生成报告,并将报告返回到客户端浏览器。6)客户信息数据库 保存客户上传的样本信息,扫描分析结果也存入客户信息数据库中,分析报告最终也是根据该数据库的相关内容生成的。
权利要求
1.恶意代码自动分析方法,其特征在于,包括以下步骤 第一步样本匹配计算样本文件的HASH值,同原始分析的样本进行对比判断是否曾分析过,如果分析过则直接返回以前的分析结果,缩短分析时间; 第二步对于未分析过的样本,调用杀毒引擎进行病毒扫描,判断恶意代码是否是已知恶意代码,对于已知恶意代码,获得其恶意代码名称、种类、危害等级信息; 第三步对于未知恶意代码样本,进行更加全面的动态分析,根据恶意代码运行的平台不同分为计算机恶意代码和手机恶意代码;对于计算机恶意代码,采用虚拟机技术进行动态分析;对于智能手机病毒,在模拟器或真实手机中运行恶意代码程序,记录下恶意代码运行过程中的动态行为,利用手机的恢复出厂设置功能还原分析环境。
2.如权利要求I所述的恶意代码自动分析方法,其特征在于,该方法采用分布式系统 以全局方式管理系统资源,当用户提交一个作业时,分布式系统在系统中选择服务器,将用户的任务提交给该服务器,过程中用户不会意识到有多个服务器的存在。
3.如权利要求I或2所述的恶意代码自动分析方法,其特征在于,该方法采用同一功能对应多个服务器的方法,由多个功能服务器同时执行接收到的不同任务,任务的分发由控制中心负责,分布式服务器分为MD5匹配服务器、扫描服务器、分析服务器;控制中心进行任务分配时根据任务的种类先找到对应类型的服务器,将新任务分配给待处理任务数目最小的服务器。
4.如权利要求3所述的恶意代码自动分析方法,其特征在于,所述的分布式服务器同一类服务器有多个。
5.恶意代码自动分析系统,其特征在于,包括客户端浏览器、控制中心、样本接收和登记模块、样本处理模块、报告生成模块、客户信息数据库;样本处理模块包括样本扫描模块和样本分析模块;其中用户通过客户端浏览器登录到恶意代码分析系统网站,将可疑样本通过HTTP上传到服务器端,接收服务器端返回的恶意代码分析报告;控制中心负责协调各个模块处理流程,包括对各个模块下达处理命令以及接收命令完成结果,是分布式系统进行任务调度的管理模块;样本接收和登记模块接收客户端上传的样本信息,将样本文件保存到本地磁盘,并将样本信息及待处理的分析任务存入数据库中;样本扫描模块负责将用户新上传的样本和以前分析过的样本进行匹配,如果匹配成功则直接返回以前的分析结果,匹配未成功的样本通过杀毒引擎扫描,判断是否是已知恶意代码,如果是则返回恶意代码的名称信息;样本分析模块进行样本特征分析,在虚拟机等环境中将样本动态启动,监控其行为活动,分析结束后,将分析结果存入客户信息数据库中;报告生成模块在收到控制中心下达的报告生成命令后,从客户信息数据库中读出相关信息,生成报告,并将报告返回到客户端浏览器;客户信息数据库保存客户上传的样本信息,扫描分析结果也存入客户信息数据库中,分析报告最终也是根据该数据库的相关内容生成的。
全文摘要
本发明属于网络安全领域,为一种恶意代码自动分析方法及系统。包括客户端浏览器、控制中心、样本接收和登记模块、样本处理模块、报告生成模块、客户信息数据库;首先计算样本文件的HASH值,同原始分析的样本进行对比判断是否曾分析过,如果分析过则直接返回以前的分析结果;对于未分析过的样本,调用杀毒引擎进行病毒扫描,判断恶意代码是否是已知恶意代码,对于已知恶意代码,获得其恶意代码名称、种类、危害等级信息;对于未知恶意代码样本,进行更加全面的动态分析,根据恶意代码运行的平台不同分为计算机恶意代码和手机恶意代码。本发明能够对计算机和智能手机中的已知恶意代码进行快速有效的识别,并且对于未知的恶意代码可准确的分析其运行过程中的各种恶意操作行为。
文档编号G06F21/00GK102708309SQ20111020367
公开日2012年10月3日 申请日期2011年7月20日 优先权日2011年7月20日
发明者张冬梅, 武斌, 王秀娟, 芦天亮, 郑康锋 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1