我们使用机器学习技术将英文博客翻译为简体中文。您可以点击导航栏中的“中文(简体)”切换到英文版本。
超越计算:将漏洞检测移交给 Amazon Inspector 代码安全功能
自推出以来,Amazon Inspector 一直帮助客户自动管理他们在 Amazon Elastic Compute Cloud(Amazon EC2)上运行的工作负载、容器工作负载和 Amazon Lambda 函数的漏洞管理。今天,我们借助 Amazon Inspector 的最新功能:代码安全功能,在更主动的安全方面向前迈出了一步。通过使用这项强大的新功能,您可以主动查看代码的安全运行状况。通过与 GitHub 和 GitLab 等源代码管理器 (SCM) 的原生集成,Amazon Inspector 可帮助您识别应用程序源代码、依赖项和基础设施即代码 (IaC) 中的安全漏洞和错误配置并对其进行优先级排序。
即使你没有对代码进行任何更改,它所依赖的库中也可能存在漏洞,从而给你和你的用户带来风险。通过扫描存储库,您可以持续监控代码及其依赖关系的安全性。借助 Amazon Inspector,您可以在软件开发生命周期中定义一致的安全控制措施,这样您的安全和开发团队就可以有效地协作,同时降低风险和补救成本。
Amazon Inspector 代码安全功能概述
Amazon Inspector 现在提供三种额外的安全分析功能:静态应用安全测试 (SAST)、软件组合分析 (SCA) 和基础设施即代码 (IaC) 扫描。要使用这些功能,必须与 SCM 工具建立连接(如图 1 所示)。如果您使用 GitHub,则可以先从 GitHub Marketplace 安装和配置 Amazon Inspector 应用程序,该应用程序支持自动代码分析,并直接在拉取请求中提供安全发现。如果您使用自行管理的 GitLab,则使用具有必要权限的个人访问令牌实现起来非常简单。
图 1:Amazon Inspector 的代码安全登录页面
静态应用程序安全测试
静态应用程序安全测试 (SAST) 是分析源代码以识别不安全的模式或方法的过程,而无需编译或执行代码。Amazon Inspector SAST 扫描分析您的源代码,以识别潜在的安全漏洞,例如硬编码机密、跨站点脚本或跨多种编程语言(包括 JavaScript、Python、C#)的注入攻击。该服务还分析 Bash shell 脚本,将安全范围从应用程序代码扩展到包括部署和配置脚本。
软件组成分析
软件组合分析 (SCA) 可帮助您了解和管理与软件依赖关系相关的风险。每种编程语言都有自己的查找、导入和更新贡献库的方法。例如,适用于 Python 的 PyPI、适用于 NodeJS 的 NPM 和适用于 Rust 的 Cargo。有时会在通过特定语言的软件包发行版分发的库中发现漏洞,或者有时您使用的库依赖于另一个库,而该依赖项存在漏洞。Amazon Inspector 支持 Python、.net、PHP、JavaScript、Java、Ruby、Rust 和 Go 的主要环境。它会自动分析依赖关系以识别已知漏洞,并向您显示哪些代码受到影响。当检测到漏洞时,Amazon Inspector 会提供有关影响、可用修复和升级路径的详细信息,以帮助您快速修复问题。
基础设施即代码安全
就像应用程序是根据代码构建一样,云基础架构可以通过基于代码的方法进行部署和管理。Amazon Inspector 现在还会分析 IaC 模板(如图 2 所示),以识别潜在的安全配置错误,例如,在操作语句中使用 Amazon Identity and Access Management (IAM) 通配符或禁用 Glue 数据目录加密。通过这种方式,可以在执行代码和部署错误的基础架构之前修复已识别的风险。这项新功能可分析 Amazon CloudFormation、Terraform 和亚马逊云科技 CDK,帮助您在整个开发过程中维护安全基础设施定义。此功能有助于确保遵循安全优秀实践,并在部署基础架构之前发现潜在问题。
图 2:显示 SAST、IaC 和 SCA 扫描类型的 Amazon Inspector 扫描分析配置
有关 Amazon Inspector 代码安全功能支持的编程语言的最新列表,请参阅在线文档。
改善安全治理和可见性
Amazon Inspector 允许您选择在哪些存储库中运行哪些扫描类型(如图 3 所示)。您可以根据以下任一条件启动扫描:
- 按需:启动对选定存储库的即时扫描
- 基于更改:在推送到主分支、拉取请求或合并请求时启动扫描
- 预定:每周或每月启动扫描
图 3:扫描配置概述
Amazon Inspector 将代码安全发现集成到一个统一的控制面板中,您可以使用该控制面板使用可自定义的扫描配置在存储库中管理和执行扫描策略。作为与 SCM 平台集成工作流程的一部分,您可以设置可应用于现有或新存储库的默认扫描配置。或者,您也可以选择通过包含标签创建与特定现有存储库匹配的自定义扫描配置。
成功进行定期扫描或基于事件的扫描后,Amazon Inspector 会生成详细的检查结果,以查明存储库中的特定代码行,包括提交 ID 和检测漏洞的文件位置。Amazon Inspector 通过智能抑制规则为您的安全团队提供可自定义的筛选功能。通过使用这些选项,您可以定制安全视图以匹配组织的独特优先事项,准确显示对您的团队最重要的内容,同时保留调查结果数据以供报告和审计。通过原生 Amazon EventBridge 集成,这些详细的安全发现可以自动传送到现有安全工作流程,从而实现警报和响应功能。
代码修复建议
Amazon Inspector 通过直接在开发者工作的地方提供具体的代码修复建议来简化安全补救措施。与您的 SCM 的双向集成会自动在拉取请求 (PR) 和合并请求 (MR) 中以注释的形式提出修复建议,提醒开发人员注意需要解决的最重要的漏洞,而不会中断他们的工作流程。同时,安全团队受益于 Amazon Inspector 控制台中的整合控制面板,该控制面板汇总了范围内的存储库中定期或基于事件的扫描结果。每项发现都附带根据扫描类型量身定制的补救指南(如图 4 所示):针对 IAC 和 SAST 调查结果的具体代码建议,或针对 SCA 发现的推荐版本升级和依赖关系更新路径。
图 4:关于在 Amazon Inspector 控制面板中发现的代码修复建议
结论
从初始代码开发到生产部署,这些扩展的安全功能现在可以端到端地查看云应用程序的安全运行状况。安全团队可以使用 Amazon Inspector 中的统一控制面板来跟踪和管理存储库和应用程序组件中的漏洞,从而促进在整个软件生命周期中实现一致的安全控制。同时,开发团队可以在其源代码存储库中获得即时的、可操作的反馈,从而创造出无缝的安全体验,将安全与开发工作流程联系起来。这种方法旨在帮助您保持稳健的安全实践,同时保持较高的开发速度。
要开始使用 Amazon Inspector 的新功能,请访问 Amazon Inspector 控制台。有关定价详情和实施指南,请参阅文档。这些新功能现已在 10 个亚马逊云科技商业区域推出。
*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。