对于公司的产品来说,源代码就是生命的体现。如果掌握了它的编写方法,就可以复制相同的程序,或者通过阅读源代码找到程序的漏洞,进行任意攻击。源代码一旦泄露,潜在的危害是巨大的。因此,当企业面临源代码泄露事件时,是否应该反思自己的源代码保护是否足够完善?怀疑原因是使用了配置不当的Devops工具。源代码发布在GitLab上的公共存储库中,并标记为“exconfidential”(最高机密)和“Confidential&Proprietary”(机密和专有),其中包含50多家公司的源代码。一位瑞士软件开发工程师上传了存储库,然后在他的Twitter帐户上发布了一个链接以获取它们。尽管他已尽力删除代码并联系涉事相关企业,但由于源代码是公开的,任何人都可以访问,这为网络攻击者寻找漏洞窃取企业机密信息埋下了隐患。是什么导致了如此大规模的源代码泄露?原因怀疑是由于使用错误配置的DevOps工具泄露了源代码。由于配置不当导致的安全事故也很多。大家可能还记得亚马逊AWSS3存储桶配置不当导致的大规模数据泄露事件。当然,源代码泄露还有其他原因,比如黑客攻击、员工操作失误等。比如最近曝光的任天堂就遭遇黑客攻击导致源代码泄露。此外,因员工操作失误引发的事件,如大疆源代码泄露等。2019年,一名大疆前员工泄露了公司的源代码。深圳法院以侵犯商业秘密罪判处大疆原员工有期徒刑六个月,并处罚金人民币20万元。而这些泄露的代码已经在该公司的农用无人机产品中得到应用,具有实用性。尽管大疆已采取合理的保密措施,但该事件仍给大疆造成了116.4万元的经济损失。游戏领域是源代码泄露的重灾区。除了任天堂的源码外泄,Valve在2019年也有重大泄密事件。有人泄露了《CS:GO》和《军团要塞2》的源码,并提供了下载链接。自愿维护《军团要塞2》的玩家社区已无限期关闭。2019年4月,哔哩哔哩全站后台工程源代码泄露,“代码中硬编码了很多用户密码,任何人都可以使用”。哔哩哔哩股价当日下跌3.27%。虽然很快就被封禁了,B站也已经报警了,但还是有不少网友克隆了代码库,埋下了隐患。企业应如何保护源代码?源代码对企业的重要性不言而喻,因此加强对源代码的保护显得尤为重要。可以从源代码本身、企业内部人员的权限入手,做好监控审计工作,进一步加强企业重要源代码的安全保障。1、对源代码进行分类,确保和明确重要源代码的保护措施。企业内部源代码有优先级,明确哪些核心代码需要保护。明确源代码重要性分级后,可以对重要源代码进行加密,打造核心数据管理平台。目前,对源代码进行加密有两种方式:一种是物理“源代码加密”,另一种是基于软件的源代码加密。物理“源代码加密”是指切断外部网络、封堵U口或锁住机箱,让开发者处于封闭状态。这种方法可以达到效果,但缺点是如果U口被堵住,会对员工的工作和使用造成很大的影响,大大降低工作效率。基于软件的源代码加密是指通过软件对源代码进行保护。目前市场上最流行的源代码加密软件机制是在不对硬件进行任何修改的情况下,对开发者的运行环境进行加密的软件。开发者的源代码只能存放在公司内部,没有加密空间。如果要取出证件,需要办理审批手续。2、细化权限控制,限制员工权限虽然公司已经采取了很好的源代码加密措施,但仍然无法杜绝内部员工带来的安全风险。比如大疆前员工因泄露源代码被判刑就是一个案例。对于外部威胁,确实可以用技术来防御。但对于内部“人”的因素,一方面需要限制员工的访问权限或虚拟化访问,另一方面需要提高员工的安全意识和产权意识。从安全技术角度对数据进行管理,如数据加密、数据防泄露、数据溯源、访问控制等,同时进行去中心化管理,数据分类加密存储。不同级别的员工有不同的访问权限。普通员工无法访问核心数据,最大限度降低核心数据泄露风险。员工录用时,应签订保密协议和竞业禁止协议。这包括公司目前拥有、正在开发或正在构思的包括源代码在内的所有产品技术开发信息,员工不得私自泄露。强化员工的保密意识和相关法律意识,明确权责,让员工明白一旦发生泄密需要承担的法律责任。或者通过企业文化教育,让员工了解源代码数据对公司发展的重要性,同时提高安全防护意识。3、做好监控和安全审计工作企业应配合管理制度、保密协议、审计日志等,确保有据可查、有据可依。目前,大部分客户对软件产品的安全考虑,基本都集中在开发后期,在测试阶段引入。常用的软件风险评估、漏洞扫描、渗透测试等都是在软件开发完成后进行的。通常这个阶段预留的时间很少,不仅修复难度高,修复测试成本极高,而且存在大量的漏洞误报和误报。当通过事后测试发现问题时,通过人工代码审查来寻找漏洞的代码位置往往效率低下,准确性低,无法定位到具体的问题代码行。因此,企业应从开发初期就进行安全介入,做好安全审计,快速准确定位有问题的代码行,实时管理漏洞,在源代码层面进行安全防护,防止问题的产生。由于不正确的配置和软件编程中的错误。源代码泄露。
