综述如何开展代码审计

目录

1. 大体流程

1.1审计准备阶段

1.2审计实施阶段

1.3审计报告阶段

1.4改进跟踪阶段

2. 审计准备工作

2.1明确审计目的

2.2签署保密协议

2.3熟悉应用程序

2.4制定检查列表

3. 审计实施过程

3.1信息收集

3.2安全缺陷监测

3.2.1静态分析

3.2.2动态测试

3.2.3进行漏洞挖掘

3.3特殊情形审查

4. 审计报告

5. 实时改进跟踪

开展代码审计的流程

  1. 大体流程

审计过程包括四个阶段:审计准备、审计实施、审计报告、改进跟踪。

1.1审计准备阶段

主要开展基本情况调研,签署保密协议、准备检查清单等工作

1.2审计实施阶段

主要开展资料检查、代码审查、结果分析等工作;

1.3审计报告阶段

主要开展审计结果的总结、陈述等工作

1.4改进跟踪阶段

由代码开发团队进行,主要对审计出的问题进行修复。对于安全缺陷代码修改后,再次进行审计。

  1. 审计准备工作

2.1明确审计目的

确定进行的是哪种方面的测试;例如软件产品的测试、公司软件安全性自测等等

2.2签署保密协议

明确双方权利义务

2.3熟悉应用程序

在进行代码审计之前,需要对应用程序的功能、结构和逻辑进行充分的了解,有助于更好地理解应用程序的运行机制和可能存在的安全漏洞。

A:收集代码和相关信息

收集应用程序的源代码、文档、配置文件等相关信息,有助于了解应用程序的结构和运行机制,并找出可能存在的安全漏洞。

B:熟悉编程语言和框架

审计人员需要熟悉应用程序所使用的编程语言和框架,了解其特点和安全问题,才能更好地找出可能存在的安全漏洞和代码缺陷。

C:确定审计范围和标准

在进行代码审计之前,需要确定审计的范围和标准,包括审计的目的、审计的时间、审计的深度等。这有助于审计人员更好地进行工作,确保审计结果符合预期。

D:选择审计工具和技术

在进行代码审计时,需要选择合适的工具和技术进行辅助分析和漏洞挖掘。常用的工具包括静态分析工具、动态分析工具、源代码审计工具等。

2.4制定检查列表

通过明确审计目的、熟悉应用程序等工作,形成代码安全审计要点,制定代码安全的检查列表。检查列表包括检查项和问题列表。

  1. 审计实施过程

3.1信息收集

通过各方式获得代码以及相应需求分析文档、设计文档、测试文档等资料。

通过资料了解代码的业务逻辑等信息。在了解代码基本信息的基础上,通过深入分析设计文档、访谈关键开发人员等方式,区分核心代码和一般性代码

3.2安全缺陷监测

3.2.1静态分析

代码审计的静态分析是一种对源代码进行分析和检查,可以发现编译等过程中可能存在的安全漏洞和代码缺陷。主要分为下列五种分析方式:

(1)语法分析

语法分析是指对源代码进行语法分析,检查代码是否符合编程语言的语法规范。

(2)数据流分析

    数据流分析是指对源代码进行分析;数据流分析可以发现一些潜在的安全漏洞,例如未经检查的用户输入、未初始化的变量等。

(3)控制流分析

控制流分析是指对源代码进行分析,了解代码中的控制流程,包括条件分支、循环、函数调用等。

(4)符号执行

符号执行是一种对源代码进行静态分析的高级方法,可以模拟程序执行的过程,通过对程序的所有可能路径进行分析,找出可能存在的安全漏洞和代码缺陷。

(5)模型检查

3.2.2动态测试

代码审计的动态测试是一种通过模拟攻击者的行为,对应用程序进行测试和漏洞挖掘的方法。与静态分析相比,动态测试可以更好地模拟真实环境下的攻击场景,发现一些静态分析难以发现的漏洞和问题。可分为:输入输出测试、异常测试、边界测试、安全测试、性能测试

3.2.3进行漏洞挖掘

通过上述两种测试方式发现漏洞

通常分为下列五种漏洞:SQL注入漏洞、XSS漏洞、文件包含漏洞、逻辑漏洞、认证和授权漏洞

3.3特殊情形审查

在有软件外包/采用开源软件/合作开发情形下,应对开源软件或外包部分进行代码安全审计。对于核心代码和一般性代码在审计时,采取重点审计和一般性审计措施

  1. 审计报告

审计实施完成后,组织召开评审会,根据评审意见,调整审计结果,形成审计报告。

代码审计中的审计报告是指对被审计代码进行分析和评估后,生成的一份详细的报告。主要分为以下三点:

A:发现的漏洞:列出在审计过程中发现的漏洞,包括漏洞的描述、风险等级、影响范围、建议修复方案等。

B:安全建议:针对发现的漏洞,提出相应的安全建议,包括代码修复、安全配置、安全测试等方面的建议。

C:代码质量评估:对被审计代码的质量进行评估,包括代码结构、规范性、可读性、可维护性等方面的评估。

  1. 实时改进跟踪

对审计中发现的问题进行修改,对未修改的应提供理由;

对代码的有效变更进行记录存档。

对于修复后仍产生的问题,可进行追溯审计过程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值