《C和C++安全编码》目录

看《C和C++安全编码》这本书时,觉得写得非常的不错,总结了编程时容易出现错误的地方,所以自己总结一遍。
本篇文章是《C和C++安全编码》小节目录,本次将会一个小节一篇文章的方式进行逐步总结,每次更新一小节。
书中的源码会亲自编码并将源码放在小节讲解中。
文章主要公布在个人网站和CSDN博客。

第一章 夹缝求生

第一章主要是介绍由于可能编码问题和黑客攻击事件,以及造成的严重后果,不赘述,可自行看原书

第二章 字符串

第三章 指针诡计

  • 3.1 数据位置
  • 3.2 函数指针
  • 3.3 数据指针
  • 3.4 修改指令指针
  • 3.5 全局偏移表
  • 3.6 .dtors区
  • 3.7 虚指针
  • 3.8 atexit()和on_exit()函数
  • 3.9 longjmp()函数
  • 3.10 异常处理
  • 3.11 缓解策略
  • 3.12 小结

第四章 动态内存管理

  • 4.1 动态内存管理
  • 4.2 常见的动态内存管理错误
  • 4.3 Doug Lea的内存分配器
  • 4.4 RtlHeap
  • 4.5 缓解策略
  • 4.6 著名的漏洞
  • 4.7 小结

第五章 整数安全

  • 5.1 整数
  • 5.2 整数转换
  • 5.3 整数错误情形
  • 5.4 整数操作
  • 5.5 漏洞
  • 5.6 缓解策略
  • 5.7 著名的漏洞
  • 5.8 小结

第六章 格式化输出

  • 6.1 变参函数
  • 6.2 格式化输出函数
  • 6.3 对格式化输出函数的漏洞利用
  • 6.4 栈随机化
  • 6.5 缓解策略
  • 6.6 著名的漏洞
  • 6.7 小结

第七章 文件I/O

  • 7.1 并发
  • 7.2 检查时间和使用时间
  • 7.3 作为锁的文件和文件锁定
  • 7.4 文件系统利用
  • 7.5 缓解策略
  • 7.6 小结

第八章 推荐的实践

  • 8.1 安全的软件开发原则
  • 8.2 系统质量需求工程
  • 8.3 威胁建模
  • 8.4 使用/误用案例
  • 8.5 结构与设计
  • 8.6 现成软件
  • 8.7 编译器检查
  • 8.8 输入验证
  • 8.9 数据净化
  • 8.10 静态分析
  • 8.11 质量保证
  • 8.12 内存权限
  • 8.13 深层防御
  • 8.14 TSP-Secure
  • 8.15 小结

发表评论

电子邮件地址不会被公开。 必填项已用*标注