[发明专利]一种高兼容性的监控Windows内核函数调用的方法有效
| 申请号: | 200910157267.0 | 申请日: | 2009-07-06 |
| 公开(公告)号: | CN101604370A | 公开(公告)日: | 2009-12-16 |
| 发明(设计)人: | 李京春;袁建军;梁利;宋利华;李建兴;熊益;周德键;徐茜;周建亮 | 申请(专利权)人: | 中国人民解放军信息技术安全研究中心 |
| 主分类号: | G06F21/22 | 分类号: | G06F21/22 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 100094北京市海淀区东*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 兼容性 监控 windows 内核 函数 调用 方法 | ||
所属技术领域
本发明属于计算机安全领域,通过提出一种新型的Windows内核函数调用的监控方法, 利用扩展SSDT映射表和修改Windows调用内核函数时的跳转偏移量两种方法的结合,达到监 控系统内核函数调用的目的,并实现与其他Windows内核函数监控方法的兼容。
背景技术
近年来随着网络应用的深入发展,网络安全也正面临极大的挑战,特别是近一两年网络 上猖獗的特洛伊木马和后门,让人望而色变,成为当前网络安全威胁最大的因素。传统的基 于静态特征扫描的安全技术已经远远不能适应恶意代码的爆炸性的变化和增长,因此越来越 多的安全软件开始以主动防御作为发展的方向,既有以主动防御技术为主的东方微点主动防 御软件,也有加入主动防御功能传统杀毒软件,例如卡巴斯基、瑞星、金山、江民等。
目前主动防御的形式主要都是通过对系统内核不同层次函数的监控,进而通过不同的安 全策略和算法来进行行为判断。但是目前各种主动防御软件的内核监控方法往往是严重冲突 的,甚至与一些安全检测软件也是相冲突的。在主动防御技术尚未成熟,仍需要与传统的基 于特征扫描技术的杀毒软件兼容的局面下,如何能做到内核监控技术的高兼容性就成为主动 防御发展道路上必须解决的问题。
当前主流的内核监控技术五花八门,例如修改程序IAT表、修改DLL的EAT表、修改内存中 DLL文件的API函数、替换程序和DLL文件、修改IDT表、修改SSDT表、修改IRP函数表等等方式。 这些方法主要都是通过修改应用程序调用系统内核函数的执行路径,劫持正常程序及系统函 数调用的执行路线,在调用内核函数之前首先执行监控代码,来达到系统内核监控功能。
由于各种方法都是通过修改Windows操作系统公用的内核代码来达到监控的目的,因此各 种方式非常容易冲突。修改SSDT表的方法更由于其稳定性和易用性被广泛采用,SSDT的全称 是System Services Descriptor Table,系统服务描述符表,一般来说此表与链接系统内核 的API密切相关,所有应用层都需要通过访问它来调用系统内核函数,因此很多的主动防御都 通过修改这张表来达到监控系统内核函数的目的,但如果有两方以上的软件同时修改它就会 造成系统崩溃的恶果。
例如360安全浏览器使用的Sandboxie和“瑞星杀毒软件2008版”的安全防护模块监控了 部分相同的系统内核函数调用,Sandboxie监控时使用Inline Hook技术修改了瑞星杀毒软件 的监控代码,当瑞星杀毒软件升级、修复软件和卸载时,Sandboxie执行Inline Hook时复制 的监控代码会导致系统崩溃蓝屏;还有众所周知的常识,现在的杀毒软件例如卡巴斯基、瑞 星、江民等等是不能在同一个主机操作系统中安装,也是由于这样的问题。因此,提出一种 新型的高兼容性的系统内核函数监控方法对于主动防御产业的发展也是非常重要的。
发明内容
为了做到系统内核函数调用监控的较好的兼容性,本发明结合Windows系统内核调用的 流程提出了一种监控系统内核函数调用的新方法,其具体处理方位为:在系统SSDT映射表后 添加扩展的监控函数,然后通过修改Windows调用系统内核函数时的跳转偏移量,使被监控 函数调用转向扩展的监控函数,以达到监控Windows内核函数调用的目的。
本方法监控流程如下:
1、新建一张SSDT映射表,复制系统原有SSDT表中所有内容到新映射表中,然后在新的 映射表后加入扩展监控函数的首地址和参数量等信息,使用新的SSDT映射表替 换系统原有的SSDT表。
2、通过Inline Hook系统KiFastCallEntry函数,加入监控判断代码。
3、在第2步中加入的监控判断代码内判断被调用函数(通过EAX寄存器中数值来确认) 是否为被监控函数,是则修改EAX寄存器的值为SSDT映射表中相应监控函数的 偏移量,不是则不进行任何修改。
4、在SSDT映射表中的监控函数中提取被监控函数参数中的信息并进行处理。
本方法具有的优点如下:
1、较高的兼容性:通过建立一张SSDT映射表并在该映射表尾部追加监控函数,达到并 不修改原表的目的,避免了与其他监控冲突的可能。
2、较好的稳定性、易用性:该方法在修改SSDT表的基础上进行内核函数调用监控,具 有较好的稳定性和易用性。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军信息技术安全研究中心,未经中国人民解放军信息技术安全研究中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910157267.0/2.html,转载请声明来源钻瓜专利网。





