安全路透社
当前位置:安全路透社 > 网络转载 > 正文

大话蜜罐日志分析

*本文原创作者:Leon不会玩QEMU,属Freebuf原创奖励计划,未经许可禁止转载

0×00 前言

在部署蜜罐之后,会产生大量的日志,对于威胁情报而言,我们需要通过这些日志来提取其中的有用的数据,本文将会描述提取那些数据用来完成分析。

部署蜜罐之后会生成描述发生的事件的日志记录。能够收集到的安全事件将取决于我们部署的蜜罐的类型,比如部署SSH蜜罐你将会收集到一些服务器安全相关的日志。因此,我们应当在采集日志之前先要确定我们采集日志的类型以及采集日志的种类,再根据这个来确定蜜罐的设计和部署。如果要捕获的目标是基于与远控C&C服务器来完成交互的,我们就应该考虑使用客户端蜜罐,如果不是的话,就需要使用服务器蜜罐。 如果我们调查特定服务的协议以及事务数据的元信息,这时候我们应该去选择低交互蜜罐。如果我们需要取得的是内容、shellcode执行和操作系统的完整性,那么我们应该使用高交互蜜罐。总之需要在确定架构和部署模型之前明白使用场景。

因此,文章的概述将遵循所呈现的蜜罐分类,并且将另外分成问题陈述和相关联的度量。然而,本文仅描述数据分析中使用的度量,通常应用于基准蜜罐的性能度量未描述,读者需要明白这些数据的意义,就衡量一个系统中的CPU,RAM,HDD负载或可伸缩性数据一样。

一般来说,IDS只能被看作是补充分析工具。蜜罐可以带来比IDS提供的更多的信息,特别是如果使用基于静态签名的IDS。

0×01 攻击画像: 

一次完整的攻击画像应该包括:

动机: 描述攻击原因的动机

攻击深度和广度: 攻击的广度由受影响的机器的数量描述,深度是特定目标被分析的程度或攻击对系统的影响有多大。

攻击复杂度: 用来描述攻击执行的难度

隐蔽性: 衡量隐藏攻击证据的能力

攻击源 / 根本原因: 攻击者应该尽可能地识别出攻击的根源

脆弱性: 被攻击的系统中的脆弱和缺陷 

工具: 记录具有一定交互度的攻击工具

关于对蜜罐的攻击的讨论应该总是有这样的基础。动机通常只能猜测,但是对高交互蜜罐的动作可能会揭示一些见解。广度和深度可以从攻击频率、攻击传播和高相互作用蜜罐通过感染的程度推断出。低交互蜜罐的隐藏由非侵入性、持续性攻击和高交互蜜罐被安装的后门、捕获的数据包的质量描述。攻击源通常可以通过事务元信息来确定,但是所发现的攻击的根本原因可能更难以识别,因为它试图解释实际观察。脆弱性通常通过利用检测技术来识别。这些特性现在将在后面讨论。

0×02 攻击源:

如果攻击发生在蜜罐上,必须指定攻击来自哪里。攻击者的识别独立于蜜罐的架构或交互类型,并且可以用不同的粒度来完成。

IP地址或者IP前缀

AS号码 

域名、URL、URL类型 

国家

UID、Email 

User-Agent 

操作系统

