考试网 >> IT认证 >> 微软 >> MCSE指导 >> 高级Windows 2000 Rootkit检测技术

高级Windows 2000 Rootkit检测技术

发布时间:2006-06-28 05:12     点击:
分页:上一页  1 2 3 4 5 [6] 7  下一页



 首先,恶意程序可以勾连包含除错处理程序(debug handler)地址的IDT入口1,这样将暂停记录运行的指令数。当它完成工作时,再恢复 IDT入口1。这样rootkit中所执行的指令数不会被记录。   



 我们可以使用intel的除错寄存器来防止这类的攻击。可以使用DR0和DR1寄存器对IDT入口1进行写保护。并且为防止rootkit向除错处理程序的开始处写入Jmp指令,还需对其进行读保护。换句话说,我们不想让rootkit发现除错处理程序的地址。但单纯对IDT入口进行读保护是不行的,系统会蓝屏。但有一简单的解决方法,就是增加额外的一层。见图9。   



 还有一种攻击的方法,在rootkit运行时,其将TF位清零,并在恶意操作完成时恢复TF位,这样检测工具也只能发现运行的指令数和正常的系统有细微差别。   



 另外,rootkit还能检查TF位, 如发现被跟踪,则不进行恶意操作。这种行为并不会影响rootkit的正常工作,因为只有被检测的进程才被设置TF位。   



 我们可以防止这种攻击,应该注意到的是运行每一个系统指令前,都会运行我们的除错处理程序。以下是简单的防预方法:   



 如果除错处理程序发现上一个运行指令是pushf(将EFLAGS寄存器压入堆栈),则运行如下操作。   



    



 and [esp], 0xfffffeff;   



    



 及清TF位。同样,如果下一条指令是popf(从堆栈载入EFLAGS的值),则运行如下操作。   



    



 or [esp],0x100;   



    



 及设TF位。这样rootkit就不能更改TF位。   



 这样的预防几乎可够了,但还不充分。Rootkit仍能以以下方法发现其被跟踪:   



    



 setTFbit();   
分页:上一页  1 2 3 4 5 [6] 7  下一页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有