防止您的云“秘密”公开曝光:IDE 插件解决方案
我相信您会同意,在当今的数字世界中,我们开发的大多数应用程序都需要某种类型的凭据——使用用户名/密码连接到数据库,通过授权令牌或 API 密钥访问计算机程序以调用服务进行身份验证。
凭据(有时简称为“机密”)是用户或系统级机密信息的一部分,应该受到谨慎保护并且只有合法用户才能访问。我们都知道保护这些资产的安全以防止账户滥用和违规是多么重要。
在应用程序安全方面,开发人员可能犯的最严重错误之一是不小心在 Internet 上公开提交机密信息。令人惊讶的是,机密和凭据意外泄露的频率比您预期的要高,并且有一些智能工具可以扫描公共存储库以搜索已提交的机密。
为了让开发人员能够控制自己的代码完整性,SonarSource的免费开源 IDE 扩展 SonarLint 最近为其软件宣布了一项新功能,旨在帮助开发人员识别和防止 AWS 用户或系统泄漏 -在提交到存储库并从用户的本地源代码或文件中泄露之前的级别身份验证凭据。
作为代码开发和交付过程的一部分,可能会反复连接到基于云的数据库,或者您可能需要凭据才能访问第三方公司的 API。
在该过程中,您有可能临时硬编码凭据以方便使用,或者同事可能为快速本地测试添加了机密信息,然后不小心将这些文件提交到公共存储库。而且……那些暂时的变化现在是永久性的……哎呀!即使事后删除代码,仍有可能有人在清理之前复制了您的秘密。
您知道的下一件事是,有人破坏了账户,或者更糟糕的是,这个小小的安全漏洞为某人提供了一个更大的基础设施漏洞的小中转点。
这种类型的违规行为比您可能意识到的更常见,而且可能带来灾难性的后果。在过去的一年里,知名网络安全组织东方联盟研究人员强调了恶意用户窃取了嵌入在公共源代码存储库(如 GitHub 和 BitBucket)中的 API 密钥的事件。StackOverflow、Uber和最近的Shopify是备受瞩目的安全事件的例子,其中散布在公开可见文件中的秘密造成了严重破坏。
在您的开发工作流程中检测和解决这些问题的最佳位置是在它的最开始,即在您的 IDE,集成开发环境中。有很多大公司从惨痛的教训中吸取了教训。
在 IDE 中检测 AWS 秘密的高级规则
随着最近添加了用于检测云机密的新规则,SonarLint 可以保护 AWS 身份验证凭证和 Amazon Marketplace Web Service (MWS) 凭证免于公开泄露。查看保护 MWS 身份验证令牌、AWS 访问密钥、密钥 ID 和会话令牌的规则。
SonarLint 作为您的第一道防线,保护您的凭据免于公开泄露。通过在引入点标记问题(即,将问题检测进一步向左移动),您可以立即采取行动并首先防止泄漏。
云秘密
这很重要,因为被盗用的账户不仅会产生个人或资源级别的后果,例如账户被黑客入侵的可能性,还会对客户的机密性产生不利影响。例如,受损的 MWS 令牌可用于非法访问包含客户信息(如信用卡号、电子邮件、送货地址和商家销售记录)的数据库。
在您的 IDE 中安装 SonarLint 后,这些“秘密”检测规则将使您能够在第一个入口点(即在源代码或与语言无关的文件(例如,xml、yaml、json)中)捕获此类凭据的存在他们承诺回购之前。
除了识别此类问题外,SonarLint 还能够就如何解决这些问题提供明确的指导。然后,您可以完全灵活地采取行动并解决被标记的代码;使您离交付安全代码又近了一步。
IDE 入门
此功能目前在流行的 IDE 中得到支持,例如 VS Code、IntelliJ IDEA、PyCharm、CLion、WebStorm、PHPStorm 和 Rider,还有 Visual Studio、Eclipse 等。
要开始保护您的代码库,您可以下载VS Code 的SonarLint或JetBrains IDE 的 SonarLint。或者,如果您已经在 IDE 中使用 SonarLint,则只需将插件更新到最新版本即可启用此功能。(欢迎转载分享)