源代码凭据安全,您别忽视 !!!
一、事件回顾
2024年1月29日,RedHunt 实验室的研究员Lohit爆料:某世界顶级的豪华汽车品牌源代码面临泄露风险!人为错误致GitHub令牌事故引发重大安全担忧。
RedHunt Labs在一次互联网扫描时,发现该汽车品牌一名全职员工在他的GitHub存储库中泄露的GitHub令牌。GitHub令牌提供对内部GitHub Enterprise Server托管的整个源代码的“不受限制”和“不受监控”的访问。该事件暴露了包含大量知识产权的敏感存储库,泄露的信息包括数据库连接字符串、云访问密钥、蓝图、设计文档、SSO密码、API密钥和其他关键内部信息【1】。
Lohit认为:泄露的该汽车品牌Github Enterprise Server的GitHub令牌泄漏为潜在对手打开了访问和下载该组织的整个源代码的网关。深入研究此源代码可能会暴露高度敏感的凭据,从而为针对该汽车品牌极其严重的数据泄露创造温床。
无独有偶,2024年1月27日美国科技网站Ars Technica透露,黑客通过获取一个拥有管理员权限的老旧测试帐号的访问权限入侵了微软【2】。微软表示,俄罗斯政府支持的“午夜暴雪”(Midnight Blizzard)黑客组织使用密码喷射技术,利用弱密码凭据登录了一个“传统非生产测试租户帐号”,该帐号并未启用多因素身份验证。然后,他们以某种方式获得了高管以及安全和法务团队成员的电子邮件帐号的访问权限。微软介绍“午夜暴雪”是通过滥用OAuth授权协议,获得对特权电子邮件帐号的持久访问权限。
二、原因分析
不难看出,这两起安全事件基本都是源代码的凭据泄露。世界顶级的豪华汽车品牌GitHub令牌泄露,使得对GitHub托管的整个源代码的“不受限制”和“不受监控”的访问,通常都是Token硬编码导致。午夜暴雪入侵微软Office365,起因也是“利用弱密码凭据” 。
其实,源代码安全并不是一个新鲜的话题,一直以来都有。只是大家都是以攻防视角、以传统网络安全视角去审查源代码。基本思路:寻找漏洞,避免遭受网络攻击。如:扫描源代码是否存在安全漏洞、是否存在恶意代码、是否留有后门等,以网络安全的视角在对源代码进行“体检”。
源代码的凭据泄露或窃取,没有真正被有效解决,主要原因正如这次的汽车品牌事件和微软事件一样,没有人从数据安全的视角去审视源代码。源代码编写不规范,导致Password硬编码、Token硬编码、弱加密算法、高熵字符串等硬编码问题,比比皆是,但往往被忽视,并且许多安全厂商还没有相应的技术手段去解决。
三、亚信安全源代码风险解决方案
亚信安全数据安全团队很早就注意到这个问题的严重性,硬编码密码问题在企业代码仓库中日益严重,“黑客盗用 OAuth 令牌,导致个组织数据泄露”安全事件层出不穷。
01 硬编码危害
- 削弱系统安全性
大量的攻击者常通过公共代码库或反编译分析获得硬编码密码字符串,利用弱密码凭据的可读性,访问敏感数据或获取敏感操作权限。攻击者还可以进一步扩大攻击范围,进行数据勒索、帐户操纵、帐户创建、通过用户数据进行利用等,使得企业和用户都遭受严重损失。
- 不易于程序维护 ,修复较为困难
硬编码密码的修复较为困难,密码一旦被利用无法轻易被修正。对于正在线上运行的服务或系统,修复硬编码密码问题需要停服重新发布。大型企业的服务流量较大,服务间还存在依赖,则需要灰度发布,修复流程更长,其间可能持续受到攻击者威胁。密码的蔓延也使维护变得困难。
02 产品设计方案
亚信安全数据安全团队立足于对硬编码密码危险性的分析,基于DSOP平台,研发了源代码敏感信息主动扫描功能。通过对代码仓库的跟踪扫测,以扫描报告的形式,提醒程序开发人员,仓库代码工程的硬编码情况,包括硬编码位置、快照以及修改建议,为组织的源代码安全保驾护航。方案还提供代码编辑器扩展插件,实时跟踪检测开发人员在代码编辑过程中可能出现的代码数据安全风险,并在编码界面中直接给出提示与修改建议。
平台涵盖了源代码的Password硬编码、Token硬编码、弱加密算法、高熵字符串等四大类,26项硬编码风险检测识别能力。可及时提醒客户,加强代码规范建设,帮助客户提升代码安全。并根据问题闭环逻辑,针对每个问题进行复测,直至问题关闭。
03 主要功能介绍
- 源代码扫描任务
选取代码仓库的项目代码工程对象、扫描策略以及任务执行方式,实施源代码静态扫描。
- 源代码扫描结果
根据任务编排的扫描对象和扫描策略,按照报表规范,分类展示扫描结果,提供硬编码位置和处置建议,方便研发人员高效处置。
- 硬编码风险提示
在编码界面中直接给出提示与修改建议,极大方便程序员进行快速处置,避免风险问题难定位、传递衰减,根除不尽等问题发生。
- 源代码资产清单
源代码,作为企业重要的数据资产的一部分,进入组织的资产盘点序列,与数据库资产、文件资产、API资产一起,进行系统性分类展示。
04 方案总结
亚信安全数据安全之源代码凭据安全解决方案,围绕企业核心数据资产-源代码,以数据安全的视角,通过检测Password硬编码、Token硬编码、弱加密算法、高熵字符串以及其他硬编码问题,对源代码进行深度扫描。帮助企业识别源代码凭据泄露风险,填补组织的防护空缺,提升组织的数据安全防护能力。
参考文献
1.Lohit. https://redhuntlabs.com/blog/mercedes-benz-source-code-at-risk-github-token-mishap-sparks-major-security-concerns/. 2024.1.29
2.DAN GOODIN. https://arstechnica.com/security/2024/01/in-major-gaffe-hacked-microsoft-test-account-was-assigned-admin-privileges/. 2024.1.27