然而,在服务器蜜罐的情况下,必须考虑他们可能已经接收到欺骗的IP地址。这可能是一个有效的IP地址与可达或不可达的主机,或者它是一个不应该离开本地段的非民用的IP地址,比如广播地址0.0.0.0。客户端蜜罐通常使用网址列表生成,并抓取新网址。这些URL背后的资源可能是离线的。此外,我们必须承认,这种标识符是非常可变的。IP地址可以从一台主机移动到另一台主机,因为ISP使用IP地址池来为机器分配IP地址。这就是为什么一些分析将IP地址与时间戳组合在一起并将攻击源定义为一天内针对蜜罐环境的IP地址的原因。来自自治系统的IP前缀公告随时间改变或可能被劫持。域名系统固有地允许从IP地址和/或主机的抽象,这可能导致误导结果。客户端蜜罐(例如Monkey-Spider)还基于URL和页面内容(例如成人内容,盗版,错字等)执行某种类型的URL分类。该国家可以从AS注册信息中提取,或者一些(商业)第三方产品已经用于检索数据。然而,趋势表明,通常排名前3个国家产生了60%的网络流量,哪些国家被观察到取决于蜜罐节点的地理位置。用于识别即时消息传递网络中的垃圾邮件发送者的另一种方式是通过用户名或通告的URL进行识别。垃圾邮件发送者倾向于创建大量的帐户,这些帐户分发许多不同的URL,然而它们只引导/重定向到一小部分网站。有一种很小的关联存在与垃圾邮件和垃圾邮件发件人之间,基于支持SIP / VoIP协议的蜜罐的研究也使用User-Agent的名称作为攻击源的指纹。该信息可由具有这种协议标签的任何协议使用,然而必须记住,这样的信息可以被省略并且容易地欺骗。为了推断攻击源自哪一种操作系统,通常使用诸如p0f带的被动操作系统指纹识别工具通过分析分组的组成来识别攻击操作系统,因为每个操作系统略微不同地创建分组。几乎所有的攻击向量都是基于Windows的。

0×03 攻击目标:

如果指定谁攻击蜜罐,下一步可能是表征攻击,更准确地说,必须确定攻击的目标。服务器蜜罐通过特定服务对目标进行分类,该服务通常绑定到专用端口。端口序列由IANA管理,并可在官方列表中查看。但是,服务可能绑定到另一个端口。因此,区分端口和服务很重要,因为入侵者可能强制在另一个端口强制SSH服务,这可以在非22端口上创建和使用SSH服务来对服务器进行操作。大多数时候,服务被绑定到默认端口以提高可达性,这就是为什么许多人将端口视为服务的代表。如果蜜罐监控整个网络,则每个单独的IP地址可以被看作是目标标识符。这样的网络可以详细分类到校园网,企业内网,ISP网络中。

数据段关键字:IP地址、端口号、服务

客户端蜜罐使用软件客户端,访问潜在的恶意远程服务。因此目标通常是特定的客户端软件。它可能是一个模拟的Web浏览器,用于低交互蜜罐或一个真正的插件,如Flash的高交互蜜罐。

数据段关键字:客户端软件、插件软件

此外,高交互蜜罐(客户端和服务器)允许修改操作系统。因此,必须分析OS特定的更改,需要注意分析这些数据可能会因系统而不同。对于Linux系统,通常意味着加载一些隐藏的内核模块和新的crontab,而对于Windows系统,一般非法的更改会集中在注册表、系统文件和自动启动条目。因此,分析可能会检查哪个操作系统最好受到攻击。

数据段关键字:操作系统及其组件

0×04 攻击频率:

在部署蜜罐时必须回答的一个基本问题是,蜜罐是否受到攻击?有趣的是,蜜罐在被激活几分钟后就会被攻击。然而,如果蜜罐可以从互联网访问,如果防火墙阻止到防火墙的所有传入连接,并且只允许内部通信被允许,很少观察到攻击,因为它们将必须来自该特定网络中的被感染的主机,因为局部配置不当。    

数据段关键字:首次攻击持续时间

可以通过以下三个度量来区分蠕虫攻击、botnet攻击和配置失误 

(1) 时间源计数, 

(2) 窗口到达数量 

(3) 到达间隔分布. 

