AK泄露检测

云安全中心通过实时检测GitHub平台公开源代码中存在的阿里云账号或RAM用户的访问密钥AccessKey(以下简称:AK)信息,可识别出AK是否泄露,并提供相应的告警,建议您及时查看并处理外泄的AK事件。本文介绍AK泄露检测的原理及如何处理泄露事件。

功能原理

云安全中心AK泄露检测功能支持实时检测GitHub平台公开源代码(多为企业员工私自上传并不小心公开)中是否含有AK信息,在发现AK泄露时向您发送通知,帮助您及时发现数据外泄的风险。

重要
  • 目前云安全中心仅支持检测Github平台中的AK泄露,不支持其他平台。

  • 企业员工如果将不可公开的公司源码上传至GitHub等平台,可能会导致阿里云账号的AK信息在外网环境泄露,AK泄露可能会让您失去该账号下所有资源的控制权。

只有AccessKey ID和AccessKey Secret(以下简称SK)同时泄露时,该访问密钥才可以被第三方利用。云安全中心在检测到阿里云账号或RAM用户的AK信息泄露时,会根据SK是否有效,采用不同的方式向对应的阿里云账号发送通知,支持的通知方式如下:

  • AK泄露检测页面告警:只要检测到AK泄露,无论SK是否有效,都会提供告警。

  • 语音通知:只有在检测到泄露的SK信息有效时,会根据您设置的接收人实时发送语音通知。

  • 控制台弹框提示:在检测到泄露的SK信息有效时,您访问阿里云控制台首页或多数云产品控制台时会弹框提示。

  • 根据通知设置发送告警通知:只有检测到泄露的SK信息有效时,才会根据您设置的通知方式(站内信、邮件或短信)发送通知。

image

设置AK泄露告警通知

云安全中心支持对AK泄露情报提供告警通知,通知的方式包括短信、语音、邮件、站内信。

云安全中心默认开启AK泄露告警通知。您也可以根据需要,在云安全中心控制台通知设置页面短信/邮件/站内信页签中,自定义AccessKey 泄露情报通知方式。设置后,您只能通过已选中的方式收到通知。具体操作,请参见通知设置

重要

由于AK泄露风险安全风险高,为了能及时接收到通知,建议您选中所有通知方式

默认情况下,仅账号联系人会收到通知。需要其他联系人收到通知时,您可以参考下述步骤添加联系人。

  • 短信、邮件、站内信:

    基本接收管理页面安全消息 > 云盾安全信息通知区域,修改消息接收人。

    image

    说明

    修改此处的消息接收人后,会对云安全中心其他通知项同时生效。同时也会对DDoS和Web应用防火墙等产品的消息通知项生效。

  • 语音:

    语音接收管理页面账号安全告警区域,修改消息接收人。

    image

处理AK泄露事件

收到AK泄露告警通知后,表示您阿里云账号或RAM用户的AK和SK信息已外泄。请第一时间处理AK泄露事件。处理完成后,请在云安全中心控制台对该AK告警事件进行处理。具体操作如下:

  1. 登录云安全中心控制台。在控制台左上角,选择需防护资产所在的区域:中国全球(不含中国)

  2. 在左侧导航栏,选择风险治理 > AK泄露检测

  3. AK泄露检测页面,查看并处理AK泄露事件。

    • 查看AccessKey泄露检测详情

      您可以在AK泄露检测列表中,选择一个检测记录,单击其操作列的详情,查看详细的情报信息。单击文件详情区域的用户名、文件名、仓库名等链接,可以跳转GitHub对应页面,查看AK信息泄露的源头。

    • 处理检测出的AK泄露事件

      云安全中心不支持自动处理或一键处理AK泄露事件,您需要手动处理完AK泄露事件后,再前往云安全中心控制台标注AK泄露处理状态。手动处理AK泄露事件的方法如下:

      1. 联系相关人员删除或隐藏GitHub相关内容。

      2. 确保核心业务不受影响的前提下,即不再需要使用该AccessKey通过API访问阿里云资源时,删除或禁用已泄露的AccessKey,启用新的AccessKey。具体操作,请参见删除RAM用户的AccessKey禁用RAM用户的AccessKey

      手动处理完AK泄露事件后,您需要在AK泄露检测列表中定位到具体事件,单击其操作列的处理,选择AK事件处理方式,并单击立即处理

      处理方式包含我已手动删除我已手动禁用 AK加白名单三种。

      说明

      您针对该AK泄露已处理了所有的AK泄露来源、并手动确认处理方式后,该AK泄露事件的状态会变为已处理。

      如果选择加入白名单处理,该检测项处理状态变为已加白名单,并进入已处理列表。

      需要恢复检测时,您可从已处理列表进入AK泄露详情页,进行取消白名单操作。

