高质量解读《互联网企业安全高级指南》三部曲(技术篇)——代码审计

前言:
高效读书,一张逻辑图读懂、读薄书中重点。
注:下面文字只是对逻辑思维图的”翻译“,节省时间,只看图即可。

代码审计逻辑思维图

高质量解读《互联网企业安全高级指南》三部曲(技术篇)——代码审计

 1.    说明
1.1.    源代码审计是一种提高软件安全性的方法,在之前的章节中已对SDL有所介绍,在本章中,更偏向于具体操作。
1.2.    我们将了解一些代码审计的方法和工具,从人工到借助工具,最后会通过一些实例来看到如何通过现有的工具进行审计,以及这些工具如何帮助我们发 现并消除漏洞
1.3.    在源代码审计阶段,一些产品安全设计上的问题可能已经较难被发现和修改,代码审计更多是发现代码实现上的错误和遗漏
1.4.    在代码量可控的情况下,并且没有很好的工具支持时,我们可以考虑通过总结经验,自己实现相关的检查工具
2.    自动化审计产品
2.1.    目前有数量众多的开源和商业源码审计工具建立在数据流分析、状态机系统、边界检测、数据类型验证、控制流分析等技术之上,其中包括Foritify, Coverity, FindBugs等
2.2.    自动化的代码审计产品能够满足对审计量和强度的要求,并且大多提供和开发环境相整合的组件, 可以融入到日常的开发和编译过程当中。工具不可避免会产生漏报和误报,在处理工具生成的报告时,需要人工对生成的结果进行验证
3.    Coverity
3.1.    Coverity是斯坦福大学Dawson Engler教授和他的三个学生发起完成的代码审计工具,目前为包括NASA等500多个公司或政府部门提供服务
3.2.    优势
3.2.1.    在具体的使用中误报率相对较少
3.2.2.    目前有免费针对开源代码审计的服务
3.2.3.    可以找到相关的原型论文