![]()
数字入侵者利用人工智能辅助,在不到10分钟的时间内就攻破了AWS云环境,从初始访问权限升级到管理员权限。
Sysdig威胁研究团队表示,他们在11月28日观察到了这次入侵事件,该事件不仅因其速度而引人注目,还因为有"多个指标"表明犯罪分子使用了大语言模型来自动化攻击的大部分阶段,包括侦察、权限提升、横向移动、恶意代码编写以及LLMjacking(利用受损的云账户访问云托管的大语言模型)。
Sysdig威胁研究主管Michael Clark和研究员Alessandro Brucato在关于此次云入侵的博客文章中表示:"威胁行为者在不到10分钟内获得了管理员权限,攻陷了19个不同的AWS主体,并滥用了Bedrock模型和GPU计算资源。大语言模型生成的带有塞尔维亚语注释的代码、虚构的AWS账户ID以及不存在的GitHub仓库引用,都指向了AI辅助的攻击行动。"
初始访问和凭证盗取
攻击者最初通过从公共Amazon S3存储桶中窃取有效的测试凭证来获得访问权限。这些凭证属于一个身份和访问管理(IAM)用户,该用户在AWS Lambda上拥有多项读写权限,在AWS Bedrock上拥有受限权限。此外,S3存储桶还包含用于AI模型的检索增强生成(RAG)数据,这在后续攻击中发挥了重要作用。
为了防止此类凭证盗取,不要在公共存储桶中留下访问密钥。Sysdig建议为IAM角色使用临时凭证,对于坚持向IAM用户授予长期凭证的组织,请确保定期轮换这些凭证。
权限提升和Lambda代码注入
在尝试使用"sysadmin"和"netadmin"等通常与管理员级权限相关的用户名失败后,攻击者最终通过Lambda函数代码注入实现了权限提升,滥用了受损用户的UpdateFunctionCode和UpdateFunctionConfiguration权限。
他们三次替换了名为EC2-init的现有Lambda函数的代码,不断迭代攻击目标用户。第一次尝试针对adminGH,尽管名称如此,但该用户缺乏管理员权限。随后的尝试最终成功攻陷了管理员用户frick。
安全研究人员注意到,代码中的注释是用塞尔维亚语编写的(可能表明入侵者的来源),代码本身列出了所有IAM用户及其访问密钥,为frick创建了访问密钥,并列出了S3存储桶及其内容。
AI生成代码的特征
此外,据安全研究人员称,攻击者的代码包含"全面的"异常处理,包括限制S3存储桶列表的逻辑,并将Lambda执行超时从3秒增加到30秒。
这些因素,结合从凭证盗取到Lambda执行的短时间,"强烈表明"该代码是由大语言模型编写的。
接下来,恶意行为者开始收集账户ID,并尝试在所有AWS环境中承担OrganizationAccountAccessRole。有趣的是,他们包含了不属于受害组织的账户ID:两个具有升序和降序数字的ID(123456789012和210987654321),以及一个似乎属于合法外部账户的ID。
Clark和Brucato写道:"这种行为与通常归因于AI幻觉的模式一致,为LLM辅助活动提供了进一步的潜在证据。"
总共,攻击者获得了对19个AWS身份的访问权限,包括跨14个会话的6个不同IAM角色,以及5个其他IAM用户。然后,利用他们创建的新管理员用户账户,犯罪分子窃取了大量敏感数据:来自Secrets Manager的秘密、来自EC2系统管理器的SSM参数、CloudWatch日志、Lambda函数源代码、来自S3存储桶的内部数据以及CloudTrail事件。
LLMjacking攻击阶段
然后他们转向攻击的LLMjacking部分,以获得对受害者云托管大语言模型的访问权限。为此,他们滥用用户的Amazon Bedrock访问权限来调用多个模型,包括Claude、DeepSeek、Llama、Amazon Nova Premier、Amazon Titan图像生成器和Cohere Embed。
Sysdig指出,"调用账户中无人使用的Bedrock模型是一个危险信号",企业可以创建服务控制策略(SCP)来只允许调用某些模型。
在Bedrock之后,入侵者专注于EC2,查询适合深度学习应用的机器镜像。他们还开始使用受害者的S3存储桶进行存储,其中存储的一个脚本看起来是为机器学习训练设计的,但它使用了一个不存在的GitHub仓库,这表明大语言模型在生成代码时产生了幻觉。
虽然研究人员表示他们无法确定攻击者的目标(可能是模型训练或转售计算访问权限),但他们注意到该脚本在8888端口上启动了一个公开可访问的JupyterLab服务器,为实例提供了不需要AWS凭证的后门。
然而,出于未知原因,他们在5分钟后终止了实例。
防护建议
这是攻击者越来越依赖AI在攻击链的几乎每个阶段帮助他们的最新例子,一些安全主管警告说,犯罪分子完全自动化大规模攻击只是时间问题。
组织可以采取一些措施来防御类似的入侵,大多数涉及加强身份安全和访问管理。首先:对所有IAM用户和角色应用最小权限原则。
Sysdig还建议限制Lambda中的UpdateFunctionConfiguration和PassRole权限,将UpdateFunctionCode权限限制为特定函数,并仅将其分配给需要代码部署能力来完成工作的身份。
此外,确保包含敏感数据(包括RAG数据和AI模型工件)的S3存储桶不能公开访问。
为Amazon Bedrock启用模型调用日志记录以检测未授权使用也是一个好主意。
Q&A
Q1:什么是LLMjacking攻击?
A:LLMjacking是指攻击者利用受损的云账户来访问云托管的大语言模型。在这次AWS攻击事件中,犯罪分子滥用受害者的Amazon Bedrock访问权限,调用了多个AI模型包括Claude、DeepSeek、Llama等,用于恶意目的。
Q2:这次AWS攻击为什么能在10分钟内获得管理员权限?
A:攻击者使用AI辅助快速自动化了攻击过程。他们通过窃取公共S3存储桶中的有效凭证获得初始访问,然后利用Lambda函数代码注入技术进行权限提升,最终攻陷了管理员用户账户。
Q3:企业如何防御这种AI辅助的云攻击?
A:主要防护措施包括:不在公共存储桶中存放访问密钥,对所有IAM用户和角色应用最小权限原则,限制Lambda函数的更新权限,确保敏感数据的S3存储桶不可公开访问,为Amazon Bedrock启用模型调用日志记录等。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.