云 API 密钥是构建腾讯云 API 请求的重要凭证。您的 API 密钥代表您的账号身份和所拥有的权限,使用腾讯云 API 可以操作您名下的所有腾讯云资源。
云 API 密钥包含 SecretId(AK) 和 SecretKey(SK),SecretId 作为用户标识,SecretKey(必须保密)为验证用户身份的密钥。
注意:
AK/SK 若泄露且被恶意利用,会给用户的云上资源与相关业务带来很大的安全隐患,进一步造成重大损失。
AK/SK 面临风险和安全治理必要性
1. 凭证泛滥,AK资产管理难
随着业务扩张各企业 AK 数量激增,90%企业存在 AK 超量超权限发放问题。尤其在多云多账号场景下 AK 分布较为分散,使得管理更加困难,各企业经常会出现“僵尸AK”或未清理的冗余 AK。
2. 权限滥用,横向移动防不住
主账号 AK 滥用、子账号过度授权,攻击可利用单一凭证完成:创建子账号 > 提权 > 接管云资源(如数据库、存储桶) > 执行恶意命令等,甚至登录云平台控制台扩大攻击面,造成大规模数据泄露或服务中断。
编程访问和 API 账号未分开申请和使用,也是权限不可控的一个重要原因。
3. 云 API 调用缺少监控,恶意调用未感知
缺少动态监控机制及 API 调用行为追踪机制,无法发现 AK/SK 代码泄露及异常操作(如列举资源、查看数据、敏感 API 调用)。凭证泄露后企业难以及时感知、快速定位,导致攻击者可以持续利用泄露凭证进行隐蔽操作。
典型案例
示例场景 | 攻击路径 | 总结反思 |
某科技公司被攻击者利用 AK 登录服务器删除备份进行勒索 | 攻击者通过拿到泄露的 AK 注册第三方某云管家,通过云服务器 CVM 自动化助手 TAT,对机器下发命令重置密码后,SSH 登录植入勒索病毒,删除所有镜像和备份并发送勒索信。 | 1. 云上发现多个客户注册某云管家,普遍是攻击者在使用来进行资源查看和 AK/SK 验证,建议关注云 API 异常监测中的外部多云厂商的调用。 2. 结合主机安全勒索病毒检测能力,对病毒进行隔离处置。 3. 尽量使用堡垒机等进行 SSH 的最小化管理,对异常登录进行告警。 4. 做好数据和应用的多地灾备,注意 AK 的权限收敛治理。 |
某公司被攻击者利用 AK 调用云服务获取源代码 | 攻击者通过外部 Web 漏洞入侵并找到明文密钥,通过境外 IP 请求 API 重置服务器的密钥,植入后门并进行内网扫描,访问客户 COS 获取源代码。 | 1. 关注云 API 异常监测中的 COS 相关告警,对 COS 权限进行收敛。 2. 借助云安全中心云边界分析进行暴露面收敛、主机安全进行漏洞防御。 3. 关注云 API 异常监测中的可疑 IP 调用高危接口、CVM 高危操作的告警。 |
某公司被攻击者利用泄露 AK 购买服务器挖矿 | 攻击者通过泄露的主账号 AK 新增用户,登录控制台并购买服务器挖矿,造成客户财产损失。 | 1. 主 AK 直接使用并且给了多个业务,溯源发现是硬编码在客户端被逆向导致泄露(硬编码在客户端时,请求源为客户的 IP,数量较大)。 2. 关注云 API 异常监测中的根密钥调用高危接口告警。 3. 关注子用户新增告警,关注 AK 的调用源 IP 过多的情况。 4. 关注主机安全/ DNS 威胁监测挖矿告警。 |
常见 AK 泄露方式
1. 代码仓库硬编码暴露风险
开发者将 SecretId/SecretKey 直接写入业务代码并上传至 GitHub 等开源平台,攻击者通过关键词(如"SecretKey"、"cos.ap-shanghai"等)搜索即可快速定位敏感凭据。
2. 客户端反编译导致的凭证提取
小程序/APP 开发者将SecretId/SecretKey硬编码在客户端,攻击者通过逆向工程(如反编译 APK、微信小程序源码)提取凭据,直接接管云资源。
3. 技术文档与样例代码泄露
技术文档、内部或公开分享材料中包含测试环境 SecretId/SecretKey,攻击者利用其访问生产资源。
4. 临时密钥滥用
开发者在客户端直接生成临时密钥,攻击者在有效期内劫持流量并利用其发起恶意请求。
5. 服务器内明文配置的 AK 被攻击者获取
攻击者通过漏洞入侵服务器、任意文件读取漏洞,通过环境变量、配置文件等,窃取到明文SecretId/SecretKey。
AK 安全实践教程
避免使用主账号 AK
请勿在代码中嵌入 AK
嵌入代码中的 AK 凭证容易被人忽视,经验丰富的开发者会将其写入数据库或者独立的文件中,使得其管理起来更方便。
开发者应将 AK 存储在独立加密配置文件或密钥管理系统中(如腾讯云 KMS 白盒密钥),而非直接写入业务代码,降低因代码仓库权限管理疏漏或客户端反编译导致的泄露风险。
定期更新 AK
建议您或 CAM 用户要定期轮换 AK。这样可以让身份凭证泄露情况下的影响时间受限。
删除不需要的权限/AK
删除用户不再需要的权限,尽量减少 AK 泄露后带来的安全风险。
删除长期不使用的 AK,减少 AK 的暴露面。
遵循最小权限原则申请账户
最小权限原则是一项标准的安全原则。即仅授予执行任务所需的最小权限,不要授予更多无关权限。例如,一个用户仅是某个 COS 桶的使用者时,不应授予其其他服务的访问权限(如 CAM 读写权限),也不应分配全部 COS 权限,只需授予该用户对特定存储桶的必要访问权限即可。
另外申请用户时,如果只需要 API,仅申请 API 权限用户即可,不要把控制台和 API 的用户混合。
事前 AK 请求情况梳理
在云安全中心 > 云 API 异常监测,实时做好 AK 的资产管理和备注。
AK 列表:梳理 AK 资产,了解我有多少把 AK,备注每把 AK 是什么业务在用。
调用源 IP:梳理调用源 IP,了解每个调用源 IP 属于哪个业务。
风险权限收敛:查看 AK 配置检查结果,梳理是否有不需要的高权限接口。
应急响应:当提前掌握好上面的情况后,出现 AK 泄露导致异常调用时,可以快速的完成 AK 替换。