Linux系统安全基础:二进制代码安全性分析基础与实践9787121459702
正版图书,可开发票,请放心购买。
¥
126
7.5折
¥
168
全新
库存45件
作者彭双和编著
出版社电子工业出版社
ISBN9787121459702
出版时间2023-07
装帧平装
开本16开
定价168元
货号13225234
上书时间2024-12-23
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
彭双何,女,副教授。自2008年加入北京交通大学以来,一直从事本科教育与教学工作,多次获评本科生优秀学业导师和优秀班主任。教学上,课堂教学效果好,所在课堂"C语言程序设计”获评第一批校金课。2014年首次获评校优秀主讲教师,该荣誉一直保持到现在。2021年获评计算机学院师德师风优选个人"传道授业”奖。科研上,积极指导本科生参加各种科研活动,2018年以来发表科研论文三篇,其中SCI检索一篇;指导本科生参加大创项目获评重量三项和北京市级五项,指导本科生参加重量竞赛获一等奖一项、二等奖一项、三等奖一项;北京市级竞赛获三等奖四项。
目录
第1章概述.1
1.1Linux系统安全.1
1.2代码安全.1
1.3什么是二进制代码安全性分析.2
1.4二进制代码安全性分析的重要性.2
1.5二进制代码安全性分析的主要步骤.2
1.6软件错误、漏洞以及利用.2
1.6.1软件错误.2
1.6.2软件漏洞.3
1.6.3漏洞利用.3
1.6.4二进制代码利用.4
第2章二进制代码生成.5
2.1二进制代码的生成过程.5
2.1.1编译预处理阶段.6
2.1.2编译阶段.6
2.1.3汇编阶段.6
2.1.4链接阶段.8
2.1.5gcc的常用选项.11
2.1.6ld的常用选项.17
2.1.7gcc的常用环境变量.21
2.1.8二进制代码的生成举例.21
2.2ELF文件格式.26
2.2.1ELF文件的两种视图.27
2.2.2ELF文件的头.27
2.2.3可执行文件的主要节.29
2.2.4位置无关代码.33
2.2.5ELF文件的头.42
2.2.6ELF文件的主要段.43
2.3程序的装载与调度执行.47
2.3.1可执行文件的装载.47
2.3.2可执行文件调度运行的过程.48
2.3.3进程的虚拟地址空间及其访问.49
第3章二进制代码信息的收集.54
3.1nm.54
3.2ldd.54
3.3strings.55
3.4ELF文件分析工具LIEF.55
3.4.1安装.55
3.4.2基于LIEF对.got.plt表的攻击举例.55
3.4.3基于LIEF将可执行文件转变为共享库文件.59
3.5ps.61
3.6strace.61
3.7ltrace.62
3.8ROPgadget.62
3.9objdump.63
3.10readelf.65
3.11GDB.66
3.11.1GDB的初始化脚本文件.66
3.11.2GDB的常用命令.66
3.11.3GDB的常用命令示例.67
3.11.4GDB命令的运行.79
3.11.5GDB命令的扩充.82
3.11.6PEDA基本使用.92
3.12Pwntools.97
3.12.1Pwntools的安装.97
3.12.2通过上下文设置目标平台.98
3.12.3本地进程对象的创建.98
3.12.4远程进程对象的创建.99
3.12.5ELF模块.99
3.12.6search方法.100
3.12.7cyclic命令的功能.101
3.12.8核心文件.102
3.12.9数据转换.104
3.12.10struct模块.105
3.12.11shellcraft模块.106
3.12.12ROP模块.108
3.12.13GDB模块.112
3.12.14DynELF模块.113
3.12.15基于标准输入/输出的数据交互.116
3.12.16基于命名管道的数据交互.118
3.12.17脚本文件和被测目标程序的交互.125
3.12.18基于Python脚本文件的Pwntools应用举例.125
3.13LibcSearcher.127
第4章静态二进制代码分析.130
4.1基于IDAPro的静态分析.130
4.1.1IDC脚本文件.130
4.1.2IDAPython脚本文件.138
4.1.3IDAPython脚本文件示例.140
4.1.4IDAPro插件的编写.142
4.2基于Radare2的静态分析.148
4.2.1r2的常用命令.148
4.2.2r2常用命令示例.150
4.2.3r2对JSON格式数据的处理.156
4.2.4基于r2pipe的脚本文件编写.159
4.2.5基于r2pipe的脚本文件执行.163
第5章二进制代码脆弱性评估.164
5.1常见二进制代码脆弱性.164
5.1.1栈溢出的原理.165
5.1.2堆溢出的原理.165
5.2基于系统工具对代码脆弱性的评估.184
5.2.1基于ClangStaticAnalyzer的安全检测.184
5.2.2Linux系统下堆安全的增强措施.187
5.3基于IntelPin的代码脆弱性评估.192
5.3.1插桩模式.193
5.3.2插桩粒度.202
5.3.3IntelPintools的编写.204
5.3.4分析代码的过滤.215
5.3.5Pintools的生成.220
5.3.6Pintools的测试.224
5.3.7Pintools应用示例:缓冲区溢出的检测.225
5.4基于符号执行的代码脆弱性评估.234
5.4.1符号执行的原理.234
5.4.2符号执行的优、缺点.239
5.4.3基于Angr的二进制代码分析.239
5.5基于污点分析的代码脆弱性评估.281
5.5.1污点分析原理.282
5.5.2污点分析的分类.283
5.5.3污点分析相关概念.284
5.5.4基于Clang静态分析仪的污点分析应用.286
5.5.5基于Pin的动态污点分析.287
5.6基于模糊测试的代码脆弱性评估.297
5.6.1模糊测试的方式.298
5.6.2内存模糊测试.299
5.6.3libFuzzer.313
第6章二进制代码漏洞利用.320
6.1二进制代码加固技术及其gcc编译选项.320
6.1.1二进制代码保护措施的查看.321
6.1.2去掉可执行文件中的符号的方法.322
6.1.3Linux中的NX机制.322
6.1.4Canary栈保护.323
6.1.5RELRO机制.327
6.1.6地址空间布局随机化.329
6.1.7PIE保护机制.333
6.1.8绕过PIE保护机制的方法.335
6.1.9RPATH和RUNPATH.341
6.1.10RPATH存在的安全问题.342
6.1.11FORTIFY保护机制.343
6.1.12ASCII-Armor地址映射保护机制.350
6.1.13二进制代码保护技术比较.352
6.2缓冲区溢出漏洞的利用.353
6.2.1ret2shellcode.366
6.2.2ret2Libc攻击.383
6.2.3ret2plt.391
6.2.4.got表覆盖技术.402
6.2.5ROP攻击.410
6.2.6被测目标程序的代码被执行多次的多阶段攻击.438
6.2.7被测目标程序的代码被执行一次的多阶段攻击.455
6.3基于Angr的缓冲区溢出漏洞自动利用.464
6.3.1任意读.464
6.3.2任意写.468
6.3.3任意跳转.475
附录A数据对齐问题.479
附录B函数调用约定.485
附录C栈帧原理.497
附录D32位系统与64位系统中程序的区别.507
附录E共享库链接的路径问题.510
附录F在多模块中使用ld手动链接生成可执行文件.514
附录G在C++程序中调用C函数的问题.518
附录HLinux死机的处理.522
附录IPython文件默认的开头注释格式.523
内容摘要
本书是一本介绍二进制分析相关工具及其应用的图书,共分为五大部分,内容涵盖了ELF 二进制代码的生成、Linux 环境下分析二进制文件的相关工具、静态的二进制代码分析、动态的二进制代码分析、Intel Pin 的架构及工具的制作、污点分析技术及实现、约束求解原理与应用、符号执行技术及应用、模糊测试技术及实现、常见的系统攻击及系统对软件的常见保护措施、常见的软件漏洞的检测等。
精彩内容
本书主要通过对二进制代码安全性进行分析来介绍Linux系统安全。本书共分为6章,首先对Linux系统安全和二进制代码安全性分析进行了概述;然后详细地介绍了二进制代码的生成以及二进制代码信息的收集;在此基础上,接着对静态二进制代码分析和二进制代码脆弱性评估进行了深入的探讨;最后详细介绍了二进制代码漏洞利用。为了帮助读者更好地掌握相关的理论知识和技术原理,本书穿插了作者亲自实践过的软件源码,并对源码的关键部分进行了说明。
本书适合具有一定Linux系统知识,以及C语言和汇编语言编程基础的信息安全专业人员阅读。本书可作为高等院校相关专业的教材或教学辅导书,对参与CTF的读者也有一定的参考价值。
— 没有更多了 —
以下为对购买帮助不大的评价