(文/新思科技软件质量与安全部门销售总监兼管理顾问/薛植元)软件,不管是由谁构建的,都很容易受到漏洞攻击,随着我们的世界越来越依赖数字化,更多的软件被编写,更多的漏洞也将会出现。现在开源的广泛使用也让黑客有机可乘。从Heartbleed 和 Equifax 数据泄露等安全事件可以得知,只需一个开源漏洞即可为黑客提供数千个应用的密钥。要击败开源黑客并保护敏感数据和获得客户信任,企业需要先于黑客了解代码中的内容。
自2005年起,NVD漏洞数据库每年都报告4,000 ~ 8,000个新漏洞,但是这一数字在2017年激增至14,645,2018年增至16,511,2019年则增至17,306。
尽管开源软件的漏洞少于专有软件,但是开源安全问题不容忽视。新思科技公司发布的《2020年开源安全和风险分析》报告(OSSRA)发现经过审计的代码库中,75%包含具有已知安全漏洞的开源组件,将近一半(49%)的代码库包含高风险漏洞,而且91%的代码库包含已经过期四年以上或者近两年没有开发活动的组件。OSSRA报告由新思科技网络安全研究中心(CyRC)制作,研究了由Black Duck审计服务团队执行的对超过1,250个商业代码库的审计结果。
虽然开源是免费的,并且有许多优点,但仍需遵循许可证要求。如果企业有意或者无意地违反所使用组件的许可证要求,则可能会失去其专有代码的权利或者使IP所有权面临风险。尽管并非所有的漏洞都将带来灾难性的问题,但它们使企业面临一系列已知的风险:金融盗窃、企业间谍活动、勒索软件、客户敏感数据的泄露和潜在的人身安全威胁等。
凯易讯(Calix)所面临的风险就是一个例子。Calix是一家领先的云和软件平台、系统和服务的供应商,它在亚太地区包括中国和澳大利亚都有业务,其中一个海外研发中心位于中国南京软件谷。该公司的年营业额达到4.8亿美元,为全球超过1,400家通讯服务供应商提供服务。Calix建立和管理由定制、商业和开源代码组成的软件,这些软件包含数千万行的代码。然而,它所面临的挑战是如何发布符合严格标准、高质量、安全的软件。
Calix产品工程服务工程总监Vivek Singh表示:“与绝大多数科技公司一样,Calix深刻意识到这些风险,但我们的安全团队也知道手动分析代码库既耗时又昂贵。尤其是对于新兴的系统,我们可以手动做很多事情,但是花费会很高。尽管公司之前一直在使用开源扫描工具,但更新非常慢,并没有跟上新发现和报告的漏洞信息的速度。”
如何解决这些问题?
预防往往优于事后补救。预防软件漏洞始于从软件开发生命周期早期识别漏洞。这不仅可以在开发过程结束时交付更安全的产品,同时也将节约时间和成本。
开发软件的时候,每一步都存在潜在的安全问题。由于预算和时间的限制,安全通常被排在软件开发流程的最后阶段。其实,在软件开发之初就应该考虑安全性,并且需要为开发过程准备好正确的测试工具,方便开发人员可以在最小的干扰下整合软件安全管理。这意味着开发团队可以更好地管理他们的时间,并且使软件开发变得更加容易,安全性也更高。
Vivek Singh表示Calix已经使用Coverity静态分析超过五年了,并且于大约两年前也采用了Black Duck软件组成分析和Defensics模糊测试。
Coverity是一种静态应用安全测试解决方案(SAST),提供精准的、可操作的补救建议,以及针对特定情景的eLearning在线学习,帮助开发人员快速修复缺陷。它还可以通过自动化测试无缝集成到CI/CD管道,以保持开发速度。
Black Duck是一种提供全面的软件组成分析(SCA)解决方案,用于管理由于在应用程序和容器中使用开源而产生的安全性、许可证合规性和代码质量风险。
Defensics是一种自动化的黑盒模糊测试,使得组织可以高效并有效地发现和修补软件中的安全漏洞。
Vivek Singh指出:“一旦为下一个版本开发了新的开发流程,所有的这些过程,Coverity、Black Duck和Defensics(触及我们代码库的所有相关的扫描过程),都将自动在Bamboo CI引擎中进行设置。这是我们日常工作的一部分。当构建的时候(开发人员签入代码),我们有一个集中的主线代码存储库,并且该过程从第一天便开始。所有的报告都是实时并且是最新的。这些都很少涉及手动操作。”
Vivek Singh介绍道:“Coverity解决了所有的静态分析问题,并且提供了一个集中数据库。它具有出色的报告系统,对于从程序经理到产品经理再到开发经理,任何人都能够在一个单一的平台管理所有的事情,这非常关键。尽管在当今市场上有许多静态分析工具,但我想说Coverity无疑是同类产品中出类拔萃的。”
当提到Black Duck软件组成分析, Vivek Singh表示这是三连胜:更快、更好和更实惠,并称赞道“它使用起来超级简单,并且在自动化方面,Black Duck与之前的工具相比有巨大的提升。它有许多非常清晰的报告,使我们清楚地了解到哪些地方需要重点关注,因此我们不需要一位高级架构师来尝试解码整个报告并找出在我们代码库中的问题。”
Vivek Singh说:“Defensics已经成为Calix软件测试套件的一部分,因为我们不断向市场推出新的产品,当我们涉足网络行业的新的领域时,安全性则是首要考虑因素。我们之所以会引入它,并不仅仅因为我们所面临的挑战,还因为我们的新产品,我们正开发的新的软件在这个领域是非常广泛的,我们必须研究模糊测试协议扫描和类似的东西。”
他说最重要的是可以更快地、更好地交付软件安全性。他还表示:“我们点击一个按钮即可设置CI计划,它可以从Black Duck、Defensics、 Coverity和我们的其它安全分析工具提取所有内容,并且它们可以自动插入并生成报告和扫描,如果一个漏洞需要被修复,会立即进入我们的漏洞管理系统。”
现在,几乎每家从事商业活动的公司,无论销售什么产品,都会使用到软件,并且很容易受到漏洞攻击。在精简的流程和更短的时间内有效提高开发的软件的安全性和质量,是公司在数字时代激烈竞争环境中所需要的核心优势。