`
izuoyan
  • 浏览: 8949244 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多

随着安全技术的发展和计算机用户群的技术提高,一般的木马后门越来越难生存,于是一部分有能力的后门作者把眼光投向了系统底层——ring 0。位于ring 0层的是系统核心模块和各种驱动程序模块,所以位于这一层的木马也是以驱动的形式生存的,而不是一般的exe。后门作者把后门写成符合wdm规范 (windows driver model)的驱动程序模块,把自身添加进注册表的驱动程序加载入口,便实现了“无启动项”运行。一般的进程查看器都只能枚举可执行文件exe的信息,所 以通过驱动模块和执行文件结合的后门程序便得以生存下来,由于它运行在ring 0级别,拥有与系统核心同等级的权限,因此它可以更轻易的把自己隐藏起来,无论是进程信息还是文件体,甚至通讯的端口和流量也能被隐藏起来,在如此强大的 隐藏技术面前,无论是任务管理器还是系统配置实用程序,甚至系统自带的注册表工具都失去了效果,这种木马,就是让人问之色变的Rootkit。

要了解Rootkit木马的原理,就必须从系统原理说起,我们知道,操作系统是由内核(kernel)和外壳(shell)两部分组成的,内核负责 一切实 际的工作,包括cpu任务调度、内存分配管理、设备管理、文件操作等,外壳是基于内核提供的交互功能而存在的界面,它负责指令传递和解释。由于内核和外壳 负责的任务不同,它们的处理环境也不同,因此处理器提供了多个不同的处理环境,把它们称为运行级别(ring),ring让程序指令能访问的计算机资源依 次逐级递减,目的在于保护计算机遭受意外损害——内核运行于ring 0级别,拥有最完全最底层的管理功能,而到了外壳部分,它只能拥有ring 3级别,这个级别能操作的功能极少,几乎所有指令都需要传递给内核来决定能否执行,一旦发现有可能对系统造成破坏的指令传递(例如超越指定范围的内存读 写),内核便返回一个“非法越权”标志,发送这个指令的程序就有可能被终止运行,这就是大部分常见的“非法操作”的由来,这样做的目的是为了保护计算机免 遭破坏,如果外壳和内核的运行级别一样,用户一个不经意的点击都有可能破坏整个系统。

由于ring的存在,除了由系统内核加载的程序以外,由外壳调用执行的一般程序都只能运行在ring 3级别,也就是说,它们的操作指令全部依赖于内核授权的功能,一般的进程查看工具和杀毒软件也不例外,由于这层机制的存在,我们能看到的进程其实是内核 “看到”并通过相关接口指令(还记得api吗?)反馈到应用程序的,这样就不可避免的存在一条数据通道,虽然在一般情况下它是难以被篡改的,但是不能避免 意外的发生,Rootkit正是“制造”这种意外的程序。简单的说,Rootkit实质是一种“越权执行”的应用程序,它设法让自己达到和内核一样的运行 级别,甚至进入内核空间,这样它就拥有了和内核一样的访问权限,因而可以对内核指令进行修改,最常见的是修改内核枚举进程的api,让它们返回的数据始终 “遗漏”Rootkit自身进程的信息,一般的进程工具自然就“看”不到Rootkit了。更高级的Rootkit还篡改更多api,这样,用户就看不到 进程(进程api被拦截),看不到文件(文件读写api被拦截),看不到被打开的端口(网络组件sock api被拦截),更拦截不到相关的网络数据包(网络组件ndis api被拦截)了,我们使用的系统是在内核功能支持下运作的,如果内核变得不可信任了,依赖它运行的程序还能信任吗?

但即使是Rootkit这一类恐怖的寄生虫,它们也并非所向无敌的,要知道,既然Rootkit是利用内核和ring 0配合的欺骗,那么我们同样也能使用可以“越权”的检查程序,绕过api提供的数据,直接从内核领域里读取进程列表,因为所有进程在这里都不可能把自己隐 藏,除非它已经不想运行了。也就是说,内核始终拥有最真实的进程列表和主宰权,只要能读取这个原始的进程列表,再和进程api枚举的进程列表对比,便能发 现Rootkit进程,由于这类工具也“越权”了,因而对Rootkit进行查杀也就不再是难事,而Rootkit进程一旦被清除,它隐藏自身的措施也就 不复存在,内核就能把它“供”出来了,用户会突然发现那个一直“找不到”的Rootkit程序文件已经老实的呆在文件管理器的视图里了。这类工具现在已经 很多,例如icesword、patchfinder、gdb等。

道高一尺,魔高一丈,因为目前的主流Rootkit检测工具已经能检测出许多Rootkit木马的存在,因此一部分Rootkit作者转而研究 Rootkit检测工具的运行检测算法机制,从而制作出新一代更难被检测到的木马——futo Rootkit。

国产优秀检测工具icesword在futo面前败下阵来,因为futo编写者研究的检测工具原型就是一款与之类似的black & light,所以我们只能换用另一款Rootkit检测工具darkspy,并开启“强力模式”,方可正常查杀Rootkit。

但是由于检测机制的变化,darkspy要检测到futo的存在,就必须保证自己的驱动比futo提前加载运行,这就涉及到优先级的问题,也是让业 界感觉 不太满意的一种方式,因为这样做的后果会导致系统运行效率下降,不到紧急关头,都不要轻易采用这种方法,然而现在的瑞星卡卡助手所推广的“破甲”技术,实 现原理是与之类似的,它也会对系统造成一定影响,因而,这个介于安全和效率之间的选择,唯有留给用户自己思考了。

分享到:
评论

相关推荐

    windows rootkit技术分析

    List: 一,前言 二,简介 三,rootkit的一些以公开的隐藏技术 四,一些隐藏技术的应对方法 五,about ring0 rootkit 六,rootkit的检测 七,参考资料

    内核级后门Rootkit技术

    内核级后门Rootkit技术内核级后门Rootkit技术内核级后门Rootkit技术

    内核级后门Rootkit技术.ppt [评价可免费]

    首先关于 [评价可免费] 的严重声明: 一、评价=评论加评价(评星星); 二、评价必须是下载完了该资源后的评价,没下载就评论无效;...Rootkit 技术的必要性 事物两面性;信息战、情报战 ……

    基于Rootkit技术的手机安全

    智能手机的广泛普及给用户带来了很多方便,种类繁多的应用程序让我们的工作和生活带来很多便利,但是手机信息安全问题也日益突出,手机Rootkit比一般...本文分析了手机Rootkit技术、隐蔽原理、攻击流程和防范检测技术。

    基于Linux系统调用的内核级Rootkit技术研究.pdf

    基于Linux系统调用的内核级Rootkit技术研究.pdf

    内核级后门Rootkit技术.rar

    内核级后门Rootkit技术,这是个PPT文件不错的!

    Linux下VFS层Rootkit技术研究.pdf

    Linux下VFS层Rootkit技术研究.pdf

    NT操作系统的Rootkit技术初探

    Rootkit最早是起源于UNIX,出现在20世纪90年代初,在1994年2月的一篇安全咨询报告中首先使用了Rootkit这个名称。这篇 安全咨询就是CERT-CC的CA-1994-01,题目是Ongoing Network Monitoring Attacks,最新的修订...

    内核级Rootkit技术基础知识

    黑客可以在入侵后置入Rootkit,秘密地窥探敏感信息,或等待时机,伺机而动;取证人员也可以利用Rootkit实时监控嫌疑人员的不法行为,它不仅能搜集证据,还有利于及时采取行动。而本文的目的,就是同读者一起踏上...

    Anti MBR-Rootkit技术研究

    摘要:本文主要对磁盘主引导记录MBR和Windows操作系统的启动过程进行了阐述,对Rootkit和MBR-Rootkit技术特点进行了总结,对MBR-Rootkit结构和实例的行为特点进行了深入研究和剖析,针对WinXP操作系统的MBR-Rootkit...

    一种硬件虚拟化技术的Rootkit及其检测

    为了研究这种新的Rootkit技术,介绍了硬件虚拟化技术和HVM Ro-otkit的工作机制,在此基础上对HVM Rootkit的键盘过滤和网络传输功能进行设计和实现,展示攻击者如何利用HVM Rootkit对用户计算机造成的安全威胁,对HVM ...

    内核级Rootkit技术入门

    本文介绍了Windows下的内核级Rootkit的最基础性的东西,以及利用驱动程序将代码导入到内核的方法。虽然我们还没有涉及到真正的Rootkit,但这些内容是我们掌握Rootkit的必经之路,就像我们要建一座6层的楼房,却不能...

    windows xp隐藏进程 源代码.rootkit技术

    windows xp隐藏进程 源代码.zip

Global site tag (gtag.js) - Google Analytics