攻击检测的前沿科学:用于检测RDP入站暴力破解的概率时间序列模型
2020-03-09 10:25:00 Author: www.4hou.com(查看原文) 阅读量:233 收藏

公开了Windows远程桌面协议(RDP)的计算机对于攻击者来说是天然的攻击目标,因为它们提供了一种简单有效的方法来访问网络。暴力破解RDP是一种通过端口3389提供远程访问的安全网络通信协议,它不需要高水平的专业知识或使用漏洞的技术;攻击者可以利用许多现成的工具在网络上扫描潜在的受害者,并利用类似的工具进行暴力攻击。

攻击者将目标设定为使用弱密码且没有多因素身份验证,虚拟专用网络(VPN)和其他安全保护的RDP服务器。通过RDP暴力攻击,攻击者可以访问目标设备并进行许多后续活动,例如勒索软件和货币挖掘作业。

在暴力破解中,攻击者试图通过有效使用一种或多种试错法来登录帐户。这些攻击通常与在非常短的时间频率(通常是几分钟甚至几秒钟)内发生的许多失败登录有关。暴力攻击还可能尝试使用从凭据盗窃获得的有效用户名或使用常见用户名(例如“管理员”)访问一个或多个帐户,密码组合也是如此。在检测RDP暴力攻击时,研究人员将重点放在源IP地址和用户名上,因为密码数据不可用。

在Windows操作系统中,每当本地计算机尝试登录失败时,Windows事件跟踪(ETW)将事件ID 4625注册为关联的用户名。同时,可以访问连接到RDP的源IP地址;这些信息在评估设备是否受到暴力破解时非常有用。将此信息与事件ID 4624结合起来用于非服务器Windows设备,可以帮助了解成功创建了哪些登录会话,并进一步帮助检测本地设备是否受到了危害。

在此文中,研究人员将介绍使用这些信号的研究和检测逻辑。这种由数据科学驱动的检测RDP暴力攻击的方法已被证明对于通过Microsoft Threat Experts(Microsoft Defender Advanced Threat Protection中的托管攻击搜寻服务)检测人类攻击者活动非常有价值,这项工作是数据科学家与攻击搜寻者之间密切合作如何保护客户免受现实攻击的努力结果。

深入了解暴力攻击

出现大量的与RDP网络连接相关的事件ID 4625,但这不一定意味着计算机受到攻击。例如,执行以下操作的脚本在登录失败的时间序列中看起来可疑,但很可能不是恶意的:

1.使用过期的密码;

2.每N分钟使用不同的用户名重试登录尝试;

3.在企业拥有的范围内的公共IP地址上;

不过包含以下内容的行为则表明存在攻击:

1.许多未知用户名的失败登录;

2.以前从未成功验证过;

3.来自多个RDP连接;

4.来自新的源IP地址

理解失败的登录和入站连接的上下文是区分真攻击(TP)和误报(FP)的关键,特别是如果目标是自动向适当的接收者发出高精度警报,就像研究人员在Microsoft Defender ATP中所做的那样。

为此研究人员分析了几个月的数据,以深入了解Microsoft Defender ATP客户之间发生的RDP暴力攻击类型。在同时具有RDP公共IP连接和至少1个网络失败登录的大约45,000台计算机中,研究人员发现平均每天有数百台计算机很可能经历一次或多次RDP暴力攻击尝试。在检测到强力攻击的计算机子群体中,攻击平均持续2-3天,大约90%的案例持续1周或更短时间,不到5%的案例持续2周或更长时间。

1.png

每台计算机上发生1次或更多次暴力攻击的分布

可以看出,大量失败的登录通常与暴力攻击有关。从每天登录失败的次数来看,有90%的案例超过10次尝试,中位数大于60次。此外,这些不寻常的每日计数与较短时间窗口中的极端计数具有高度正相关(请参见图2)。实际上,每天极端登录失败的次数通常在2小时内发生,而大约40%的登录失败在30分钟内发生。

2.png

在暴力破解下本地设备的每日和最大每小时网络失败登录次数

