首页 > 范文大全 > 正文

Windows server 2008服务器进程隐藏机制的研究与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇Windows server 2008服务器进程隐藏机制的研究与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:本论文研究了目前出现的各种进程隐藏技术,并利用WDM驱动编程验证了DKOM技术,详细介绍了在windows server 2008 服务器平台上搭建驱动开发环境的方法和这种技术的实现过程,并最终模拟了服务器系统中的进程隐藏过程。在研究过程中利用WinDBG分析了重要的内核函数的实现机理,并查找了未公开的内核数据结构的定义。同时,本论文在实现进程隐藏的基础上,进一步实现了驱动程序模块的隐藏,更加真实的模拟了高危病毒运行的过程以及病毒对服务器所带来的安全隐患。在测试阶段,本论文公选用了Windows资源管理器、Process、EF Process Manager、Antiy ports、Process Viewer、proscan六种主流的进程查看工具分别进行进程隐藏验证。结果表明,DKOM机制能够躲过以上所有工具,完美地隐藏自身。

关键词:进程隐藏 Windows server 2008 DKOM技术 WDM驱动编程

中图分类号:TP3 文献标识码:A 文章编号:1007-9416(2013)03-0110-02

1 引言

Windows Server 2008是专为强化新一代IPv6网络、应用程序和Web服务的功能而设计的服务器系统。该系统虽是建立在Windows Server先前版本的成功与优势上,但是也因此继承了Windows系列操作系统的一些可能被病毒所利用的传统特征,如进程隐藏机制。所谓进程隐藏就是在用户不知情的情况下悄悄执行自己的代码。恶意代码通常通过隐藏自身进程信息,在用户察觉不到的情况下植入破坏性代码或窃取用户保密信息。进程隐藏,一直是病毒、木马程序设计者不断探求的重要技术,因为这些进程都需要很好的隐藏和保护自身信息。

当前,伴随着Windows服务器系统功能的日益发展与完善,木马技术也紧跟发展,使得木马在系统中更具隐藏性,更具危害性。本文在此背景下研究进程隐藏机制,将有助于进一步了解和掌握木马技术的发展方向,有助于采取更有力的应对措施。了解进程隐藏技术,是开发防病毒和木马软件的基础,同时也助于促进信息安全技术的发展。

有些情况下,进程隐藏也是某些类型程序所需要的功能,如某些系统安全控制程序,例如网络流量监控系统,这种程序需要在服务器系统中长驻,不能随意停止和卸载,这则要求进程能有效保护和隐藏自己,以防止用户恶意删除和卸载。在当前企业中要求提供高度安全的网络基础架构,以提高和增加技术效率与价值的大趋势下,分析此背景下木马实现的关键技术,必将具有重要的的现实意义。

2 Windows系列操作系统中的进程隐藏技术

进程是程序运行的基础,因此检查进程也就成了查杀木马的关键环节,所以,对木马设计者而言,成功隐藏自己的进程信息,就是其最重要的基础工作。随着木马技术的不断发展,进隐藏技术也在不断发更新。

进程隐藏技术在不断的发展中,在Win NT架构服务器时代,第一代进程隐藏技术就已经出现。早在Windos 98系统当中,微软公司就提供了一种将进程注册为服务的方法,这种技术称为Pegister Service Process。

由于这种隐藏技术存在严重的版本限制性,从而引发了第二代进程隐藏技术的研究,称之为进程插入。利用的技术有DLL插入技术、远程线程插入技术等,这种隐藏技术较之第一代更为高级和隐藏。继进程插入技术之后,新的进程隐藏技术又飞速发展,称为HOOK API技术。Windows系统给开发人员提供了几种列出系统中所有的进程、模块与驱动程序的方法,最常见的也是最常用的方法就是调用系统API;Create Tool Help 32 Snapshot、Enum Process、Enum Process Modules等,它们是获取进程列表的第一层手段,调用这几个API函数,就可以得带系统当前运行进程的返回列表。

这几个API在接到请求后会调用ZW Query System Information,Zw Query Ststem Information,会调用Ki System Service切入内核进入ring0权限,然后自SSDT表(System Service Descriptor Table,系统服务分配表)中查得Nt Query System Information的地址,并调用其指向的实际代码,其运行原理是从系统的数据结构中取相应的数据,再返回给调用者。

