- 1、本文档共26页,可阅读全部内容。
- 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系统下端口复用技术的一些理解和认识 noble_shi@21 1.涉及到的内容 本文涉及到的内容有:内存管理、系统调用、进程调度、文件系统、socket内核结构、协议栈的内核实现、ELF文件结构、ELF文件装载过程。 2.设计方案 1) 过滤驱动 对linux系统的网卡驱动进行过滤,这种技术设计到可安装内核模块技术、网卡驱动原理和中断技术等,实现起来较为复杂,而且对内核版本要求较高,如果长期运行,还可能造成系统内核的不稳定。 同时还设计到拆包、组包过程,如果要对大文件进行传输或要保证客户-服务器双方的可靠通信,要付出很大代价。 2.设计方案 2) 过滤协议栈 可以对TCP/IP协议栈进行过滤,而且linux系统也提供内核钩子,支持对内核的过滤。这样实现难度较小,造成系统不稳定的可能性比方案1要小的多。 2.设计方案 3) 过滤系统调用 这种方法是典型的LKMs后门程序的实现原理,对用于网络通信的系统调用进行过滤。 这种方法不用深入协议栈,实现起来简洁有效,后面有详细介绍。 2.设计方案 4) 修改sock结构 先在用户空间任意创建一个处于连接状态的socket对,然后修改内核的sock结构,如:socksock.daddr,sock.dport,sock.sport等。这样,就相当于和远端主机建立了一个正常的TCP或UDP连接。 这种方法不用我们自己构造sock结构,只需修改已有的sock结构,减少了工作量。 2.设计方案 5) UNIX编程中的其他技术 在用户空间调用访问协议栈的函数,如BPF、SOCK_PACKET类型的套节口、libcap抓包库、DLPI等,这样在应用层就可以实现对协议栈的过滤。这样技术不用深入内核,稳定性好。 2.设计方案 6)感染ELF静态文件 这种技术是的基本原理是在原来的ELF文件中插入自己的二进制代码,当检测到特征字符串以后,就复制套接口结构,并关闭原有的套接口,从而达到端口复用的目的。 这是在应用层进行实现的,相对来说比较稳定。缺点是采用了病毒技术,利用linux自带的一些工具(如objdump)可以发现 2.设计方案 7) 运行期间感染技术 这种方法需要深入到已经运行服务程序的进程空间内部,如采用运行期间共享库注射技术,通过共享其file结构,增加引用记数,来共享其dentry,inode,sock,socket等结构。 这种方法是在应用层设计的,对内核版本要求不高,不过如果对80等非超级用户运行的进程所开的端口进行复用时,所获得的权限也是普通用户权限,不能满足普遍需求。同时也很难实现对任意端口进行复用。 3.通过过滤系统调用实现端口复用-基础知识介绍 1.基础知识介绍 (1)首先对kernle_thread()进行分析。 int kernel_thread (int (*fn)(void *), void * arg, unsigned long flags) { long retval, d0; __asm__ __volatile__( movl %%esp,%%esi\n\t int $0x80\n\t cmpl %%esp,%%esi\n\t je 1f\n\t movl %4,%%eax\n\t 3.通过过滤系统调用实现端口复用-基础知识介绍 pushl %%eax\n\t call *%5\n\t movl %3,%0\n\t int $0x80\n 1:\t :=a (retval), =S (d0) :0 (__NR_clone), i (__NR_exit), r (arg), r (fn), b (flags | CLONE_VM) : memory); return retval; } 3.通过过滤系统调用实现端口复用-基础知识介绍 (2)对execve()系统调用进行分析。 由于其源码较长,这里只描述其执行过程,如下: 拷贝用户空间的数据到内核,相应的函数是getname()。 调用函数do_execve(),这是系统调用execve()的主体函数。 3.通过过滤系统调用实现端口复用-基础知识介绍 下面对函数do_execve()进行分析: a)调用open_exec()返回一个file结构。 b)内核为可执行程序的装入定义一个数据结构struct linux_binprm。 c)将文件的前128字节读到linux_binprm的buf中。 d)参数和环境变量从用户空间拷贝到linux_binprm结构中。 e)装载运行;过程是用formates队列中的每个成员尝试运行这个文件。 3.通过过滤系统调用实现端口
您可能关注的文档
- 安装工程计量与计价-给排水.ppt
- 安装工程造价计算程序.ppt
- 分数乘除法应用题对比练习2.ppt
- 分子与细胞-高中学业水平测试1 (2).ppt
- 安装结算中注意的问题解析.ppt
- 2014年高考英语总复习专项专题课件:冠词.ppt
- 2014年高考漫画题专题训练.doc
- 安规及事故调查规程.ppt
- 2014年高考英语总复习专项专题课件:定语从句.ppt
- 分数除法应用题一(例1)贾凤莲.ppt
- 中考语文总复习语文知识及应用专题5仿写修辞含句子理解市赛课公开课一等奖省课获奖课件.pptx
- 湖南文艺版(2024)新教材一年级音乐下册第二课《藏猫猫》精品课件.pptx
- 湖南文艺版(2024)新教材一年级音乐下册第三课《我向国旗敬个礼》精品课件.pptx
- 高中生物第四章生物的变异本章知识体系构建全国公开课一等奖百校联赛微课赛课特等奖课件.pptx
- 整数指数幂市公开课一等奖省赛课微课金奖课件.pptx
- 一年级音乐上册第二单元你早全国公开课一等奖百校联赛微课赛课特等奖课件.pptx
- 八年级数学上册第二章实数27二次根式第四课时习题省公开课一等奖新课获奖课件.pptx
- 九年级物理全册11简单电路习题全国公开课一等奖百校联赛微课赛课特等奖课件.pptx
- 八年级语文下册第五单元19邹忌讽齐王纳谏省公开课一等奖新课获奖课件.pptx
- 2024年秋季新人教PEP版3年级上册英语全册教学课件 (2).pptx
最近下载
- 学会理财益处多 中学心理健康 主题班会课件.pptx
- 2024年新疆中考历史+道德与法治试卷真题(含答案解析).docx
- 2024年山东理工职业学院单招职业技能考试试题及答案.docx
- 旅游消费者行为学.ppt VIP
- 人教版美术七年级下册第一单元第1课《辉煌成就》 课件.ppt
- 2024年济南工程职业技术学院高职单招职业技能测验历年参考题库(频考版)含答案解析.docx
- 第5课《认识情绪+管理情绪》第2框《成为情绪的主人》【中职专用】《心理健康与职业生涯》(高教版2023基础模块.pptx VIP
- 中外幼儿教育名著导读(第二版).pptx VIP
- 三年级班主任工作计划.docx VIP
- 智能财税实务.pptx VIP
文档评论(0)