大多数时候,投资回报率是根据您花的钱赚了多少钱来计算的。 但它也适用于你不必花的钱。 正如一句古老的谚语所说,“省一分钱,赚一分钱”。
按照这个标准,有数百万亿美分的钱没有赚到,因为组织没有投资改进他们的软件。
根据“美国软件质量差的代价”。 据信息和软件质量联盟 (CISQ) 估计,2021 年美国缺陷软件的集体账单估计为 2.41 万亿美元,比 2020 年代的 2.08 万亿美元增长近 16%。 这比除十几个国家以外的所有国家的 GDP 都多。
而且它甚至没有计算估计 1.52 万亿美元的“技术债务”(TD)——应用程序、网络和系统中累积的软件漏洞,这些漏洞从未得到解决,但最终必须支付。
这些和其他调查结果表明,在知道或应该知道软件可以成就或毁掉他们的组织领导者中,明显否认存在一种令人担忧的状态。 如果它是高质量的,并且在整个开发过程中“内置”安全性,那么软件可以使企业繁荣发展。
但如果编写或维护不当,软件很容易使组织成为在线攻击者的目标,他们可以利用其漏洞窃取知识产权、金钱和客户信息。 它可能会损害品牌声誉,使组织容易受到法律和监管责任的影响——甚至会使它们倒闭。
鉴于此,您可能认为任何想要繁荣发展的组织都会将其软件的质量和安全放在首位。 谁不想成为成败的“成功”一方?
显然,没有那么多。
这份由 Synopsys 共同赞助的半年度报告发现,劣质软件 (CPQS) 成本持续增加的主要原因是:
– 未能修复现有漏洞。 请注意,这些不是零日漏洞——它们是已知的。 在几乎所有情况下,都有可用的补丁或更新。 他们只是没有被应用。
– 软件供应链问题。 2021 年,77% 的组织报告说他们对开源软件的使用有所增加。 但由于软件供应链中开源组件的弱点而导致的故障数量增加了更多——650%。 这意味着组织更多地使用它,但更少保护它。
– 快速积累TD。 该报告将 TD 描述为“对现有代码库进行任何更改的最大障碍”。 那是因为它的影响类似于增加信用卡债务的影响。 当它变得太大时,借款人就会陷入只支付利息而从不偿还本金的恶性循环。
这一切该怎么办?
根据作者、德克萨斯大学奥斯汀分校软件工程退休教授 Herb Krasner 的说法,CISQ 报告的总体目标不仅仅是记录事情有多糟糕,还包括推荐解决方案。
其中包括:
– 保护软件供应链。 对于作为主要攻击面的开源组件尤其如此。 Synopsys 的年度“开源安全和风险分析”(OSSRA) 报告记录了开源软件组件几乎存在于每个代码库中。 Krasner 指出,即使是一个中型应用程序也有 200 到 300 个第三方组件。
最新的 OSSRA 报告发现,所分析的代码库中有 91% 的开源组件版本已过时(如未打补丁)。 这意味着太多的组织忽略了维护这些组件安全的关键——保留它们的清单。 这样做的方法是公认的。 自动化软件组成分析工具将找到开源组件,然后可以帮助创建软件物料清单 (SBOM)。
– 解决技术债务。 TD之所以猖獗,是因为短视。 克拉斯纳写道,允许 TD 得不到解决“会带来大量的、最初隐藏的成本,组织必须在以后支付这些成本”。 但是有可用的自动化工具,包括静态代码债务分析器,可以帮助公司开始偿还债务的本金和利息。
– 设定质量标准,然后遵守这些标准。 质量标准已经存在,由 CISQ 创建,称为 ISO 5055,它定义了四类源代码质量测量:可靠性、性能效率、安全性和可维护性。 “如果所有新软件都是在没有已知漏洞和可利用弱点的情况下创建的,那么 CPQS 将会直线下降,”Krasner 写道。
这些和其他建议需要时间和金钱来实施。 但是,投资于您和您的客户都可以信赖的高质量软件可以帮助您节省开支,从而赚取更多的钱。