超越计算:利用Amazon Inspector代码安全能力实现漏洞检测左移
自推出以来,Amazon Inspector一直帮助客户自动化管理在Amazon Elastic Compute Cloud(Amazon EC2)、容器工作负载和AWS 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,使用具有必要权限的个人访问令牌即可轻松实现。
静态应用安全测试
静态应用安全测试(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所示),以识别潜在的安全错误配置,例如,在操作语句中使用AWS Identity and Access Management(IAM)通配符或禁用Glue Data Catalog加密。这样,可以在代码执行和错误基础设施部署之前修复已识别的风险。新功能分析AWS CloudFormation、Terraform和AWS CDK,帮助您在开发过程中维护安全的基础设施定义。此功能有助于确保遵循安全最佳实践,并在基础设施部署之前捕获潜在问题。
有关Amazon Inspector代码安全能力支持的最新编程语言列表,请参阅在线文档。
改进的安全治理和可见性
Amazon Inspector让您选择在哪些存储库上运行哪些扫描类型(如图3所示)。您可以根据以下任一方式启动扫描:
- 按需:立即启动所选存储库的扫描
- 基于变更:在推送到主分支时,或在拉取请求或合并请求时启动扫描
- 计划:每周或每月启动扫描
Amazon Inspector将代码安全发现集成到统一仪表板中,您可以使用可自定义的扫描配置来管理和强制执行跨存储库的扫描策略。作为与SCM平台集成工作流的一部分,您可以设置默认扫描配置,该配置可以应用于现有或新存储库。或者,您还可以选择创建自定义扫描配置,通过包含标签匹配特定的现有存储库。
在成功完成计划或基于事件的扫描后,Amazon Inspector生成详细的发现,精确定位存储库中的特定代码行,包括检测到漏洞的提交ID和文件位置。Amazon Inspector通过智能抑制规则为您的安全团队提供可自定义的过滤功能。通过使用这些选项,您可以定制安全视图以匹配组织的独特优先级,准确显示对团队最重要的内容,同时保留发现数据用于报告和审计。通过原生Amazon EventBridge集成,这些详细的安全发现可以自动路由到现有的安全工作流,实现警报和响应能力。
代码修复建议
Amazon Inspector通过直接在开发人员工作的地方提供特定的代码修复建议来简化安全修复。与您的SCM的双向集成自动在拉取请求(PR)和合并请求(MR)中作为评论建议修复关键和高严重性发现,提醒开发人员解决最重要的漏洞,而不会中断他们的工作流程。同时,安全团队受益于Amazon Inspector控制台中的统一仪表板,该仪表板聚合了范围内存储库的计划或基于事件扫描的发现。每个发现都带有基于扫描类型的定制修复指导(如图4所示):针对IAC和SAST发现的具体代码建议,或针对SCA发现的推荐版本升级和依赖项更新路径。
结论
这些扩展的安全能力现在提供从初始代码开发到生产部署的云应用程序安全状况的端到端可见性。安全团队可以使用Amazon Inspector中的统一仪表板来跟踪和管理跨存储库和应用程序组件的漏洞,促进整个软件生命周期中的一致安全控制。同时,开发团队在其源代码存储库中接收即时、可操作的反馈,创建无缝的安全体验,桥接安全和开发工作流。这种方法旨在帮助您保持强大的安全实践,同时保持高开发速度。
要开始使用Amazon Inspector的新功能,请访问Amazon Inspector控制台。有关定价详细信息和实施指导,请参阅文档。这些新功能现已在10个AWS商业区域可用。