第一个是通过每个时间间隔的源的数量来分析并且显示出不同的模式。蠕虫攻击显示具有陡峭的开始和结束的后勤增长,因为它们非常快速和自主地传播并且通过补丁突然关闭。botnet显示类似的特性,然而botnet通常使用轮询和拉通信的模式和他们的C&C中控服务器使用每隔几秒的唤醒时间来进行链接,这么干会导致更陡峭的曲线。到达窗口检查在特定时间帧中有多少新源已到达。使用累积分布函数(CDF)图可以发现这些事件之间没有差异。为了评估源到达特性,数据以连续间隔被分解,每个间隔具有相等数量的源(例如,每个具有10%的新源的10个间隔)。然后绘制到达间隔时间的分布。僵尸攻击和蠕虫攻击表现出指数级的间谍。此外,源-网分散可能是有趣的。蠕虫攻击的爆发具有比僵尸网络和错误配置高得多的分散性。如果考虑IP地址,则可以对从每个A类地址聚合看到的源的计数来计算直方图,然而可以使用其他聚合。

数据段关键字:单位时间内攻击源数量、单位时间内新增加的攻击源数量 (CDF)、每个时间间隔内给攻击源分配的时间、特定IP段中的攻击源数量

组合攻击源和频率的另一个度量是将IP地址的数量作为每个地址的攻击次数的函数。该直方图遵循幂律分布。

数据段关键字:每次攻击的攻击源数量

正如我们已经澄清的术语攻击依赖于使用的蜜罐类型。服务器蜜罐将任何通信评估为恶意,因此低交互服务器蜜罐描述攻击频率必然基于网络属性    

数据段关键字:单位时间内接收到的数据包、单位时间内接收到的数据大小

测量显示,如果TCP是主要协议,则分组大小相对恒定,因此接收分组和每个时间单位的数据之间的比率是可预测的。攻击频率通常显示特定峰值,即时按摩垃圾邮件例如显示两个每日峰值和一个如果在每周的规模观察。此外,攻击频率的峰值通常可以链接到单个服务,蠕虫活动等,这在该特定时间点被大量利用。

数据段关键字:单位时间内收到的消息/Email、单位时间内接收到的URL/附件、每个消息的数据大小

对于高交互式服务器蜜罐,适用相同的指标,但是可以通过操作系统特定的指标进行扩展:

数据段关键字:单位时间内的EXP利用

由于蜜罐的客户端只负责统计攻击数量,所以应当独立于其交互级别和每时间单位的EXP数量,并且在它们主动开始通信时不考虑攻击频率的网络特征。这意味着,它是预配置在哪个速率的客户端蜜罐进行通信请求。所以只考虑利用。

使用的另一个过程是数据的会话化。在一个时间帧内从同一源接收的或不触发超时的所有分组应该属于同一攻击会话。 24小时帧或30分钟超时是常见的。此外,可以检查攻击发生与下一次攻击之间的时间。该度量的概率密度函数(PDF)遵循一个严格的幂律,并且可以通过帕雷托和指数分布的混合来建模。源的生命周期可以被描述为我们看到源在蜜罐上活动的完整时间,这意味着它是从源的第一次发生到持续活动的时间跨度,并且可以包括若干会话。僵尸网络和错误配置导致生命周期短,然而蠕虫证明是持久的,因为它们经常错过停止扫描的机制。如果定期观察到特定源(意味着它具有频繁的会话或一个长期进行的会话),则它是一个存活时间较长的源。

基于IDS分类来区分它们的会话:到触发IDS警报的蜜罐的所有业务数据被标记为已知的攻击会话,以shellcode的传输结束但不触发IDS警报的所有业务数据是未知的攻击会话。会话之间的时间也值得考虑,因为它显示活动会话之间的暂停。

数据段关键字:单位时间内的Session数量、Session的持续时间、两个Session的时间间隔、源生命周期、单位时间内已知或未知的攻击Session

它们使用端口的对数标度将目标端口绘制为时间的函数。日志规模是一个优势,因为大多数攻击发生在较小的公知端口。该曲线显示跨越离散级别的跳跃,表示用于SSH,SMB等的众所周知的端口的端口。类似于会话的符号是流。基本流基于基本IP流,并且由源和目的地IP地址,源和目的地端口,协议类型组成的5元组来描述。攻击频率还可以通过基本流的发生来描述:如果分组与任何关键字字段的另一个分组不同或者在超时之后到达,则认为它属于另一个流。因此,流是比会话更严格的要求。活动流是基于源IP地址的基本流的聚合,只有基本流之间的到达时间的超时。因此,它们类似于会话的定义。

