一种基于蜜罐和沙箱的物联网僵尸网络追踪方法及装置与流程

文档序号:25033394发布日期:2021-05-11 17:04阅读:140来源:国知局
一种基于蜜罐和沙箱的物联网僵尸网络追踪方法及装置与流程

本发明涉及信息安全技术领域,尤其涉及一种基于蜜罐和沙箱的物联网僵尸网络追踪方法及装置。



背景技术:

物联网(internetofthings,简称iot)是一个基于互联网、传统电信网等信息承载体,让所有能够被独立寻址的普通物理对象实现互联互通的网络。随着5g时代的到来,越来越多的设备会连接网络,物联网设备数量将迎来井喷式增长,物联网设备的网络安全问题成为一个亟待解决的重大问题。

当前,iot蜜罐的研究主要集中于捕获iot恶意样本;由于越来越多的iot恶意样本将漏洞利用到样本传播过程中,因此安全研究者也着手将模拟漏洞服务集成到iot蜜罐中,用于吸引骇客的攻击。据数据统计,目前针对iot设备可利用的rce型漏洞已达100多个,在可预见的未来,将会有越来越多的漏洞被披露.因此,仅靠模拟漏洞的方法是无法捕获到使用0-day进行攻击的高级iot恶意样本。

iot沙箱主要应用于动态运行所捕获到恶意iot恶意样本;当前,学术界的研究点主要在于如何将iot沙箱适配具有多种cpu架构的iot恶意样本,其中的一种解决方法是使用qemu虚拟化技术来模拟运行iot恶意样本所需要的硬件环境,然后在该沙箱中运行所对应架构的iot恶意样本,但该方法最大的缺点是消耗了较多的硬件资源,获得的收益相对较少;此外,这些iot沙箱并未重点关注iot恶意样本的网络行为。

现有针对p2p网络的主动扫描方法主要是通过向周围p2p节点发送查询infohash来展开;首先,安全研究者需要掌握待查询的infohash信息,然后通过使用getpeers通信操作,不停地向周围节点发送待查询的infohash,并等待周围节点返回相应的节点结果信息,若返回的节点信息没有infohash所对应的节点信息,则会继续对返回的节点使用getpeers通信操作,直到获取相应的节点信息;该方法存在如下几个问题:(1)仅考虑到了节点ip所对应的infohash值,但该方法并未考虑到节点的有效性,即节点可能已经不在线;(2)获取infohash存在难度,尤其是针对iotp2p型的恶意样本,攻击者一般不会提供相应的infohash;(3)该方法无法做到实时监控p2p僵尸网络的网络状况。



技术实现要素:

本发明的主要目的在于提出一种基于蜜罐和沙箱的物联网僵尸网络追踪方法及装置,旨在解决如何提高物联网设备管理的安全性,实现对物联网僵尸网络的准确追踪。

为实现上述目的,本发明提供的一种基于蜜罐和沙箱的物联网僵尸网络追踪方法,该方法主要步骤包括:

步骤1,iot蜜罐捕获iot僵尸网络发动的扫描漏洞攻击,同时捕获到相应的恶意样本,并将该恶意样本发送至iot沙箱。

步骤2,iot沙箱接收iot蜜罐捕获的恶意样本,动态运行所述恶意样本,并监视其网络行为,生成恶意流量数据,使用预先构建的iot恶意流量分类模型对恶意样本产生的所述恶意流量数据进行分类。

步骤3,根据恶意流量数据分类结果,对发现的p2p僵尸网络进行扫描,监控获取所述p2p僵尸网络的属性信息以及网络行为数据。

其中,所述步骤2具体包括:步骤2.1,收集和整理恶意样本,在可控沙箱中运行多种不同iot家族的恶意样本,以获取流量数据,并对所述流量数据进行标记;步骤2.2,提取所述流量数据的数据特征;步骤2.3,基于随机森林算法构建iot沙箱中的iot恶意流量分类模型;步骤2.4,利用dos攻击追踪算法,将dos攻击与其所对应的c&c指令进行关联;步骤2.5,对于在沙箱中动态运行的恶意流量样本,提取其对应的数据特征,输入iot恶意流量分类模型对流量类型进行识别。

其中,所述步骤3具体包括:创建被动扫描任务和主动扫描任务,其中,被动扫描任务用于收集mozi节点主动发来的扫描漏洞利用信息,被动扫描是基于蜜罐来实现的,它通过模拟mozi僵尸网络中常用到的漏洞来吸引mozi僵尸网络的攻击;主动扫描任务通过向众多mozi节点发送findnode信息,同时接收从其他节点传输过来的信息,并利用mozi标识检测算法来确定该p2p节点是否为mozi节点,若是mozi节点,则存储该节点的属性信息。

其中,步骤3还包括:从主动扫描的通信数据和关键节点所捕获到的流量数据中提取mozi标识数据,将该标识数据输入到mozi标识检测算法中,由检测算法输出检测结果。

