来自客户端地址的多个 Okta 用户身份验证事件

编辑

来自客户端地址的多个 Okta 用户身份验证事件

编辑

检测当多个用户从同一客户端地址报告的 Okta 用户身份验证事件超过某个阈值时。攻击者可能会尝试从同一设备发起凭据填充或密码喷洒攻击,通过使用已知的用户名和密码列表来非法访问用户帐户。

规则类型:esql

规则索引:无

严重性:低

风险评分: 21

运行频率:5 分钟

搜索索引起始时间:now-9m (日期数学格式,另请参阅 额外回溯时间)

每次执行的最大警报数: 100

参考:

标签:

  • 用例:身份和访问审计
  • 数据源:Okta
  • 策略:凭据访问

版本: 203

规则作者:

  • Elastic

规则许可证:Elastic License v2

调查指南

编辑

分类和分析

调查来自客户端地址的多个 Okta 用户身份验证事件

此规则检测当多个用户从同一客户端地址报告的 Okta 用户身份验证事件超过某个阈值时。攻击者可能会尝试从同一设备发起凭据填充攻击,通过使用已知的用户名和密码列表来非法访问用户帐户。请注意,Okta 不会记录身份验证尝试期间提供的无法识别的用户名,因此此规则可能无法检测到所有凭据填充尝试,或者可能表明存在定向攻击。

可能的调查步骤

由于这是一个 ES|QL 规则,因此可以使用 okta.actor.alternate_idokta.client.ip 值来透视与此活动相关的原始身份验证事件。- 通过检查 okta.actor.idokta.actor.typeokta.actor.alternate_idokta.actor.display_name 字段来确定参与此操作的用户。 - 通过分析 okta.client.ipokta.client.user_agent.raw_user_agentokta.client.zoneokta.client.deviceokta.client.id 字段来确定用于这些操作的设备客户端。 - 检查 okta.security_context.is_proxy 字段,以确定设备是否为代理。 - 如果设备是代理,则可能表明用户正在使用代理访问多个帐户以进行密码喷洒。 - 使用 okta.actor.alternate_id 值的列表,检查 event.outcome 结果以确定身份验证是否成功。 - 如果任何用户的身份验证成功,则透视到这些用户的 event.action 值可能会提供更多上下文。 - 确定 Okta 最终用户后,检查 okta.debug_context.debug_data.dt_hash 字段。 - 历史分析应表明此设备令牌哈希是否通常与用户关联。 - 检查 okta.event_type 字段,以确定发生的身份验证事件的类型。 - 如果事件类型是 user.authentication.sso,则用户可能出于安全或隐私原因合法地通过代理启动了会话。 - 如果事件类型是 user.authentication.password,则用户可能正在使用代理访问多个帐户以进行密码喷洒。 - 如果事件类型是 user.session.start,则源可能尝试通过 Okta 身份验证 API 建立会话。 - 检查 okta.outcome.result 字段,以确定身份验证是否成功。 - 通过检查参与此操作的参与者的先前操作来审查他们的过去活动。 - 评估此事件前后发生在 okta.event_type 字段中的操作,以帮助理解活动的完整上下文。 - 这可能有助于确定用户、Okta 和应用程序之间发生的身份验证和授权操作。

误报分析

  • 用户可能出于安全或隐私原因合法地通过代理启动了会话。
  • 用户可能会共享与工作或个人使用相关的端点,在其中使用单独的 Okta 帐户。
  • 从架构上讲,此共享端点可能会利用代理来实现安全或隐私目的。
  • 多个用户可能会使用共享系统(如信息亭和会议室计算机)。
  • 共享工作空间可能具有由多个用户使用的单个端点。

响应和补救

  • 检查参与此操作的用户的个人资料,以确定是否可能预期使用代理。
  • 如果用户是合法的,并且身份验证行为根据设备分析不是可疑的,则无需采取任何措施。
  • 如果用户是合法的,但身份验证行为可疑,请考虑重置所涉及用户的密码并启用多因素身份验证 (MFA)。
  • 如果已启用 MFA,请考虑为用户重置 MFA。
  • 如果任何用户不合法,请考虑停用该用户的帐户。
  • 对 Okta 策略进行审查,并确保其符合安全最佳实践。
  • 与内部 IT 团队核实,以确定所涉及的帐户是否最近应用户请求重置了 MFA。
  • 如果是,请与用户确认这是一个合法请求。
  • 如果是,并且这不是合法请求,请考虑暂时停用该用户的帐户。
  • 重置用户的密码并重置 MFA。
  • 如果这是误报,请考虑将 okta.debug_context.debug_data.dt_hash 字段添加到规则中的 exceptions 列表。
  • 这将阻止将来此设备的此事件触发该规则。
  • 或者,将 okta.client.ip 或 CIDR 范围添加到 exceptions 列表可以阻止将来此事件触发该规则。
  • 应谨慎执行此操作,因为它可能会阻止生成合法警报。

设置

编辑

需要 Okta Fleet 集成、Filebeat 模块或类似结构的数据才能与此规则兼容。

规则查询

编辑
FROM logs-okta*
| WHERE
    event.dataset == "okta.system"
    AND (event.action == "user.session.start" OR event.action RLIKE "user\\.authentication(.*)")
    AND okta.outcome.reason == "INVALID_CREDENTIALS"
| KEEP okta.client.ip, okta.actor.alternate_id, okta.actor.id, event.action, okta.outcome.reason
| STATS
    source_auth_count = COUNT_DISTINCT(okta.actor.id)
    BY okta.client.ip, okta.actor.alternate_id
| WHERE
    source_auth_count > 5
| SORT
    source_auth_count DESC

框架:MITRE ATT&CKTM