老鼠流和大象流:如何检测和监控周期性流量

大多数人习惯于top X:top发送者,top接收者和top协议。因此,从本质上讲,他们正在寻找大象流。虽然这是一种很好的做法,但是老鼠流也非常有趣,因为它们通常会隐藏在噪音中。在网络安全中,噪声对攻击者而言非常好,因为他们经常试图将自己隐藏起来。这是为了逃避安全。许多恶意软件都以for循环的方式进行编程:执行a),执行b),执行c),然后无限循环返回a)。从本质上讲,这是一种定期活动,值得研究(请参阅与此主题类似的研究[1个],[2],[ 3 ],[ 4 ]),但是标准的top X分析工具无法检测到它,因此我们需要更复杂的工具。因此,我们在ntopng中实现了一项新功能,可以检测到此行为和许多其他事情。

为了启用此功能,您需要ntopng的最新版本(此功能仅在pro / enterprise版开发版本中存在,并将集成到下一个稳定版本中),并启用相应的首选项。

那么您需要重新启动ntopng并等待,直到它检测到某些周期性行为。

定期流量检测如何工作

如果流量在一段时间内以指定的频率有规律地重复,则认为该流量是周期性的。周期性不是在流量层面上计算的,因为临时端口会危及工作,而是在三元组上计算周期<L4协议,IP源,IP目标/ SNI>。特别是,SNI与检测云服务上的周期性非常相关,在云服务中,相同的SNI由不同的服务器IP地址提供服务。为了避免产生太多的噪声,多播和广播目标IP地址被忽略,因为在LAN中,有许多定期服务可能会使网络分析员感到困惑。ntopng计算三元组并根据流创建时间确定频率。有些流的频率可能是1分钟,而其他流的频率是1小时:ntopng将自动检测到它,而无需人们进行任何配置。很小的频率漂移是自动处理的,并由ntopng解决。

如果ntopng能够以稳定的频率观察到至少3次,那么一个三元组就会被标记为具有给定频率的周期性(即如果频率是1小时,你需要等待大约3小时后ntopng才会向你报告任何情况)。为了限制内存使用量,ntopng计入了最多一小时的周期,但是将来的版本可以提高此限制,该限制仅用于限制内存使用量,而不受算法限制。如果ntopng检测到周期性流量,则会在界面页面下的用户界面上报告此信息

如你所见,应用协议、端口和频率都有报告。

使用周期性来检测威胁

并不是您对周期性流量有更多了解,您可能会想知道这是否只是好奇心?看看下面的这两个图像。

让我们分析SSH流量以查看发生了什么。如您所见,ntopng已检测到我们非常可疑的周期性通信。如果您查看SSH端口(其中一些不是标准端口),则尤其如此。他们可以隐藏监控应用程序或其他某种讨厌的行为.

未知的周期性流量也会带来有趣的信息(你也可以做同样的工作,看看其他协议,例如IRC,经常被恶意软件使用)是非常可疑的。

我们希望您可以使用此新功能在网络上找到有趣的见解。我们计划通过警报对其进行扩展,这可以帮助网络分析师进行深入分析,而不必深入研究周期性数据,因为对于一个大型网络来说,这些数据可能相当庞大。

本文摘自Ntop,写于2020年8月4日