专利名称:一种可疑操作的识别处理方法、装置和系统的利记博彩app
技术领域:
本发明涉及文件处理技术领域,具体涉及一种可疑操作的识别处理方法,一种可疑操作的识别处理装置,以及,一种可疑操作的识别处理系统。
背景技术:
恶意程序是一个概括性的术语,指任何故意创建用来执行未经授权并通常是有害行为的软件程序。计算机病毒、后门程序、键盘记录器、密码盗取者、Word和Excel宏病毒、引导区病毒、脚本病毒(batch, windows shell, java等)、木马、犯罪软件、间谋软件和广告软件等等,都可以称之为恶意程序。恶意程序通常通过在用户设备上运行程序操作,如修改注册表,访问网络等来达到破坏用户设备安全性的目的。传统的恶意程序防杀主要依赖于特征库模式。特征库是由安全软件厂商收集到的 恶意程序样本的特征码组成,而特征码则是分析工程师从恶意程序中找到和正当软件的不同之处,截取一段类似于“搜索关键词”的程序代码。当查杀过程中,查杀引擎会读取文件并与特征库中的所有特征码“关键词”进行匹配,如果发现文件程序代码被命中,就可以判定该文件程序为恶意程序。特征库匹配是查杀已知恶意程序很有效的一项技术。但是现今全球恶意程序数量呈几何级增长,基于这种爆发式的增速,特征库的生成与更新往往是滞后的,很多时候安全软件无法防杀层出不穷的未知恶意程序。因此,本领域技术人员迫切需要解决的技术问题是如何前瞻性地阻止恶意程序的攻击,提高用户设备使用的安全性和稳定性。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种可疑操作的识别处理方法,相应的一种可疑操作的识别处理装置,和相应的一种可疑操作的识别处理系统。依据本发明的一个方面,提供了一种可疑操作的识别处理方法,包括拦截用户设备上的程序操作;获取运行所述程序操作的进程链,并提取所述进程链的特征信息,所述进程链的特征信息至少包括所述进程链上所有进程的内部名称;采用所述进程链的特征信息与预置的危险白名单进程序列表进行匹配,其中,所述危险白名单程序列表中至少包括预先收集的可疑进程的内部名称;所述匹配包括,判断在所述危险白名单程序列表中是否存在所述进程链上某个进程的内部名称,若是,则判定为危险白名单进程;当存在危险白名单进程时,阻止用户设备上所述程序操作的执行。可选地,所述的方法,还包括当不存在危险白名单进程时,允许用户设备上所述程序操作的执行。
可选地,所述进程链的特征信息还包括所述进程链上进程的命令行;所述危险白名单进程序列表中还包括命令行判断规则,所述匹配还包括采用所述命令行判断规则判断所述进程链上的进程的命令行是否合法;若否,则判定为危险白名单进程。可选地,所述预先收集的可疑进程的内部名称包括Windows操作系统的命令行程序的名称CMD或Cmd. exe ;和/或,用于注册Windows操作系统的动态链接库和ActiveX控件程序的名称regsvr32.exe ;和/或,用于在内存中运行DLL文件程序的名称rundll32. exe ;和/或, 服务管理程序的名称sc. exe ;和/或,Windows注册表编辑器程序的名称Rgedit. exe ;和/或,Windows操作系统脚本相关支持程序的名称wscript. exe ;和/或,用于编辑注册表的程序的名称reg. exe ;和/或,用于使16位的进程能够运行在32位的系统环境下的程序的名称ntvdm. exe ;用于通过WinMgmt. exe程序处理WMI操作的程序的名称wmiprvse. exe。可选地,所述进程链的特征信息还包括所述进程链上进程的命令行;所述匹配还包括判断所述进程链上的进程的内部名称和命令行是否满足预置合法规则或预置非法规则;若满足预置合法规则,则判定为非危险白名单进程;若满足预置非法规则,则判定为危险白名单进程。根据本发明的另一方面,提供了一种可疑操作的识别处理装置,包括拦截模块,用于拦截用户设备上的程序操作;进程链获取模块,用于获取运行所述程序操作的进程链;特征提取模块,用于提取所述进程链的特征信息,所述进程链的特征信息至少包括所述进程链上所有进程的内部名称;匹配模块,用于采用所述进程链的特征信息与预置的危险白名单进程序列表进行匹配,其中,所述危险白名单程序列表中至少包括预先收集的可疑进程的内部名称;所述匹配模块包括,第一判定子模块,用于判断在所述危险白名单程序列表中是否存在所述进程链上某个进程的内部名称,若是,则判定为危险白名单进程;操作阻止模块,用于在存在危险白名单进程时,阻止用户设备上所述程序操作的执行。可选地,所述的装置,还包括操作放行模块,用于在当不存在危险白名单进程时,允许用户设备上所述程序操作的执行。可选地,所述进程链的特征信息还包括所述进程链上进程的命令行;所述危险白名单进程序列表中还包括命令行判断规则,所述匹配模块还包括第二判定子模块,用于采用所述命令行判断规则判断所述进程链上的进程的命令行是否合法;若否,则判定为危险白名单进程。可选地,所述预先收集的可疑进程的内部名称包括Windows操作系统的命令行程序的名称CMD或Cmd. exe ;和/或,用于注册Windows操作系统的动态链接库和ActiveX控件程序的名称regsvr32.exe ;和/或,用于在内存中运行DLL文件程序的名称rundll32. exe ;和/或,服务管理程序的名称sc. exe ;和/或,Windows注册表编辑器程序的名称Rgedit. exe ;和/或, Windows操作系统脚本相关支持程序的名称wscript. exe ;和/或,用于编辑注册表的程序的名称reg. exe ;和/或,用于使16位的进程能够运行在32位的系统环境下的程序的名称ntvdm. exe ;用于通过WinMgmt. exe程序处理WMI操作的程序的名称wmiprvse. exe。可选地,所述进程链的特征信息还包括所述进程链上进程的命令行;所述匹配模块还包括第三判定子模块,用于判断所述进程链上的进程的内部名称和命令行是否满足预置合法规则或预置非法规则;并在满足预置合法规则时,判定为非危险白名单进程;在满足预置非法规则时,判定为危险白名单进程。根据本发明的另一方面,提供了一种可疑操作的识别处理系统,包括位于客户端的拦截模块,用于拦截用户设备上的程序操作;位于客户端的进程链获取模块,用于获取运行所述程序操作的进程链;位于客户端的特征提取模块,用于提取所述进程链的特征信息,所述进程链的特征信息至少包括所述进程链上所有进程的内部名称;位于客户端的通信模块,用于将所述进程链的特征信息发送至服务器;位于服务器的匹配模块,用于采用所述进程链的特征信息与预置的危险白名单进程序列表进行匹配,其中,所述危险白名单程序列表中至少包括预先收集的可疑进程的内部名称;所述匹配模块包括,第一判定子模块,用于判断在所述危险白名单程序列表中是否存在所述进程链上某个进程的内部名称,若是,则判定为危险白名单进程;位于服务器的通知模块,用于将所述判断结果发送至客户端;所述判断结果包括存在危险白名单进程;位于客户端的操作阻止模块,用于在存在危险白名单进程时,阻止用户设备上所述程序操作的执行。本发明创造性地提出一种针对恶意程序的主动防御技术,通过预先构建”危险白名单程序”列表,当主动防御拦截到一个可疑操作时,如果发现进行操作的进程在“危险白名单程序”列表中,就转到危险白的处理流程中,此流程会取得运行操作的进程链(所有的父子进程)上所有进程的特征信息,比如进程的内部名称等,然后判断进程链上所有进程的特征信息,是否出现在所述“危险白名单程序”列表中,若是,则判定当前操作为危险白名单进程运行的操作,于是阻止该操作的执行。本发明前瞻性地阻止了恶意程序的攻击,能进一步对白名单进程进行潜在危胁地识别,特别是能有效防范恶意程序采用操作系统自带的程序进行伪装,运行操作的情况,从而有效提高了用户设备使用的安全性和稳定性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式
。
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中图I示出了根据本发明一个 实施例的一种可疑操作的识别处理方法实施例I的步骤流程图;图2示出了根据本发明一个实施例的一种可疑操作的识别处理方法实施例2的步骤流程图;图3示出了根据本发明一个实施例的一种可疑操作的识别处理装置实施例的结构框图;图4示出了根据本发明一个实施例的一种可疑操作的识别处理系统实施例的结构框图。
具体实施例方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本发明涉及针对恶意程序的主动防御技术。主动防御技术是基于程序行为自主分析判断是否为恶意程序的实时防护技术,主动防御技术不以特征码作为判断恶意程序的依据,而是从最原始的定义出发,直接将程序的行为作为判断恶意程序的依据,其中衍生出在本地使用特征库、在本地设置行为阈值以及在本地启发式杀毒的方式来判别、拦截恶意程序的行为,从而一定程度上达到保护用户设备的目的。主动防御通过系统底层驱动拦截对系统关键位置(如注册表、系统目录等)进行保护,当有程序试图修改这些系统关键位置时就会进行拦截,拦截后需要决策此次的修改行为是否为恶意,如果是判定为恶意将阻止此行为,并提示给用户;如果非恶意将允许此行为。通常的决策行为是判断试图执行此修改行为的进程是否安全来决定的,如果一个安全的程序进行的修改将允许,以减少用户不必要的打扰。这种主动防御技术的一个漏洞在于,如果全部使用操作系统自带的程序来进行修改,则会破坏主动防御的决策机制,从而无法判断是否需要对其进行拦截,以达到攻破主动防御体系的目的。例如,目前已知的攻击行为包括在桌面上放置快捷方式,放置BAT文件(dos下的批处理文件)或VBS文件(一种脚本文件),建立一个文件夹并放置一个文件夹配置文件(desktop, ini),使用计划任务,或者,使用模拟鼠标点击等。当放置的文件被用户点击,或行为发生时(如计划任务、模拟鼠标点击)会调用一个操作系统自带的程序来进行执行破坏操作。传统的主动防御技术对此基本没有判断能力,会直接允许其运行。比如,木马程序在桌面上放置一个快捷方式,配上吸引用户注意的图标和文字,此快捷方式的命令行如下regedit. exe/s abc. reg,在这种情况下,当用户点击这个图标时,regedit. exe就会被运行,并将abc. reg中的注册表项导入到用户设备的注册表中,但这些注册表项可能是修改用户的启动项用于开机自动加载木马,或修改用户的IE首页,或用于加载一个驱动程序等等,从而破坏用户设备的安全性。传统的主动防御技术可以拦截到这些对注册表的修改,但进行决策时发现是由用户主动点击运行的程序,而这个程序(regedit. exe)又是操作系统的程序,在这种情况下,传统的主动防御技术只能选择对这个操作放行,这样木马程序就达成了其目的。本专利发明人通过分析、研究大量的木马行为,并进行总结,发现木马利用的程序都是操作系统自带的程序运行操作,而这些程序都可以通过命令行来实现一些对系统的修改。据此,本专利发明人提出本发明实施例的核心构思之一在于,预先构建”危险白名单程序”列表,当主动防御拦截到一个可疑操作时,如果发现进行操作的进程在“危险白名单程序”列表中,就转到危险白的处理流程中,此流程会取得运行操作的进程链(所有的父子进 程)上所有进程的特征信息,比如进程的内部名称等,然后判断进程链上所有进程的特征信息,是否出现在所述“危险白名单程序”列表中,若是,则判定当前操作为危险白名单进程运行的操作,于是阻止该操作的执行。参照图1,其示出了本发明的一种可疑操作的识别处理方法实施例I的步骤流程图,具体可以包括如下步骤步骤101,拦截用户设备上的程序操作;应用本发明实施例可以对用户设备上的所有程序操作进行拦截,也可以依据实际情况对用户设备上的指定操作进行拦截,例如,拦截针对操作系统程序运行修改的操作,文件或目录的删除或移动操作等。在具体实现中,通过在操作系统的应用层(RING3层)和/或驱动层(RING0层)部署钩子(HOOK),或直接利用操作系统自带的底层驱动(如文件过滤驱动)即可实现所述拦截操作。例如,使用RINGO层的底层驱动来监控对注册表的读写,在写入启动项时进行判断;或如,使用RING3层的应用程序接口(API)来拦截程序发起的程序行为和/或发起该行为的程序等,所拦截的操作的位置(系统的关键位置)可以包括注册表、系统目录、进程注入、网络访问等等。当然,上述拦截操作的实现可以由本领域技术人员依据实际情况任意设置,本发明对此不作限制。步骤102,获取运行所述程序操作的进程链,并提取所述进程链的特征信息,所述进程链的特征信息至少包括所述进程链上所有进程的内部名称;进程链包括运行所述程序操作的所有父子进程,例如,一种进程链的示例为进程I —进程2 —进程3,即所述进程2为进程3的父进程,进程I为进程2的父进程,进程2为进程I的子进程,进程3为进程2的子进程。作为本发明实施例具体应用的示例,所述运行程序操作的进程链可以使用API来获取,例如,使用NtQuerylnformationProcess (NTDLL. DLL中的一个函数,用于将指定类型的进程信息拷贝到某个缓冲)可以取得父进程的PID(各进程的身份标识),逐级向上找到所有的进程。或如,使用底层驱动来取得一个进程创建和退出事件,从而创建一个进程链,通过查找所述进程链的管理功能就可以取得整个父子进程的信息。当然,上述进程链的获取方式仅仅用作示例,本领域技术人员依据实际情况采用任一种进程链的获取方法均是可行的,本发明对此无需加以限制。在本发明实施例中,需要提取进程链上所有进程的名称。需要说明的是,所述进程的名称是指进程的内部名称,而非进程的外部名称。进程的内部名称是系统内部用于标识一个进程所赋予的编号,通常,为了增强进程标识符的可读性,系统还允许进程的创建者为进程取一个外部名称(外部标识符)。如果仅使用外部名称进行危险白名单进程的判断,那么木马可以等系统中的文件拷贝出来,重命名后再调用,木马如果修改某个进程的内部名称,那么该进程的数字指纹就会破坏,采用现有技术就可以很容易地被确定为一个不安全的进程。如果木马不修改某个进程的内部名称,那么就无法通过改名来逃避查杀。所以在本发明实施例中需要使用进程 的内部名称来判断是否为危险白名单进程序。在具体实现中,所述进程的内部名称可以从进程的版本信息中获取,当然,本领域技术人员采用任一种技术手段获取所述进程的内部名称均是可行的,本发明对此无需加以限制。步骤103,采用所述进程链的特征信息与预置的危险白名单进程序列表进行匹配;其中,所述危险白名单程序列表中至少包括预先收集的可疑进程的内部名称;所述步骤103可以包括如下子步骤子步骤S11,判断在所述危险白名单程序列表中是否存在所述进程链上某个进程的内部名称;子步骤S12,若是,则判定为危险白名单进程;作为本发明实施例具体应用的一种示例,所述预先收集的可疑进程的内部名称可以包括如以下表I所示的任一种或几种或全部名称表I :
Cmd. exe/CMD regsvr32. exe rundll32. exe sc. exe Rgedit. exe wscript. exe reg. exe
权利要求
1.一种可疑操作的识别处理方法,包括 拦截用户设备上的程序操作; 获取运行所述程序操作的进程链,并提取所述进程链的特征信息,所述进程链的特征信息至少包括所述进程链上所有进程的内部名称; 采用所述进程链的特征信息与预置的危险白名单进程序列表进行匹配,其中,所述危险白名单程序列表中至少包括预先收集的可疑进程的内部名称;所述匹配包括,判断在所述危险白名单程序列表中是否存在所述进程链上某个进程的内部名称,若是,则判定为危险白名单进程; 当存在危险白名单进程时,阻止用户设备上所述程序操作的执行。
2.如权利要求I所述的方法,还包括 当不存在危险白名单进程时,允许用户设备上所述程序操作的执行。
3.如权利要求I或2所述的方法,所述进程链的特征信息还包括所述进程链上进程的命令行;所述危险白名单进程序列表中还包括命令行判断规则,所述匹配还包括 采用所述命令行判断规则判断所述进程链上的进程的命令行是否合法; 若否,则判定为危险白名单进程。
4.如权利要求I所述的方法,所述预先收集的可疑进程的内部名称包括 Windows操作系统的命令行程序的名称CMD或Cmd. exe ;和/或, 用于注册Windows操作系统的动态链接库和ActiveX控件程序的名称regsvr32. exe ;和/或, 用于在内存中运行DLL文件程序的名称rundll32. exe ;和/或, 服务管理程序的名称sc. exe ;和/或, Windows注册表编辑器程序的名称Rgedit. exe ;和/或, Windows操作系统脚本相关支持程序的名称wscript. exe ;和/或, 用于编辑注册表的程序的名称reg. exe ;和/或, 用于使16位的进程能够运行在32位的系统环境下的程序的名称ntvdm. exe ; 用于通过WinMgmt. exe程序处理WMI操作的程序的名称wmiprvse. exe。
5.如权利要求I所述的方法,所述进程链的特征信息还包括所述进程链上进程的命令行;所述匹配还包括 判断所述进程链上的进程的内部名称和命令行是否满足预置合法规则或预置非法规则; 若满足预置合法规则,则判定为非危险白名单进程; 若满足预置非法规则,则判定为危险白名单进程。
6.一种可疑操作的识别处理装置,包括 拦截模块,用于拦截用户设备上的程序操作; 进程链获取模块,用于获取运行所述程序操作的进程链; 特征提取模块,用于提取所述进程链的特征信息,所述进程链的特征信息至少包括所述进程链上所有进程的内部名称; 匹配模块,用于采用所述进程链的特征信息与预置的危险白名单进程序列表进行匹配,其中,所述危险白名单程序列表中至少包括预先收集的可疑进程的内部名称;所述匹配模块包括, 第一判定子模块,用于判断在所述危险白名单程序列表中是否存在所述进程链上某个进程的内部名称,若是,则判定为危险白名单进程; 操作阻止模块,用于在存在危险白名单进程时,阻止用户设备上所述程序操作的执行。
7.如权利要求6所述的装置,还包括 操作放行模块,用于在当不存在危险白名单进程时,允许用户设备上所述程序操作的执行。
8.如权利要求6或7所述的装置,所述进程链的特征信息还包括所述进程链上进程的命令行;所述危险白名单进程序列表中还包括命令行判断规则,所述匹配模块还包括 第二判定子模块,用于采用所述命令行判断规则判断所述进程链上的进程的命令行是否合法;若否,则判定为危险白名单进程。
9.如权利要求6所述的装置,所述预先收集的可疑进程的内部名称包括 Windows操作系统的命令行程序的名称CMD或Cmd. exe ;和/或, 用于注册Windows操作系统的动态链接库和ActiveX控件程序的名称regsvr32. exe ;和/或, 用于在内存中运行DLL文件程序的名称rundll32. exe ;和/或, 服务管理程序的名称sc. exe ;和/或, Windows注册表编辑器程序的名称Rgedit. exe ;和/或, Windows操作系统脚本相关支持程序的名称wscript. exe ;和/或, 用于编辑注册表的程序的名称reg. exe ;和/或, 用于使16位的进程能够运行在32位的系统环境下的程序的名称ntvdm. exe ; 用于通过WinMgmt. exe程序处理WMI操作的程序的名称wmiprvse. exe。
10.如权利要求6所述的装置,所述进程链的特征信息还包括所述进程链上进程的命令行;所述匹配模块还包括 第三判定子模块,用于判断所述进程链上的进程的内部名称和命令行是否满足预置合法规则或预置非法规则;并在满足预置合法规则时,判定为非危险白名单进程;在满足预置非法规则时,判定为危险白名单进程。
11.一种可疑操作的识别处理系统,包括 位于客户端的拦截模块,用于拦截用户设备上的程序操作; 位于客户端的进程链获取模块,用于获取运行所述程序操作的进程链; 位于客户端的特征提取模块,用于提取所述进程链的特征信息,所述进程链的特征信息至少包括所述进程链上所有进程的内部名称; 位于客户端的通信模块,用于将所述进程链的特征信息发送至服务器; 位于服务器的匹配模块,用于采用所述进程链的特征信息与预置的危险白名单进程序列表进行匹配,其中,所述危险白名单程序列表中至少包括预先收集的可疑进程的内部名称;所述匹配模块包括,第一判定子模块,用于判断在所述危险白名单程序列表中是否存在所述进程链上某个进程的内部名称,若是,则判定为危险白名单进程; 位于服务器的通知模块,用于将所述判断结果发送至客户端;所述判断结果包括存在危险白名单进程;位于客户端的操作阻止模块,用于在存在危险白名单进程时,阻止用户设备上所述程序操作的执行。
全文摘要
本发明公开了一种可疑操作的识别处理方法、装置和系统,其中,所述一种可疑操作的识别处理方法包括拦截用户设备上的程序操作;获取运行所述程序操作的进程链,并提取所述进程链的特征信息,所述进程链的特征信息至少包括所述进程链上所有进程的内部名称;采用所述进程链的特征信息与预置的危险白名单进程序列表进行匹配,其中,所述危险白名单程序列表中至少包括预先收集的可疑进程的内部名称;所述匹配包括,判断在所述危险白名单程序列表中是否存在所述进程链上某个进程的内部名称,若是,则判定为危险白名单进程;当存在危险白名单进程时,阻止用户设备上所述程序操作的执行。本发明可以前瞻性地阻止恶意程序的攻击,提高用户设备使用的安全性和稳定性。
文档编号G06F21/56GK102902919SQ201210316980
公开日2013年1月30日 申请日期2012年8月30日 优先权日2012年8月30日
发明者余和, 范纪鍠, 郑文彬 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司