就像OpenSSL心脏出血所反映的那样,如果你对自己产品里的代码不明所以,那将造成严重的安全威胁,甚至旷日持久的补救工作。相反,若对项目中的开源组件及其版本了如指掌,则能快速响应,及时修补。 软件公司越来越明白,领先对手抢占市场的关键是使用开源软件。单纯使用商业软件进行开发,速度慢,成本高,几乎不能适应当下软件生命周期的快速迭代和快速淘汰。如果不能发掘并整合那些高内聚的开源软件,很多绝佳的概念将无法实现。
但使用开源软件也是有风险的,那就是难以确定其来源以及它的安全性。 就像OpenSSL心脏出血所反映的那样,如果你对自己产品里的代码不明所以,那将造成严重的安全威胁,甚至旷日持久的补救工作。相反,若对项目中的开源组件及其版本了如指掌,则能快速响应,及时修补。 内在的安全才是最重要的 心脏出血的漏洞给我们的安全重要性提出了严重的警告。广大人民讨论专利软件和开源软件哪个更安全,其实是毫无意义的。现实情况是,软件都是有漏洞的,没有绝对的安全,无论开源与否。 最明显的风险是,不妥善管理认证(目测是说认证没及时更新,导致没打补丁等,详见下文)。另外,当专利软件用了开源代码时,情况变得更复杂。这样代码的用途和来源将很难追踪。 为了准确地认清安全方面的弱点,你需要先搞清楚以下三件事:
状况评估 所有的公司都应该通过一些通用的代码检查库,例如美国国家标准与技术研究所的“漏洞库”,它能给你的代码的安全程度评级,以确保其安全且不落后。 如果你没这么做过,那真是起步艰难。幸运的是,还有一些工具能自动帮你完成与漏洞库的对比,并告诉你哪里需要修改。 持续管控你的代码库,能帮助你清楚知道代码来源,及时更新认证,提前解决未来的漏洞。如果你还有准确的代码的清单,你就能更方便地修复代码,以保证业务与客户的安全。 预防未来问题 免费易得的开源软件使开发者们放弃采购专利软件。很多开发团队对开源代码有管理措施,但却鲜有落实和纪录。其实,记录代码的引入和批准、及其用处,是很重要的。 当你已经知道自己有些什么代码时,下一步你就该实施管理。在开发过程中套用一套管理架构,你就能精确地描述出代码的位置及其是否过时。而手工管理无疑是艰巨的,所以一流的公司都会采取智能的、自动化的解决方案。 尽管公司各有不同,但以下通过的方法都经过证明,能避免开源软件的漏洞:
积极性是关键 软件应用正在遍及各行各业,开源软件正是这股潮流的推动者。为了在日益复杂的环境中避过安全漏洞,企业必须对开源这一块积极管理,建立定期与漏洞库对比的流程,使得软件的修复更便捷。
原文: http://www.linux.com/news/software/applications/782953-how-to-achieve-better-security-by-proper-management-of-open-source 作者: Bill Ledingham
(责任编辑:IT) |