- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux下劫持系统调用的几种方式.pdf
2009 年第6 期
前置知识:Linux 、C
关键词:编程、系统劫持、系统调用
Linux 下劫持系统调用的几种方式
文/ 图 小小杉
在黑防上看到大量的文章都是在Windows 下针对Hook SSDT 、Shadow SSDT 表来劫持
Native API 等做文章,那么在Linux 系统下,又是怎样的情形呢?实际上,我们同样可以通
过一些手段来劫持系统调用,从而获得内核级特权。Linux 操作系统为了内核安全性考虑,
在用户态和内核态之间增加了所谓的系统调用层,即每次用户需要操作内核下的资源时,必
须借助系统提供的系统调用才能获取。显然,只要我们能够去截获这些系统调用,必然能很
好地进入内核态,即获得内核级特权。
本文首先分析Linux 下系统调用执行流程,然后给出当前劫持系统调用的各种方式,以
及通过劫持系统调用后我们所能做的事情。OK,下面我们来详细分析Linux 下的系统调用
整个实现过程。 线
Linux 下系统调用剖析
在x86 平台下,Linux 借助int 0x80 指令实现用户态向内核态的真正转换。在用户态下
防 处
执行的各种系统调用函数都会对应一个系统调用号,然后将此调用号存放到eax 寄存器中,
作为参数传递给int $0x80 的处理函数system_call()进一步处理。下面还是来看整个系统调用
的流程,再针对流程进行具体分析。 出
客
系统调用流程主要包含以下过程:(1)确定与中断或异常关联的向量i (0≤i≤255);(2 )
读idtr 寄存器指向的IDT 表中的第i 项;(3 )从gdtr 寄存器获得GDT 的基址,并在GDT
黑 明
中查找,以读取 IDT 表项中的选择符所标识的段描述符,此段描述符即指定了中断或异常
处理程序所在段的基址;(4 )确定特权级,将当前的CPL 与段描述符(存放在GDT 中)的
描述符特权级DPL 比较,若CPL 小于DPL 则允许访问;(5 )执行int $0x80 指令,CPU 切
注
换到内核态,将系统调用号存入到%eax 寄存器中,而系统调用的各参数则依次存入 ebx、
ecx 等通用寄存器中。(6 )开始执行 system_call() 函数,将寄存器%eax 压入堆栈,执行
请
SAVE_ALL 宏,即所谓的保护现场,然后检测当前的进程是否具有执行此系统调用的权限,
若是,则会转入call 到sys_call_table()函数中,找到正确的系统调用处理程序,执行相应的
系统调用。现在我们通过源码分析揭开其执行过程,首先看看系统调用的入口函数执行的一
载
段代码: 转
#define _syscall1(type,name,type1,arg1) \
type name(type1 arg1) \
{ \
long __res; \
__asm__ volatile (push %%ebx ; movl %2,%%ebx ; int $0x80 ; pop %%ebx \
: =a (__res) \
: 0 (__NR_##name),ri ((long)(arg1)) : memory); \
__syscall_return(type,__res); \
}
2009 年第6 期
此宏的定义在内核版本 2.6. 18 下可以从目录\include\asm-i386\unistd.h 下查看到。其中
__NR_##name 是系
您可能关注的文档
最近下载
- 中医气功学导论期末试卷.docx
- 请你谈一下你为什么要加入中国共产党谈谈为什么加入中国共产党.pptx VIP
- 2024南方电网广西电网公司校园招聘公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版.docx
- DB37T19976—2011山东物业服务规范第1部分住宅物业.doc
- 七年级心理健康教案完整版.docx
- 赤泥综合利用项目可行性研究报告(完整案例).pdf
- 2024款比亚迪海豹06DM-i豪华型尊贵尊荣尊享旗舰_用户手册驾驶指南车主车辆说明书电子版.pdf
- 企业技术改造资金绩效评价总结报告.doc
- 《生物化学》全套教学课件(共13章完整版).pptx
- 15-彭向刚-学习领导科学提升领导力(清华)__(全国各校课件参考).ppt
文档评论(0)