新思科技:2021年第一季度静态应用安全测试报告中被评为领导者

Synopsys 在 Forrester Wave™ 2021 年第一季度静态应用安全测试报告中被评为领导者。在本次评测中,Synopsys 的 Coverity 静态分析解决方案在“现有产品”类别中获得最高分,在“战略”类别中名列前三。多年来,全球许多企业和组织都采用 Coverity 来降低安全风险、确保应用程序灵活性并快速将新功能推向市场。NGINX 就是其中之一。

NGINX背景介绍

NGINX 开源(发音为“engine x”)是世界上最广泛使用的 Web 服务器之一,为 Netflix、Hulu、Pinterest 和 GitHub 等网站提供支持,具有高性能、稳定性、丰富的功能集、易于配置和因其资源消耗低的优点而广受赞誉。NGINX 开源家族的其他成员包括 NGINX JavaScript (njs),这是一个为 NGINX 添加 JavaScript 支持的模块;NGINX Unit,一个动态应用服务器,支持用 Perl、Python、Ruby、Node.Js、Go、Java 和 PHP.njs 应用程序编写的脚本。

所有三个 NGINX 开源项目的开发人员都使用 Synopsys Coverity Scan® 来查找和修复代码中的错误。Scan 可作为 Synopsys 的免费在线服务提供,并由 Synopsys 的商业 Coverity 静态分析工具中使用的相同引擎提供支持,可帮助开源开发人员识别代码缺陷,以便快速轻松地进行修复。

NGINX 软件作家兼联合创始人 Igor Sysoev 在 2014 年的一次采访中说:“我坚信开源的力量。NGINX 是对一个非常具体的问题的实验,即如何在单个现有服务器上处理更多客户端。它原来这是一个普遍的问题。当我意识到 NGINX 确实有助于提高 Web 性能时,我希望人们使用它,所以我把它开源了。

NGINX 的开源版本还可以用作反向代理、负载均衡器、邮件代理和用于 HTTP 缓存的 Web 服务器,为 4 亿多个网站提供支持,包括 Netflix、Hulu、Pinterest 和 GitHub 等品牌。Igor Sysoev 于 2011 年与合作伙伴共同创立了 NGINX,为 NGINX 开源提供正式支持,并提供商业版本 NGINX Plus,为 NGINX 开源添加企业级功能。

2019 年,NGINX 被应用安全和交付公司 F5 Networks 收购。如今,NGINX 的开源项目家族包括 njs(一个为 NGINX 添加 JavaScript 支持的模块)和 NGINX Unit(一个动态应用服务器)。

挑战:确保开源代码的质量和安全性

NGINX 联合创始人兼工程副总裁 Maxim Konovalov 说:“在启动 NGINX 后不久,我们将 Coverity Scan 集成到我们的 CI/CD 流程中。自 2012 年以来,我们每天都在提交 NGINX 构建工件。”

Maxim Konovalov 继续说:“在许多情况下,NGINX 充当互联网前端,其安全性和稳定性对其用户至关重要。我的团队孜孜不倦地提高代码质量,并一直在寻找最佳实践和工具来改进代码质量。像 Coverity Scan 这样的静态代码分析工具对我们帮助很大。

NGINX 将公司视为数百万应用程序和网站的底层技术,并严格要求自己。代码质量和安全性是 NGINX 精神的一部分。有效的工具对于开发实践至关重要。

解决方案:使用 Coverity Scan 进行静态代码分析

人们通常认为大多数软件漏洞都是由于恶意攻击造成的,但事实并非如此。这主要是由于代码错误。GitHub 的 2020 年度安全报告《2020 年八月宇宙状态》显示,从 2019 年到 2020 年,GitHub 发送警报的漏洞中有 83% 是由于编码错误而不是恶意攻击。

但恶意攻击确实会利用代码中的缺陷,开发人员需要使用主动检测工具来发现他们编写的代码中的缺陷。静态分析针对常见编码错误的一组编码规则检查源代码。在 scan.coverity.com 注册项目的开源开发者可以免费使用该服务,该服务与 Synopsys 商用 Coverity 静态分析工具使用的引擎相同静态代码检查干什么用,可帮助开源开发者识别代码缺陷,以便快速、有效地进行补救。容易地。Linux 基金会在开源贡献者的 2020 年报告中指出,受访者“大量引用 Coverity Scan 和 Clang 安全检查器”作为他们的主要静态分析工具。

结果:扫描了 658,000 行代码,缺陷密度为 0.02%

2021 年 1 月,Coverity Scan 分析了 NGINX 的 658,665 行代码静态代码检查干什么用,发现了各种代码缺陷,包括两个 CWE Top 25 缺陷。由于 F5 Networks 经常使用 Coverity Scan,NGINX 项目的缺陷密度(每 1000 行代码的缺陷数)仅为 0.02%。

Maxim Konovalov 表示赞赏:“Coverity Scan 为我们增加了价值。我经常推荐 Coverity Scan 及其在代码提交中提供特定缺陷 ID 的能力。事实上,我是 FreeBSD 提交者组的成员,我们使用 Coverity Scan for FreeBSD还有。代码分析。”

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论