[发明专利]一种基于Windows平台的DLL注入方法及系统有效
| 申请号: | 201710559514.4 | 申请日: | 2017-07-11 |
| 公开(公告)号: | CN107479874B | 公开(公告)日: | 2021-04-16 |
| 发明(设计)人: | 曲恩纯;喻波;王志海;彭洪涛 | 申请(专利权)人: | 北京明朝万达科技股份有限公司 |
| 主分类号: | G06F9/448 | 分类号: | G06F9/448;G06F21/56 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 100097 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 windows 平台 dll 注入 方法 系统 | ||
本发明公开一种基于Windows平台的DLL注入方法及系统,该方法包括以下步骤:进程启动,判断当前进程是否需要注入安全检测DLL,如果需要,则获取需要注入安全检测DLL的模块名;判断模块名是否为“ntdll.dll”,如果是,将当前进程的注入信息插入工作队列;安全检测DLL对当前进程进行安全检测;如果经检测不安全,则结束,如果安全,则允许启动当前进程。通过本发明的方案,可以注入更多的进程,对杀毒软件不误杀,更稳定,更高效。
技术领域
本发明涉及数据安全领域,具体涉及一种基于Windows平台的安全检测DLL注入方法及系统。
背景技术
现阶WINDOWS安全检测DLL注入方式主要分三大类:Windows消息钩子、API HOOK和COM HOOK。
1)Windows消息钩子(操作系统本身提供)
Windows消息钩子分为全局消息钩子和局部消息钩子(即线程消息钩子),如:控制键盘的消息钩子。
2)API HOOK技术是一种用于改变API执行结果的技术,Microsoft自身也在Windows操作系统里面使用了这个技术,如Windows兼容模式等。API HOOK技术并不是计算机病毒专有技术,但是计算机病毒经常使用这个技术来达到隐藏自己的目的。
按照拦截方式不同又可分为以下几类:
InLine HOOK
IAT HOOK
EAT HOOK
3)针对COM接口虚函数表的HOOK技术,只适用COM接口。
现有技术中常用的几种HOOK技术与本发明技术方案最为接近。现阶段API HOOK(Inline HOOK最常见)流程如图1所示。
原函数内联后,跳转到处理函数,在处理函数处理完之后,再跳转回原函数跳转之前的位置。该技术在遇到加壳程序ShellCode和服务程序等情况时会发生注入失败的情况。
WINDOWS系统在进程创建的过程中会加载导入PE文件导入表的一系列模块依赖,而后会调用ZwTestAlert函数,本发明正是利用了这个过程,将ZwTestAlert函数ShellCode,使得无论是加壳程序还是服务程序,只要进程依赖“ntdll.dll”文件就可以实现完美注入。
发明内容
为解决上述技术问题,本发明提供了一种基于Windows平台的安全检测DLL注入方法,该方法包括以下步骤:
(1)进程启动,判断当前进程是否需要注入安全检测DLL,如果需要,则转入步骤(2),否则转入步骤(8);
(2)获取需要注入安全检测DLL的模块名;
(3)判断模块名是否为“ntdll.dll”,如果否,则转入步骤(8);
(4)如果是,将当前进程的注入信息插入工作队列;
(5)安全检测DLL对当前进程进行安全检测;
(6)如果经检测不安全,转入步骤(8);
(7)如果安全,则允许启动当前进程;
(8)结束。
根据本发明的实施例,优选的,所述工作队列的工作流程如下:
(4.1)获取进程空间中关键函数地址;
(4.2)根据关键函数地址,生成注入用的加壳代码ShellCode;
(4.3)修改关键函数中相关函数的前五个字节为跳转到加壳代码ShellCode指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京明朝万达科技股份有限公司,未经北京明朝万达科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710559514.4/2.html,转载请声明来源钻瓜专利网。





