企业方面
开源代码可能会带来的威胁
前段时间的 Apache Log4j2
开源包漏洞为所有人敲响了警钟。企业可以采取一些措施来降低此类风险,例如:代码审查,开源库的敏感信息扫描,构建安全团队进行攻击测试等。
自研代码
自研代码是企业私有的重要数字资产,要全面保障其安全,这里包含了 “代码泄露风险防范” 和 “代码编写风险防范”。
代码数据泄露风险防范
- 可以对相关的开源平台进行代码监测(如
GitHub
),当发现敏感信息的时候及时发送警报。 - 关键代码数据的权限控制,只保证有限的用户能够获取。
- 员工培训,有相应的制度来让员工提高警惕。
- 敏感行为监测。
代码编写安全,静态代码中的漏洞
缺陷管理成本,开发阶段/测试、发布阶段/交付之后 再进行修复,开发阶段就发现,成本是最低的。
- 代码审查要做好,这个阶段就可以去除大部门的代码漏洞。
- 漏洞的自动化扫描。
- 构建安全团队进行攻击测试(一般中小企业没有这个精力和财力)。
- 提前做好发现漏洞后的补救措施,做到损失最小化。
一个具体的企业防范场景
企业内部某服务需要对接短信发送平台(这里以阿里云为例),两种方案:
- 内部服务自行调用阿里云
OpenAPI
,开发人员就必须知道id
,secret
等信息(这里可以在代码中放加密后的数据,明文禁止),这就保不准会导致id
,secret
的数据泄露。 - 企业内部自己封装一个短信发送平台,其他的服务只需要调用这个短信服务做发送短信的功能(这里可以添加白名单进一步加强安全控制),这样就可以保证关键信息只在固定权限的人员中流通,减少发生事故的概率。
个人方面
- 得有代码安全的意识
- 平常的代码隔离要做好,企业代码和自己的测试代码一定要分离,不要误将企业代码上传至开放平台。
- 个人在编写代码的时候也要有风险规避思想,一些漏洞(弱加密函数,json注入,跨站请求伪造等)或是敏感数据明文(token,密码等)要提前考虑。
代码数据泄露就相当于是淘宝卖家的差评,如果不小心造成了代码数据泄露,轻则降低自己的名声(口碑不好了),重则倾家荡产都有可能(例如签了保密条款,泄露需要承担经济赔偿)。
所以对在企业中的个人来说,一定要将代码数据安全时刻牢记于心,需要谨慎再谨慎。
总结
代码安全防护,企业与个人就类似法律与道德,法律决定下限,道德决定上限。个人需要有足够的安全意识,尽量避免这类情况的发生。而企业则是最后的一道防火墙,尽量做到数据不泄露,泄露后的补救措施一定要完善。
这种问题一般不发生,真的遇到居心叵测的人,发生了泄露问题,一般都是大问题,随着企业的不断发展,代码数据安全问题一定要更加重视。
参考
https://blog.csdn.net/BYvonne/article/details/121902748
https://blog.csdn.net/yunqiinsight/article/details/125308228
https://zhuanlan.zhihu.com/p/517493031