数据段关键字:单位时间内的数据流数量、单位时间内活动的数据流的数量

0×05 攻击演进:

如果我们观察特定源,端口,国家等的某些时间模式,自动检测其异常行为可能是重要的,因为那些异常可能标记重要事件。这意味着,我们想学习,正常的行为是什么,并发现如果这个正常的行为改变。一种可能的方法是计算不同时间集合的比率,并且比较不同天数或平均比率的那些值。这个方法对于识别仅在特定时间尺度上可见的时间趋势是有用的。良好的时间粒度的选择取决于所研究的攻击现象的种类:对于短的高强度攻击,例如僵尸网络探测器或闪存蠕虫,应用较小的时间单位可能更有用,而对于具有更隐秘的传播的蠕虫方案应该使用更大的时间单位。

0×06 攻击传播:

除了以孤立的方式分析攻击活动之外,还应当尝试识别跨多个蜜罐的攻击的传播,如果部署大的蜜蜂。当在一个平台上观察到一个攻击IP地址,然后在另一个平台上观察时,就会发生传播。由于IP地址池,此检查是否会在特定时间范围内发生,以获得更精确的结果。已经早期分布的蜜罐分析表明,从不同的IP子网和不同的地理位置部署大量的蜜罐是有益的[40],因为它更可能发现攻击,本地事件可以表征为这样和传播可以描绘跨目标的攻击者。

传播可以通过传播图来建模,其中节点表示单个蜜罐,边(i; j)描述在节点i也在节点j处发现所看到的IP地址的概率。然而,如果不在同一子网中,节点往往显示低的传播值。

数据段关键字:传播图

类似的,还可以通过单维相关和二维相关的攻击的传播。

如果在至少两个传感器上观察到攻击起源,则单维相关聚集来自相同起点的攻击。通过两个可视化分析这种相关性。首先,创建具有用于所有蜜罐和观察到的攻击者的节点的有向图。有向边表示对蜜罐的攻击,这意味着多个边缘到不同的传感器标记攻击者在几个蜜罐上的存在。其次,计算在各种蜜罐上观察到的独特攻击者的比率。 

在两个以上的传感器的存在是非常不可能的攻击者。二维相关包括作为附加维度的时间,这意味着必须在特定时间帧内在至少两个传感器上观察到相互攻击。如已经讨论的,由于IP地址池,该时间帧应当低于一天。 国外的安全专家认为,互联网范围的扫描在过去几年中得到了显着的改进:像ZMap这样的工具能够在大约1小时内对每个主机用一个探测器对一个端口执行IPv4地址空间的完整扫描。因此,为了找到强关系,可以将时间框架设置为1小时甚至更低。最后,他们使用散点图,使用一小时的时隙,并绘制出存在于多个传感器上的唯一攻击者的数量,此外,颜色表示攻击者存在多少传感器。他们的观察表明,至少有一个独特的攻击者针对每个时隙多个传感器。

数据段关键字:攻击图、特殊攻击者与目标传感器数量的比率、与每个时隙的目标相关的唯一共同攻击者的数量

相位图还可以用于可视化连续目标,显示下一个目标作为特定量的攻击样本的最后目标的函数。顺序IP地址扫描将在此可视化中显示为直对角线。相图还可以可视化覆盖,这是特定源的探测的蜜网IP地址的数量。全覆盖可以被识别为水平线。

数据段关键字:连续攻击目标的相位图、特定源的相位图

对不同目标的攻击可以通过目标网络扫描占用空间可视化,该占用空间是计数所有攻击目标的攻击源数量的图表。显然,如果部署许多蜜罐或将整个子网重定向到蜜罐,这种可视化效果最好。错误配置往往显示热点,蠕虫攻击和botnet导致均匀分布的模式。此外,第一目的地的偏好可能是有趣的分析,因为这可能揭示在通过蠕虫和机器人扫描子网的一些顺序。

