Linux二进制分析
¥
28.47
4.8折
¥
59
九品
仅1件
作者 棣琦 译
出版社 人民邮电出版社
出版时间 2017-12
版次 01
装帧 平装
货号 A3
上书时间 2024-12-20
商品详情
品相描述:九品
图书标准信息
作者
棣琦 译
出版社
人民邮电出版社
出版时间
2017-12
版次
01
ISBN
9787115469236
定价
59.00元
装帧
平装
开本
16开
页数
254页
字数
238千字
正文语种
简体中文
【内容简介】
二进制分析属于信息安全业界逆向工程中的一种技术,通过利用可执行的机器代码(二进制)来分析应用程序的控制结构和运行方式,有助于信息安全从业人员更好地分析各种漏洞、病毒以及恶意软件,从而找到相应的解决方案。 《Linux二进制分析》是一本剖析Linux ELF工作机制的图书,共分为9章,其内容涵盖了Linux环境和相关工具、ELF二进制格式、Linux进程追踪、ELF病毒技术、Linux二进制保护、Linux中的ELF二进制取证分析、进程内存取证分析、扩展核心文件快照技术、Linux/proc/kcore分析等。 《Linux二进制分析》适合具有一定的Linux操作知识,且了解C语言编程技巧的信息安全从业人员阅读。
【作者简介】
Ryan O'Neill(ELF大师)是一名计算机安全研究员兼软件工程师,具有逆向工程、软件开发、安全防御和取证分析技术方面的背景。他是在计算机黑客亚文化的世界中成长起来的——那个由EFnet、BBS系统以及系统可执行栈上的远程缓冲区溢出组成的世界。他在年轻时就接触了系统安全、开发和病毒编写等领域。他对计算机黑客的极大热情如今已经演变成了对软件开发和专业安全研究的热爱。Ryan在DEFCON和RuxCon等很多计算机安全会议上发表过演讲,还举办了一个为期两天的ELF二进制黑客研讨会。 他的职业生涯非常成功,曾就职于Pikewerks、Leviathan安全集团这样的大公司,最近在Backtrace担任软件工程师。 Ryan还未出版过其他图书,不过他在Phrack和VXHeaven这样的在线期刊上发表的论文让他声名远扬。还有许多其他的作品可以从他的网站(https://www.bitlackeys.org)上找到。
【目录】
第1章 Linux环境和相关工具1 1.1 Linux工具1 1.1.1 GDB2 1.1.2 GNU binutils中的objdump2 1.1.3 GNU binutils中的objcopy3 1.1.4 strace3 1.1.5 ltrace4 1.1.6 基本的ltrace命令4 1.1.7 ftrace4 1.1.8 readelf4 1.1.9 ERESI——ELF反编译系统接口5 1.2 有用的设备和文件6 1.2.1 /proc//maps6 1.2.2 /proc/kcore6 1.2.3 /boot/System.map6 1.2.4 /proc/kallsyms7 1.2.5 /proc/iomem7 1.2.6 ECFS7 1.3 链接器相关环境指针7 1.3.1 LD_PRELOAD环境变量8 1.3.2 LD_SHOW_AUXV环境变量8 1.3.3 链接器脚本9 1.4 总结10 第2章 ELF二进制格式11 2.1 ELF文件类型12 2.2 ELF程序头14 2.2.1 PT_LOAD14 2.2.2 PT_DYNAMIC——动态段的Phdr15 2.2.3 PT_NOTE17 2.2.4 PT_INTERP17 2.2.5 PT_PHDR17 2.3 ELF节头18 2.3.1 .text节20 2.3.2 .rodata节20 2.3.3 .plt节21 2.3.4 .data节21 2.3.5 .bss节21 2.3.6 .got.plt节21 2.3.7 .dynsym节21 2.3.8 .dynstr节22 2.3.9 .rel.*节22 2.3.10 .hash节22 2.3.11 .symtab节22 2.3.12 .strtab节23 2.3.13 .shstrtab节23 2.3.14 .ctors和.dtors节23 2.4 ELF符号27 2.4.1 st_name28 2.4.2 st_value28 2.4.3 st_size28 2.4.4 st_other28 2.4.5 st_shndx29 2.4.6 st_info29 2.5 ELF重定位34 2.6 ELF动态链接43 2.6.1 辅助向量44 2.6.2 了解PLT/GOT46 2.6.3 重温动态段49 2.7 编码一个ELF解析器52 2.8 总结55 第3章 Linux进程追踪57 3.1 ptrace的重要性57 3.2 ptrace请求58 3.3 进程寄存器状态和标记60 3.4 基于ptrace的调试器示例61 3.5 ptrace调试器67 3.6 高级函数追踪软件75 3.7 ptrace和取证分析75 3.8 进程镜像重建77 3.8.1 重建进程到可执行文件的挑战78 3.8.2 重建可执行文件的挑战78 3.8.3 添加节头表79 3.8.4 重建过程算法79 3.8.5 在32位测试环境中使用Quenya重建进程81 3.9 使用ptrace进行代码注入83 3.10 简单的例子演示复杂的过程91 3.11 code_inject工具演示92 3.12 ptrace反调试技巧92 3.13 总结94 第4章 ELF病毒技术——Linux/UNIX病毒95 4.1 ELF病毒技术96 4.2 设计ELF病毒面临的挑战97 4.2.1 寄生代码必须是独立的97 4.2.2 字符串存储的复杂度99 4.2.3 寻找存放寄生代码的合理空间100 4.2.4 将执行控制流传给寄生代码100 4.3 ELF病毒寄生代码感染方法101 4.3.1 Silvio填充感染101 4.3.2 逆向text感染106 4.3.3 data段感染108 4.4 PT_NOTE到PT_LOAD转换感染110 4.5 感染控制流112 4.5.1 直接PLT感染113 4.5.2 函数蹦床(function trampolines)113 4.5.3 重写.ctors/.dtors函数指针114 4.5.4 GOT感染或PLT/GOT重定向115 4.5.5 感染数据结构115 4.5.6 函数指针重写115 4.6 进程内存病毒和rootkits——远程代码注入技术115 4.6.1 共享库注入116 4.6.2 text段代码注入120 4.6.3 可执行文件注入120 4.6.4 重定位代码注入——ET_REL注入120 4.7 ELF反调试和封装技术121 4.7.1 PTRACE_TRACEME技术121 4.7.2 SIGTRAP处理技术122 4.7.3 /proc/self/status技术122 4.7.4 代码混淆技术123 4.7.5 字符串表转换技术124 4.8 ELF病毒检测和杀毒124 4.9 总结126 第5章 Linux二进制保护127 5.1 ELF二进制加壳器127 5.2 存根机制和用户层执行128 5.3 保护器存根的其他用途133 5.4 现存的ELF二进制保护器133 5.4.1 DacryFile——Grugq于2001年发布134 5.4.2 Burneye——Scut于2002年发布134 5.4.3 Shiva——Neil Mehta和Shawn Clowes于2003年发布135 5.4.4 May's Veil——Ryan O'Neill于2014年发布136 5.5 下载Maya保护的二进制文件142 5.6 二进制保护中的反调试142 5.7 防模拟技术143 5.7.1 通过系统调用检测模拟144 5.7.2 检测模拟的CPU不一致144 5.7.3 检测特定指令之间的时延144 5.8 混淆方法145 5.9 保护控制流完整性145 5.9.1 基于ptrace的攻击145 5.9.2 基于安全漏洞的攻击146 5.10 其他资源147 5.11 总结147 第6章 Linux下的ELF二进制取证分析149 6.1 检测入口点修改技术150 6.2 检测其他形式的控制流劫持154 6.2.1 修改.ctors/.init_array节154 6.2.2 检测PLT/GOT钩子155 6.2.3 检测函数蹦床158 6.3 识别寄生代码特征159 6.4 检查动态段是否被DLL注入161 6.5 识别逆向text填充感染164 6.6 识别text段填充感染166 6.7 识别被保护的二进制文件170 6.8 IDA Pro175 6.9 总结175 第7章 进程内存取证分析177 7.1 进程内存布局178 7.1.1 可执行文件内存映射179 7.1.2 程序堆179 7.1.3 共享库映射180 7.1.4 栈、VDSO和vsyscall180 7.2 进程内存感染181 7.2.1 进程感染工具181 7.2.2 进程感染技术182 7.3 检测ET_DYN注入184 7.3.1 Azazel:用户级rootkit检测184 7.3.2 映射出进程的地址空间184 7.3.3 查找栈中的LD_PRELOAD187 7.3.4 检测PLT/GOT钩子188 7.3.5 ET_DYN注入内部原理190 7.3.6 操纵VDSO194 7.3.7 共享目标文件加载195 7.3.8 检测.so注入的启发方法196 7.3.9 检测PLT/GOT钩子的工具197 7.4 Linux ELF核心文件198 7.5 总结204 第8章 ECFS——扩展核心文件快照技术205 8.1 历史205 8.2 ECFS原理206 8.3 ECFS入门206 8.3.1 将ECFS嵌入到核心处理器中207 8.3.2 在不终止进程的情况下使用ECFS快照208 8.4 libecfs——解析ECFS文件的库208 8.5 readecfs工具209 8.6 使用ECFS检测被感染的进程210 8.6.1 感染主机进程210 8.6.2 捕获并分析ECFS快照211 8.6.3 使用readecfs提取寄生代码215 8.6.4 Azazel用户级rootkit分析216 8.7 ECFS参考指南224 8.7.1 ECFS符号表重建225 8.7.2 ECFS节头226 8.7.3 使用ECFS文件作为常规的核心文件229 8.7.4 libecfs API的使用229 8.8 使用ECFS恢复中断的进程230 8.9 了解更多ECFS相关内容231 8.10 总结232 第9章 Linux/proc/kcore分析233 9.1 Linux内核取证分析和rootkit233 9.2 没有符号的备份vmlinux234 9.3 探索/proc/kcore和GDB236 9.4 直接修改sys_call_table237 9.4.1 检测sys_call_table修改238 9.4.2 内核函数蹦床238 9.4.3 函数蹦床示例239 9.4.4 检测函数蹦床241 9.4.5 检测中断处理器修复243 9.5 Kprobe rootkit243 9.6 调试寄存器rootkit——DRR244 9.7 VFS层rootkit244 9.8 其他内核感染技术245 9.9 vmlinux和.altinstructions修补245 9.9.1 .altinstructions和.altinstr_replace246 9.9.2 arch/x86/include/asm/alternative.h代码片段246 9.9.3 使用textify验证内核代码完整性247 9.9.4 使用textify检查sys_call_table247 9.10 使用taskverse查看隐藏进程248 9.11 感染的LKM——内核驱动249 9.11.1 方法一:感染LKM文件——符号劫持249 9.11.2 方法二:感染LKM文件——函数劫持249 9.11.3 检测被感染的LKM250 9.12 /dev/kmem和/dev/mem250 9.12.1 /dev/mem251 9.12.2 FreeBSD /dev/kmem251 9.13 K-ecfs ——内核ECFS251 9.14 内核黑客工具252 9.14.1 通用的逆向工程和调试253 9.14.2 高级内核劫持/调试接口253 9.14.3 本章提到的论文253 9.15 总结254
点击展开
点击收起
— 没有更多了 —
本店暂时无法向该地区发货
以下为对购买帮助不大的评价