一种检测远程入侵计算机行为的方法及系统的制作方法

文档序号:6364319阅读:132来源:国知局
专利名称:一种检测远程入侵计算机行为的方法及系统的制作方法
技术领域
本发明涉及计算机安全技术领域,特别是涉及ー种检测远程入侵计算机行为的方法及系统。
背景技术
一台拥有IP地址的计算机,可以通过开放端ロ的方式,提供各种服务给网络中的其他计算机。所谓端ロ,是对英文port的意译,通常被认为是计算机与外界通讯交流的出ロ。例如,HTTP (Hypertext Transport Protocol,超文本传送协议)服务器会开放TCP端ロ 80,这样,用户的计算机就可以通过该端ロ 80与服务器连接,并交换HTTP协议,获得最終呈现在用户计算机上的HTTP页面。或者,邮件服务器可以开放端ロ 587,用户计算机可以通过端ロ 587与邮件服务器连接,并交换SMTP (Simple Mail Transfer Protocol,简单邮件传 输协议)协议,实现传动邮件的功能。再或者,用户的计算机中还可能开放ー些端ロ,以实现ー些功能。例如,用户的计算机可能默认开放端ロ 135,以便能够与另一台计算机进行连接,实现远程协助功能,等等。一般的用户并没有足够的知识,去管理自己的机器需要开放与关闭哪些端ロ,这就给黑客留下了入侵计算机(可能是前述HTTP服务器、邮件服务器,还有可能是普通用户的计算机)的机会。入侵常用的手法之一就是扫描目标机器,找寻可利用的开放端ロ,然后连线至这些端ロ操控目标机器。例如,入侵者可以通过SMTP端ロ 587传递垃圾邮件,或者利用Telnet端ロ 23,远程登录到用户机器等等。为了防止受到这种远程入侵行为的攻击,现有技术通常是使用防火墙技术进行拦截。防火墙技术主要是通过添加规则限制连接的方式来起到这种拦截的作用。也即,可以以白名单的方式,设置能够连接到某开放的端ロ的IP地址名单,或者以黑名单的方式,设置不能连接到某开放的端ロ的IP地址名单,当一个连接请求被防火墙拦截,便依照该白名单或黑名单,判断该连接请求的IP地址是否为允许连接的IP地址,以此来判断此次连接请求是否为黑客入侵,进而决定是否报警或者阻止此次连接。防火墙技术可以从一定程度上起到防止远程入侵计算机的作用,但是,至少存在以下弊端需要用户设置规则,对用户的专业性要求较高;并且如果使用白名单的方式,则造成误判的可能性比较大,并且,随着新增IP地址的加入,名单也会过于庞大,影响连接的响应速度;如果使用黑名单的方式,则难免百密ー疏,并且同样存在可能会膨胀过大及其所带来的问题。

