|
|
|
|
|
|
|
高级Windows 2000 Rootkit检测技术5 |
|
|
|
运行的指令个数。只要在用户模式下设置TF位一次就可以了,从内核返回时,处理器会自动恢复这一位。 以上的计数方法通过内核驱动器实现。如图2所示,驱动加载后勾连IDT 0x1和0x2e。为和用户级程序交互。驱动勾连一个系统调用,用户级程序通过这个特定的系统调用来开关计数器。 一些测试 我们可以使用上一段中描述的方法来测定任意系统服务中执行的指令个数。 例如,来检查是否有人试图隐藏任意文件,我们可以开始一个简单的测试: pfStart(); FindFirstFile("C:\\WINNT\\system32\\drivers", &FindFileData); int res = pfStop(); 如果有rootkit隐藏任意文件,则执行的指令数要比干净的系统多。 如果运行这个测试上百次,并计算执行指令数的平均值,我们会发现这个值是非常不确定的。考虑Win2k的复杂性,这一点也不让人吃惊。但对于我们的检测目的来说,这种现象是不能接受的。但如果我们将得到的那些值的频率分布用条形图表示出来,会发现图中有一个明显的频率高点。如图4和5中所表示那样的,即使是在系统负载很大时,频率高点所对应的数值保持不变。很难解释这个令人吃惊的现象,可能是因为在循环中同一页码:[1] [2] [3] [4] [5] [6] [7] [8] [9] 第5页、共9页 |
|
|
|
|
设为首页 | 加入收藏 | 广告服务 | 友情链接 | 版权申明
Copyriht 2007 - 2008 © 科普之友 All right reserved |