概述
一、代码审计
1.1什么是代码审计?
1.2为什么要执行代码审核?
1.3代码审计的好处
二、代码审计流程
2.1代码检查方法
2.2代码检查项目
2.3编码规范
2.4代码检查规范
2.5缺陷检查表
2.6代码审计复查
2.7代码审计结果总结
三、代码审计实操
3.1所用工具
3.2RIPS
3.2.1代码扫描
3.3Seay源代码审计系统
3.3.1代码扫描
3.3.2典型漏洞分析
3.4Fortify
3.4.1代码扫描
3.4.2典型漏洞分析
3.5洞态IAST
3.5.1代码扫描
3.5.2典型漏洞分析
四、总结
概述从3月初到今天代码审计课程结束了,今天将所有内容进行总结,内容从代码审计基础到代码审计实践完成提高的全面总结。
一、代码审计 1.1什么是代码审计?软件代码审计是对软件解决方案或产品中的源代码的全面分析。它被认为是安全过程中最关键的阶段之一,因为它用于验证代码的成熟度和可维护性,同时确保产品已准备好进行无缝切换。
1.2为什么要执行代码审核?1. 熟悉当前的项目结构和功能 2. 发现现有和潜在的错误 3. 发现安全漏洞和漏洞 4. 验证当前性能和可扩展性 5. 评估代码可维护性级别以及相关的风险和成本 6. 验证是否符合相关的软件开发标准、指南和最佳实践
1.3代码审计的好处1. 实现快速的漏洞扫描和修补 2. 打造更加安全可靠的网络运行环境
二、代码审计流程 2.1代码检查方法(1)桌面检查 这是一种传统的检查方法。程序员检查自己的程序。程序编译完成后,程序员会对源代码进行分析和检查,并补充相关文档,以发现程序中的错误。由于程序员熟悉自己的程序和编程风格,程序员自己进行桌面检查可以节省大量检查时间,但应避免主观的片面性。
(2) 代码审查
由几个程序员和测试人员组成的评审小组通过阅读、讨论和争论对程序进行静态分析的过程。代码评审分为两步:第一步是组长提前向团队成员分发设计规范、控制流程图、程序文本、相关要求和规范,作为评审的依据。在充分阅读这些材料后,团队成员进入审查的第二步,并召开程序审查会议。在会上,程序员首先逐句介绍了程序的逻辑。在这个过程中,程序员或其他团队成员可以提出问题、讨论和审查是否存在错误。实践表明,程序员可以发现许多他们在解释过程中没有发现的错误,而讨论和争议会促进问题的暴露。 应为审查小组的每个成员编制一份常见错误清单,列出过去所有可能的常见错误,供与会者进行比较和检查,以提高审查的有效性。这个常见错误列表也称为检查表。它对程序中可能出现的各种错误进行分类,列出每种类型错误的尽可能多的典型错误,然后将它们放入一个表格中进行重新检查。
(3)走查
它与代码审查基本相同,代码审查分为两个步骤。第一步是将材料分发给走查小组的每个成员,并要求他们在召开会议之前仔细研究程序。会议程序与准则审查不同。参与者不是简单地阅读程序并对照错误清单进行检查,而是“充当”一台计算机,也就是说,首先,测试团队的成员为测试程序准备一批具有代表性的测试用例,并将它们提交给走查团队。在小组会议中穿行,集体扮演计算机的角色,让测试用例沿着程序的逻辑运行,并随时记录程序的轨迹以供分析和讨论。 借助测试用例的媒体功能,人们对程序的逻辑和功能提出了各种各样的问题,并结合问题进行了热烈的讨论和争论,从而发现