相关文章  
  • 非常详细的 XLink1.0 学习笔记
  • 非windows操作系统与windows简易整合(2)
  • 非windows操作系统与windows简易整合(3)
  • Longhorn(长角)系统的初步优化
  • 彻底探索计算机变慢10大原因
  •   推荐  
      科普之友首页   专利     科普      动物      植物        天文   考古   前沿科技
     您现在的位置在:  首页 >>文献 >>培训

    高级Windows 2000 Rootkit检测技术4

    了隐藏文件和进程而修改了ZwQueryDirectoryFile()和ZwQuerySysteminformation(),那样和干净的系统相比,这些系统函数就会执行更多的指令。不管入侵者采用勾连或在代码中加入jmp指令,或其他任何方法。指令增加的原因是rootkit必须进行它的任务(在这个例子中是隐藏文件和进程)。
      但是Windows 2000的内核是一个非常复杂的程序,即使在干净的系统中,某些系统函数每次运行的指令个数也是不同的。然而我们可以用统计学来解决这个问题。但首先,我们需要一种测定指令个数的方法......
      
      指令计数器的实现
      单步执行模式是Intel处理器的一个好的特性,我们可以用它来实现指令计数。当处理器处在这个模式时,每执行完一条指令,系统将产生一个除错异常(debug exception, #DB)。要进入这个模式,需要设置EFLAGS寄存器中的TF位(详见[6])。
      当执行int指令时,处理器会自动清TF位并进行权限切换。这意味着,如果要进行内核模式下的指令计数,则必须在中断处理程序开头设置TF位。因为我们将要测定一些系统服务中的指令个数,勾连中断向量0x2e,也就是Windows 2000下的系统服务调用门会变得很有效。
      但是,因为存在用户模式的rootkit,也应该测定在ring3级

    页码:[1] [2] [3] [4] [5] [6] [7] [8] [9]4页、共9页

         

          设为首页       |       加入收藏       |       广告服务       |       友情链接       |       版权申明      

    Copyriht 2007 - 2008 ©  科普之友 All right reserved