网站大量收购独家精品文档,联系QQ:2885784924

2002-12-2.pptVIP

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2002-12-2

2002-12-2 2002-12-2 Linux kernel exploit研究和探索 DOC:alert7 alert7@ PPT:e4gle e4gle@ Linux kernel exploit研究和探索 研究kernel exploit的必要性 内核exploit和应用层exploit的异同点 内核exploit的种类 内核缓冲区溢出(Kernel Buffer Overflow) 内核格式化字符串漏洞(Kernel Format String vulnerability) 内核整型溢出漏洞(Kernel Integer Overflow) 内核kfree()参数腐败(Kernel Kfree Parameter Corruption) 内核编程逻辑错误(Kernel Program Logic Vulnerability) TCP/IP协议栈溢出漏洞 引言 经常听一些人讨论内核溢出的一些事情,比起应用层有哪些异同?有何应用?如何定位溢出点,以及如何定位shellcode等。 希望通过这篇文章,你能找到上面问题的答案,并且自己也能够写出内核级别的exploit。 由于作者本人水平有限,所以欢迎各位大虾指正! 欢迎国内对内核exploit技术的爱好者来信探讨技术,来信mail至:alert7@或者e4gle@ 研究kernel exploit的必要性 Linux kernel是跑在核心层也就是ring0级别的,如果kernel出问题那么我们得到的权限将是0层的控制权,这可比uid=0的权限要大许多。因为0层的控制权等于掌控了用户区和系统区的全部权限,而uid=0只是一个控制用户区的最高权限。 我们要跟上国外同行的步伐,国外同行在kernel溢出方面已经有一些成就。 linux产品应用广泛,所以也使这项研究变的非常有意义。 内核exploit和应用层exploit异同点 相同点: 我们采用的主要手法是相似的,在应用层可能出现的问题,我们同样在内核层也能找到。 内核漏洞种类和应用层的差不多。 应用层的溢出技术是内核层溢出技术的基础 内核exploit和应用层exploit异同点 不同点: 本质的不同,很简单,内核的溢出发生在系统区,而用户层的基础发生在用户区。 内核的溢出比用户层的溢出更难实现 需要攻击者理解linux内核,对攻击者的要求更高了 内核的溢出几乎没有什么任何资料,而应用层的溢出技术已经非常普遍了。 内核exploit背景知识 背景知识一:中断函数的进入和返回过程: 于INT指令发生了不同优先级之间的控制转移,所以首先从TSS(任务状态段)中获取高优先级的核心堆栈信息(SS和ESP) 把低优先级堆栈信息(SS和ESP)保留到高优先级堆栈(即核心栈)中 把EFLAGS,外层CS,EIP推入高优先级堆栈(核心栈)中 通过IDT加载CS,EIP(控制转移至中断处理函数) 内核exploit背景知识 背景知识二:核心堆栈指针ESP和进程内核task的关系 static inline struct task_struct * get_current(void) { struct task_struct *current; __asm__(andl %%esp,%0; :=r (current) : 0 (~8191UL)); return current; } #define current get_current() 内核exploit背景知识 背景知识三:什么叫进程内核路径 由运行在内核态的指令序列组成的,并且这些指令处理一个中断或者一个异常,我们称它为内核控制路径。 当进程发出一个系统调用的请求时,由应用态切换到内核态。这样的内核控制路径被成为进程内核路径,也叫进程上下文。 当CPU执行一个与中断有关的内核控制路径的时候,被成为中断上下文。 内核exploit的种类 按漏洞类型分: 内核缓冲区溢出(kernel BOF) 内核格式化字符串漏洞(kernel format string vul) 内核整型溢出漏洞(kernel integer overflow) 内核kfree()参数腐败(kernel kfree parameter corruption) 内核编程逻辑错误(kernel program logic error) TCP/IP协议栈溢出漏洞 内核exploit的种类 按漏洞发生处在的路径分: 漏洞发生在内核进程路径上,也称进程上下文 漏洞发生在内核上下文,包括中断上下文 内核缓冲区溢出 (Kernel Buffer OverFlow) 构造例子程序kbof.c 当然,我们首先感性的认识,所以所有包括后面的溢出问题都是我们自己构造的,我们这里利

文档评论(0)

qianqiana + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5132241303000003

1亿VIP精品文档

相关文档