[发明专利]对象保护方法及装置有效
| 申请号: | 201110092598.8 | 申请日: | 2011-04-13 |
| 公开(公告)号: | CN102737198A | 公开(公告)日: | 2012-10-17 |
| 发明(设计)人: | 高小明;谢飞 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
| 主分类号: | G06F21/22 | 分类号: | G06F21/22 |
| 代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 张耀光 |
| 地址: | 518000 广东省深*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 对象 保护 方法 装置 | ||
技术领域
本发明涉及计算机领域,特别涉及一种对象保护方法及装置。
背景技术
进程是一个可执行的程序在计算机上一次运行的过程,它是系统进行资源分配和调度的一个独立单位。在进程的运行过程中,有可能会受到恶意攻击,使得打开的进程被恶意写入、挂起或者关闭,因此,需要对进程进行保护,以避免应用程序有时甚至是系统遭到破坏。
现有技术中采用HOOK SSDT(System Services Descriptor Table,系统服务描述符表)技术对进程进行保护。SSDT中保存有一个庞大的地址索引表,以及一些其它有用的信息,如地址索引的基地址,服务函数个数等。SSDT的功能是把ring3的Win32API(Application Programming Interface,应用程序接口)和ring0的内核API联系起来。Ring是windows进行访问控制的级别,分为4层:ring0、ring1、ring2和ring3。其中,操作系统工作在ring0层,可以访问所有层的数据,不受系统的限制;应用程序工作在ring3层,只能访问本层的数据,受系统的限制。HOOK钩子函数是windows消息处理机制的一部分,通过设置钩子可以对系统的消息或事件等进行监控以及过滤。HOOK SSDT技术是指在SSDT中对进程相关的表项设置钩子,以便于对进程进行保护。
但是现有的HOOK SSDT技术受CPU(Central Processing Unit,中央处理器)处理能力的限制,只能应用于windows 32位系统,即CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度只能为32位,处理器一次只能运行32bit数据。如果将HOOK SSDT技术应用于windows 64位系统,则进程的监控会被认为是恶意修改而导致蓝屏,从而无法实现对进程的保护。
发明内容
本发明实施例提供了一种对象保护方法及装置,以解决现有技术在windows64位系统中无法实现对象保护的问题。
一种对象保护方法,所述方法包括:
当执行非窗口对象的第一函数时,根据注册对象回调函数建立的所述第一函数与第一过滤函数的关联,跳转到所述第一过滤函数,所述第一过滤函数执行对所述非窗口对象的保护;
当执行窗口对象的第二函数时,根据多用户管理驱动文件中的钩子或所述第二函数中的钩子所建立的所述第二函数与第二过滤函数的关联,跳转到所述第二过滤函数,所述第二过滤函数执行对所述窗口对象的保护。
所述方法还包括:
预先通过注册对象回调函数建立所述第一函数与所述第一过滤函数的关联。
所述方法还包括:
预先为多用户管理驱动文件win32k.sys对ntoskrnl.exe的导入表中的添加系统服务表KeAddSystemServiceTable函数设置钩子,得到影子系统服务描述符表Shadow SSDT的基地址;
搜寻所述win32k.sys中任一函数边界的空操作NOP指令,用转移Jmp指令代替所述NOP指令,所述转移指令的目标地址为所述第二过滤函数的地址;
对所述Jmp指令的地址相对于所述win32k.sys的偏移值进行左移4位,再加上所述第二函数的参数个数,得到一个数值;
根据所述Shadow SSDT的基地址,在所述Shadow SSDT中用所述数值替换与所述第二函数对应的表项,建立所述第二函数与所述第二过滤函数的关联。
所述方法还包括:
预先将所述第二函数中的起始指令替换为目标地址为所述第二过滤函数的地址的转移Jmp指令,建立所述第二函数与所述第二过滤函数的关联。
所述第一过滤函数执行对所述对象的保护,包括:
所述第一过滤函数判断所述非窗口对象是否为被保护的进程或线程;
如果是,则清除所述进程或线程的危险权限。
所述第二过滤函数执行对所述对象的保护,包括:
所述第二过滤函数判断所述窗口对象是否为被保护的窗口;
如果是,则过滤所述窗口的危险消息或不返回找到的所述窗口。
一种对象保护装置,所述装置包括:
第一处理模块,用于当执行非窗口对象的第一函数时,根据注册对象回调函数建立的所述第一函数与第一过滤函数的关联,跳转到所述第一过滤函数,所述第一过滤函数执行对所述非窗口对象的保护;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110092598.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于伤口负压治疗的设备
- 下一篇:一种访客路径规划方法、装置和系统





