基于渗透测试和源代码扫描的软件安全测试和开发

发表于:2011-8-22 10:55

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:许舟平    来源:51Testing软件测试网采编

  给软件拍一张 X 光片—基于白盒的源代码分析

  源代码分析技术由来已久,Colorado 大学的 Lloyd D. Fosdick 和 Leon J. Osterweil 1976 年的 9 月曾在 ACM Computing Surveys 上发表了著名的 Data Flow Analysis in Software Reliability,其中就提到了数据流分析、状态机系统、边界检测、数据类型验证、控制流分析等技术。随着计算机语言的不断演进,源代码分析的技术也在日趋完善,在不同的细分领域,出现了很多不错的源代码分析产品,如 Klocwork Insight、Rational Software Analyzer 和 Coverity、Parasoft 等公司的产品。而在静态源代码安全分析方面,Fortify 公司和 Ounce Labs 公司的静态代码分析器都是非常不错的产品。2009 年 7 月底,IBM 发布收购要约,将 Ounce Labs 纳入 Rational 产品线。在本示例中,我们选用 Ounce Labs 的安全分析器(Ounce Security Analyst 6.1)和 Rational Software Analyzer 来分别对示例代码进行静态源代码安全分析和代码质量分析。

  为了保持示例一致性,我们选用 AltoroMutual 应用的源代码进行静态分析。首先,我们用 Ounce Security Analyst 6.1 进行源代码安全分析。

  Ounce 的安全分析器(Ounce Security Analyst)支持多种部署方式,可以独立运行,也可以通过 Plug-in 的方式运行在软件开发人员的集成开发环境中。在软件开发生命周期(SDLC)中,对于开发人员,更多的是希望在日常的开发过程中能够进行源代码的安全分析和检查,因此在本文的示例中我们选择将 Ounce 安全分析器(Ounce Security Analyst)通过插件的方式 Plug-in 到基于 Eclipse 的 IBM Rational AppScan Developer Edition 7.8.1 中来使用。

  图 12. Ounce Labs 在 RADE 中的插件

  下面我们在装有 Ounce Security Analyst 的 Rational AppScan Developer Edition 中,将 AltoroMutual 的源文件导入,我们发现 Plug-in 后的 Rational AppScan Developer Edition 上会多了一个名称为 Ounce 的菜单。

  图 13. 在 RADE 中将 AltoroJ 项目编译通过

  对于一般的静态安全分析而已,保持代码在做静态安全分析前的可编译性是一项非常重要的工作。因此建议软件开发人员在进行静态安全分析前首先保证自己的代码是编译通过的。我们首先将 AltoroMutual 的源代码进行编译,然后在 Ounce 菜单中选择对 AltoroMutual 源代码进行扫描。

  下图中所示的是进行扫描之后的情况。在 Rational AppScan Developer Edition 的控制台中,我们看到 Ounce Security Analyst 总共扫描了 AltoroMutual 项目的 97 个源文件,在 10625 行代码里发现了 742 个安全问题,总共用时 62 秒。

  图 14. 利用 Ounce Security Analyst 进行源代码扫描

  将视图切换到 Ounce Labs Perspective 后,打开 Assessment Summary,我们可以查看发现的漏洞类别与数量。

64/6<123456>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号