IDE 中安全代码审查与 fatapp 与 webapp 的优势

信息安全 应用安全 工具 代码审查 自动化测试
2021-08-29 07:34:05

对于那些使用过商业安全代码审查工具的人,例如:

  • 克洛克作品
  • 覆盖率
  • 装甲化
  • 强化
  • 校验码
  • Appscan Source Edition(以前的 Ounce)

或者也许是免费或开源的等价物,例如:

  • 猫网
  • 查找错误
  • 克洛克独奏
  • 装甲演示
  • Fotify Teamserver 演示(或本书随附的 Audit Workbench)
  • OWASP O2(盎司)

您通常更喜欢 in-DE 插件/插件(例如 Fortify Secure Coding Plugin for Eclipse)、独立的胖应用程序(例如 Audit Workbench)、Web 应用程序(例如 Armorize、Fortify Teamserver)、完整的构建服务器解决方案等? 为什么?

4个回答

答案不多,但我想说这更多地取决于每个产品的功能集,以及每个界面的可用性。
例如,Fortify 的 IDE 插件、fatapp 和 webapp 在支持的功能上是不等价的。更有什者,Fortify 的 Eclipse 插件并不等同于他们自己的 VisualStudio 插件!

但原则上,假设所有其他条件相同,我的偏好是:

  • 作为一名审计员/安全顾问,我更喜欢独立的。不需要开始弄乱他们的环境,帮助我更加专注,等等。
  • 作为开发人员(以及我的客户/开发人员),我更喜欢 IDE 插件,以便将所有内容放在他们面前,您不需要打开另一个工具,他们不会忘记它,使其成为他们开发的一部分/编译等
  • 一个用于统计的网络应用程序(就像 Fortify试图用他们的 360 服务器做的,但不是很好的 IMO)非常适合管理等。

请注意,以上主要依赖于自动化代码扫描器,而不是手动代码审查。有时这是需要的,但通常通常不够好。

两者都是必要的,取决于开发生命周期方法:例如,通常在 Scrum 项目中,基于 IDE 的项目更有意义,因为您可以添加一个积压项目,要求每个 sprint 扫描一次代码,甚至每次扫描一次天,这将非常有用。

另一方面,如果您在 Waterfall 或 Spiral 中进行开发,那么选择独立版本的工具将是集成许多软件包的更明智选择。

正如 AviD 为其他开发人员所提到的,独立版本会更好

在独立使用 Fortify 时,使用它的 Maven 插件和对其 Team Foundation 插件的简要介绍,我有一组与 AviD 类似的偏好:

  • 当您可以提供完整的代码库时,独立版非常可爱,它运行迅速,只要您拥有所有依赖项,它就可以正常工作!

  • 为了实现一个重复的测试场景,插件是要走的路——让它们内置,以便编译和构建自动审查安全问题。

  • 管理确实需要报告和趋势,因此需要管理服务器。

tl;博士-AviD 说的差不多:-)

根据我的经验,对于代码审计员和代码审查员来说,独立的应用程序可能是最好的。

基于 Web 的界面的优势在于协作:如果您有一个团队正在审核应用程序,对静态分析警告进行分类和分析,输入他们对警告是否是错误及其严重性的分析等等。基于 Web 的界面非常适合。

我个人不知道开发人员会喜欢什么。我怀疑 IDE 插件可能具有优势,因为它能够提供快速反馈以及与开发人员已经使用的工作流程的集成,但我在这里猜测。