搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
代码审计(C\C++实践)
0.00     定价 ¥ 89.80
图书来源: 浙江图书馆(由浙江新华配书)
此书还可采购25本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787115601049
  • 作      者:
    作者:曹向志//马森//陈能技|责编:谢晓芳
  • 出 版 社 :
    人民邮电出版社
  • 出版日期:
    2023-11-01
收藏
编辑推荐

1.本书详细介绍了代码审计的原理、技术和工具,帮助读者深入了解代码审计的基本概念和方法,为实际应用奠定坚实的基础。
2.本书深入讲解了C C++安全标准,通过实际案例分析,展示了与标准不兼容和兼容的情况,帮助读者更好地理解和运用安全标准,提高代码质量。
3.本书提供了丰富的C C++源代码漏洞测试案例,展示了如何发现和修复安全漏洞,帮助读者提高代码安全性,降低潜在风险。

展开
作者简介

曹向志

从事软件测试、软件安全工作超过20年,擅长分析软件质量和代码质量,目前在软件应用安全领域从事SDL(Security Development Lifecycle,安全开发生命周期)与DevSecOps方面的研发工作,出版过软件测试管理、性能测试、APP测试等方面的图书,曾为多家大型企业提供内训。

马森
北京大学软件工程国家工程研究中心副研究员,在软件代码分析领域发表论文数十篇,获得专利数十个,作为项目负责人承担代码分析领域的项目十余个。

陈能技
   具有20年IT从业经验,担任过测试工程师、项目经理、培训讲师、咨询顾问、架构师、技术总监等职位,研究方向包括DevOps、DevSecOps、GitOps以及软件专业化交付能力,编写过《软件测试技术大全:测试基础、流程工具、项目实战》《大规模组织DevOps实践》等图书。

展开
内容介绍
本书旨在介绍代码审计及缺陷剖析的相关知识。本书首先介绍了代码检测技术和代码检测工具;然后讲述了C/C++安全标准,展示了与标准不兼容的案例和兼容的案例,并对案例对应的知识点进行讲解,以帮助开发人员、评测人员理解和运用标准;接着分析了C/C++语言源代码漏洞测试,展示了包含安全漏洞的案例,以及修复安全漏洞的案例;最后介绍了常见运行时缺陷,主要基于C/C++案例代码进行剖析,这些运行时缺陷是在对C/C++项目进行代码检测和代码审计时需要重点关注的。 本书不仅适合开发人员、测试人员阅读,还适合作为相关培训机构的教材。
展开
目录
目 录



第 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.3 SCA工具技术指标27
1.5 如何成为一名代码安全检测
工程师27
1.6 代码安全审计 检测练习靶场28
第 2章 C语言安全标准(一)30
2.1 C语言安全标准产生的背景30
2.2 如何理解和使用GJB 8114标准30
2.3 C和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.2 C++的专用规则162
3.2.1 关于类与对象的强制规则162
3.2.2 关于构造函数的强制规则169
3.2.3 关于虚函数的强制规则173
3.2.4 关于类型转换的强制规则176
3.2.5 关于内存释放的强制规则177
第4章 C C++语言源代码漏洞测试
规范180
4.1 不可控的内存分配180
4.2 路径错误181
4.3 数据处理182
4.3.1 相对路径遍历182
4.3.2 绝对路径遍历184
4.3.3 命令行注入185
4.3.4 SQL注入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.14 RSA算法未使用最优
非对称加密填充208
4.8 Web问题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
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证