数据段关键字:目标网络扫描范围、第一目标参考(PDF)

0×07 攻击模式: 

许多数据挖掘任务的一般概念,如通用模式检测和聚类,涉及以下过程具有三个步骤:

1) 特征选择/提取,模式表示

2) 适合于数据域的模式接近度量的定义

3) 相似分组模式

第一步包括提取表征数据集的相关方面的某些特征,并用适当的装置(例如值的数组)表示它们。模式的分组或聚类通过诸如K均值算法的聚类算法来完成。不幸的是,模式检测的规则不能为所有数据类型提供直接的方法。不是每个算法都可以处理所有的簇形状或大小,并且运行时或输出质量可能在不同的数据维度和类型上严重不同。不同的聚类算法产生不同的数据分区,甚至相同的聚类算法依赖于其初始化和可配置参数。事实上,模式检测的真正技能是选择适当的聚类算法(和相似性度量),因为存在数百个聚类算法。这就是为什么我们在蜜罐攻击模式检测领域看到这么多不同的方法,也是任何其他聚类学科的原因。

网络流量聚类和异常检测的问题不是一个新的学科,已经被广泛研究。方法通常结合入侵检测系统,统计(例如移动平均模型,主成分分析)或数据挖掘和无监督机器学习(例如分层聚类,KNN聚类)来利用基于签名的方法。然而,在蜜罐业务分析领域只做了一些明确的研究。因此,我们专注于有效地部署和/或分析蜜罐和蜜罐流量的生成日子。 Pouget应用广泛的关联规则挖掘过程来找到观察到的事件之间有趣的关系和模式。利用关联规则的诱导,尝试找到经常一起发生的项目集合,即事件,端口号,IP地址等。它源于客户行为分析,其试图基于集合购买的项目集来推荐产品。这意味着关联规则R声明如果我们看到特定动作a和b,我们可以有信心,用百分比量化,也将观察到动作c:a∩b=> c。应用的度量是支持和置信度。支持是包含规则的所有项目和所有事务的事务数之间的比率。置信度是包括规则的所有项目和包含前提的事务的数量之间的比率。规则应具有最小支持阈值,以便只找到有意义的规则。

通过比较时间行为的相似性,我们会发现只有三种模式的攻击

1) 连续活动

2) 持续爆发

3) 短暂峰值

特别地,短暂的尖峰可以导致假相似性测量,因为字母表的符号由于标准化过程而相对地选择。这意味着仅具有几个尖峰和许多零或非常小的值的时间模式具有接近零的平均值。 SAX计算高相似度,因为所有这些值仅由一个符号表示。然而,相似性不是这样的。因此,全局和局部相似性度量是必要的。

国外研究员提出了一种在人眼上容易检测到的蜜罐上的攻击模式。它不是基于统计方法,而是呈现以直观的方式实时观察网络流量信息以用于监视或在回放模式中进行取证。它是动画散点图和平行坐标图的组合。左垂直线表示源IP地址,0.0.0.0在底部,255.255.255.255在顶部。右垂直线表示目的端口,端口0在底部,端口65535在顶部。彩色线连接那些垂直线,每个分组一行。 UDP数据包由蓝色链接可视化,TCP数据包由绿色链接可视化。每个包也触发两个条,其高度表示包大小。当包变老时,条从竖线移开。 可视化对于可视化入站和出站流量是有用的,并且能够突出流量比特率,常见攻击端口和来源或模式(如重复发生的蠕虫攻击)的差异。

使用主成分分析(PCA)来分离潜在的活动组,并从聚类组中查找异常值。 PCA是一种多元统计技术,用于将数据集的维数减少为几个线性不相关变量,称为主成分。

