一种恶意代码检测及防御的方法

文档序号:6507319阅读:652来源:国知局
一种恶意代码检测及防御的方法
【专利摘要】一种恶意代码检测及防御的方法,与其它恶意代码检测及防御方法不同的是使用了基于P2P的无中心网络,构建了一个恶意代码检测及防御系统。对于未知的程序,并不阻止它的运行,而在后续的运行过程中会监控它。通过处理对程序的监控所得到的大量数据得到一些策略。这些策略类似于条件反射,告诉防御部分怎么处理某个程序。响应部分告诉防御部分针对某个程序应该做什么,主要内容包括终止恶意进程、终止网络连接、恢复被破坏的注册表项、恢复被破坏的文件、阻止内核模块加载、修改,恢复服务,恢复被篡改的内核信息。本发明具有的有益效果包括自主更新、快速反应、用户透明、程序透明、无后遗症。
【专利说明】一种恶意代码检测及防御的方法
【技术领域】
[0001]本发明是一种恶意代码检测及防御的方法,与其它恶意代码检测及防御方法不同的是本发明使用了基于P2P的无中心网络,构建了一个恶意代码检测及防御系统。
【背景技术】
[0002]传统意义上的恶意代码可以分为病毒、蠕虫、木马等,而随着依赖于计算机的电子商务等的兴起,病毒、蠕虫、木马等不再有明显的界限。多数的恶意代码是在利益的驱动下产生的,被制造用来盗取各种账号和钱物。一般的恶意代码检测按照代码是否执行可以分为静态检测和动态检测。静态检测包括校验和比较、特征串检查、启发式扫描、逻辑分析和网络嗅探等。动态检测包括完整性检测、系统调用跟踪、代码仿真、沙盒技术等。典型的安全软件都采用了其中几种类型的恶意代码检测技术,但是这些技术都存在不同程度的缺陷,为了应对不断产生的恶意代码,安全软件需要常常更新升级病毒库,而这些更新升级数据都需要有服务器来提供。

【发明内容】

[0003]本发明的目的是实现一种无中心节点的恶意代码检测及防御的方法。
[0004]为了实现上述目的本发明采用以下技术方案:
一种恶意代码检测及防御的方法,其特征在于包括以下步骤:
步骤1、检测,对于未知的程序,并不阻止它的运行,而在后续的运行过程中会监控它,并且和网络中的其它客户端交流关于这个未知程序的各种信息,一旦发现某个程序的恶意行为,就通告网络中的其它客户端;
步骤2、响应,响应部分是处理数据的阶段,检测部分获取的大量数据在响应部分通过处理得到防御策略,
步骤3、防御,处理恶意代码以及其带来的影响,响应部分告诉防御部分针对某个程序进行动作,主要内容包括以下几点:
1.终止恶意进程;
2.终止网络连接;
3.恢复被破坏的注册表项;
4.恢复被破坏的文件;
5.阻止内核模块加载、修改,恢复服务,恢复被篡改的内核信息。
[0005]上述技术方案中,检测部分获取的数分为两类:
一、程序执行的行为:包括对文件的访问,注册表的访问,网络的使用,
二、程序执行后操作系统或应用程序的异常:包括文件管理器、进程管理器系统组件以及安装的应用程序不能正常使用。
[0006]上述技术方案中,对程序执行的行为以及这些行为的影响中会导致异常发生的一系列行为和程序执行后操作系统或应用程序的异常,通知防御部分恢复这些行为对文件、注册表的修改,形成一个应对这一系列的策略,这些策略类似于条件反射,告诉防御部分处理某个程序,响应部分是由多个主机组成的分布式响应网络,这些主机通过网络互相连接,彼此之间共享获取到的数据。
[0007]本发明具有以下有益效果:
一、自主更新:不需要连接服务器来更新病毒数据库或者策略数据库,响应部分根据获取的数据能自主制定新的策略;
二、快速反应:一旦P2P网络中的一个客户端上发现恶意代码,能够迅速将此信息共享给其他客户端;
三、用户透明:对于用户来说,所有的操作都可以不需要用户的参与,响应部分可以自动处理;
四、程序透明:对于未知程序来说,客户端允许它执行,在没有认定它是恶意代码之前它可以一直执行;
五、无后遗症:发现恶意代码后能够恢复恶意代码所修改的文件、注册表等,删除恶意代码后不会对操作系统、应用程序有影响。
【专利附图】

