ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

新思科技凭借Coverity Scan帮助NGINX确保代码质量和安全

2021-07-28 14:02:23  阅读:243  来源: 互联网

标签:Scan 代码 新思 NGINX 开源 Coverity


新思科技(Synopsys)在Forrester Wave™发布的《2021年第一季度静态应用安全测试》报告中被评为领导者。在此次评估中,新思科技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开源项目的开发人员都使用新思科技Coverity Scan®查找并修复其代码中的缺陷。新思科技(Synopsys)提供免费在线服务,并由与新思科技商业Coverity静态分析工具使用的一样的引擎提供支持,Scan可帮助开源开发人员识别代码缺陷,以便快速、轻松地进行补救。

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 State of the Octoverse”显示,GitHub从2019年到2020年发送警报的漏洞中,有83%是由于编码错误引起的,而不是恶意攻击。

但是恶意攻击确实会利用代码中的缺陷,开发人员需要使用主动检测工具来发现他们编写的代码中的错误。静态分析根据一组编码规则检查源代码,以发现常见的编码错误。已在scan.coverity.com注册项目的开源开发人员可以免费使用这项服务,与新思科技的商业Coverity静态分析工具所使用的引擎是相同的,该功能可帮助开源开发人员识别代码缺陷,以便快速、轻松地进行补救。Linux Foundation在2020年的一份开源贡献者的报告中指出,受访者“绝大多数都引用Coverity Scan和Clang安全检查器”作为主要静态分析工具。

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

2021年1月, Coverity Scan为NGINX分析了658,665行代码,并发现了各种代码缺陷,其中包括两个CWE Top 25缺陷。由于F5 Networks定期使用Coverity Scan,NGINX项目的缺陷密度(每1,000行代码的缺陷数)仅为0.02%。

Maxim Konovalov赞赏道:“Coverity Scan为我们增加价值。我经常推荐Coverity Scan及其在代码提交中提供特定缺陷ID的功能。实际上,我是FreeBSD提交者小组的成员,我们也使用Coverity Scan进行FreeBSD的代码分析。”

标签:Scan,代码,新思,NGINX,开源,Coverity
来源: https://blog.csdn.net/SIGinChina/article/details/119177623

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有