[发明专利]主动拦截恶意程序的方法、装置、系统有效
申请号: | 201210564098.4 | 申请日: | 2012-12-21 |
公开(公告)号: | CN103020527A | 公开(公告)日: | 2013-04-03 |
发明(设计)人: | 董杰 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 北京市隆安律师事务所 11323 | 代理人: | 权鲜枝;齐辉 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 主动 拦截 恶意程序 方法 装置 系统 | ||
技术领域
本发明涉及计算机应用技术领域,特别涉及一种主动拦截恶意程序的方法、装置和系统。
背景技术
恶意程序通常指任何故意创建用来执行未经授权并通常是有害行为的软件程序。计算机病毒、后门程序、键盘记录器、密码盗取者、Word和Excel宏病毒、引导区病毒、脚本病毒(如batch,windows shell,java等)、木马、犯罪软件、间谍软件和广告软件等等,都是一些可以称之为恶意程序的例子。
传统的恶意程序防杀主要依赖于特征库模式。特征库是由厂商收集到的恶意程序样本的特征码组成,而特征码则是分析工程师从恶意程序中找到和正当软件的不同之处,截取一段类似于“搜索关键词”的程序代码。在查杀过程中,引擎会读取文件并与特征库中的所有特征码“关键词”进行匹配,如果发现文件程序代码被命中,就可以判定该文件程序为恶意程序。特征库匹配是查杀已知恶意程序很有效的一项技术。但是现今全球恶意程序数量呈几何级增长,基于这种爆发式的增速,特征库的生成与更新往往是滞后的,很多时候杀毒软件无法防杀层出不穷的未知恶意程序。
主动防御随之应运而生,其是基于程序行为自主分析判断的实时防护技术,不以特征码作为判断恶意程序的依据,而是从最原始的定义出发,直接将程序的行为作为判断恶意程序的依据,从而一定程度上达到保护用户电脑的目的。
现有的主动防御方案在针对一些关键拦截比如Windows全局钩子、原始输入(RawInput)设备扫描技术时,大多采用在注册时拦截并报警的方式,这种方式至少具有如下缺陷:
1.由于Windows全局钩子等一经注册则针对系统中的绝大多数进程程序有效,现有方案无法对窃取按键行为的不同程序分别实现防护,易于造成误杀现象;
2.现有方案由于采用了注册时拦截的方式,由于在注册阶段程序的运行通常展开的不够充分,比如游戏在通过接口DirectX注册RawInput设备时尚未进入游戏全屏状态,这往往给程序类型判断造成困难,查杀的准确率较低。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种主动拦截恶意程序的方法、装置和系统。
依据本发明的一个方面,本发明实施例提供了一种主动拦截恶意程序的方法,包括:
根据客户端对按键输入数据的访问方式选取需要拦截的拦截对象;
在应用层和/或驱动层中设置针对拦截对象的拦截执行信息;
当监测到按键输入数据时,获取访问按键输入数据的程序的信息;
根据程序的信息判断该程序是否为安全程序,若是,允许该程序调用按键输入数据,若否,利用拦截执行信息对该程序进行拦截。
其中,在获取访问按键输入数据的程序的信息之前,上述方法还包括:判断监测到的按键输入数据是否为需要保护的数据,若是,获取访问按键输入数据的程序的信息,若否,结束操作。
其中,上述判断监测到的按键输入数据是否为需要保护的数据包括:判断监测到的按键输入数据是否为通过预定按键输入的数据,若是,确认该按键输入数据为需要保护的数据,若否,确认该按键输入数据为不需要保护的数据。
其中,选取的拦截对象包括:同步获取按键状态GetKeyState事件、异步获取按键状态GetAsyncKeyState事件、获取键盘状态GetKeyboardState事件、获取设备输入数据GetRawInputData事件、批量获取设备输入数据GetRawInputBuffer事件、和/或挂钩KeUserModeCallback事件。
其中,在应用层中设置针对拦截对象的拦截执行信息包括:通过内联钩子方式在应用层中设置针对拦截对象的拦截执行信息;和/或,通过修改各程序的导入表中的内容在应用层中设置针对拦截对象的拦截执行信息。
其中,在驱动层中设置针对拦截对象的拦截执行信息包括:通过修改拦截对象所对应的函数在系统服务描述符表中的地址信息,将拦截执行信息设置在驱动层中。
其中,程序的信息包括程序所在的进程名称、程序的路径和程序中文件的哈希值,上述根据程序的信息判断该程序是否为安全程序包括:
判断程序的信息是否存在于获知的安全程序列表中,若是,确认该程序为安全程序,若否,确认该程序不是安全程序;和/或,根据程序的信息判断该程序的进程链的等级是否为安全等级,若是,确认该程序为安全程序,若否,确认该程序不是安全程序。
根据本发明的另一方面,本发明实施例提供了一种主动拦截恶意程序的装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210564098.4/2.html,转载请声明来源钻瓜专利网。