随着开源代码在商业和家用应用上越来越流行,基于它的漏洞的攻击也日益增多,据黑鸭子软件对收集的开源项目的数据统计,其预计今年的攻击增长 20% 。
黑鸭子软件安全战略部的副总经理 Mike Pittenger 介绍说,包含了 50% 以上的自由、开放源软件的商业软件项目占比从 2011 年的 3% 上升到今天的 33%。
他说,平均每个商业应用使用超过 100 个开源组件,而三分之二的商业应用代码带有已知漏洞。
更糟糕的是,软件的买家常常无法知道他们购买的软件中有哪些开源组件。
相关阅读: 浪漫开发:如何避免使用开源时易受攻击感
“一般来说,公司并不乐于提供这些”,他说到。他们为客户提供的组件列表常常是不完整的。“如果你未经他们同意就扫描二进制码,你很可能违反了他们的许可协议,给自己带来很多麻烦”。
一些大公司买家可能有权要求他们完整披露,并由第三方比如黑鸭子软件进行扫描验证。
完全避免开源软件并不是一个好的选择。很多开源库是事实上的工业标准,而且从头开始写同样的代码太耗费时间,延误了投放市场的时间,损害了公司的竞争力。因此,商业软件商使用开源代码的越来越多,这个趋势在加速,Pittenger 说到。
同样的逻辑适用于企业自建软件, ISACA 思维领导与研究部门总监 Ed Moyle 说。ISACA 是 IT 和 网络安全专业人员的一个全球化组织。
“也有很多社区支持活跃的项目,带来可靠的安全和功能更新”,他补充说。“在特定情况下,如果能够审计代码会带来安全的好处,当然也带来了高度定制软件的能力。按照以往经验,如果一个商业工具能够做什么事,很可能就会有开源工具提供同样的功能。”但是,“多个眼睛”来检查开源代码漏洞的方式并不总能有好的效果。
“任何人都可以审计代码,但也可能每个人都认为有人来审计,结果最终谁都没有做此事。” 来自 AlienVault 的安全顾问 Javvad Malik 说。“这是一个问题。”
结果,管理开源组件越来越棘手,而那些坏家伙们也意识到这一点。
开源代码到处都是,所以攻击者可以使用同样的利用方式寻找一大批目标。由于跟踪开源代码的困难,使用者常常不打补丁和更新,这样,黑客可以利用已知漏洞和已公布的缺陷利用例子。
物联网的兴起去年也成为了一个主要的安全问题,今年将继续是一个主要问题,专家们预测。
“智能设备和物联网中使用了许多开源软件,这正是 Mirai 僵尸网络病毒利用的漏洞,”Malik 说。(LCTT 译注:自 2016 年 9 月黑客操控感染了恶意软件 Mirai 的物联网设备发起了 DDoS 攻击,影响波及很多著名网站,并导致服务中断,影响颇深颇广。)
同时,开发者常常不检查开源代码漏洞,或者怀疑有问题但由于最后期限的压力,而直接使用了。所以,不只是未打补丁的漏洞存在着,还有新写的代码会集成进去旧的、已知的漏洞,黑鸭子软件的 Pittenger 说到。
商业软件项目中的漏洞平均存活时间为 5 年,他说到。
心血漏洞这个漏洞早在 2014 年初就在 OpenSSL 库中发现,并被广泛宣传。但去年,在测试的应用中仍有 10% 存在此漏洞。
此外,每年有 2000 到 4000 个新漏洞被发现,Pittenger 补充说。
要解决这个问题,需要软件商和顾客的切实行动,以及企业级软件开发者的安全意识——不过目前看在最终改善前,形势很可能还要恶化。