一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种云端结合IoT僵尸网络检测原型系统及方法

2022-09-03 14:13:24 来源:中国专利 TAG:

一种云端结合iot僵尸网络检测原型系统及方法
技术领域
1.本发明涉及僵尸网络检测技术领域,提供了一种云端结合iot僵尸网络检 测原型系统及方法。


背景技术:

2.物联网作为传统互联网和移动网络的延申,通过射频识别、红外感应器、 全球定位系统、激光扫描器等信息采集装置,按照约定的通信协议,把任何信 息设备与互联网连接起来,进行信息交换和通信,以实现对物品的智能化识 别、定位、跟踪、监控和管理。而大多数物联网设备都采取弱安全防护措施, 存在着极大的安全隐患。
3.僵尸网络是指攻击者通过对目标主机进行恶意软件感染、传播而最终所劫 持的主机群体,攻击者可以通过下达恶意命令的方式控制僵尸网络完成其攻击 行为。相比于传统网络,iot网络具有更自由的开放性和更丰富的设备异构 性,再加上iot设备本身多采用较弱的安全防御保护机制,僵尸程序的攻击者 逐渐将入侵视角向iot领域转移。
4.iot僵尸网络检测的工作还处于发展时期,大部分的研究工作都着重关注 于检测在被iot僵尸程序入侵后的主机在通信时所产生的异常流量。在文献 《an ensemble intrusion detection technique based on proposed statistical flowfeatures for protecting network traffic of internet of things》中提出了adaboost集 成学习的方法来对多检测模型综合的检测思路。该方法存在缺点:所构建的数 据集流量是通过raspberry pi作为基础的iot设备所产生的良性流量和数据集 unsw-ub15恶意部分混合而生成的,并不是纯粹的iot网络流量。
5.文献《botcatcher:botnet detection system based on deep learning》利用深度 学习的方法提出了botcatcher僵尸网络检测系统,具体其从网络流量的时间特 征维度和空间特征维度依次使用了cnn网络和lstm网络来进行模型训 练,对两种维度得到的特征嵌入进行串联后利用softmax输出最终的二维向量 的形式来进行概率表达。该方法具有对流量数据自动进行特征选择的优势,但 是存在训练过程缓慢的实际问题。
6.文献《a blockchain-based privacypreserving botnet detector for internet of things》 了区块链架构的iot僵尸网络检测系统,但其本质还是对基于社群的僵尸网 络检测算法peerhunter的封装。peerhunter与以前倾向于对于僵尸主机发生恶 意行为时的异常流量进行检测不同,该工作着重点是对于于僵尸群体的检测。 但是文章提出的的区块链结构只是为了解决系统设计中的拜占庭容错问题。


技术实现要素:

