加强软件安全还需合理管理开源

2014-02-17 09:32张建国
计算机与网络 2014年16期
关键词:安全漏洞开源代码

■ 张建国

加强软件安全
还需合理管理开源

■ 张建国

现在许多公司越来越明白这一点:想比竞争对手更迅速地开发出质量更好的创新软件,关键在于借助使用开源软件(OSS)。不过使用开源也带来了一系列不同的挑战。虽然贵企业的团队能够获得速度和敏捷性,但常常更难查明代码的真正来源、确保代码安全可靠。

正如OpenSSL Heartbleed安全漏洞证明的那样,不知道自己的应用程序或最终产品中使用什么代码,有可能造成严重的安全威胁,需要投入大量精力来补救这些威胁,很耗费时间。反过来,要是查清楚使用了哪些OSS组件和版本、哪里使用了OSS组件和版本,对于迅速应对及补救安全漏洞大有帮助。

里面的代码很重要

Heartbleed软件错误提醒广大开发人员和公司企业安全到底有多重要。虽然之前就有围绕专有软件或开源软件哪个更安全这个广泛的争论,但这个争论基本上没啥意义。事实上,代码缺陷存在于大多数软件当中,不管代码来自专有软件还是开源软件,有些代码缺陷影响安全性。

想真正准确地了解贵企业面临的潜在安全漏洞,就要明白3个问题:

1.贵企业目前的产品和应用程序中有什么代码?

2.开发过程的前期使用了什么代码?开发人员又从哪里获得了这些组件?

3.开发过程的后期使用了什么代码?代码在部署之前需要在哪里加以验证?

评估形势

所有公司都应该对照常见安全漏洞数据库核对自己的代码,比如美国标准和技术研究所(NIST)的全国安全漏洞数据库(NVD)。像NVD这些资源可以跟踪安全漏洞,并给出严重性等级,帮助公司企业确保各自的代码安全、最新。

如果贵企业之前从未对照安全漏洞数据库审查过自己的代码,这可能是一项艰巨的任务。幸好,有些工具可以充分利用这些数据库,定期自动识别所有的开源安全漏洞,警报并跟踪受影响的组件在哪里使用、在哪里需要补救。

防止未来的问题

大多数开发人员之所以被OSS所吸引,原因在于OSS易于访问、随意获取,通常让他们可以摈弃正规的采购流程。不过,虽然许多开发公司对开源使用有相应的政策或准则,但这些政策或准则并不总是得到落实,常常没有受到合理的监控。查明什么代码进入贵企业、代码是否获准使用以及它在贵企业的哪个部门使用,这点很重要。

一旦贵企业知道了拥有的代码,就需要建立治理机制。通过在整个开发过程中实施管理体系,就能确保准确地描述代码,并消除什么代码在哪里、代码是不是最新方面的问题。人工管理这个过程几乎不可能,这就是为什么同类中最佳的公司借助自动化代码管理和审计解决方案,主动管理开源软件的使用。

虽然每家公司和每个开发团队的情况各不相同,但事实证明下列流程可以帮助大大小小的企业管理和保护所使用的OSS:

自动审批和列入目录——借助自动化扫描、审批和清点流程,记录并跟踪OSS组件的所有相关属性,评估许可证合规,并审查可能存在的安全漏洞。

维护经过更新的代码版本——评估代码质量,并确保贵企业的产品采用最新版本的代码开发而成。

验证代码——评估使用的所有OSS;审查代码,评估安全、许可证或导出风险,并补救任何问题。

确保合规——制定并落实一项开源政策,制定一套自动化合规流程,以确保开源政策、规定和法律义务等在整个企业都得到了遵守。

积极管理是关键

由于各行各业使用软件的现象日益普及,开源将继续在开发最新创新产品和服务中扮演至关重要的角色。为了防止这个日益复杂的环境出现安全漏洞,公司势必要积极管理整个企业的开源流向,并制定流程,从而对照安全漏洞数据库定期核查代码,以便快速轻松地补救。

猜你喜欢
安全漏洞开源代码
基于大数据技术的软件安全漏洞自动挖掘方法研究
五毛钱能买多少头牛
创世代码
创世代码
创世代码
创世代码
安全漏洞太大亚马逊、沃尔玛和Target紧急下架这种玩具
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
开源计算机辅助翻译工具研究