Rootkit检测和蜜罐检测有相似之处,因为Rootkit通过搅乱内核欺骗不同用户,蜜罐则是通过搅乱内核来欺骗敌人,其实蜜罐和Rootkit就是同一种技术的的两个方面。
创新互联是一家专业提供召陵企业网站建设,专注与做网站、成都网站建设、html5、小程序制作等业务。10年已为召陵众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
Rootkit检测困难的地方主要有以下几点:
Rootkit的隐蔽性使对他们的检测和删除变得困难,破坏内核最简单的方法是安装一个可加载内核模块(也就是LKM),即使禁用了对LKM的支持,攻击者依然能通过在运行中重写他的内存来破坏内核。这可能涉及禁用一些我们可能用以检测系统中内存变化的功能。如果没有进一步更详细的目标,rootkit可能对存储器、文件系统进程列表没有做任何修改。可以做一个假设:Rootkit扩展内和功能以欺骗用户,结果一些操作将会导致比正常情况下更长的代码路径和更多的执行指令,比如说rootkit经常在文件系统中隐藏他们的存在,这就意味着如果我们调用函数set_getdents获得一个目录下的内容时候,rootkit可能介入已隐藏他自己的文件,从而增加指令数目。
为了测量在一次系统调用中有多少个处理器被执行,当处理器进入系统调用时候,我们将他设置为单步模式,单步模式下每执行一个指令,处理器就会产生一个调试异常。这样的话我们就hook到了中断描述表中的系统调用处理程序(int 0x80)和调试异常处理程序。当一个系统调用被初始化的时候,我们的处理程序被调用,之后通过在EFLAGS寄存器中置TF位(0x100)启动单步模式,并对我们的调试异常处理程序的调用次数进行计数。但是以上情况仅针对于Linux,在Windows下面IDT是有保护的,如果说在一个系统调用的过程中对异常执行次数进行计数是可操作的,这样的话也是可以创建一个干净系统的指令执行统计。其实上面这个步骤叫做执行路径分析法(EPA),但是EPA需要有高特权访问访问内核地址空间,而且对系统调用表修改的方法动作比较大,容易被检测出来。所以法国蜜网项目组的成员用了第二种方法:使用性能计算器或者是CPU提供的指令去检测执行时间的变化。具体的操作方法是这样的:
(1)在干净的系统上对同一个系统调用若干次(20w次以上),并记录该测量为时序T1
(2)在目标系统中进行相同次数的测量,并记录测量为时序T2
(3)这时候去计算每一个时序的傅里叶变化:
(4)计算两个时序频率向量之间的数积:
(5)如果r接近于1,系统是干净的;如果r接近于0,这有可能系统被植入了rootkit。
【本文是专栏作者elknot的原创文章,转载请通过获取授权】
新闻标题:如何检测Rootkit
标题来源:http://www.shufengxianlan.com/qtweb/news8/218758.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联