7.针对上述现有技术问题,本发明的目的在于提供一种云端结合iot僵尸网 络检测原型系统,该系统能够解决iot设备无法承受较大的算力和存储开销的 问题,在iot设备的端系统仅仅只进行进行流量捕获、流特征提取等工作,而 高算力的业务如图数据挖掘,深度学习检测等放在端系统,因此保证了业务数 据在系统传输时高效轻量;该系统能够获得
主机节点的特征信息、相似性关系 和流相似性关系图,因此能检测出具体的iot僵尸主机;同时该系统采用 mqtt协议,并使用mqttbroker作为云系统和端系统的中介角色来实现信息 的交互,实现两个系统的异步耦合,而且对iot终端设备的异构性进行了屏 蔽,因此能便于业务的扩展。
8.为了达到上述目的,本发明采用如下技术方案:
9.一种云端结合iot僵尸网络检测原型系统,包括以下器件:
10.端系统:执行流数据捕获部分,通过argus流量捕获工具,对受控网络主 机通信的流量数据进行处理,实现流量数据的捕获和过滤,得到流数据;再利 用argus工具的流量数据分析的手段,对流数据进行分析,得到流数据的低维 特征,并将最终的低维的流特征消息发布给mqtt服务器;
11.具体的通过监听网络驱动程序来产生流量数据副本,在内核态的操作系统 缓冲区中通过用户定制的白名单筛选过滤流量,在用户态通过调用argus底层 的libpcap库将内核态流量数据拷贝到应用程序中。
12.mqtt服务器:负责端系统和云系统之间消息传输;
13.云系统:包括流相似性关系提取模块,流相似性关系图构建模块,gcn僵 尸节点检测模块,
14.流量采集、过滤模块:负责接口流量监听、白名单过滤、将过滤后的流量 以.argus格式存储并加入阻塞队列;
15.流特征化处理模块:监听着阻塞队列,当阻塞队列存在未被消费的信息 时,对该信息进行流特征化处理,并将流特征消息发布给mqtt服务器;
16.mqtt通信模块:采取c/s架构即发布/订阅的设计模式,mqtt作为服 务器实现客户端的端系统和云系统的通信;
17.流相似性关系提取模块:获取来自端系统的流特征信息后,将同一主机节 点下相似性流量汇聚成簇形成网络流簇,再对不同主机节点具有相似的网络流 簇进行整合,遍历所有节点,得到多个相似性关系;
18.流相似性关系图构建模块:对受控的网络环境中的主机信息和流信息进行 图数据结构表达,根据主机节点的特征信息和流相似性关系建立流相似性关系 的无向图;
19.gcn僵尸节点检测模块:利用gcn网络对输入流相似的无向关系图的节 点进行分类,实现对僵尸节点的检测。
20.整个系统启动时,首先通过端系统的流量采集、过滤模块对受控网络的流 量进行监听、采集、过滤后存储,并加入阻塞队列;流特征化处理模块时刻监 听着阻塞队列,当阻塞队列存在未被消费的信息时,对该信息进行流特征化处 理,并流特征消息发布给mqtt服务器;mqtt服务器接收到端系统的信息 后,通过特定的主题过滤器定位到云系统后,将消息发送给云系统;云系统的 流相似性关系提取模块获取来自端系统的信息后,进行处理得到以主机为节点 的网络流簇和相应特征信息及一组相似性关系;流相似性关系图构建模块根据 主机节点的特征信息和流相似性关系构建出流相似性关系图;gcn僵尸节点检 测模块对流相似性关系图中的主机节点进行检测,识别出图中存在的僵尸主机 节点。
21.上述技术方案中,其中流相似性关系图构建模块具体实现步骤如下:
22.首先对相似性关系图节点特征信息建模,基于全部的流特征信息,设置一 个node
类来对节点的特征信息进行描述,其中每一个节点以独立的ip地址 进行划分即主机节点,遍历访问受控网络中的每一条流特征,对每一条流信息 进行汇总处理,最终得到受控网络内部的结点特征集合v={vi};
23.相似性关系无向图定义为g=(v,e),其中v表示受控网络中的主机集 合,e表示相似关系边集合,使用邻接矩阵的方式来对表示结点之间边的连接 关系,再对流相似性关系图的节点构建边的连接关系,进行如下处理:如果结 点和结点之间有一个相似性关系,对应边权重加1,如果节点之间没有相似性 关系,对应边权重为0,遍历得到的相似性关系,最后得到用邻接矩阵表示的 流相似性关系的无向图。
24.上述技术方案中,gcn僵尸节点检测模块:具体实现步骤如下:
25.gcn僵尸结点检测模块以流相似性关系无向图的邻接矩阵作为输入,利 用gcn网络对图中的结点进行分类,以最终实现对于僵尸结点的检测。
26.其中通过特定的主题过滤是指:
27.端系统和云系统均以客户端的身份和mqtt服务器建立连接,并且云系 统在mqtt服务端订阅主题“iot_info/flow_feature”。当端系统完成了 对流量的低维特征表示处理后,将特征消息以主题
ꢀ“
iot_info/flow_feature”向mqtt服务器发布,当mqtt服务器接受 到消息后,通过主题过滤器定位到云系统对该主题的订阅关系,最终将该消息 向云系统进行路由。
28.其中主机节点的特征信息通过以下手段获取:
29.流特征化处理后得到主机ip地址,目的地址,协议等一些信息,选取主 机ip地址为参照节点后,与其相关的网络流的其他特征(目的地址,协议等) 就可以看作主机的节点信息。
30.本发明还提供了一种云端结合iot僵尸网络检测方法,分成三个部分端系 统、云系统和mqttbroker,该方法主要包括以下步骤:
31.s1:启动云系统和端系统及mqttbroker,首先通过端系统的流量采集、 过滤模块对受控网络的流量进行监听、采集、过滤后存储,并加入阻塞队列
32.s2:流特征化处理模块时刻监听着阻塞队列,当阻塞队列存在未被消费的 信息时,对该信息进行流特征化处理得到流特征消息,并将流特征消息发布给 mqtt服务器;
33.s3:mqtt服务器接收到端系统的流特征消息后,通过特定的主题过滤器 定位到云系统后,将消息发送给云系统;
34.s4:云系统的流相似性关系提取模块获取来自端系统的流特征信息后,将 同一主机节点下相似性流量汇聚成簇形成网络流簇,不同主机节点具有一个相 同的网络流簇,则可认为存在一条相似性关系,遍历所有节点,得到多个相似 性关系;
35.s5:流相似性关系图构建模块首先对相似性关系图节点特征信息建模,基 于全部的流特征信息,设置一个node类来对节点的特征信息进行描述,其中 每一个节点以独立的ip地址进行划分即主机节点。遍历访问受控网络中的每 一条流特征,对每一条流信息进行汇总处理,最终得到受控网络内部的结点特 征集合v={vi};相似性关系无向图定义为g=(v,e),其中v表示受控网 络中的主机集合,e表示相似关系边集合,使用邻接矩阵的方式来对表示结点 之间边的连接关系,再对流相似性关系图的节点构建边的连接关系,进行如下 处理:如果结点和结点之间有一个相似性关系,对应边权重加1,如果节点之 间没有相似性
关系,对应边权重为0,遍历得到的相似性关系,最后得到用邻 接矩阵表示的流相似性关系的无向图;
36.s6:gcn僵尸结点检测模块以流相似性关系无向图的邻接矩阵作为输 入,利用gcn网络对图中的结点进行分类,以最终实现对于僵尸结点的检 测。
37.本发明同现有技术相比,其有益效果表现在:
38.一、端系统只执行对受控网络的流量捕获和基本的特征处理,而将一些高 消耗的业务放在云系统,大大降低了端系统iot设备的开销;
39.二、本发明利用mqtt通信模块,实现了端系统和云系统数据通信的异步 耦合,并且屏蔽了iot终端设备的异构性,便于业务的拓展;
40.三、针对目前大多数基于流量行为的iot僵尸网络往往只是从流数据的 是否存在恶意进行检出,并没有以主机检测为目的的现状,提出了对于受控的 iot网络环境中僵尸主机结点的检测;
41.四、提出了利用流量相似性行为对受控网络中结点的数据进行图数据建模 的方法,并在流相似性关系图上采取了gcn网络实现了对于僵尸结点的检 测。
附图说明
42.图1是本发明的总体架构图;图2-6是实验功能测试图。
[0043][0044]
具体实施方式
[0045]
下面将结合附图及具体实施方式对本发明作进一步的描述。
[0046]
一种云端结合iot僵尸网络检测原型系统,包括以下器件:
[0047]
端系统:执行流数据捕获部分,通过argus流量捕获工具,对受控网络主 机通信的流量数据进行处理,实现流量数据的捕获和过滤,得到流数据;再利 用argus工具的流量数据分析的手段,对流数据进行分析,得到流数据的低维 特征,并将最终的低维的流特征消息发布给mqtt服务器;
[0048]
具体的通过监听网络驱动程序来产生流量数据副本,在内核态的操作系统 缓冲区中通过用户定制的白名单筛选过滤流量,在用户态通过调用argus底层 的libpcap库将内核态流量数据拷贝到应用程序中。
[0049]
mqtt服务器:负责端系统和云系统之间消息传输;
[0050]
云系统:包括流相似性关系提取模块,流相似性关系图构建模块,gcn僵 尸节点检测模块;
[0051]
流量采集、过滤模块:负责接口流量监听、白名单过滤、将过滤后的流量 以.argus格式存储并加入阻塞队列;
[0052]
流特征化处理模块:监听着阻塞队列,当阻塞队列存在未被消费的信息 时,对该信息进行流特征化处理,并将流特征消息发布给mqtt服务器;
[0053]
mqtt通信模块:采取c/s架构即发布/订阅的设计模式,mqtt作为服 务器实现客户
端的端系统和云系统的通信;
[0054]
流相似性关系提取模块:获取来自端系统的流特征信息后,将同一主机节 点下相似性流量汇聚成簇形成网络流簇,再对不同主机节点具有相似的网络流 簇进行整合,遍历所有节点,得到多个相似性关系;
[0055]
流相似性关系图构建模块:对受控的网络环境中的主机信息和流信息进行 图数据结构表达,根据主机节点的特征信息和流相似性关系建立流相似性关系 的无向图;
[0056]
gcn僵尸节点检测模块:利用gcn网络对输入流相似的无向关系图的节 点进行分类,实现对僵尸节点的检测。
[0057]
整个系统启动时,首先通过端系统的流量采集、过滤模块对受控网络的流 量进行监听、采集、过滤后存储,并加入阻塞队列;流特征化处理模块时刻监 听着阻塞队列,当阻塞队列存在未被消费的信息时,对该信息进行流特征化处 理,并流特征消息发布给mqtt服务器;mqtt服务器接收到端系统的信息 后,通过特定的主题过滤器定位到云系统后,将消息发送给云系统;云系统的 流相似性关系提取模块获取来自端系统的信息后,进行处理得到以主机为节点 的网络流簇和相应特征信息及一组相似性关系;流相似性关系图构建模块根据 主机节点的特征信息和流相似性关系构建出流相似性关系图;gcn僵尸节点检 测模块对流相似性关系图中的主机节点进行检测,识别出图中存在的僵尸主机 节点。
[0058]
上述技术方案中,其中流相似性关系图构建模块具体实现步骤如下:
[0059]
首先对相似性关系图节点特征信息建模,基于全部的流特征信息,设置一 个node类来对节点的特征信息进行描述,其中每一个节点以独立的ip地址 进行划分即主机节点,遍历访问受控网络中的每一条流特征,对每一条流信息 进行汇总处理,最终得到受控网络内部的结点特征集合v={vi};
[0060]
相似性关系无向图定义为g=(v,e),其中v表示受控网络中的主机集 合,e表示相似关系边集合,使用邻接矩阵的方式来对表示结点之间边的连接 关系,再对流相似性关系图的节点构建边的连接关系,进行如下处理:如果结 点和结点之间有一个相似性关系,对应边权重加1,如果节点之间没有相似性 关系,对应边权重为0,遍历得到的相似性关系,最后得到用邻接矩阵表示的 流相似性关系的无向图。
[0061]
上述技术方案中,gcn僵尸节点检测模块:具体实现步骤如下:
[0062]
gcn僵尸结点检测模块以流相似性关系无向图的邻接矩阵作为输入,利 用gcn网络对图中的结点进行分类,以最终实现对于僵尸结点的检测。
[0063]
其中通过特定的主题过滤是指:
[0064]
端系统和云系统均以客户端的身份和mqtt服务器建立连接,并且云系 统在mqtt服务端订阅主题“iot_info/flow_feature”。当端系统完成了 对流量的低维特征表示处理后,将特征消息以主题
ꢀ“
iot_info/flow_feature”向mqtt服务器发布,当mqtt服务器接受 到消息后,通过主题过滤器定位到云系统对该主题的订阅关系,最终将该消息 向云系统进行路由。其中主机节点的特征信息通过以下手段获取:
[0065]
流特征化处理后得到主机ip地址,目的地址,协议等一些信息,选取主机 ip地址为参照节点后,与其相关的网络流的其他特征(目的地址,协议等)就 可以看作主机的节点信息。
[0066]
本发明还提供了一种云端结合iot僵尸网络检测方法,分成三个部分端系 统、云
系统和mqttbroker,该方法主要包括以下步骤:
[0067]
s1:启动云系统和端系统及mqttbroker,首先通过端系统的流量采集、 过滤模块对受控网络的流量进行监听、采集、过滤后存储,并加入阻塞队列
[0068]
s2:流特征化处理模块时刻监听着阻塞队列,当阻塞队列存在未被消费的 信息时,对该信息进行流特征化处理得到流特征消息,并将流特征消息发布给 mqtt服务器;
[0069]
s3:mqtt服务器接收到端系统的流特征消息后,通过特定的主题过滤器 定位到云系统后,将消息发送给云系统;
[0070]
s4:云系统的流相似性关系提取模块获取来自端系统的流特征信息后,将 同一主机节点下相似性流量汇聚成簇形成网络流簇,不同主机节点具有一个相 同的网络流簇,则可认为存在一条相似性关系,遍历所有节点,得到多个相似 性关系;
[0071]
s5:流相似性关系图构建模块首先对相似性关系图节点特征信息建模,基 于全部的流特征信息,设置一个node类来对节点的特征信息进行描述,其中 每一个节点以独立的ip地址进行划分即主机节点。遍历访问受控网络中的每 一条流特征,对每一条流信息进行汇总处理,最终得到受控网络内部的结点特 征集合v={vi};相似性关系无向图定义为g=(v,e),其中v表示受控网 络中的主机集合,e表示相似关系边集合,使用邻接矩阵的方式来对表示结点 之间边的连接关系,再对流相似性关系图的节点构建边的连接关系,进行如下 处理:如果结点和结点之间有一个相似性关系,对应边权重加1,如果节点之 间没有相似性关系,对应边权重为0,遍历得到的相似性关系,最后得到用邻 接矩阵表示的流相似性关系的无向图;
[0072]
s6:gcn僵尸结点检测模块以流相似性关系无向图的邻接矩阵作为输 入,利用gcn网络对图中的结点进行分类,以最终实现对于僵尸结点的检 测。
[0073]
实验环境搭建:mqtt服务器部署在本实验室服务器上,端系统和云系统 分别部署在pc1和pc2上,具体设备详情如表1和表2所示。
[0074][0075]
表1
[0076][0077]
表2
[0078]
下面对系统的核心功能进行测试:
[0079]
1.连接功能测试:为了测试云系统和端系统与mqtt服务器之间的连接 及topic订阅功能。本工作将mqtt服务器部署在实验室服务器上,并将 端系统和云系统独立部署在两台终端设备,以作为mqtt客户端与服务器建 立连接。测试结果如图所示5-1,在启动mqtt服务器后,两个mqtt客户 端成功与服务器在4119端口建立mqtt连接,同时云端系统作为消息消费 者成功订阅“topic:iot_info/flow_feature”。如图2所示
[0080]
2.端系统功能测试:端系统利用了argus流量分析工具来对端设备流量 进行采集,并利用argus客户端来实现对所采集的流量进行流特征化处理工 作以获取低维的流特征数据,将数据放入阻塞队列中。如图3,在设计实现 中,当端系统启动后,argus_watcher组件会对阻塞队列进行监听,当发 现argus客户端产出数据流信息后,端系统会将其中的流特征信息进行解 析。图4展示了端系统解析argus文件中的流特征信息后,将网络流信息向 mqtt服务器发布,而在云系统一侧也成功的接收到了端系统所采集到的流特 征信息。
[0081]
3.多端设备连接测试:在iot环境下可能存在多个设备,因此pc1通过 多线程的方式来模拟多个端系统在线设备同时接入mqtt服务器的场景, pc2设置云系统来进行流特征信息接收。如图5,testproducer中一个线程代 表着一个尝试接入到云系统的在线端设备。在连接实验中共启动512线程, 全部测试线程均成功与服务器建立mqtt连接。在多设备的连接成功建立 后,进一步测试了多设备能否正常与云系统进行流信息的交换情况,如下图 6。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献