最新的蜜罐攻击分析的方法是使用无监督的机器学习方法并应用鲁棒的聚类技术。最终,此方法将基于集群自动创建签名。这种分析建立在一个通用的算法,应用于识别生产流量的异常,并改变为工作在服务器蜜罐流量。 研究员旨在通过分而治之方法子空间聚类(SSC)和聚类集合的概念来提高聚类算法的鲁棒性。

国外研究员已经证明了经典数据挖掘和监督分类方法在使用公认的k最近邻(KNN)算法,神经网络和决策树的蜜罐数据对数分析中的有效性。这种分析的目的是区分互联网噪声,如无意或已知的网络流量,异常和真实攻击。因此,他们的设置不仅包括标记为攻击的蜜罐流量,而且包括标记为正常的生产流量。两种流量类型都用于支持学习过程并对流量进行分类。 KNN使用简单的分类原则:对于未知类的数据的每个实例,计算与已知类的数据的距离,并且k个最近邻居通过多数投票决定为未知元素选择哪个类。人工神经网络是由称为神经元的单个处理单元组成的计算结构。存在不同形式的神经网络,然而众所周知的和常用的模型是多层感知器(MLP)。 MLP利用称为反向传播的监督学习技术来训练网络并且由有向图中的多层神经元组成。决策树是机器学习算法,其执行将原始数据集连续分割成连续更均匀的子组。决策树中的每个节点都类似于分区决策。因此,决策树越高,聚类的细节水平越高。对于可疑或正常的流量的最简单的分类,KNN算法太慢而不能产生合理的结果,神经网络表现良好并产生良好的结果,然而具有相当高的假阴性份额。决策树最好地执行并产生正确的结果,具有很少的假阳性和适度数量的假阴性。

Honeycomb是最着名的HoneyD插件之一,并使用最长的公共子串(LCS)算法扫描传入的流量以检测包Payload中的重复模式。此实现基于后缀树,后缀树用作各种字符串算法的构建块。使用后缀树,两个字符串的最长公共子串可以直接在线性时间中找到。例如,可以使用Ukkonen的算法来生成后缀树。Honeycomb执行协议分析,其通过网络和传输层报头信息(IP地址或端口)对流量进行排序。之后,LCS以两种不同的方式应用:垂直模式检测为两个连接将传入的消息分别连接到一个字符串,然后比较结果字符串。水平模式检测比较两个连接在对话中相同深度的两个消息,这意味着LCS被应用于第n个消息。

抽样是从统计群体中选择个体的子集以估计总体特征的过程。连接采样可以通过减少带宽和内存需求来极大地有益于分析,这最终提高了可扩展性。 有些研究已经表明,来自蜜罐数据的子集性质能够描述整体数据的趋势和模式,例如找到攻击者。通过两种方法减少数据集。第一种方法选择随机流和计数相关的数据包。第二种方法仅考虑观察网络的子网。

0×08 攻击根源识别: 

攻击根本原因可以被定义为可以被合理地识别为攻击起源的最基本的原因。根本原因可以与特定攻击工具或其变体或配置之一相关联。蜜罐数据分析的主要任务之一是将集群和已识别的模式分配给根本原因。然而,这不一定是一对一关系,因为难以保证所发现的集群仅由一个攻击工具引起,并且一个攻击工具不会引起两个集群,例如通过不同的攻击配置。最终,一个集群应始终在其形成中保持可解释。在可以将集群分配给攻击根本原因之前,必须验证集群的一致性,即如果我们发现良好(或者说是有意义的)集群。毫无疑问,不同的攻击可以在同一端口上创建相同数量的数据包,因此对事务数据的纯统计分析可能是不够的。确定相干性的一种可能方式是通过考虑分组数据内容。从一个攻击源发送的所有数据包的有效载荷可以转换为字符串并连接。这创建了攻击指纹,然后可以通过比较指纹与简单的字符串距离测量来检查集群一致性。