其中,所述mozi标识检测算法具体为:接受到mozi关键四字节输入后,将每个字节均添加至数组中;循环遍历数组中的每一个byte数据,每一个byte数据将会执行8轮的异或运算;取得最终第8轮运算结果,将该结果与关键四字节的最后两个字节进行对比,查看是否一致;若一致,则该节点的即为mozi节点。

本发明提供的一种基于蜜罐和沙箱的物联网僵尸网络追踪装置,该装置主要包括:

iot蜜罐模块,用于捕获iot僵尸网络发动的扫描漏洞攻击,同时捕获到相应的恶意样本,并将该恶意样本发送至iot沙箱模块。

iot沙箱模块,用于接收iot蜜罐模块捕获的恶意样本,动态运行所述恶意样本,并监视其网络行为,生成恶意流量数据,使用预先构建的iot恶意流量分类模型对恶意样本产生的所述恶意流量数据进行分类。

p2p扫描模块,用于根据恶意流量数据分类结果,对发现的p2p僵尸网络进行扫描,监控获取并存储所述p2p僵尸网络的属性信息。

其中,所述iot沙箱模块具体包括:用于收集和整理恶意样本,在可控沙箱中运行多种不同iot家族的恶意样本,以获取流量数据,并对所述流量数据进行标记;提取所述流量数据的数据特征;基于随机森林算法构建iot沙箱中的iot恶意流量分类模型;利用dos攻击追踪算法,将dos攻击与其所对应的c&c指令进行关联;对于在沙箱中动态运行的恶意流量样本,提取其对应的数据特征,输入iot恶意流量分类模型对流量类型进行识别。

其中,所述p2p扫描模块具体包括:用于创建被动扫描任务和主动扫描任务,其中,被动扫描任务用于收集mozi节点主动发来的扫描漏洞利用信息,被动扫描是基于蜜罐来实现的,它通过模拟mozi僵尸网络中常用到的漏洞来吸引mozi僵尸网络的攻击;主动扫描任务通过向众多mozi节点发送findnode信息,同时接收从其他节点传输过来的信息,并利用mozi标识检测算法来确定该p2p节点是否为mozi节点,若是mozi节点,则存储该节点的属性信息。

其中,所述iot沙箱模块还包括:用于从主动扫描的通信数据和关键节点所捕获到的流量数据中提取mozi标识数据,将该标识数据输入到mozi标识检测算法中,由检测算法输出检测结果。

其中,所述mozi标识检测算法具体为:接受到mozi关键四字节输入后,将每个字节均添加至数组中;循环遍历数组中的每一个byte数据,每一个byte数据将会执行8轮的异或运算;取得最终第8轮运算结果,将该结果与关键四字节的最后两个字节进行对比,查看是否一致;若一致,则该节点的即为mozi节点。

本发明的有益效果包括:(1)提出一种基于iot设备漏洞利用的iot恶意样本捕获方法,通过实时收集与整理最新iot恶意样本所利用的iot漏洞,能对iot设备未知漏洞的利用进行更深一步的检测;(2)将机器学习技术应用到与iot恶意样本相关的恶意流量分类过程中,使得分类检测的效率和正确率得到较大的提升;(3)针对p2p型iot僵尸网络的主动探测方法,可模拟p2p型僵尸网络之间的通信,并尽可能还原整个p2p型僵尸网络的影响范围,提高僵尸网络的追踪效果。

附图说明

图1为本发明的方法流程图。

具体实施方式

本发明提供的本发明提供的基于蜜罐和沙箱的物联网僵尸网络追踪方法,主要步骤包括:

步骤1,iot蜜罐捕获iot僵尸网络发动的扫描漏洞攻击,同时捕获到相应的恶意样本,并将该恶意样本发送至iot沙箱;

步骤2,iot沙箱接收iot蜜罐捕获的恶意样本,动态运行所述恶意样本,并监视其网络行为,生成恶意流量数据,使用预先构建的iot恶意流量分类模型对恶意样本产生的所述恶意流量数据进行分类;

步骤3,根据恶意流量数据分类结果,对p2p僵尸网络进行扫描,监控获取所述p2p僵尸网络的属性信息以及网络行为数据。

其中,所述步骤2具体包括:步骤2.1,收集和整理恶意样本,在可控沙箱中运行多种不同iot家族,例如mirai/gafgyt/hajime/mozi等的恶意样本,以获取流量数据,并对所述流量数据进行标记;步骤2.2,提取所述流量数据的数据特征;步骤2.3,基于随机森林算法构建iot沙箱中的iot恶意流量分类模型;步骤2.4,利用dos攻击追踪算法,将dos攻击与其所对应的c&c指令进行关联;步骤2.5,对于在沙箱中动态运行的恶意流量样本,提取其对应的数据特征,输入iot恶意流量分类模型对流量类型进行识别。

特征提取时可以使用到一些专业工具,诸如argus,bro-ids等;同时,还需要根据需求进行相应的特征提取。