虽然基于每日或更细粒度时间窗口期间的失败登录计数阈值的检测逻辑可以检测许多暴力破解,但这可能会产生太多的误报。更糟糕的是,仅仅依靠这一个判断会产生误报。所以对于这种暴力攻击,对跨时间的失败登录累积次数进行阈值设置可能更有助于判断。

3.png

累积的失败次数

查看网络登录失败的次数可以很好地了解RDP暴力攻击,可以使用有关失败登录的其他信息来进一步增强此信息。一个特别强的信号是入站RDP连接的源IP,可以在https://www.abuseipdb.com/等网站上查询到,了解外部IP是否具有很高的滥用声誉,可以直接确认IP是否是活跃的暴力攻击的一部分。

不幸的是,并非所有IP地址都有被滥用的历史。此外,按需检索有关许多外部IP地址的信息可能会很昂贵。维护可疑IP列表是一种选择,但是依赖于此列表可能会导致误报,因为不可避免地,新IP不断出现,尤其是在采用云计算和简化虚拟机的情况下。可以增加失败登录和用户信息的通用信号正在计数来自外部IP地址的不同RDP连接。同样,在给定时间出现或随着时间累积的极端值可能表示攻击。

图4显示了直方图(即对于一个已知暴力破解的示例企业,每台设备每天发生的RDP公共连接数。很明显,与被攻击的设备相比,普通设备被攻击的可能性更低。

4.png

一个示例企业中跨设备的RDP入站日计数的直方图

鉴于某些企业每天都会有遭受暴力攻击的计算机,因此优先考虑的重点可能是已受到攻击的计算机,这些计算机是由可疑源IP地址或异常用户名失败尝试后首次成功登录所定义的。在Windows日志中,事件ID 4624可以与失败的登录(事件ID 4625)相结合,用于度量本地设备的成功登录事件。

在研究人员的分析中检测到的数百台具有RDP暴力攻击的计算机中,研究人员发现约有0.08%的计算机受到了攻击。此外,在经过几个月分析的所有企业中,平均每3-4天检测到大约1台计算机,极有可能由于RDP暴力攻击而受到攻击。图5显示了与成功攻击计算机的RDP暴力破解相关的外部IP平均滥用分数的气泡图。气泡的大小取决于所分析企业中具有来自每个IP的网络连接的不同设备的数量,尽管源IP的来源存在多样性,但荷兰,俄罗斯和英国的高滥用IP的入站RDP连接集中度更高。

5.png

成功的暴力尝试并不罕见,至少要监视可疑连接和异常登录失败,这些登录失败会导致验证登录事件,这一点至关重要。在以下各节中,研究人员描述了执行此操作的方法。 Microsoft Threat Experts利用此方法来增强攻击搜寻功能,并产生了新的针对性攻击通知。

结合许多相关信号才能给出最准确的攻击分析

简单地依靠每台设备的阈值失败尝试来检测暴力破解可能是不准确的,并可能导致许多误报。更好的策略是利用许多上下文相关的信号,例如:

1.登录失败的时间、类型和数量;

2.历史上出现的用户名;

3.网络连接的类型和频率

4.来自新的计算机的首次成功登录后的用户名;

这甚至可以进一步扩展到包括与暴力破解相关的攻击指标,例如端口扫描。

在检测每台设备的RDP入站暴力破解时,研究人员考虑了以下信号:

1.登录和RDP连接失败的时间和天数;

2.失败尝试后成功登录的时间

3.事件ID 4625登录类型;

4.事件ID 4625失败的原因;

5.一个用户名未能成功登录的累积计数;

6.登录失败的次数;

7.RDP入站外部IP的数量;

8具有一个或多个相同IP的RDP入站连接的其他计算机的数量;

9. 无监督概率时间序列异常检测

对于许多网络安全问题,包括检测暴力攻击,通常不会提供以前标记的数据。因此,训练监督学习模型是不可行的。在这种情况下,无监督学习会有所帮助,当示例太少的时候,可以发现和量化未知的行为。考虑到研究人员为建模RDP暴力破解所考虑的几个信号本质上依赖于随时间观察到的值(例如,失败登录的每日计数和入站连接的计数),时间序列模型尤其有用。具体来说,时间序列异常检测自然提供了一个逻辑框架,用于在建模数据的时间变化时量化不确定性,并生成概率,然后可以对这些概率进行排序和阈值化,以避免误报。

时间序列异常检测可捕获信号的时间动态,并准确量化在正常操作条件下任何时间点观察值的可能性。更正式地讲,如果研究人员引入符号Y(t)来表示在时间t处具有信号值的信号,则研究人员将建立一个模型,以在给定所有已知和相关信息的情况下计算出Y(t)超过观测值的概率的可靠估计,由P [y(t)]表示,有时也称为异常分数。对于给定的误报容限率r(例如,.1%或每次万分之一),对于每个时间t,满足P[y*(t)] < r的值y*(t)将被检测为异常。假设选择了反映攻击类型相关行为的正确信号,那么这个想法很简单:每次发生的最低异常分数很可能与实际威胁的最高可能性相关。

如前所述,将异常检测应用于1个或几个信号以检测实际攻击会产生过多的误报。为了减轻这种情况,研究人员将选择的8个信号的异常得分组合起来,以对RDP暴力攻击模式进行建模。研究人员解决方案的详细信息包含在附录中,但总而言之,研究人员的方法包括:

1.对每个信号依次更新统计离散时间序列模型,捕捉每天、每周的时间,以及点效应和累积效应;

2.使用产生准确概率估计值的方法来组合异常分数;

3.每天对前N个异常进行排名,以控制所需的误报数量;

4.研究人员的时间序列异常检测方法在计算上是有效的,可以自动学习如何更新概率并适应数据变化。

这种方法已经成功地实现了高精度的攻击检测,通过Microsoft Threat Experts保护客户免受实字RDP暴力攻击

Microsoft Threat Experts部署并使用了建议的时间序列异常检测模型,以在攻击搜寻活动中检测RDP暴力攻击。每天都会更新并检查一个列表,该列表对企业中具有最低异常得分的设备进行排名。有关示例,请参见表1。

6.png

检测到的RDP入站暴力破解的样本排名

对于检测到可能暴力破解的每台设备,每个实例都被分配TP,FP或unknown。然后,根据攻击的严重程度为每个TP分配优先级。对于高优先级的TP,有针对性的攻击通知会发送到关联的组织,其中包含有关主动暴力破解的详细信息以及缓解攻击的建议;否则,将密切监视设备,直到获得更多信息。

研究人员还为异常检测增加了一项额外功能:在许多情况下,在攻击成功之前或在行动者能够进行进一步的恶意活动之前,自动发送有关RDP暴力破解的定向攻击通知。查看大约两周分级检测的最新样本,每天的平均准确度(即真实报告情况)约为93.7%。

总之,基于研究人员精心选择的发现与RDP暴力攻击高度相关的信号,研究人员证明了正确应用时间序列异常检测可以非常准确地识别实际攻击。研究人员已经为该概率时间序列模型提交了专利申请,用于检测RDP入站暴力破解。此外,研究人员正在努力将此功能集成到Microsoft Defender ATP的端点和检测响应功能中,以便检测逻辑可以实时发出有关RDP暴力攻击的警报。

监控在失败的登录和网络连接中的可疑活动,实时异常检测功能能够随着网络动态变化而进行自我更新,确实可以提供可持续的解决方案。尽管Microsoft Defender ATP已将许多异常检测功能集成到其EDR功能中,从而在更广泛的Microsoft Threat Protection中丰富高级攻击防护,但研究人员将继续增强这些检测功能,以涵盖更多的安全方案。研究人员将使用数据科学,继续将强大的统计和设备学习方法与攻击专业知识和情报相结合。

本文翻译自:https://www.microsoft.com/security/blog/2019/12/18/data-science-for-cybersecurity-a-probabilistic-time-series-model-for-detecting-rdp-inbound-brute-force-attacks/如若转载,请注明原文地址


文章来源: https://www.4hou.com/posts/kO1v
如有侵权请联系:admin#unsafe.sh