程序员大本营GitHub遭黑客劫持,是时候认真聊聊开源代码安全了
其次,日益消弭的开发门槛和随性的开发者。以往,能够开发开源组件的开发者本身素质相对较高,代码质量较高,也使开源组件出漏洞的可能性较小。但随着许多界面友好的平台出现,像是GitHub,即使是新手编程也可以利用Git;任何人都可以免费注册和托管公共代码存储库,还有人利用GitHub来进行其他类型的项目,比如写书。 缺乏安全基础的开发者增多,许多潜在的组件安全特性被忽略,而这些特性往往是造成漏洞的罪魁祸首。 而且,即使是成熟的开发人员,也需要不断在应用更新过程中解决新漏洞。但很少有程序员会审查旧工程中用到的库,一般就是到开源项目页面下载下来,集成到自己的应用中,然后就再也不管它了。这些软件自然也就像凤梨罐头一样,很快就过期。 在此基础上,企业利用开源软件或组件来进行开发,就像在一个摇摇欲坠的积木塔上盖楼一样,全靠运气。 绝大多数企业的开发团队,对开源软件的使用都非常随意,这就给应用的安全风险管控带来了极大的挑战,运维人员也无法知晓软件系统中是否包含了开源软件,包含了哪些开源软件,以及这些软件中是否存在安全漏洞。 而大多数云供应商在将企业数据上传到集群之前都不会加密数据,比如OpenStack就不提供任何数据加密方法。这就需要企业和用户自己先加密数据,再上传加密后的数据和管理密钥本身。 还有一些公司由于兼容性问题、合规问题等原因,无法迁移到最新版本的开源代码,只能继续使用包含漏洞的旧代码。据Snyk称,只有16%的漏洞补丁是向后兼容其他版本的。这也给黑客们创造了不少机会。 总而言之,在这样从源代码创造、分享、开发等一系列产业链上的“不着调”,造成了“涟漪效应”,最终缔造了令人头痛的安全事故。 那么,除了改密码、打补丁之外,产业端有没有一些更“治本”的办法来杜绝此类隐患呢? 开源代码的安全战役,有没有另一种打开方式? 无论从哪个角度看,开源代码的安全战都是一场十分必要、不容退却的全民战争。当然了,普通用户只能打call,冲锋陷阵的还得是软件公司和程序员们。 对此,产业界也开始拿出了一些试图从根源上解决问题的办法。简单说几个: 1. 漏洞奖励 2012年,谷歌推出了Chrome奖励计划和漏洞奖励计划,鼓励程序员找出其浏览器及在线服务中的具体弱点,使得广泛使用的开源软件尽可能不那么容易遭受攻击,并为此支付500到3133美元不等的报酬。2013年,美国国家安全局也拨出了2510万美元,用于“额外秘密购买软件弱点”。 如今,漏洞赏金计划已成为许多互联网公司的重要安全策略之一,微软推出了迄今为止最高的Windows Bug奖励计划,达到250000美金。苹果、美国国防部、Facebook、腾讯、阿里ASRC、百度等为其漏洞支付的总金额也非常的惊人。 重赏之下,安全漏洞的时间差也有望有效减少。 2. 新技术工具 无论是防止源代码中的信息泄露,还是要寻找恶意文件、阻止恶意进程、保证端点安全,都有越来越多的技术工具可供使用,许多云安全公司和运营商等也都开始参与安全工具的开发。 比如最近的开源领导者峰会上,Linux基金会就宣布了Red Team(红队)项目。新项目将孵化开源网络安全工具,以帮助提高开源软件的安全性。 作为开源安全工具的孵化器,Red Team支持网络范围自动化,容器化渗透测试工具,二进制风险量化和标准验证程序等。并且能够在云上模拟黑客攻击,用户可以部署黑客脚本,并对现实中的团队进行安全培训。 诸如Commit Watcher等种种开源工具的出现,帮助程序员查找潜在危险失误,也正在使软件开发过程变得大不相同。 3. 加密算法 如果我们将数据信息看做是网络世界最宝贵的财富,那么加密机制就是一个可以保护数据的保险箱。除了将箱体打造的更加水火不侵,“锁芯”这道防线也需要不断迭代。 尤其是现在越来越多的机构与企业选择云计算技术作为复杂业务的解决方案,开源云平台的安全问题也更加速咋,因此,数据加密算法的解决方案就显得尤为重要了。 像是可以对企业数据进行安全分级,对等级高的数据先采用对称算法进行加密,并将对称算法产生的秘钥进行非对称加密存储,从而兼顾数据和安全性,以及系统运行效率。 在硬件端,谷歌也刚刚推出了针对低端手机的新加密标准Adiantum,在没有足够计算能力芯片的前提下,也能实现高速计算来进行哈希算法加密及解密,从而提升终端设备的安全性能。 从长远来看,开源社区更加灵活和开放的构建方式,会令它继续成为开发江湖的“根据地”。但当开放与自由成为双刃剑,又成为一个流着“奶与蜜”的数据丰饶之地,就很容易被不法之徒虎视眈眈。至少从GitHub这件事上看,开源代码的安全问题,应该已经来到了一个危险的临界点,也给一直以来“违规飙车”的业界敲响了警钟。 用开源软件的倡导者Eric S. Raymond的话来说——高质量的代码,就是对程序自己最好的注释。 【编辑推荐】
点赞 0 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |