免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > windows > Linux系统内核劫持方法分析

Linux系统内核劫持方法分析

时间:2011-12-31 17:27来源:未知 整理:寂涯网络 点击:

  通过改变系统调用函数执行流,我们给出一种基于Linux内核2.6家族Intel体系架构
下的新型攻击方式。基本思想:通过改变系统调用内部处理逻辑中间位置的控制流,并创建
一个环境使攻击者尽可能地隐藏他们的活动,瘫痪当前的市面上的各种检测工具。
  基本上,我们都根据操作系统的架构将攻击模式分为两个部分:其一,用户模式下的攻
击。攻击者实现一个简单的二进制命令替换,破坏原有的系统命令,如ls、ps 等。但这些

方式都是基于文件系统级的修改,无法躲避检验和检测,如 Tripware 工具。其二,内核模
式下的攻击。现在的各种攻击手段都走向了内核,特别是针对内核接口的破坏,如系统调用
接口或虚拟文件系统VFS等。这类攻击因其能轻易获取到系统控制权而颇受欢迎。对于上层
用户而言,调用的各种上层API函数,都需要映射到对应的系统调用函数上,若我们能够修
改内核接口行为,则整个系统行为都可以改变。攻击者若希望隐藏他的行为,只需修改一些
特定接口并公开部分真实结果即可。当前,并没有一种可靠的方式揭露系统中的攻击行为,
我们只能希望攻击者没有足够优秀的技术,完全隐藏他留下的痕迹。
  下面,我们将重点关注系统调用接口,讨论各种当前存在的各种攻击类型,并分析如何
在系统调用例程中间插入jump代码。
 
系统调用接口
 
系统调用接口即用户模式与内核模式之间切换的接口层。任一应用程序需要访问内核数
据结构,都需要通过系统调用接口,映射到对应的系统调用函数上进行处理,然后将结果返
回给上层应用程序。在 Linux(IA-32)下,系统调用以软中断方式通过调用号映射。函数
参数通过 CPU 寄存器传递,严格顺序如下:eax, ebx, ecx, edx, esi, edi, ebp. 其中eax
通常用来存放调用号,下面简单分析下setuid()函数的调用,如图1所示。 

Linux系统调用流程

首先,应用程序在 CPU 寄存器内填充需要传递的值,然后通过$0x80 产生一个异常,引
发一个系统调用例程,将执行流程切换至内核模式。系统调用例程的地址存放在中断表中,
具体调用哪个函数,由传递的中断号确定。在system_call()内实现的系统调用例程,首先
保存系统调用号,以及所有CPU寄存器内容(SAVE_ALL宏实现),然后系统做一些基本的测
试,在所有测试都正常下,保存在eax内系统调用号会作为系统调用表的一个索引,查找系
统调用函数如 sys_setuid(). 系统调用函数会执行后续代码,以改变系统状态或返回一个
系统值。所有的系统调用函数都以asmlinkage方式实现,即它们的参数都是存放在堆栈中。
当系统调用完成后,函数返回值会保存在$eax 寄存器内。随后系统调用例程会继续执行后
续代码,如各种额外的测试等,成功后所有的 CPU 寄存器值会恢复成原始值(RESTORE_REGS
宏),并以iret指令结束,使程序执行流切回至用户态模式。
系统调用使用非常频繁,通过软中断方式实现模式切换效率不高。基于此, Intel Pentium
II处理器提供了一快速系统调用即sysenter指令。尽管此指令调用sysenter_entry(),但
其结果与系统调用表例程几乎一样。故,文章并没有特意区分两种调用模式。

各种攻击艺术  

针对系统调用接口的攻击方法相对比较陈旧和普遍。下面简要描述下这些攻击类型。(1)

攻击系统调用表,一种古老而最广泛的入侵方式。攻击方法:构造一个伪函数替换系统调用
表中的原始函数,其主要表现为过滤一些特殊结果,但现在系统管理员基本上都会对系统调
用表进行检验,以及市面上的各种校验工具等,故攻击者不得不研制更优秀的攻击方法。(2)
攻击系统调用函数,即修改指定函数的序言部分。通过修改函数实现体的前几个字节指令,
如替换为 JMP 指令,使其JMP 到攻击者设定的 hack函数中,也被称为 Detour技术。(3)攻
击系统调用例程。即在不破坏系统调用表的情况下接管系统执行流。具体方法:拷贝一份原
始的系统调用表到一个指定位置,然后改变系统调用例程指针。此时,原系统调用表将不会

本页地址 http://www.jybase.net/windows/20111231736.html

百度搜索更多

谷歌搜索更多

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com