对于iot沙箱,本方案提出了一种基于机器学习的方法来识别分类iot恶意样本流量,主要将iot恶意流量划分成c&c,dos攻击,scan扫描以及其他类型的流量。如果发现c&c,dos攻击,scan扫描类型的流量,则启动对僵尸网络的追踪,创建被动扫描任务和主动扫描任务,对p2p僵尸网络进行扫描,监控获取所述p2p僵尸网络的属性信息,例如节点类型,节点ip、端口号等信息,并获取其网络行为数据,例如扫描信息、行为时间、指令信息等。

其中,所述步骤3具体包括:创建被动扫描任务和主动扫描任务,其中,被动扫描任务用于收集mozi节点主动发来的扫描漏洞利用信息,被动扫描是基于蜜罐来实现的,它通过模拟mozi僵尸网络中常用到的漏洞来吸引mozi僵尸网络的攻击,例如,利用netgear漏洞来进行mozi样本植入的payload。主动扫描任务通过向众多mozi节点发送findnode信息,同时接收从其他节点传输过来的信息,并利用mozi标识检测算法来确定该p2p节点是否为mozi节点,若是mozi节点,则存储该节点的属性信息。

其中,步骤3还包括:从主动扫描的通信数据和关键节点所捕获到的流量数据中提取mozi标识数据,将该标识数据输入到mozi标识检测算法中,由检测算法输出检测结果。

其中,所述mozi标识检测算法具体为:接受到mozi关键四字节输入后,将每个字节均添加至数组中;循环遍历数组中的每一个byte数据,每一个byte数据将会执行8轮的异或运算;取得最终第8轮运算结果,将该结果与关键四字节的最后两个字节进行对比,查看是否一致;若一致,则该节点的即为mozi节点。

整个mozi扫描框架分为被动扫描和主动扫描,被动扫描将会收集mozi节点主动发来的扫描漏洞利用信息,例如,mozi网络中的mozi2节点向蜜罐发送漏洞利用信息,该信息包括从mozi4节点中下载mozi样本并运行;而主动扫描则是向众多mozi节点发送findnode信息,同时接收从其他节点传输过来的信息,并利用mozi标识检测算法来确定该p2p节点是否为mozi节点。

基于mozi标识检测算法,我们设计了一套用于mozi节点扫描的主动扫描系统,该系统可模拟mozi节点的通信,并向周围节点不断发送find_node信息以获得相应的节点信息,然后通过识别所返回的节点信息来鉴别该数据是否来源于mozi僵尸网络节点.该系统工作流程如下所示:(1)扫描节点首先与服务器通信,读取相应待扫描的p2p节点信息,主要包括ip和端口信息;(2)如果接受并鉴别到相应的mozi节点发送过来的网络数据包,扫描节点将会存储相应的节点数据信息;(3)反回到第一步继续扫描。

本发明提供的一种基于蜜罐和沙箱的物联网僵尸网络追踪装置,该装置主要包括:

iot蜜罐模块,用于捕获iot僵尸网络发动的扫描漏洞攻击,同时捕获到相应的恶意样本,并将该恶意样本发送至iot沙箱模块;

iot沙箱模块,用于接收iot蜜罐模块捕获的恶意样本,动态运行所述恶意样本,并监视其网络行为,生成恶意流量数据,使用预先构建的iot恶意流量分类模型对恶意样本产生的所述恶意流量数据进行分类;

p2p扫描模块,用于根据恶意流量数据分类结果,对发现的p2p僵尸网络进行扫描,监控获取并存储所述p2p僵尸网络的属性信息。

其中,所述iot沙箱模块具体包括:用于收集和整理恶意样本,在可控沙箱中运行多种不同iot家族的恶意样本,以获取流量数据,并对所述流量数据进行标记;提取所述流量数据的数据特征;基于随机森林算法构建iot沙箱中的iot恶意流量分类模型;利用dos攻击追踪算法,将dos攻击与其所对应的c&c指令进行关联;对于在沙箱中动态运行的恶意流量样本,提取其对应的数据特征,输入iot恶意流量分类模型对流量类型进行识别。

其中,所述p2p扫描模块具体包括:用于创建被动扫描任务和主动扫描任务,其中,被动扫描任务用于收集mozi节点主动发来的扫描漏洞利用信息,被动扫描是基于蜜罐来实现的,它通过模拟mozi僵尸网络中常用到的漏洞来吸引mozi僵尸网络的攻击;主动扫描任务通过向众多mozi节点发送findnode信息,同时接收从其他节点传输过来的信息,并利用mozi标识检测算法来确定该p2p节点是否为mozi节点,若是mozi节点,则存储该节点的属性信息。

其中,所述iot沙箱模块还包括:用于从主动扫描的通信数据和关键节点所捕获到的流量数据中提取mozi标识数据,将该标识数据输入到mozi标识检测算法中,由检测算法输出检测结果。

其中,所述mozi标识检测算法具体为:接受到mozi关键四字节输入后,将每个字节均添加至数组中;循环遍历数组中的每一个byte数据,每一个byte数据将会执行8轮的异或运算;取得最终第8轮运算结果,将该结果与关键四字节的最后两个字节进行对比,查看是否一致;若一致,则该节点的即为mozi节点。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1