毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 计算机论文 >> 正文

DLL注入和API拦截Windows操作系统下进程隐藏技术研究 第3页

更新时间:2016-11-14:  来源:毕业论文
3.常用的进程隐藏技术原理
3.1基于系统服务的进程技术
在WIN9X系列操作系统中,系统进程列表中不能看到任何系统服务进程,因此只需要将指定进程注册为系统服务就能够使该进程从系统进程列表中隐形。 
3.2基于API HOOK的进程隐藏技术
API(Application Program Interface)Hook指的是通过特殊的编程手段截获 Windows系统调用的A P I函数,并将其丢弃或者进行替换。通过API Hook编程方法,截获系统遍历进程函数并对其进行替换,可以实现对任意进程的隐藏。所选课题以此技术为主,具体原理在下文中详细介绍。 
3.3基于DLL的进程隐藏技术
利用远程线程插入DLL实现隐藏的关键环节是打开目标进程和获取宿主进程,打开目标进程,使用OpenPr0cess实现,申请相应的访问权.如果OpenPmcess返回NULL,本地进程就运行在不允许打开目标进程句柄的安全环境下,可以尝试调试安全优先级,获取宿主进程的过程是使用循环语句获得.改进后的方法相对于传统做法可以提高进程的隐蔽性。
DLL文件没有程序逻辑,不能独立运行,由进程加载并调用,所以在进程列表中不会出现DLL文件。如果是一个以DLL形式存在的程序,通过某个已有进程进行加载,即可实现程序的进程隐藏。当进程隐藏的时候,这个程序服务器运行之后,就不应该具备一般进程的表现,也不应该具备服务的表现。也就是说,完全融进了系统的内核:如果不把程序作为一个应用程序,而把它作为一个线程、一个其他应用程序的线程,将其注入到其他应用程序的地址空间,而这个应用程序对于系统来说,是一个必不可少、绝对安全的程序。那么.就达到了彻底隐藏的效果,这样的结果增加了查杀程序的难度。
3.4基于远程线程注入代码的进程隐藏技术
远程线程技术是指通过在一个正在运行的进程中创建远程线程的方法进入该进程的内存地址空间。在进程中,可以通过CreateThread函数创建线程,被创建的新线程与主线程(即创建进程时同时自动建立的线程)共享地址空间以及其他资源。通过CreateRemoteThread也同样可以在另一个进程内创建新线程.被创建的远程线程同样可以共享远程进程的地址空间,所以,创建一个远程线程,进入远程进程的内存地址空间,就拥有了该远程进程的权限,可以在监视模块被恶意终止时及时重新启动。
这种方法与远程线程注入DLL的原理一样,都是通过在某进程中创建远程线程来共享该进程的内存空间。所不同的是,远程线程注入代码通过直接拷贝程序代码到某进程的内存空间来达到注入的目的。因为程序代码存在于内存中, 不仅进程列表中无法检测,即使遍历进程加载的内存模块也无法找到被隐藏程序的踪迹。
4.软件基本原理
 Windows下的应用程序都建立在API函数之上,API Hook是指截获指定进程或系统对某个API函数的调用,使得API函数的执行流程转向指定的代码。API Hook 的主要目的是在其他应用程序调用API之前将其拦截,由拦截者先处理传递的参数数据,然后决定是否调用原来的API。
 任务管理器是调用Ntdll.dll中的API函数ZwQuerySystemInformation来获得进程列表的,所以只要先截获任务管理器对这个API的调用,使得API的执行流程转向指定的替换函数NewZwQuerySystemInformation,从返回的进程信息链表中取出要隐藏的目标进程的信息,然后把改变的进程列表返回给任务管理器,那么目标进程则从任务管理器中隐藏。

上一页  [1] [2] [3] [4] [5] 下一页

DLL注入和API拦截Windows操作系统下进程隐藏技术研究 第3页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。