【附图说明】
[0008]图1为本发明中多个主机组成的P2P网络。
【具体实施方式】
[0009]本发明提供了系统包含检测、响应、防御三个部分。
[0010](一)检测
检测是本发明中关键的一个部分,它就像是商场中的摄像头。检测是通过设置监视点来完成的,监视点设置在以下几个方面:
1.进程的创建、终止,远线程创建,内存读写,动态链接库的加载;
2.网络端口监听,数据收发,以及操作系统提供的HTTP等协议接口等;
3.注册表项的增加、删除、修改,以及注册表项对应的文件;
4.操作系统文件的删除、修改,系统目录下文件的创建、复制、移动、删除,应用程序的安装、复制、移动、删除;
5.内核模块的加载、修改等,服务的创建、启动、修改等,SPI,ΒΗ0, SSDT的修改等。
[0011]检测是数据收集的阶段,通过检测能收集到操作系统和应用程序相关的各种数据。
[0012](二)响应
响应是处理数据的阶段,通过检测获取的大量数据需要处理以得到防御策略。响应部分类似于人的神经中枢,检测部分类似于感受器,防御部分类似于效应器。采用人工智能算法实现响应部分,用收集来的数据训练以制定出一系列的策略。这些策略类似于条件反射,能告诉防御部分怎么处理某个程序。响应部分是由多个主机组成的分布式响应网络,这些主机通过网络互相连接,彼此之间共享获取到的数据。
[0013](三)防御
防御这一部分主要是处理恶意代码以及其带来的影响。响应部分告诉防御部分针对某个程序应该做什么。主要内容包括以下几点:
1.终止恶意进程;
2.终止网络连接;
3.恢复被破坏的注册表项;
4.恢复被破坏的文件;
5.阻止内核模块加载、修改,恢复服务,恢复被篡改的内核信息。
[0014]防御部分的工作对于整个系统来说具有重要的意义,它的存在使得整个系统具有自我修复的能力。
[0015]在一个由多个计算机组成的系统中,一旦有未知代码进入这个网络,检测部分就会启动对它的监视、记录等,系统不阻止未知代码执行,这样可以正常使用各种程序。如果确认这是一个恶意代码,整个系统中所有的计算机都会对这个恶意代码免疫。如果某台计算机已经被恶意代码所破坏,防御部分可以恢复被破坏的文件、数据等。有些恶意代码并不破坏宿主操作系统,但是会窃取隐私数据,在这种情况下本发明会阻止恶意代码窃取隐私数据。
[0016]如图1所示,由A、B、C、D、E等多台计算机构成的网络中,每一台计算机上都安装有一个客户端程序,这些位于多个不同计算机上的客户端组成了一个恶意代码检测及防御系统。这种基于P2P的恶意代码检测及防御方法,其特征在于包括以下部分:
一、功能模块部分 客户端包括各种功能1吴块:
进程模块:监视进程的创建、终止,远线程创建,内存读写,动态链接库的加载。
[0017]网络模块:监视网络端口监听,数据收发,以及操作系统提供的HTTP等协议接口等;
注册表模块:监视注册表项的增加、删除、修改,以及注册表项对应的文件;
文件模块:监视操作系统文件的删除、修改,系统目录下文件的创建、复制、移动、删除,监视应用程序的安装、复制、移动、删除;
内核模块:监视内核模块的加载、修改等,监视服务的创建、启动、修改等,SP1、ΒΗ0,SSDT的修改等。
[0018]P2P模块:建立客户端之间的通信通道,为响应部分提供通信支持。
[0019]二、检测部分
1.对于未知的程序,并不阻止它的运行,而在后续的运行过程中会监控它,并且和网络中的其它客户端交流关于这个未知程序的各种信息,这样用户可以正常使用各种没有数字签名的程序。
[0020]2.一旦发现某个程序的恶意行为,就通告网络中的其它客户端,其它计算机上如果也有该程序执行,那么就将该程序添加到黑名单,等到确定该程序是恶意代码后就终止该程序。
[0021]三、响应和恢复部分
1.网络中的多个客户端程序共享获得的数据,通过对这些数据的分析,来判断一个未知程序的类型。对于一个未知程序,可以将它分为以下几个类型:
a)合法程序,不包含任何恶意代码,该类程序加入到白名单,可以放宽对该类程序的监控。
[0022]b)不确定是否包含恶意代码的程序,这类程序可能会在特定条件下触发恶意行为,需要监控该类程序,但是,不应当阻止这类程序的运行。
[0023]c)完全的恶意程序,这类程序是定性为木马、病毒等等的程序,并不包含用户需要的功能,因此禁止这类程序的执行。
[0024]1.假设图1中计算机A上有一个未知程序在运行,但是A通过和B交流发现,B以及将A定性为木马,那么A就终止这个程序,如果B也不确定这个程序的类型,那么A和其它计算机就通过共享的信息来判断A的类型,如果暂时无法判断类型就定性为不确定是否包含恶意代码的程序。
[0025]2.某些程序可能会破坏系统或用户的文件,通过对这些程序日志的分析能够还原这些被破坏的文件。假设图1中计算机A上的一个未知程序删掉了系统目录下的几个重要程序,但是后来计算机A上的客户端发现A不是合法程序,那么就要恢复A删除的文件,这些文件可以从本地备份恢复或其他计算机恢复。
[0026]3.某些程序可能会破坏注册表,通过对这些程序日志的分析能够还原这些被破坏的注册表项。假设图1中计算机A上的一个未知程序删掉或者修改了注册表中的几项,A上的客户端发现A不是合法程序后就恢复A删除的注册表项。
【权利要求】
1.一种恶意代码检测及防御的方法,其特征在于包括以下步骤: 步骤1、检测,对于未知的程序,并不阻止它的运行,而在后续的运行过程中会监控它,并且和网络中的其它客户端交流关于这个未知程序的各种信息,一旦发现某个程序的恶意行为,就通告网络中的其它客户端; 步骤2、响应,响应部分是处理数据的阶段,检测部分获取的大量数据在响应部分通过处理得到防御策略, 步骤3、防御,处理恶意代码以及其带来的影响,响应部分告诉防御部分针对某个程序进行动作,主要内容包括以下几点:. 1.终止恶意进程;. 2.终止网络连接;. 3.恢复被破坏的注册表项;. 4.恢复被破坏的文件;. 5.阻止内核模块加载、修改,恢复服务,恢复被篡改的内核信息。
2.根据权利要求1所述的一种恶意代码检测及防御的方法,其特征在于: 检测部分获取的数分为两类: 一、程序执行的行为:包括对文件的访问,注册表的访问,网络的使用, 二、程序执行后操作系统或应用程序的异常:包括文件管理器、进程管理器系统组件以及安装的应用程序不能正常使用。
3.根据权利要求2所述的一种恶意代码检测及防御的方法,其特征在于: 对程序执行的行为以及这些行为的影响中会导致异常发生的一系列行为和程序执行后操作系统或应用程序的异常,通知防御部分恢复这些行为对文件、注册表的修改,形成一个应对这一系列的策略,这些策略类似于条件反射,告诉防御部分处理某个程序,响应部分是由多个主机组成的分布式响应网络,这些主机通过网络互相连接,彼此之间共享获取到的数据。
【文档编号】G06F21/56GK103428212SQ201310343342
【公开日】2013年12月4日 申请日期:2013年8月8日 优先权日:2013年8月8日
【发明者】陈厅, 张小松, 陈瑞东, 牛伟纳, 王东, 廖军, 张凡, 张蕾 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1