多态攻击是能够随着每个实例改变其外观的攻击。因此,多态性蠕虫对蜜罐模式检测,更具体地对根本原因识别提出了很大的挑战,因为蠕虫可能改变用于利用漏洞的攻击向量,或者攻击主体可能由于垃圾插入,加密,指令重排序等而改变。因此,基于子字符串和字符串的方法,如LCS,是不够的。存在不同的方法,然而它们的研究基于相互前提,即尽管多态性,蠕虫必须具有一些不变的子字符串。事实上,存在这样的常量,并且必须找到可用于分类的有意义的字符串。

国内的安全研究员提出了双蜜罐的设计作为蠕虫的对策。这个系统的新颖性是能够区分蠕虫活动和蜜罐上的非攻击行为,例如错误配置。这个系统由两个独立的蜜罐阵列组成,入站数组由高交互蜜罐组成,允许妥协,而出站数组由低交互蜜罐组成。如果受损的入站蜜罐尝试查找并感染其他受害者,则由蜜罐发起的所有传出流量将由网络转换器重定向到出站阵列。如果其中一个出站蜜罐可以看到网络流量,那么肯定会出现入站蜜罐的被攻陷。扩展这项工作,国外的安全研究员提出了双蜜罐系统来解决同时部署两个蜜罐的一些局限性。双蜜罐系统是仅由服务器高交互蜜罐组成的两个蜜罐的组合。

分配攻击根本原因的另一种方式是通过确定使用哪个攻击工具传达攻击。这可以通过分析端口序列或TCP初始序列号(ISN)来完成。

数据段关键字:TCP初始序列号、端口序列号

一些攻击工具总是使用相同的ISN或具有低熵的坏随机数生成器,这使得可以向特定攻击工具分配一些ISN。此外,蜜罐接收反向散射分组,其是对欺骗的SYN分组的SYN-ACK响应,因此拥有ISN + 1。同样,这些是典型的ISN,可以链接到特定的工具。

端口序列分析用来显示对蜜罐的频繁/重复攻击创建大量的数据,如果应用一般统计,这可能导致误导结果。然而,仔细观察端口序列可以揭示一些隐藏的现象。端口序列是没有重复的端口的按时间排序的序列,表示攻击源(Pouget的超时为1天的IP地址)向特定端口发送数据包的顺序,例如:攻击者发送TCP请求到端口135 ,再次在135,然后在端口4444创建一个从4444到135的TCP连接。可以为单个蜜罐或多个蜜罐上的监视器创建端口序列。 初步结果表明每个序列通常仅限于一个端口,并且表示为一组的端口序列几乎由该集合唯一地标识,然而由于一些罕见的情况,有序序列是最好的。 国外的专家观察到比唯一目标端口多两倍的端口序列。分布类似于其他度量,因为前8个序列已经表征了大约75%的攻击的活动。这些结果推动了进一步深入调查。

在缓冲区溢出期间,指令计数器(EIP)被覆盖一个新的返回地址,在该地址可以假定shell代码。此外,诸如Argos之类的蜜罐跟踪指令计数器(产生故障的EIP)的先前值,该值是在利用攻击控制之前的最后一个合法指令。评估显示,EIP和引发故障的EIP的值是漏洞利用工具和操作系统对的特征。然而,这种分析可能由于主动地址空间随机化算法的存在而产生较大的偏差。

数据段关键字:EIP和引发故障的EIP

使用不同的受损机器来执行计划的攻击的各个阶段。这意味着,单个攻击者会在蜜罐上的不同机器上导致不同的攻击模式。此外,在某些高交互蜜罐上也存在这种现象。有两组攻击机:第一组专门用于扫描主机和执行字典攻击。如果它们成功,通常一天后,第二组的机器出现。该组在IP地址方面与第一组没有交集,地理查找甚至揭示不同的国家。登录后,第二台计算机尝试运行自己的服务或获取root访问权限。有趣的是,比较低和高交互蜜罐数据集之间的攻击源表明,相互IP地址仅来自扫描组,第二个入侵组也不会出现在低交互蜜罐上。