查看AK调用记录

通过查看AK调用记录,可以确定在AK泄露后AK是否被攻击者利用过,以了解AK泄露的影响范围。下文介绍通过操作审计服务按照时间线查看AK调用事件的操作步骤。

说明

如何需要从AK访问的云产品角度查看调用记录,您可以使用操作审计的AccessKey审计功能。具体操作,请参见查询AccessKey日志

  1. 云安全中心控制台AK泄露检测页面,获取需要查看的AccessKey ID。

    image.png

  2. 登录操作审计控制台

  3. 在左侧导航栏,选择事件 > 事件查询

  4. 在顶部导航栏选择您想查询事件的地域。

  5. 选择类型为AccessKey ID,输入待查询的AccessKey ID,并选择查询时间段。

    image.png

  6. 查看该AccessKey ID的调用事件列表,单击目标事件操作列的查看事件详情,可查看事件的详细记录信息。

    关于管控事件参数的更多信息,请参见管控事件结构定义

持续关注AK异常调用

及时处理了AK泄露事件后,建议您持续关注AK调用异常,防止类似事件的发生,以及在泄露发生时快速响应,缩小事件影响范围。下述内容提供了三种不同的方式,您可以根据实际需要选择。

从攻击视角监测AK异常调用

云安全中心根据多年沉淀的安全攻防经验和大模型,可以检测常见的AK调用异常,例如调用AK的IP地址在近期发起过攻击行为、该IP在云上批量调用多个用户的AK、调用的API较为敏感且该AK出现过泄露等。下文介绍在云安全中心控制台查看AK异常调用告警的具体操作。

  1. 登录云安全中心控制台。在控制台左上角,选择需防护资产所在的区域:中国全球(不含中国)

  2. 在左侧导航栏,选择检测响应 > 安全告警处理

  3. 将告警类型选择为云产品威胁检测,查看是否存在AK异常调用告警。

    如果存在AK异常调用告警,您需要查看告警详情,及时确认该AK调用是否为正常行为。

  4. (可选)配置安全告警通知。

    您可以在云安全中心控制台系统配置>通知设置页面,配置安全告警的通知方式,以便能及时收到AK调用异常告警。免费版仅支持配置站内信通知方式。具体操作,请参见通知设置

监测阿里云账号调用AK等异常

操作审计服务提供了内置告警,可监控阿里云账号调用AK及AK异常调用。您可以在操作审计控制台启用内置告警AK使用的异常频率告警Root账号AK使用检测,以便能在出现AK异常调用时收到通知。具体操作,请参见启用并设置事件告警

基于历史行为检测AK异常调用

操作审计服务提供的审计事件洞察(Insights事件)功能,可以基于历史行为分析调用率异常的AK,及时发现异常行为。开通并查看Insights事件的具体操作,请参见通过操作审计控制台查询Insights事件

使用建议

  • 不使用阿里云账号(主账号)AccessKey。更多信息,请参见不使用主账号AccessKey

  • 避免直接将AccessKey信息硬编码到代码中,可通过配置环境变量的方法管理AccessKey。更多信息,请参见凭据的安全使用方案

  • 使用私有的Github代码仓库来管理代码,或搭建企业内部的代码托管系统,防止源代码和敏感信息泄露。

相关文档