AWS 安全信息泄露-----21天烧了27万
安全问题一直都是个老生常谈的话题,对于我们做IT的来说,是更为重视的。从使用开发工具的是否授权合规,到从事的工作内容是否合法。我们都应该认真的思考一下这些问题,毕竟我们要靠IT这门手艺吃饭。
2021年7月,对我来说差点成了我一生的梦魇挥之不去。我的个人的AWS账号的IAM User 子账号(以下就简称A账号)的安全信息泄露,导致从7月7号到7月30号烧掉了约4.3万美元,折合人民币27.8万。
2020年5月,我注册了AWS的个人账号用于学习,平时的话经常使用ECS,EC2,Lambda等服务做一些简单的测试Demo,所以我的重点就一直在学习AWS 技术,没有想着按照公司基本的信息安全防护,比如开启MFA,定期轮换 AWS 账户密码等策略。
对于AWS 的学习计划,我的博客中也可以体现出来,之前也分享过跨账号资源访问权限,以及使用Azure DevOps 部署AWS ECS Service 等文章。对于每月的学习,分享计划,我自己也自始自终尽量控制每月的服务花费。2020年开账号到年底几个月基本控制在每月20美元以内,2021年这几个月基本上每月不超过5美元。
事情的开端
21年的3月那会儿,刚好有同事为了和我一次测试 aws 服务,由于公司的 aws 账号申请流程繁琐且慢,所以我的自作主张的给同事开了 AWS IAM 账号在我个人的 AWS 账号做测试,完事后也完全疏忽删除这个A账号。此时的aws账单也正常。
21年的6月有发现这个子账号在登陆我的AWS,又自认为是同事只是误操作登陆,所以又疏忽没有删除这个账号。这两月的 aws 账单也是正常
噩梦的开始
每个月月底的时候,我都会下意识的看看aws 的账单,结果可怕的时候就发生了。7月29号下午,登陆到AWS 控制台查账单的时候,发现数额巨大的3.68万美元看的我瞬间整个人都不好了,“难道是我忘记关闭ECS了”,“难道是我开了RDS忘记删了“,在无数个自我找原因的同时,我急忙查看这巨额费用是怎么产生的。从7月7号 下午13点开始几乎所有的区域都分别开了2台规格为 ”p3.2xlarge“ 的EC2。
我慌了,赶紧删这些资源,脑子里面想到的第一件事情就是”我的账号被盗了“,停完这些服务已经29号下午4点40多了。此时我的心思完全不在工作上,急忙联系aws 技术支持说我的 ”access_key被黑客盗用“ 了,黑客开了好多EC2 服务,我自己没有及时检查,是否可以退还这笔费用。
那天也着急回去,并且想跟踪 aws 的技术支持回复的问题,想弄清到底出了什么问题,包括这笔快4万美元的费用怎么处理。这个时候我有个很大的疑问 ”Access_key“ 是怎么泄露的?
噩梦依旧持续
29号下午7点40左右到家,赶紧登陆到AWS 控制台,看到aws 的技术支持并没有回复我的这些问题。我就先联系aws 绑定的信用卡的客服中心,并说明情况,能否先冻结信用卡。(不是恶意逃费,而是折合人民币20多万对我个人来说不是一笔小数目,并且我一年都赚不到20多万),信用卡中心回复这个牵扯到境外的免密,让我先冻结信用卡,并继续联系 aws 沟通此情况。
29号晚上10点再次登陆 aws 控制台,并查看这笔巨额账单的时候,发现有莫名奇妙的在好多个区域创建了同规格的”p3.2xlarge“ 的EC2。我震惊了,不是都删了吗,怎么又出现了。于是又紧急删这些非法创建的资源,同时发现A账号有登陆的痕迹,于是赶紧打电话给 pm 情况,让她帮忙问问情况。同时我也删除了A账号的权限。并在 CloudTrail 中查看相关日志。
7月07 13:08,A账号登陆创建大量规格为 ”p3.2xlarge“ 的EC2
7月29 18:41,A账号登陆到AWS控制台
7月29 18:51,A账号通过某种方式又创建了大量规则为 ”p3.2xlarge“ 的EC2
7月29 22:26,紧急删除了A账号的权限
7月30 02:08,A账号再次登陆到AWS控制台
登陆痕迹
创建资源痕迹
出现这一系类问题,我急忙联系那位同事,并且得知他就自从3月和我一起测试完需要验证的服务后,就再也没有登陆过。且没有任何人知道A账号的登陆信息。挂完电话后,短暂通过110报警后,就奔赴当地的派出所现场沟通报案。对话内容就暂时不透露了。
从派出所回来,想着民警告知的先通知银行挂失,将绑定到 aws 上所有的银行卡/信用卡都解绑,先止损。在联系aws 调查此事。但问题在于账单金额每分钟都在上涨。因为短短的4个小时,账单金额增长了4000多美金,我不确定什么时候金额才能停下来?我有些不知道接下来我应该做点什么,即使我关闭了所有的服务,这个账单的费用依旧在增长..........
前路如何,不得而知
7月30号早上6点,经历了前一晚的初步判断调查,我把 aws cloudtrail 中的日志逐步进行筛选分析,得出并不是aws root 账号信息泄露,也不是 access_key 泄露。就是因为这系列看似正常的操作才导致悲剧的发生。A账号信息是怎么泄露的,一直是个谜。
7月30号7点左右的时候,我第三次给招商银行信用卡中心打电话再次确认,这笔暂时还没有扣款的巨额费用在我注销卡之后是否会扣款成功,听到他们那边很肯定的回复,我心里暂时松了一口气,我知道接下来我需要证明得是我不是恶意注销卡,不付款的。而是在警方,和银行的建议下先行注销,即使止损,同时发邮件这些信息告知 aws 的技术支持。
7月30号9点左右,项目pm先行我一步去了公司所在区域的分局报警,希望网警能介入调查此事..........
7月30号12点左右,回到家里后,看到aws 回复告知,他们很重视这次信息安全时间,会将我的账号冻结24小时,判断是否要进行下一步操作,同时审计部门也会介入进来核算账单。
.............
其实写道这里,我暂时写不下去了,因为后面就牵扯太多的个人,公司,aws 的太多信息。此时此刻,我自己有对安全不重视的自我匹配,也更多的是愤怒。登陆的安全信息不管是从公司泄露出去,还是其他方式被黑客攻击,都不是我想看到了。不管是内部人员干的,还是外部人员干的,我真的有些失望了。人心太可怕了。
言谈外传
对于这次的安全信息被盗用,我承认有我的问题,但在没有任何邮件通知的情况下,产生4.3 万美元的巨额账单,这正常吗?
我统计了历史账单,2020年5月到2020年12月,基本上每月都可以保证到不超20美元。2021年1月到2021年6月,基本上每月都不超4美元,我真的特别想反问一句aws,根据意识账单的消费情况,是否有风控监管部门?是否有很人性化的提醒?对我来说,这样的事情发生一次就够了。
这段经历确实给我造成了很严重的困扰,作为一个不合格的云开发人员,真的很失败。但这不会打乱我的整个学习。我想通过这件事告诉大家,信息安全问题真的不容无视,云信息安全真的更为重要。