一般来说,攻击根本原因识别需要一个良好的黑工具知识或最近参与安全页面和邮件页面,通常上报给CVE。这就是为什么可能真的很难分配蜜罐攻击集群到已知的攻击工具。此外,由于蠕虫的复杂性日益增加,因此有必要进行有效载荷分析(字节序列,shellcode命令等)而不是纯统计评估和仅仅检测利用。蜜罐仍然用于收集蠕虫,然而,蠕虫的签名生成演变成其自己广泛的研究领域,而是入侵检测系统的领域。

0×09 攻击风险评估

风险估计是在高交互蜜罐上完成的,因为它可以基于漏洞的严重性和漏洞的分析来评估。然而,也可以基于攻击的范围对低交互蜜罐进行风险估计,其可以通过描述通信量的三个特征来测量:攻击的分组数,攻击中交换的字节的数量和通信持续时间。

Risk = log(nPackets) + log(nBytes) + log(duration+1)

通过将风险值乘以攻击所在的子空间数量来扩展此风险估计,这表明攻击影响了多少网络特征。

Risk(subspace) = C  log(nPackets) + log(nBytes) + log(duration + 1)

SweetBait被设计成一个自动响应系统,防止随机IP扫描蠕虫使用低交互蜜罐和高交互蜜罐。蜜罐用于创建签名,然后发送到IDS / IPS传感器,以确定生产环境上的蠕虫的破坏性。

0×10 EXP检测

由于高交互蜜罐被积极利用,他们还考虑在他们的分析中利用的漏洞。检测利用和查找漏洞的两个主要过程是数据驱动技术或操作系统状态监视。前者通过动态污点分析来检测利用,这是基于来自互联网的所有数据都是潜在的恶意,因此被标记为污染的想法。监视污染数据的数据流。然后将蜜罐的利用规定为直接执行受污染的shellcode。动态污点分析非常准确和可靠地检测利用缓冲区溢出的攻击。后者检查操作系统的状态,并尝试在文件系统或进程管理中发现非法操作。如果对这个特定位置进行修改(有时甚至是读取操作),则不会出现这些修改文件的活动执行,但这通常是不容易被发现的。可以通过识别修改、比较哈希值或控制敏感调用的内核日志来比较文件与备份。

0×11 蜜罐数据分析展望

有趣的是,这个概述的一个发现是大多数研究者倾向于提出前三个提出的问题,其涉及攻击源,攻击目标和频率。此外,在确定来源或目标和描述频率方面存在共同的共识,因为许多指标和分析方法在整个出版物中重复使用。这种情况的背后的原因是直接(表观)信息被评估,并且在像简单查找扩展的国家映射的情况下。直接信息描述观察结果,并在通用操作期间记录在蜜罐日志中:通常蜜罐日志文件包含基于IP信息的攻击的源,目标和时间戳。重要的是要注意,尤其是对于IP,没有源和目标的IP地址的通信是不可能的,并且每个事件具有时间戳。因此,基于这些特征提出分析问题是直接和自然的。

然而,这种情况对于剩下的问题是不同的,因为他们试图导出信息。派生信息解释,评估或本地化观察的原因,其根本上比单纯的描述更复杂。由于分析更复杂,这种研究比简单的描述性分析出现得比较晚,方法之间存在较少的重叠。这对于模式检测尤其如此,这可以通过许多不同的相似性度量和聚类算法(如在子V-G中解释的)来完成。这种分析的进行正在成为一种跨学科的方法,因为为了得到信息,基本统计通常不再满足:复杂的蜜罐网络和来自其他领域的方法,如关联规则挖掘,神经网络,虚拟机中的内存污染名字几个,已经变得必要。一般来说,蜜罐研究和其他研究领域之间的联系在过去几年里加强了。

*本文原创作者:Leon不会玩QEMU,属Freebuf原创奖励计划,未经许可禁止转载

未经允许不得转载:安全路透社 » 大话蜜罐日志分析

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册