📜  安全代码审查评估

📅  最后修改于: 2021-08-27 17:55:40             🧑  作者: Mango

什么是代码审查?
开发健壮的企业级应用程序是一项耗时的任务,而使其完全安全则是一项不可能的任务。实际上,安全并不是要建立一个坚不可摧的堡垒,而是要管理和减轻风险。代码审查旨在确定与应用程序的功能和设计有关的安全缺陷,以及确切的根本原因。随着应用程序复杂性的增加和新技术的引入,传统的测试方法可能无法检测到应用程序中存在的所有安全漏洞。

重要的是要了解应用程序,外部组件和配置的代码,以便有更好的机会发现安全漏洞。深入研究应用程序代码还有助于确定可用于避免安全漏洞的确切缓解技术。代码审查是一种确保应用程序在其环境中被开发为“自卫”的方法,并允许组织确保应用程序开发人员遵循安全的开发技术。

最好将代码审查评估编织到SDLC流程中,以使组织不会将安全视为障碍,而是将其视为帮助并使其能够提供安全的产品。在整个组织中分布安全的编码SME可以使安全的编码检查任务扩展并扩展到更多的开发团队。随着过程的发展,更多的开发人员开始意识到安全编码机制,安全编码漏洞的频率将下降。

代码审查与安全代码审查有何不同?
代码审查被认为是软件质量保证活动,分析师在该活动中检查代码是否存在与功能或业务需求相关的缺陷。通常是通过同行评审或质量保证团队来完成的。

安全代码审查是对标准代码审查实践和方法的增强,其中审查过程的结构将诸如公司安全标准之类的安全注意事项置于决策的最前沿。评估由网络安全团队进行。

对应用程序的安全检查应发现常见的安全漏洞以及应用程序的业务逻辑所特有的问题。为了有效地审查代码,审查者必须了解应用程序的业务目的和关键的业务影响,这一点很重要。审稿人应了解攻击面;确定不同的威胁代理及其动机,以及它们如何潜在地攻击应用程序。

如何进行安全代码审查?
通过以下两种方式来进行安全的代码审查:

  • 手动代码审查–
    审阅者需要仔细阅读完整的代码,并了解工作流程以识别漏洞。定义通用清单是开发人员尝试或考虑过的安全级别的一个很好的晴雨表。通常,IDE用于手动检查,因为它使读取代码更容易。
  • 自动化代码审查–
    审阅者需要审阅由SAST工具生成的报告,并将报告的漏洞标识为误报或真报。一些流行的工具是:Fortify,Checkmarx,IBM AppScan源,Bandit等。