代码审计——C/C++实践
¥
39.53
4.4折
¥
89.8
全新
库存5件
作者曹向志
出版社人民邮电出版社
出版时间2023-11
版次1
装帧其他
货号R3库 12-18
上书时间2024-12-19
商品详情
- 品相描述:全新
图书标准信息
-
作者
曹向志
-
出版社
人民邮电出版社
-
出版时间
2023-11
-
版次
1
-
ISBN
9787115601049
-
定价
89.80元
-
装帧
其他
-
开本
16开
-
页数
252页
-
字数
420千字
- 【内容简介】
-
本书旨在介绍代码审计及缺陷剖析的相关知识。本书首先介绍了代码检测技术和代码检测工具;然后讲述了C/C++安全标准,展示了与标准不兼容的案例和兼容的案例,并对案例对应的知识点进行讲解,以帮助开发人员、评测人员理解和运用标准;接着分析了C/C++语言源代码漏洞测试,展示了包含安全漏洞的案例,以及修复安全漏洞的案例;最后介绍了常见运行时缺陷,主要基于C/C++案例代码进行剖析,这些运行时缺陷是在对C/C++项目进行代码检测和代码审计时需要重点关注的。
本书不仅适合开发人员、测试人员阅读,还适合作为相关培训机构的教材。
- 【作者简介】
-
从事软件测试、软件安全工作超过20年,擅长分析软件质量和代码质量,目前在软件应用安全领域从事SDL(Security Development Lifecycle,安全开发生命周期)与DevSecOps方面的研发工作,出版过软件测试管理、性能测试、APP测试等方面的图书,曾为多家大型企业提供内训。
马森
北京大学软件工程国家工程研究中心副研究员,在软件代码分析领域发表论文数十篇,获得专利数十个,作为项目负责人承担代码分析领域的项目十余个。
陈能技
具有20年IT从业经验,担任过测试工程师、项目经理、培训讲师、咨询顾问、架构师、技术总监等职位,研究方向包括DevOps、DevSecOps、GitOps以及软件专业化交付能力,编写过《软件测试技术大全:测试基础、流程工具、项目实战》《大规模组织DevOps实践》等图书。
- 【目录】
-
第1章代码检测和工具1
1.1背景1
1.2代码审计1
1.2.1代码审计的思路2
1.2.2代码审计的步骤2
1.2.3安全审计的标准3
1.2.4代码审计中的常见概念5
1.3代码检测工具5
1.3.1代码检测工具的原理6
1.3.2代码检测技术7
1.3.3代码检测的主要方法9
1.3.4代码检测工具的主要功能14
1.3.5常见的代码检测工具14
1.3.6代码检测工具的评价基准16
1.4软件成分分析工具19
1.4.1软件成分分析工具的原理20
1.4.2软件成分分析工具使用的关键技术21
1.4.3SCA工具技术指标27
1.5如何成为一名代码安全检测工程师27
1.6代码安全审计检测练习靶场28
第2章C语言安全标准(一)30
2.1C语言安全标准产生的背景30
2.2如何理解和使用GJB8114标准30
2.3C和C++的共用规则31
2.3.1声明定义规则31
2.3.2版面书写规则57
2.3.3指针使用规则63
2.3.4分支控制规则77
2.3.5跳转控制规则91
2.3.6运算处理93
2.3.7函数调用113
第3章C语言安全标准(二)127
3.1关于语句使用的规则127
3.1.1关于循环控制的规则131
3.1.2关于类型转换的规则135
3.1.3关于初始化的规则141
3.1.4关于比较判断的规则146
3.1.5关于变量使用的规则152
3.2C++的专用规则162
3.2.1关于类与对象的强制规则162
3.2.2关于构造函数的强制规则169
3.2.3关于虚函数的强制规则173
3.2.4关于类型转换的强制规则176
3.2.5关于内存释放的强制规则177
第4章CC++语言源代码漏洞测试规范180
4.1不可控的内存分配180
4.2路径错误181
4.3数据处理182
4.3.1相对路径遍历182
4.3.2绝对路径遍历184
4.3.3命令行注入185
4.3.4SQL注入186
4.3.5进程控制188
4.3.6缓冲区溢出189
4.3.7使用外部控制的格式化字符串189
4.3.8整数溢出190
4.3.9信息通过错误消息泄露191
4.3.10信息通过服务器日志文件泄露192
4.3.11信息通过调试日志文件泄露193
4.3.12以未检查的输入作为循环条件193
4.4错误的API实现194
4.5劣质代码195
4.6不充分的封装196
4.7安全功能197
4.7.1明文存储密码197
4.7.2存储可恢复的密码197
4.7.3密码硬编码198
4.7.4明文传输敏感信息199
4.7.5使用已破解或危险的加密算法199
4.7.6可逆的哈希算法200
4.7.7密码分组链接模式未使用随机初始化向量201
4.7.8不充分的随机数202
4.7.9安全关键的行为依赖反向域名解析203
4.7.10没有要求使用强密码204
4.7.11没有对密码域进行掩饰205
4.7.12通过用户控制的SQL关键字绕过授权206
4.7.13未使用盐值计算哈希值207
4.7.14RSA算法未使用很优非对称加密填充208
4.8Web问题209
第5章常见运行时缺陷211
5.1缓冲区溢出211
5.1.1缓冲区溢出的原理211
5.1.2防范缓冲区溢出216
5.1.3栈缓冲区溢出216
5.1.4缓冲区溢出案例217
5.2内存泄漏223
5.2.1内存泄漏的原理223
5.2.2内存泄漏案例224
5.3代码不可达235
5.4整数溢出或环绕236
5.5资源泄露237
5.6线程死锁238
5.6.1加锁后未判断是否成功238
5.6.2线程死锁239
5.6.3加锁后未解锁240
5.7无限循环240
5.7.1可能不变的循环因子240
5.7.2循环跳出条件无法满足241
5.7.3函数循环调用241
5.7.4控制表达式有逻辑错误241
5.7.5以外部输入作为循环跳出条件242
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价