发明内容
本发明提供了一种检测远程入侵计算机行为的方法及系统,能够在不需要用户干预的情况下进程远程入侵行为的检测,并且不至于使得保存的数据膨胀过大。本发明提供了如下方案一种检测远程入侵计算机行为的方法,包括
对系统中的进程创建事件进行监控;当监控到创建某进程的请求时,拦截该进程创建请求;通过分析该进程、该进程的祖先进程,以及当前开放的端ロ,判断该进程创建操作是否正常;如果所述进程创建请求不正常,则将该进程创建请求确定为远程入侵计算机的行为。
优选地,如果所述进程创建操作不正常,则还包括阻止进程创建操作的执行;或者,向发出异常报警,根据用户的选择操作,阻止或允许进程创建操作的执行。优选地,如果所述进程创建请求正常,则还包括允许创建操作的执行。其中,所述通过分析该进程、该进程的祖先进程,以及当前开放的端ロ,判断该进程创建请求是否正常包括判断该进程的祖先进程中是否存在当所述端ロ开放时常被利用于远程入侵的进程;如果是,则判断该进程是否为当所述端ロ开放时常被利用于远程入侵的进程;如果是,则判定所述进程创建请求不正常。优选地,在所述判定所述进程创建请求不正常之前还包括判断该进程和/或其祖先进程的运行參数是否正常,如果不正常,则判定所述进程创建请求不正常。一种检测远程入侵计算机行为的系统,包括监控单元,用于对系统中的进程创建事件进行监控;拦截单元,用于当监控到创建某进程的请求时,拦截该进程创建请求;分析単元,用于通过分析该进程、该进程的祖先进程,以及当前开放的端ロ,判断该进程创建操作是否正常;确定单元,用于如果所述进程创建请求不正常,则将该进程创建请求确定为远程入侵计算机的行为。优选地,如果所述进程创建操作不正常,则还包括第一处理单元,用于阻止进程创建操作的执行;或者,第二处理单元,用于向发出异常报警,根据用户的选择操作,阻止或允许进程创建操作的执行。优选地,如果所述进程创建请求正常,则还包括第三处理单元,用于允许创建操作的执行。其中,所述分析単元包括第一判断子単元,用于判断该进程的祖先进程中是否存在当所述端ロ开放时常被利用于远程入侵的进程;第二判断子単元,用于如果所述第一判断子単元的判断结果为是,则判断该进程是否为当所述端ロ开放时常被利用于远程入侵的进程;确定子単元,用于如果所述第二判断子単元的判断结果为是,则判定所述进程创建请求不正常。优选地,还包括第三判断子単元,用于判断该进程和/或其祖先进程的运行參数是否正常,如果不正常,则所述确定子単元判定所述进程创建请求不正常。根据本发明提供的具体实施例,本发明公开了以下技术效果通过本发明,可以通过对进程创建请求进行拦截及分析,如果发现不正常的情況,
就可以将该进程创建请求看作是黑客入侵行为,进而就可以采取相应的措施,以防止用户的计算机收到侵害。可见,只要预先统计了在正常或不正常情况下,开放各个端ロ时,将要创建的进程与其祖先进程之间的关系,就可以判断出当前的进程创建请求是否正常,进而避免黑客通过这些端ロ入侵并对用户的计算机造成危害。在此过程中,不需要用户的干预,虽然也需要统计ー些信息,但是相对于防火墙使用的白名单或黑名单而言,其数量级要小得多,不至于导致膨胀过大的现象发生。。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I是本发明实施例提供的方法的流程图;图2是本发明实施例提供的系统的示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。首先需要说明的是,黑客在远程入侵某目标机器时,首先需要通过目标机器当前开放的端ロ连接到该目标机器,然后再操控目标机器执行具体的操作。这两个过程可以看做是有两个阶段组成的第一阶段是连接,第二阶段是执行ー些操作。现有技术中的防火墙在防止黑客远程入侵时,采用的思路是,让黑客无法完成第一个阶段,也即无法通过端ロ与目标机器连接,进而黑客也就无法执行后续的ー些操作了,从而保证目标机器的安全性。而在本发明人在实现本发明的过程中发现,在黑客入侵的过程中,其实真正会使得目标机器受到威胁的是上述第二阶段,也即,如果黑客无法执行后续的具体操作,则即使黑客通过端ロ连接到目标机器,也是不会对目标机器的安全性造成影响的。因此,本发明实施例就是从上述思路出发,提出了ー种新型的检测远程入侵计算机的行为的方法,从而达到保护目标机器安全性的目的。參见图1,本发明实施例提供的检测远程入侵计算机的方法包括以下步骤
SlOl :对系统中的进程创建事件进行监控;本发明实施例在检测远程入侵计算机行为的过程中,并不是在连接阶段对黑客的入侵行为进行限制,而是在执行具体的操作阶段进行限制。而在执行具体操作的过程中,总是会伴随创建进程的过程,也即,在计算机系统中,如果想要执行某种操作以达到某种目的,则需要创建相应的进程,在进程中完成相应的操作,因此,可以通过检查进程创建是否正常,来判断是否被黑客入侵。 为此,就需要对系统中创建进程的事件进行监控。S102 当监控到创建某进程的请求时,拦截该进程创建请求;在监控的过程中,一旦发现要创建某进程,则首先将该创建事件拦截下来。也就是说,当监控到要创建某进程吋,不是直接允许该进程的创建,而是暂时先拦截下来,进行ー些判断操作,主要是区分创建过程是否正常,如果不正常则可能是黑客的远程入侵进行的操作。S103 :通过分析该进程、该进程的祖先进程,以及当前开放的端ロ,判断该进程创建操作是否正常;具体在分析一个进程创建过程是否正常时,可以通过分析当前要创建的进程及其祖先进程,以及当前开放的端ロ等进行判断。其中,进程的祖先进程可以通过查询进程树获知。一些程序进程运行后,会调用其他进程来执行ー些特定功能,这样就组成了一个进程树。进程树是ー个形象化的比喩,比如一个进程启动了ー个程序,而启动的这个进程就是原来那个进程的子进程,依此形成的一种树形的结构。例如,在Windows XP的“运行”对话框中输入“cmd”启动命令行控制台,然后在命令行中输入“not印ad”启动记事本。现在,命令行控制台进程“cmd. exe”和记事本进程“notepad, exe”就组成了一个进程树,其中“notepad,exe”进程是由“ cmd. exe”进程创建的,前者称为子进程,后者称为父进程。一般的情况下,从当前要创建的进程与其祖先进程之间的关系,能够发现ー些不正常的现象。例如 WMI (Windows Management Instrumentation, Windows 管理规范)在正常使用情况下不应该创建ftp进程,如果画I创建ftp进程,通常是黑客经由端ロ 135入侵之后,下载后门程序的动作。也就是说,在某端ロ开启的情况下,黑客经常被利用于进行远程入侵的进程及其祖先进程,是可以预先统计出来的,这样,具体在判断一个进程创建过程是否正常时,就可以与预先统计的结果进行比对,首先判断该进程的祖先进程中是否存在当所述端ロ开放时常被利用于远程入侵的进程,如果不存在,则该进程创建过程一般可以被认为是正常的;否则,如果存在,则可以进ー步判断当前要创建的进程是否为当前的端ロ开放时常被利用于远程入侵的进程,如果不是,则可以认为该进程创建过程是正常的,否贝1J,如果是,就可以将当前的进程创建过程判定为黑客的远程入侵行为产生的。当然,在实际应用中,在开启某端ロ的情况下,可能并不是所有的进程都会被黑客用于远程入侵,而只有ー些特定的进程才会被黑客利用,因此,在具体对进程创建进行监控吋,也可以仅在监控到创建ー些特定的进程创建请求吋,才进行拦截,并进ー步检查该进程创建操作是否正常。例如,如果系统产生ー个新的ftp进程创建请求,就可以检查ftp的祖先进程是否有WMI,并且端ロ 135为开启状态,如果是,则可以认为该创建ftp进程的请求是不正常的,可能是黑客远程入侵的行为。此外,在具体实现时,针对ー些特殊情況,如果仅判断当前要创建的进程及其祖先进程之间的关系,来判断当前的进程创建请求是否正常,可能会出现误判的情況。例如,Sqlserver创建cmd进程,可能是ー个正常的操作,但也可能是ー个被入侵的危险讯号,此时,就无法直接用前述方法进行判定。但是经过判断sqlserver发送给cmd的命令行參数,可以判定这是ー个正常的创建,或是异常的创建。比方说sqlserver创建ー个cmd进程,命令行參数为“wmiccpu get processrid”,则这是一个正常的情况。然而若sqlserver创建ー个cmd进程,命令行參数为“ftp ip地址\木马.exe”,则这就是ー个异常的情况。也就是说,在判断出一个进程或者其祖先进程是经常被用于远程入侵的进程之后,可以进一歩判断进程中的命令行參数,来进ー步确定当前的进程创建请求是否正常,从而进一歩判断当前是否存在远程入侵计算机的行为。其中,命令行參数是进程的运行參数中的ー种,并且,在实际应用中,命令行參数只是ー个举例,除此之外,还可以获取进程关系中的其他运行參数作为可供參考的资料,例如祖先进程对应程序的版本号(对于当前要创建的进程及其祖先进程,在ー些版本的程序中可能是正常的,但在另ー些版本中可能是不正常的)、进程创建过程中的安装路径(例如,在创建cmd进程吋,正常的安装路径通常是在系统盘下,如果是系统盘以外的其他路径,则可能是不正常的)、祖先进程(sqlserver)的命令行參数等,协助进行判断。 具体实现时,为了避免过多地占用用户的本地计算机资源,可以收集常见的进程运行參数,保存在云后台,并且不断更新调整,客户端在收集到进程的运行參数之后,上传给云后台,在云后台进行具体的检查及判断工作,以减少误报。需要说明的是,在具体实现时,単独根据进程的各种运行參数来判断当前的进程创建请求是否正常,或者首先判断各种运行參数是否正常,如果不正常,再判断进程或祖先进程是否为常被用于远程入侵的进程,从而来综合判定当前的进程创建请求是否正常,都是可以的,这里不再进行详述。S104 :如果所述进程创建请求不正常,则将该进程创建请求确定为远程入侵计算机的行为。如果发现进程创建请求存在不正常的情况,则将当前的进程创建请求判定为远程入侵的行为。进一歩地,就可以直接阻止当前进程的创建操作,或者,为了进一歩避免误判,可以首先向用户发出报警,由用户进一歩判断当前的进程创建请求是否正常,如果用户选择阻止,再阻止当前的进程创建操作,否则,用户选择允许,则允许进程创建操作的执行,也即将拦截的请求放行,允许其继续执行即可。当然,如果发现进程创建请求是正常的,同样可以将其放行,进行正常的进程创建即可。总之,在本发明实施例中,通过对进程创建请求进行拦截及分析,如果发现不正常的情况,就可以将该进程创建请求看作是黑客入侵行为,进而就可以采取相应的措施,以防止用户的计算机收到侵害。可见,只要预先统计了在正常或不正常情况下,开放各个端ロ吋,将要创建的进程与其祖先进程之间的关系,就可以判断出当前的进程创建请求是否正常,进而避免黑客通过这些端ロ入侵并对用户的计算机造成危害。在此过程中,不需要用户的干预,虽然也需要统计ー些信息,但是相对于防火墙使用的白名单或黑名单而言,其数量级要小得多,不至于导致膨胀过大的现象发生。与本发明实施例提供的检测远程入侵计算机行为的方法相对应,本发明实施例还提供了一种检测远程入侵计算机行为的系统,參见图2,该系统包括监控单元201,用于对系统中的进程创建事件进行监控;
拦截单元202,用于当监控到创建某进程的请求时,拦截该进程创建请求;分析単元203,用于通过分析该进程、该进程的祖先进程,以及当前开放的端ロ,判断该进程创建操作是否正常;确定单元204,用于如果所述进程创建请求不正常,则将该进程创建请求确定为远程入侵计算机的行为。其中,如果所述进程创建操作不正常,则该系统还包括
第一处理单元,用于阻止进程创建操作的执行;或者,第二处理单元,用于向发出异常报警,根据用户的选择操作,阻止或允许进程创建操作的执行。如果所述进程创建请求正常,则该系统还包括第三处理单元,用于允许创建操作的执行。具体实现时,分析单元203具体可以包括第一判断子単元,用于判断该进程的祖先进程中是否存在当所述端ロ开放时常被利用于远程入侵的进程;第二判断子単元,用于如果所述第一判断子単元的判断结果为是,则判断该进程是否为当所述端ロ开放时常被利用于远程入侵的进程;确定子単元,用于如果所述第二判断子単元的判断结果为是,则判定所述进程创建请求不正常。为了降低误判的可能,分析単元203还可以包括第三判断子単元,用于判断该进程和/或其祖先进程的运行參数是否正常,如果不正常,则所述确定子単元判定所述进程创建请求不正常。总之,在本发明实施例提供的系统中,通过对进程创建请求进行拦截及分析,如果发现不正常的情况,就可以将该进程创建请求看作是黑客入侵行为,进而就可以采取相应的措施,以防止用户的计算机收到侵害。可见,只要预先统计了在正常或不正常情况下,开放各个端ロ吋,将要创建的进程与其祖先进程之间的关系,就可以判断出当前的进程创建请求是否正常,进而避免黑客通过这些端ロ入侵并对用户的计算机造成危害。在此过程中,不需要用户的干预,虽然也需要统计ー些信息,但是相对于防火墙使用的白名单或黑名单而言,其数量级要小得多,不至于导致膨胀过大的现象发生。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相參见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处參见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的単元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理単元,即可以位于ー个地方,或者也可以分布到多个网络単元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上对本发明所提供的一种检测远程入侵计算机行为的方法及系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明
只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种检测远程入侵计算机行为的方法,其特征在于,包括 对系统中的进程创建事件进行监控; 当监控到创建某进程的请求时,拦截该进程创建请求; 通过分析该进程、该进程的祖先进程,以及当前开放的端ロ,判断该进程创建操作是否正常; 如果所述进程创建请求不正常,则将该进程创建请求确定为远程入侵计算机的行为。
2.根据权利要求I所述的方法,其特征在于,如果所述进程创建操作不正常,则还包括 阻止进程创建操作的执行; 或者, 向发出异常报警,根据用户的选择操作,阻止或允许进程创建操作的执行。
3.根据权利要求I所述的方法,其特征在于,如果所述进程创建请求正常,则还包括 允许创建操作的执行。
4.根据权利要求I至3任一项所述的方法,其特征在于,所述通过分析该进程、该进程的祖先进程,以及当前开放的端ロ,判断该进程创建请求是否正常包括 判断该进程的祖先进程中是否存在当所述端ロ开放时常被利用于远程入侵的进程; 如果是,则判断该进程是否为当所述端ロ开放时常被利用于远程入侵的进程; 如果是,则判定所述进程创建请求不正常。
5.根据权利要求4所述的方法,其特征在干,在所述判定所述进程创建请求不正常之前还包括 判断该进程和/或其祖先进程的运行參数是否正常,如果不正常,则判定所述进程创建请求不正常。
6.一种检测远程入侵计算机行为的系统,其特征在于,包括 监控单元,用于对系统中的进程创建事件进行监控; 拦截单元,用于当监控到创建某进程的请求时,拦截该进程创建请求; 分析単元,用于通过分析该进程、该进程的祖先进程,以及当前开放的端ロ,判断该进程创建操作是否正常; 确定单元,用于如果所述进程创建请求不正常,则将该进程创建请求确定为远程入侵计算机的行为。
7.根据权利要求6所述的系统,其特征在干,如果所述进程创建操作不正常,则还包括 第一处理单元,用于阻止进程创建操作的执行; 或者, 第二处理单元,用于向发出异常报警,根据用户的选择操作,阻止或允许进程创建操作的执行。
8.根据权利要求6所述的系统,其特征在于,如果所述进程创建请求正常,则还包括 第三处理单元,用于允许创建操作的执行。
9.根据权利要求6至8任一项所述的系统,其特征在于,所述分析単元包括 第一判断子単元,用于判断该进程的祖先进程中是否存在当所述端ロ开放时常被利用于远程入侵的进程; 第二判断子単元,用于如果所述第一判断子単元的判断结果为是,则判断该进程是否为当所述端ロ开放时常被利用于远程入侵的进程; 确定子単元,用于如果所述第二判断子単元的判断结果为是,则判定所述进程创建请求不正常。
10.根据权利要求9所述的系统,其特征在于,还包括 第三判断子単元,用于判断该进程和/或其祖先进程的运行參数是否正常,如果不正常,则所述确定子単元判定所述进程创建请求不正常。
全文摘要
本发明公开了一种检测远程入侵计算机行为的方法及系统,其中,所述方法包括对系统中的进程创建事件进行监控;当监控到创建某进程的请求时,拦截该进程创建请求;通过分析该进程、该进程的祖先进程,以及当前开放的端口,判断该进程创建操作是否正常;如果所述进程创建请求不正常,则将该进程创建请求确定为远程入侵计算机的行为。通过本发明,能够在不需要用户干预的情况下进程远程入侵行为的检测,并且不至于使得保存的数据膨胀过大。
文档编号G06F21/00GK102663274SQ20121002631
公开日2012年9月12日 申请日期2012年2月7日 优先权日2012年2月7日
发明者张晓霖, 范纪鍠, 路健华, 郑文彬 申请人:奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1