在此过程中,在任何一个环节上进行拦截都可以实现隐藏进程的目的,在切入内核进入root0权限前进行HOOK,称为用户模式HOOK,而在之后进行HOOK则是内核模式HOOK,后者需要驱动才能实现。它比前几种技术更为成熟。这种技术使得木马不必将自己插入到其他进程中,即可实现自身信息的隐藏。

更为高级的技术是DKOM―直接内核对象修改技术,是由木马程序将自身的进程信息从Windows服务器系统用以记录进程信息的“进程链表”中删除,这样进程管理工具就无法从“进程链表”中获得木马的进程信息。Windows服务器系统枚举进程使用的是活动进程列表Ps Active process list,所有结点通过EPROCESS结构中的Active Process Links 双向指针链在一起。EPROCESS结构中有个双向链表LIST_ENTRY结构,这个结构有两个DWORD指针成员FLINK和BLINK,这两个指针分别指向当前进程的前一个和后一个进程。要隐藏某个进程,只需修改对应ERPOCESS的Active Process Links,将其从链表中摘除。只要把当前进程的前一个进程的BLINK指向当前进程后一个进程的FLINK,再把当前进程后一个进程的FLINK指向当前进程前一个进程的FLINK。由于系统执行线程调度使用的是其他的数据结构,因此这种修改不会影响进程运行。

3 对DKOM进程隐藏技术的模拟与验证

在研究的各种进程隐藏技术中,最有效的是DKOM(Direct Kernel Object Manipulation,DKOM 直接内核对象修改技术)。这种技术绕过了对象管理器,直接对内核对象进行操作,从而绕过了所有关于对象的访问检查,彻底实现了进程隐藏。由于这种技术直接操作内核对象,需要ring0的运行权限,所以必须通过WDM驱动开发来实现。

在实现过程中,作者首先配置了Windows Server 2008平台上的驱动开发环境;然后对验证程序进行了详细设计,明确每个模块需要实现的功能;最后针对不同的模块一一探寻实现机理,如在编码的过程中,反汇编了重要的内核函数Ps Get Current Process,并利用WinDBG等工具剖析了Windows内核中重要的数据结构,从而深入揭示了改函数返回当前进程结构EPROCESS的原因。

即使隐藏了进程信息,管理员通过查找驱动文件信息还是可能发现该进程。本研究在实现进程隐藏的基础上,进一步实现了驱动的隐藏,利用的原理也是直接内核修改,从加载的模块双向链表中摘除驱动信息。

4 结语

利用DKOM技术编码隐藏进程之后,利用Windows server 2008中的资源管理器、Process Explorer、EF Process Manager、Antiy Ports、Process Viewer、Proscan六种主流的进程查看工具分别进行查看,都没有查看到被隐藏的进程。研究结果表明,这种技术可以很好地实现隐藏。

研究进程隐藏技术对于信息安全领域有非常重要的作用,通过研究内核层面的进程隐藏机制可以保障主机多种安全,如限制内核模块的任意加载,防止黑客插入恶意模块传播病毒、留下后门、修改重要文件和销毁攻击痕迹,防止部分系统功能被非法终止等。研究进程隐藏机制可大大增强主机的安全性,使用户在使用工程中避免恶意代码的破坏。信息安全将是未来发展的一个重点,攻击和侦测都有一个向底层靠拢的趋势。未来病毒和反病毒底层化是一个逆转的事实,这些方面的研究可以在保护服务器内关键信息免遭黑客侵害、积极保护用户的数据的方面为研究人员提供宝贵的经验。

参考文献

[1]张新宇,卿斯汉,马恒太,张楠,孙淑华,蒋建春.特洛伊木马隐藏技术研究[J]. 通信学报. 2006(07).

[2]刘颖.Windows环境恶意代码检测技术研究[D].电子科技大学,2007.

[3]田畅,郑少仁.计算机病毒计算模型的研究[J].计算机学报,2007(02).

[3]胡和君,范明钰.基于内存搜索的隐藏进程检测技术[J].计算机应用,2008(01).