[发明专利]一种拦截可疑程序运行的方法有效
申请号: | 201210566664.5 | 申请日: | 2012-12-24 |
公开(公告)号: | CN103065092A | 公开(公告)日: | 2013-04-24 |
发明(设计)人: | 胡光俊;王奕钧;薛正;宋伟航 | 申请(专利权)人: | 公安部第一研究所;北京中盾安全技术开发公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 北京中海智圣知识产权代理有限公司 11282 | 代理人: | 徐金伟 |
地址: | 100048*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 拦截 可疑 程序 运行 方法 | ||
技术领域
本发明涉及一种拦截可疑程序运行的方法,属于信息安全技术领域。
背景技术
目前,根据中国国家计算机网络应急技术处理协调中心发布的网络安全信息与动态显示,中国感染网络病毒的主机的数量呈大幅上升趋势。例如,现在病毒木马变种和传播的速度是广大杀毒软件厂商应接不暇的。并且当前在主机环境上病毒木马能够做到杀毒软件无法查杀、主机防火墙无法封堵、反隐藏工具无法发现,一旦系统感染了病毒木马,就长期潜伏,对信息安全造成巨大损失。
目前在现有技术中对于可疑程序运行的检测主要使用的技术和方法包括:主动防御检测、启发式查杀等方法,这些检测方法有明显的缺陷。例如,主动防御的检测方法会频繁询问用户,使得用户不知所措,虽然,使用高级内核rootkit技术能躲避主动防御的监控;启发式查杀方式能够通过编写自定义系统函数等方法加以绕过,但是,上述这些现有技术中的检测方法都以病毒木马的恶意行为作为检测依据,因此,在没有捕获新木马样本的情况下,对未知的新木马没有查杀能力。
发明内容
本发明的目的在于提供一种能够克服上述技术问题的拦截可疑程序运行的方法,本发明不依赖于检测可疑程序的诸如修改操作系统注册表、修改系统服务、向外传输文件等恶意行为特征作为判断该程序是否可疑的标准,本发明在被保护计算机上没有木马病毒的前提下(例如,新装操作系统等情况),系统第一次运行并记录下该计算机上已存在的所有PE文件信息并生成白名单,之后在操作系统内核中拦截所有文件加载申请内存的请求,并筛选出其中的PE文件,然后与黑白名单对比判断该文件是否可疑。本发明从功能结构上划分为驱动层和应用层。驱动层用来判断、拦截所有程序的启动和保护自身文件及黑白名单不被篡改;应用层用来生成及配置黑白名单、查看拦截日志等。
本发明的核心是在操作系统内核中拦截所有程序启动时加载文件申请内存的请求并判断该程序是否为可疑程序,本发明的判断方法采用了加速的哈希比对算法。
本发明包括以下步骤:
1.生成被保护计算机的白名单;
在本程序第一次启动时遍历计算机本地硬盘上所有文件,并筛选出其中的PE文件以及计算所述PE文件的特征值,最后将所述PE文件特征记录在白名单中。
具体计算PE文件的特征值的步骤如下:
1)将PE文件内容使用SHA计算哈希值并保存;
2)获取PE文件大小并保存;
3)获取PE文件内容中居中的8 BYTE作为快速索引保存。
2.拦截所有启动的进程;
通过驱动程序在操作系统内核级利用SSDT的HOOK技术实现拦截NtCreateSection函数,通过其参数中的SectionPageProtection和AllocationAttributes能够判断操作系统正要加载的文件是不是PE文件,并从参数FileHandle中获取将要被加载的PE文件路径。
3.判断进程是否可疑;
在通过驱动程序从操作系统内核级获取到将要加载的PE文件后,首先判断该PE文件的大小和居中的8字节是否在黑白名单中,如果该PE文件不在黑白名单中则继续验证该PE文件的数字签名,如果其数字签名有效则允许该PE文件加载,如果其数字签名验证失败则阻止该PE文件加载;如果在黑白名单中,则根据PE文件大小计算相应的SHA值,对于在黑名单中且SHA值也相等的PE文件直接阻止其加载运行,对于在白名单中且SHA值也相等的PE文件则放行允许其加载。
4.黑白名单文件保护;
通过驱动程序在操作系统内核级利用SSDT的HOOK技术实现拦截打开文件操作的函数NtCreateFile和NtOpenFile,以及修改文件操作的NtSetInformationFile函数,从其参数ObjectAttributes->RootDirectory和ObjectAttributes->ObjectName中获取目标文件是否为黑白名单文件,并通过函数IoGetCurrentProcess得到操作目标文件的进程名,从而检测出试图修改黑白名单的其他进程,最终通过向函数NtCreateFile、NtOpenFile和NtSetInformationFile返回调用失败来实现拦截其他进程修改黑白名单以保护黑白名单的可靠性。
5.生成报告日志;
对于操作系统加载的所有PE文件在拦截或放行后,生成一份日志报表,用以监控目前计算机上运行进程的状态。
6.上报样本;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于公安部第一研究所;北京中盾安全技术开发公司,未经公安部第一研究所;北京中盾安全技术开发公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210566664.5/2.html,转载请声明来源钻瓜专利网。