检测针对 Databricks 的凭据驱动攻击

检测针对 Databricks 的凭据驱动攻击

💡 原文英文,约1800词,阅读约需7分钟。
📝

内容提要

本文介绍Databricks凭据被盗攻击:攻击者利用窃取的令牌或会话登录后,行为会偏离身份常态。文章将攻击分为登录、侦察、窃取凭据、执行代码、持久化、数据收集与清理六个阶段,并说明如何通过详细审计日志和Genie检测异常。响应需清除原始凭据及攻击者创建的所有访问路径;预防措施包括基于上下文的入口控制和最小权限。

🔎

延伸解读

凭据攻击的非线性特征

文章强调,攻击者使用有效凭据登录后,行为会偏离身份常态,且攻击阶段很少按直线推进。他们可能先用一个凭据侦察环境,再获取另一个凭据以新身份返回,从而绕过针对原身份的检测。因此,调查时不能只盯着最初被盗的凭据,而要追踪所有关联身份和事件序列,将看似孤立的行为串联成一次入侵。

检测依赖审计日志与行为基线

所有检测都基于Databricks的详细审计日志(system.access.audit)。登录本身往往正常,异常体现在登录后的活动,如短时间内跨服务列出密钥范围、目录和仓库,或由服务主体执行其从未做过的操作。文章提醒,空结果不代表没有事件,可能因时间窗口或日志未开启;且日志通常不记录变更前后的值,需结合上下文判断。

响应需清除所有访问路径

由于攻击是非线性的,发现的第一条访问路径往往不是唯一。仅撤销最初被盗的令牌可能不够,攻击者创建的服务主体凭据、管理员组成员身份、函数和作业等持久化路径仍会保留。完整响应应移除原始凭据及攻击者创建的所有访问路径,包括授权、令牌、函数和作业,即使相关用户已被禁用。

预防重在上下文入口与最小权限

文章指出,预防控制能限制被盗凭据的破坏范围。基于上下文的入口控制评估请求者、来源和用途,而非依赖单一网络边界,可将特权服务主体限制为仅接受来自可信网络的API请求。同时,最小权限原则能缩小凭据被盗后的影响面,使攻击者即使获得有效凭据也难以深入。

❓

Q&A

攻击者用窃取的凭据登录Databricks后,为什么行为会暴露?

因为攻击者缺乏对环境的深入上下文,其行为会偏离该身份的正常模式。例如,一个数据工程师的令牌被盗后,从新IP地址列出秘密范围、目录和仓库,而这些操作该工程师从未做过。这种异常行为变化是检测的关键。

Databricks凭据驱动攻击分为哪几个阶段?

分为六个阶段:登录、侦察、窃取凭据、执行代码、持久化、数据收集与清理。攻击者很少线性移动,可能在不同阶段间跳跃。

在侦察阶段,攻击者通常会做什么?在审计日志中应关注哪些事件?

攻击者会快速列出可访问的数据、秘密、代码和网络控制,以规划深入路径。审计日志中应关注如secrets.listScopes、listSecrets、unityCatalog.listMetastores、repos.listRepos等事件,尤其是短时间内跨多个服务的列表操作。

攻击者如何利用窃取的凭据实现持久化?

常见持久化方法包括:添加访问授权、创建新令牌、修改组和工作区成员身份、编辑控制平面设置。例如,服务主体将自己加入管理员组,即使原始凭据被撤销,访问仍保留。

确认Databricks工作区被凭据攻击后,响应步骤应包括哪些?

响应需清除原始凭据及攻击者创建的所有访问路径,包括授权、令牌、函数和作业。具体步骤:撤销被盗凭据;移除攻击者添加的组员身份;删除创建的令牌、函数和作业;审查并撤销异常授权。

如何预防Databricks凭据被盗后的攻击?

关键预防措施包括:基于上下文的入口控制(评估请求者、来源和目的,限制令牌在所有者常用上下文中使用)和最小权限原则(减少凭据的爆炸半径)。此外,启用详细审计日志并监控异常行为。

🏷️

标签

➡️

继续阅读