CN113660267A - 一种针对IoT环境的僵尸网络检测的系统、方法及存储介质 - Google Patents
一种针对IoT环境的僵尸网络检测的系统、方法及存储介质 Download PDFInfo
- Publication number
- CN113660267A CN113660267A CN202110941835.7A CN202110941835A CN113660267A CN 113660267 A CN113660267 A CN 113660267A CN 202110941835 A CN202110941835 A CN 202110941835A CN 113660267 A CN113660267 A CN 113660267A
- Authority
- CN
- China
- Prior art keywords
- data packet
- flow
- detection
- information
- feature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/144—Detection or countermeasures against botnets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Biology (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种针对IoT环境的僵尸网络检测的系统及其方法,属于入侵检测技术领域。本发明包括流量采集器对于监控的IoT设备的流量进行监听,并基于白名单机制获取符合待检测规则的流量数据包;存储单元存储流量采集器获取的流量数据包;数据包解析器对存储单元存在的流量数据包中的内容进行解析,解析后,获得IP信息,IP信息包括时间、源IP、目的IP、源地址和目的地址;特征提取器提取IP信息的所有统计特征并进行特征工程中的特征降维处理,得到排序在前的三个统计特征;样本检测器基于决策树算法构建的检测模型对得到的三个统计特征进行恶意行为判定检测。本发明用于对IoT环境的僵尸网络检测。
Description
技术领域
一种针对IoT环境的僵尸网络检测的系统及其方法,用于对IoT环境的僵尸网络检测,属于入侵检测技术领域,具体是采用离线的方式,设计出自动化的IoT流量检测系统,并能以插件化的方式对检测系统的检测模型进行更新。
背景技术
IoT设备在当今互联网中正展现出高速发展的势头。物联网等通信技术显著超越了传统技术对周围环境的感知,它赋予设备收集、量化和了解周围环境的能力。物联网是计算机史上发展最快的领域之一,CISCO进行的一项调查显示,物联网设备的数量每年都在上升,2020年超过500亿台,互联网上连接的设备之间将交换44ZB的数据。
但是,由于网络中IoT设备本身并没有非常成熟的安全机制以及其开放性和异构性使其成为了僵尸网络的又一新的繁殖群体。一个著名的例子是Mirai僵尸网络,2016年8月它首次被白帽安全机构MalwareMustDie发现,Mirai的许多变体和模仿者已经成为了历史上最强大的DDos攻击的载体。同年9月,计算机安全顾问Brian Krebs的网站受到620Gbps流量的冲击——比使大多数网站崩溃所需的流量高出许多量级。可以预见,物联网系统的安全风险会高于其他计算系统,并且传统的解决方案可能对物联网系统无效,应用现有的加密技术、身份认证、访问控制等对于具有庞大数量连接设备的大型系统来说是一个挑战,也是不充分的,因为系统的每个部分都有固有的漏洞。同时,由于IoT设备接入网络行为具有随意性,例如对于办公场所的无线局域网络,陌生访客的接入如果不加以管理,便会成为严重的网络安全的危害因素,这大大增加了整个网络系统安全的维护难度。因此,IoT网络中接入设备的脆弱性将成为未来网络攻击新的入侵点,需要一种对IoT网络中的异常流量进行检测的方法。
目前,机器学习和深度学习的方法被广泛的运用到了流量检测的工作之中。利用流量数据,根据不同的检测目的,训练相应的检测模型,可以高效、自动化的对网络中的异常流量进行检测。
在文献《An ensemble intrusion detection technique based on proposedstatistical flow features for protecting network traffic of internet ofthings》,Nour Moustafa等人通过对IoT环境常用的协议进行深入分析,特别是MQTT、DNS和HTTP协议,提出了一组基于统计信息的流量特征。同时,基于Decision Tree、NaiveBayesian以及Artificial Neural Network三种技术,利用AdaBoost集成学习的技术从检测精度和处理时间等方面对系统的整体性能做出提升。研究表明,在基于DNS和HTTP数据源的集成学习方法检测效果优于传统的SVM、MC等检测算法。
在文献《Botminer:Clustering analysis of network traffic for protocol-and structure-independent botnet detection》中,Guofei Gu等人通过僵尸网络流量在通信层面的行为和应用层面的行为分别定义了僵尸网络中的主机的通信目的与行为意图。基于僵尸网络在这两个层面的行为,采取了两层聚类的方法,从而实现了对于受控网络环境中对于已被僵尸程序感染主机的检测。
在文献《Supervised detection of IoT botnet attacks》中,Hadeel Alazzam等人的工作中以IoT僵尸网络的攻击流量作为研究背景,利用监督学习的技术进行了关于僵尸网络O-day攻击的检测。具体而言,它在数据集的划分过程中,在训练集中只引入了4种攻击类型,但是在测试集中存在了10种攻击类型。实验结果验证了在未来这种检测方案的可行性。
但是以上方法都存在一个共同的缺点:目标都在提高准确率上,较少关注系统性能的优化,几乎没有考虑可解释性和适应性问题。在现实条件下,由于物联网设备通常在网络带宽、计算能力、电池容量或存储大小等资源有限的情况下工作,过分关注于提高模型分类的准确率将会带来极大的性能开销,使其在小型IoT设备上无法正常运行或是占用过多系统资源导致IoT设备无法正常运行,这是现有技术所存在的弊端,同时现有的linux系统下数据包解析器由于功能的繁多大都需要占用较大的系统资源才能正常运行,因此在小型IoT设备上也无法正常运行。
发明内容
针对上述研究的问题,本发明的目的在于提供一种针对IoT环境的僵尸网络检测的系统及其方法,解决现有僵尸网络检测技术在IoT环境资源有限的情况下,无法正常运行的问题。
为了达到上述目的,本发明采用如下技术方案:
一种针对IoT环境的僵尸网络检测的系统,包括:
流量采集器:用于对于监控的IoT设备的流量进行监听,并基于白名单机制获取符合待检测规则的流量数据包;
存储单元:用于存储流量采集器获取的流量数据包;
数据包解析器:基于改进后的linux系统下的无线抓包工具,对存储单元存在的流量数据包中的内容进行解析,解析后,获得IP信息,IP信息包括时间、源IP、目的IP、源地址和目的地址;
特征提取器:利用WireShark内嵌的工具tshark从给定的时间窗口提取IP信息的所有统计特征,并将所有统计特征进行特征工程中的特征降维处理,得到排序在前的三个统计特征:
样本检测器:基于决策树算法构建的检测模型对得到的三个统计特征进行恶意行为判定检测。
进一步,数据包解析器的解析过程具体为:
首先在linux系统下创建原始套接字并初始化,其中,原始套接字包括流量数据包包含的数据包的类型,数据包的类型包括IP数据包类型、TCP数据包类型、UDP数据包类型和ICMP数据包类型,数据包用的是相同的协议,则不用修改套接字中的数据包类型,否则需要修改;
基于recv()函数和IP数据包类型循环捕获流量数据包中的多个IP数据包;
接收到捕获退出指令后结束循环捕获,并解析各IP数据包,解析后得到各IP数据包IP信息,即根据不同IP协议对应的IP数据包的格式,使用抓取技术抓取IP数据包中的IP信息,IP信息包括时间、源IP、目的IP、源地址和目的地址。
进一步,抓取技术抓取IP数据包中的IP信息具体为:
若IP数据包的长度为8位、16位和32位字段或子字段时,使用IP-HEADER的成员函数直接获取IP数据包中的IP信息,IP信息包括时间、源IP、目的IP、源地址和目的地址;
IP数据包的长度不为8位、16位和32位的字段或子字段时,利用C语言中的移位以及与、或操作获取IP数据包中的IP信息,IP信息包括时间、源IP、目的IP、源地址和目的地址。
进一步,所述特征提取器的具体实现为:
利用WireShark内嵌的工具tshark从100毫秒、500毫秒、1.5秒、10秒和1分钟的五个时间窗口提取IP信息的115个统计特征;
将115个统计进行特征工程中的特征降维处理,得到排序在前的三个统计特征H_L0.01_mean、H_L0.01_weight和MI_dir_L0.01_weight,其中,H表示1.5s内自流量数据包主机的流量,MI_dir表示1.5s内自流量数据包网卡的流量,L1表示1.5s内,mean表示均值,weight表示流量的权重,即对应时间窗口检测到的流量的数量。
进一步,还包括对样本检测器进行插件化更新的核心检测模块,核心检测模块以离线的方式训练,具体包括以下步骤:
S1:数据预处理:将获取的数据集进行分析,分析后并进行去重和降噪处理,获得有效的数据集;
S2:特征选择训练:基于有效的数据集通过特征工程中的特征降维选取最优的特征组合,以去除训练的冗余开销;
S3:模型选择训练:结合需要部署的IoT设备的算力,选取训练轻量的检测模型,即基于特征组合训练检测模型,检测模型为基于决策树算法构建的检测模型;
S4:插件更新:适配IoT环境的僵尸网络检测的系统的数据接口,将定制化的具有检测模型的样本检测器嵌入到待检测IoT设备中。
进一步,基于有效的数据集通过特征工程中的特征降维选取最优的特征组合的具体步骤为:
计算数据集中各统计特征的Fisher’s score,其公式如下:
其中,N是不同类别的数量,不同类别是指不同时间到达的流量数据包,每个流量数据作为数据集中的一行数据记录,一行数据记录有115个统计特征,μ是在所有类别上计算的给定特征的平均值,μi和σi是在属于i类别上计算的特定统计特征的平均值和标准偏差,pi表示属于i类别的点的比例,即当为i类别的某一个统计特征时,该统计特征占该列统计特征总和的比例;
根据Fisher’s score的值对统计特征进行排序,最终选取Fisher’s score排序在前的三个统计特征作为特征组合。
一种针对IoT环境的僵尸网络检测的方法,包括:
步骤1.流量采集器对IoT设备的流量进行监听,并基于白名单机制获取符合待检测规则的流量数据包;
步骤2.存储单元存储流量采集器获取的流量数据包;
步骤3.数据包解析器基于改进后的linux系统下的无线抓包工具,对存储单元存在的流量数据包中的内容进行解析,解析后,获得IP信息,IP信息包括时间、源IP、目的IP、源地址和目的地址;
步骤4.利用WireShark内嵌的工具tshark从给定的时间窗口提取IP信息的统计特征;
步骤5.样本检测器基于决策树算法构建的检测模型对流量特征化后的特征数据进行恶意行为判定检测。
本发明同现有技术相比,其有益效果表现在:
一、本发明在IoT设备中能够获得准确的被检测环境的网络流量信息(即指流量数据包),并对网络流量信息进行检测,判定其是否具有恶意的僵尸程序行为,即保证一定准确率的前提下通过降维的方法减少了机器学习模型的复杂性,使之能够适用于小型IoT设备,准确率相较于现有技术并无提高,但是能在保证较高检测准确率(0.9994)的情况下,显著减少了训练模型的复杂度,使训练集从最初的115个特征减少到最后的3个特征;
二、本发明达到对恶意流量实现检测目的的同时,将系统整体的最轻量化作为实现目标,能够实现在资源匮乏的IoT设备上部署运行;
三、本发明可以根据需求对核心检测模块进行更新、适配和扩展,即根据需要针对不同种类的僵尸网络,若针对Mirai,则需要有包含Mirai恶意流量的数据集对分类模型用机器学习的决策树算法进行训练;若是针对多种僵尸网络的则需要用包含多种僵尸流量的数据集对模型进行训练,僵尸网络以后可能还会出现许多不同的种类,因此我们的检测模型也能据此进行更新、适配和拓展;
四、本发明中的数据包解析器能够在仅占用较小系统资源的情况下运行,适用于现有世界中设备网络带宽、计算能力、电池容量和存储大小等资源有限的小型IoT设备。
附图说明
图1为本发明的流程示意图;
图2为本发明对流量数据包中的内容进行解析的流程示意图。
具体实施方式
下面将结合附图及具体实施方式对本发明作进一步的描述。
针对IoT设备RaspberryPi 4B进行系统部署,以开源IoT僵尸网络数据集N-baiot作为检测核心插件训练数据,以开源IoT僵尸网络数据集Kitsune:Mirai作为模拟网络环境数据进行系统说明。
一种针对IoT环境的僵尸网络检测的系统,包括:
流量采集器:用于对于监控的IoT设备的流量进行监听,并基于白名单机制获取符合待检测规则的流量数据包;
存储单元:用于存储流量采集器获取的流量数据包;
数据包解析器:基于改进后的linux系统下的无线抓包工具,对存储单元存在的流量数据包中的内容进行解析,解析后,获得IP信息,IP信息包括时间、源IP、目的IP、源地址和目的地址;
数据包解析器解析的过程具体为:
首先在linux系统下创建原始套接字并初始化,其中,原始套接字包括流量数据包包含的数据包的类型,数据包的类型包括IP数据包类型、TCP数据包类型、UDP数据包类型和ICMP数据包类型,数据包用的是相同的协议,则不用修改套接字中的数据包类型,否则需要修改;
基于recv()函数和IP数据包类型循环捕获流量数据包中的多个IP数据包;
接收到捕获退出指令后结束循环捕获,并解析各IP数据包,解析后得到各IP数据包IP信息,即根据不同IP协议对应的IP数据包的格式,使用抓取技术抓取IP数据包中的IP信息,IP信息包括时间、源IP、目的IP、源地址和目的地址。
抓取技术抓取IP数据包中的IP信息具体为:
若IP数据包的长度为8位、16位和32位字段或子字段时,使用IP-HEADER的成员函数直接获取IP数据包中的IP信息;
IP数据包的长度不为8位、16位和32位的字段或子字段时,利用C语言中的移位以及与、或操作获取IP数据包中的IP信息。
采用改进后的linux系统下的无线抓包工具是因为:已知常用的从pcap文件中解析出IP流量数据的工具有Bro-IDS、CapAnalysis、Xplico等等,这些工具工作流程为:先通过tcpdump-i eth指令监视一个网络接口上所有流过的数据包,然后再根据pcap文件的结构,利用工具将链路层的数据帧的具体内容解析出来。但在现实世界中,许多小型IoT设备可能没有配置专门的网卡,它们与控制端通信主要是通过无线网卡共享WIFI的形式,即:将IoT设备集成到客户的WIFI网络中。而且小型IoT设备由于通常在网络带宽、计算能力、电池容量或存储大小等资源有限的情况下工作。因此,为了采集和解析IoT设备接受的流量以及在资源限制的条件下,由于在linux系统下缺少无线抓包工具,我们借鉴了windows平台上的轻量级的无线抓包工具(microsoft network monitor)。通过修改该工具的源代码将该抓包工具移植到小型IoT设备的Linux系统上,在我们后续的实施中,通过该工具能够高效抓取流动在无线网卡上的数据包并对其解析以供后续的特征提取器使用。该方案解决了如下两个现实世界中数据包解析器存在的问题:首先是提供了新的linux系统下的无线抓包工具,我们调研了现有的数据包解析器的各种工具之后,发现了现有的无线抓包工具是没有能够在linux系统下运行的,我们提出的工具解决了这一问题,并且完美的契合了IoT设备通过无线网卡共享WIFI的形式传输数据的特点。然后是针对IoT设备网络带宽、计算能力、电池容量或存储大小等资源有限的情况下,我们提供的轻量级无线抓包工具能够很在IoT设备正常工作时,仅仅占用IoT设备的一小部分系统资源的情况下正常运行,而现有的linux系统下的数据包解析器大都具有强大的功能,这也导致了这些数据包解析器所需要的系统资源都比较大,假如应用在现有世界的小型IoT设备用会因为占用过多系统资源影响IoT设备的正常运行。
特征提取器:利用WireShark内嵌的工具tshark从给定的时间窗口提取IP信息的所有统计特征,并将所有统计特征进行特征工程中的特征降维处理,得到排序在前的三个统计特征;
所述特征提取器的具体实现为:
利用WireShark内嵌的工具tshark从100毫秒、500毫秒、1.5秒、10秒和1分钟的五个时间窗口提取IP信息的115个统计特征;
将115个统计进行特征工程中的特征降维处理,得到排序在前的三个统计特征H_L0.01_mean、H_L0.01_weight和MI_dir_L0.01_weight,其中,H表示1.5s内自流量数据包主机的流量,MI_dir表示1.5s内自流量数据包网卡的流量,L1表示1.5s内,mean表示均值,weight表示流量的权重,即对应时间窗口检测到的流量的数量。
样本检测器:基于决策树算法构建的检测模型对得到的三个统计特征进行恶意行为判定检测。
还包括对样本检测器进行插件化更新的核心检测模块,核心检测模块以离线的方式训练,具体包括以下步骤:
S1:数据预处理:将获取的数据集进行分析,比如分析可用python的作图方式(如绘制直方图)可以了解数据有无重复、噪音等,分析后并进行去重和降噪处理,获得有效的数据集;
S2:特征选择训练:基于有效的数据集通过特征工程中的特征降维选取最优的特征组合,以去除训练的冗余开销;
S3:模型选择训练:结合需要部署的IoT设备的算力,选取训练轻量的检测模型,即基于特征组合训练检测模型,检测模型为基于决策树算法构建的检测模型;
S4:插件更新:适配IoT环境的僵尸网络检测的系统的数据接口,将定制化的具有检测模型的样本检测器嵌入到待检测IoT设备中。
检测核心模块插件构建具体为:
核心检测模块主要解决问题在与数据降维和特征筛选工作。同时,为了使分类器生成的输出易于被网络安全操作人员理解,我们使用决策树算法构建了检测模型。
流量数据包包括在实验室环境中捕获的网络流量统计数据,其中模拟了典型的正常行为和攻击情况。该网络包含九个物联网设备,属于不同的应用类别,如安全摄像头、网络摄像头、婴儿监视器、恒温器和门铃。恶意流量包括受Gafgyt和Mirai恶意软件危害的物联网设备发起的攻击(指流量数据包)。每个数据记录都有115个统计特征(每当流量数据包到达时,对传输该流量数据包的主机和协议进行行为快照,快照通过在几个时间窗口上提取115个流量统计(即统计特征)来获得分组的内容,以总结所有的流量,这里的每个数据记录可以理解为所达到的一个流量数据包。),115个统计特征构成数据集中的一行,数据集中的各行数据记录中包含了有四种流量:H统计最近(如100毫秒、500毫秒、1.5秒、10秒和1分钟)来自该流量数据包主机的流量,HH统计最近(如100毫秒、500毫秒、1.5秒、10秒和1分钟)从流量数据包的主机(IP)到流量数据包的目的主机的流量,Hphp统计最近(如100毫秒、500毫秒、1.5秒、10秒和1分钟)从流量数据包的主机+端口到流量数据包的目的主机+端口的流量,HH_jit统计最近(如100毫秒、500毫秒、1.5秒、10秒和1分钟)从流量数据包的主机(IP)到流量数据包的目的主机的流量抖动,四种流量分别有8种、4种、3种和8种,总共23种,都是用的现有的数据统计方式,比如H和HH_jit统计了weight(数量)、mean(均值)、variance(方差)、std(标准差)、radius(两个流方差的平方根和)、magnitude(两个流的均值的平方根和)、cov(最近两个流之间的近似协方差)和pcc(两个流之间近似协方差的和),HH统计了weight(数量)、mean(均值)、、cov(最近两个流之间的近似协方差)和pcc(两个流之间近似协方差的和),HpHp统计了weight(数量)、mean(均值)和variance(方差),每个流量再从100毫秒、500毫秒、1.5秒、10秒和1分钟的五个时间窗口提取特征,共115个统计特征。
先分别计算数据集的115个统计特征的Fisher’s score,其公式如下:
其中,N是不同类别的数量(在该数据集中N=3),不同类别是指不同时间到达的流量数据包,每个流量数据作为数据集中的一行数据记录,一行数据记录有115个统计特征,μ是在所有类别上计算的给定特征的平均值,μi和σi是在属于i类别上计算的特定统计特征的平均值和标准偏差,pi是属于i类别的点的比例,即指当为i类别的某一个统计特征时,该统计特征占该列统计特征总和的比例(类别为H、HH,Hphp,HH_jit,这里指的是当在某一个特征,占该列数据总和的比例,例如该列数据为:1、2、3、4,那么第一行(即i=1的时候),的pi为:1/(1+2+3+4))。Fishers score允许根据它们的辨别能力对统计特征进行排序,较大的Fishers score分数值对应于较高的辨别能力,最终选取Fisher’s score最高的10个统计特征用于构建检测模型并根据不同统计特征数量下不同的分类精确度更进一步减少检测模型的统计特征数量。表1分别列出了N-baiot数据集的Fisher’s score最高的十个统计特征。
表1基于Fisher’s score的十个最佳特征
序号 | Feature | Fisher’s Scote |
1 | H_L1_variance | 0.7045179742093977 |
2 | MI_dir_L1_variance | 0.7045181474478136 |
3 | H_L1_mean | 0.730139388314187 |
4 | MI_dir_L1_mean | 0.7301400213558462 |
5 | MI_dir_L0.1_mean | 0.76250135655677 |
6 | H_L0.1_mean | 0.7625045568114566 |
7 | MI_dir_L0.01_mean | 0.7717379254858109 |
8 | H_L0.01_mean | 0.7717531011016796 |
9 | H_L0.01_weight | 1.0880072311160576 |
10 | MI_dir_L0.01_weight | 1.0880072623624037 |
其中,L后面的数值代表时间窗口的长度,若为L0.01时,表示100ms,若为L0.1时,表示500ms,若为L1时,表示1.5s,若为L3时,表示10s,若为L5时,表示1min;weight表示流量的权重,即对应时间窗口检测到的流量的数量,variance表示方差。
然后分别选取Fishers’s score最高的2(指表1中的9和10)、3(指表1中的8、9和10)、4(指表1中的7、8、9和10)和10(指表1中的1-10)个统计特征分别构建决策树模型(用的是“基尼指数”的CART决策树),即检测模型,选取1%的数据用做训练集构建决策树模型,99%的数据用做测试集,得到了不同统计特征下的检测模型分类的准确性。表2分别列出了不同统计特征数量下的决策树精度。
序号 | Feature Set Size | 决策树精度 |
1 | 2 | 0.829250798772307 |
2 | 3 | 0.999401028034977 |
3 | 4 | 0.999422624206591 |
4 | 10 | 0.999271594026298 |
可以看到只需要三个统计特征的值(H_L0.01_mean,H_L0.01_weight,MI_dir_L0.01_weight)就能够得到非常高的准确率,也就是说,当在分类器中使用最佳的三个统计特征时,可以很容易地识别出类别。
因此,通过该方法构建的检测模型能够在保证检测较高精度的情况下,显著减少特征集的尺寸,大大减少物联网设备检测僵尸网络攻击的开销。
整体系统部署具体为:
RaspberryPi 4B搭载LINUX操作系统,流量采集模块采取以TCPDUMP提供API进行构建,对设备链路层通讯的流量数据帧进行监听,其中为了减少对已知非恶意流量的检测资源开销,采取了白名单机制对该部分流量进行放行,不进入整个检测系统中。数据包解析器采取了WireShark内嵌的工具tshark进行处理,即改进后的linux系统下的无线抓包工具。
在网络环境中通过编写Python程序对Kitsune:Mirai的流量在RaspberryPi 4B设备上进行重放,流量在经过上述步骤处理后,进入到特征提取器中,特征提取器处理器逻辑与核心检测模块中的特征工程中的特征降维处理步骤相同。特征数据持久化存放本地的Oracle数据库中。同时,核心检测模块嵌入到整个系统,并行地对Oracle中的数据进行检测处理。检测结果以日志的形式存放在Oracle数据库中,同时,也相应的在系统前端进行实时更新展示。
一种针对IoT环境的僵尸网络检测的方法,包括:
步骤1.流量采集器对IoT设备的流量进行监听,并基于白名单机制获取符合待检测规则的流量数据包;
步骤2.存储单元存储流量采集器获取的流量数据包;
步骤3.数据包解析器基于改进后的linux系统下的无线抓包工具,对存储单元存在的流量数据包中的内容进行解析,解析后,获得IP信息,IP信息包括时间、源IP、目的IP、源地址和目的地址;
步骤4.利用WireShark内嵌的工具tshark从给定的时间窗口提取IP信息的统计特征;
步骤5.样本检测器基于决策树算法构建的检测模型对流量特征化后的特征数据进行恶意行为判定检测。
以上仅是本发明众多具体应用范围中的代表性实施例,对本发明的保护范围不构成任何限制。凡采用变换或是等效替换而形成的技术方案,均落在本发明权利保护范围之内。以上仅是本发明众多具体应用范围中的代表性实施例,对本发明的保护范围不构成任何限制。凡采用变换或是等效替换而形成的技术方案,均落在本发明权利保护范围之内。
Claims (8)
1.一种针对IoT环境的僵尸网络检测的系统,其特征在于,包括:
流量采集器:用于对于监控的IoT设备的流量进行监听,并基于白名单机制获取符合待检测规则的流量数据包;
存储单元:用于存储流量采集器获取的流量数据包;
数据包解析器:基于改进后的Iinux系统下的无线抓包工具,对存储单元存在的流量数据包中的内容进行解析,解析后,获得IP信息,IP信息包括时间、源IP、目的IP、源地址和目的地址:
特征提取器:利用WireShark内嵌的工具tshark从给定的时间窗口提取IP信息的所有统计特征,并将所有统计特征进行特征工程中的特征降维处理,得到排序在前的三个统计特征;
样本检测器:基于决策树算法构建的检测模型对得到的三个统计特征进行恶意行为判定检测。
2.根据权利要求1所述的一种针对IoT环境的僵尸网络检测的系统,其特征在于,数据包解析器的解析过程具体为:
首先在Iinux系统下创建原始套接字并初始化,其中,原始套接字包括流量数据包包含的数据包的类型,数据包的类型包括IP数据包类型、TCP数据包类型、UDP数据包类型和ICMP数据包类型,数据包用的是相同的协议,则不用修改套接字中的数据包类型,否则需要修改;
基于recv()函数和IP数据包类型循环捕获流量数据包中的多个IP数据包;
接收到捕获退出指令后结束循环捕获,并解析各IP数据包,解析后得到各IP数据包IP信息,即根据不同IP协议对应的IP数据包的格式,使用抓取技术抓取IP数据包中的IP信息,IP信息包括时间、源IP、目的IP、源地址和目的地址。
3.根据权利要求2所述的一种针对IoT环境的僵尸网络检测的系统,其特征在于,抓取技术抓取IP数据包中的IP信息具体为:
若IP数据包的长度为8位、16位和32位字段或子字段时,使用IP-HEADER的成员函数直接获取IP数据包中的IP信息,IP信息包括时间、源IP、目的IP、源地址和目的地址;
IP数据包的长度不为8位、16位和32位的字段或子字段时,利用C语言中的移位以及与、或操作获取IP数据包中的IP信息,IP信息包括时间、源IP、目的IP、源地址和目的地址。
4.根据权利要求3所述的一种针对IoT环境的僵尸网络检测的系统,其特征在于,所述特征提取器的具体实现为:
利用WireShark内嵌的工具tshark从100毫秒、500毫秒、1.5秒、10秒和1分钟的五个时间窗口提取IP信息的115个统计特征;
将115个统计进行特征工程中的特征降维处理,得到排序在前的三个统计特征H_L0.01_mean、H_L0.01_weight和MI_dir_L0.01_weight,其中,H表示1.5s内自流量数据包主机的流量,MI_dir表示1.5s内自流量数据包网卡的流量,L1表示1.5s内,mean表示均值,weight表示流量的权重,即对应时间窗口检测到的流量的数量。
5.根据权利要求1-4任意一项中所述的一种针对IoT环境僵尸网络检测系统,其特征在于,还包括对样本检测器进行插件化更新的核心检测模块,核心检测模块以离线的方式训练,具体包括以下步骤:
S1:数据预处理:将获取的数据集进行分析,分析后并进行去重和降噪处理,获得有效的数据集;
S2:特征选择训练:基于有效的数据集通过特征工程中的特征降维选取最优的特征组合,以去除训练的冗余开销;
S3:模型选择训练:结合需要部署的IoT设备的算力,选取训练轻量的检测模型,即基于特征组合训练检测模型,检测模型为基于决策树算法构建的检测模型;
S4:插件更新:适配IoT环境的僵尸网络检测的系统的数据接口,将定制化的具有检测模型的样本检测器嵌入到待检测IoT设备中。
6.根据权利要求5所述的一种针对IoT环境的僵尸网络检测的系统,其特征在于,基于有效的数据集通过特征工程中的特征降维选取最优的特征组合的具体步骤为:
计算数据集中各统计特征的Fisher’s score,其公式如下:
其中,N是不同类别的数量,不同类别是指不同时间到达的流量数据包,每个流量数据作为数据集中的一行数据记录,一行数据记录有115个统计特征,μ是在所有类别上计算的给定特征的平均值,μi和σi是在属于i类别上计算的特定统计特征的平均值和标准偏差,pi表示属于i类别的点的比例,即当为i类别的某一个统计特征时,该统计特征占该列统计特征总和的比例;
根据Fisher’s score的值对统计特征进行排序,最终选取Fisher’s score排序在前的三个统计特征作为特征组合。
7.一种针对IoT环境的僵尸网络检测的方法,其特征在于,包括:
步骤1.流量采集器对IoT设备的流量进行监听,并基于白名单机制获取符合待检测规则的流量数据包;
步骤2.存储单元存储流量采集器获取的流量数据包;
步骤3.数据包解析器基于改进后的Iinux系统下的无线抓包工具,对存储单元存在的流量数据包中的内容进行解析,解析后,获得IP信息,IP信息包括时间、源IP、目的IP、源地址和目的地址;
步骤4.利用WireShark内嵌的工具tshark从给定的时间窗口提取IP信息的统计特征;
步骤5.样本检测器基于决策树算法构建的检测模型对流量特征化后的特征数据进行恶意行为判定检测。
8.一种存储介质,其特征在于,所述存储介质上存储有一种针对IoT环境的僵尸网络检测程序,所述一种针对IoT环境的僵尸网络检测程序被处理器执行时实现如权利要求7所述的一种针对IoT环境的僵尸网络检测的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110941835.7A CN113660267B (zh) | 2021-08-17 | 2021-08-17 | 一种针对IoT环境的僵尸网络检测的系统、方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110941835.7A CN113660267B (zh) | 2021-08-17 | 2021-08-17 | 一种针对IoT环境的僵尸网络检测的系统、方法及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113660267A true CN113660267A (zh) | 2021-11-16 |
CN113660267B CN113660267B (zh) | 2022-07-26 |
Family
ID=78480459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110941835.7A Active CN113660267B (zh) | 2021-08-17 | 2021-08-17 | 一种针对IoT环境的僵尸网络检测的系统、方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113660267B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115348337A (zh) * | 2022-07-11 | 2022-11-15 | 广州市玄武无线科技股份有限公司 | 一种基于多协议的tcp数据包解析分析方法及装置 |
CN115987689A (zh) * | 2023-03-20 | 2023-04-18 | 北京邮电大学 | 一种网络入侵检测方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5916305A (en) * | 1996-11-05 | 1999-06-29 | Shomiti Systems, Inc. | Pattern recognition in data communications using predictive parsers |
US20070043849A1 (en) * | 2003-09-05 | 2007-02-22 | David Lill | Field data collection and processing system, such as for electric, gas, and water utility data |
FI20105450A0 (fi) * | 2010-04-26 | 2010-04-26 | Codenomicon Oy | Menetelmä ja järjestelmä viestin analysointiin |
CN102594702A (zh) * | 2012-03-16 | 2012-07-18 | 上海大亚科技有限公司 | 基于嵌入式无线设备实现网络数据包抓取的系统及方法 |
CN105472640A (zh) * | 2015-11-13 | 2016-04-06 | 上海熙菱信息技术有限公司 | WiFi信息采集方法及系统 |
CN107092475A (zh) * | 2016-12-21 | 2017-08-25 | 阿里巴巴集团控股有限公司 | 一种交互控件的调用方法及装置 |
WO2018172818A1 (en) * | 2017-03-23 | 2018-09-27 | Pismo Labs Technology Ltd. | Method and system for restricting transmission of data traffic for devices with networking capabilities |
CN111478966A (zh) * | 2020-04-07 | 2020-07-31 | 全球能源互联网研究院有限公司 | 物联网协议的解析方法、装置、计算机设备及存储介质 |
CN111510433A (zh) * | 2020-03-18 | 2020-08-07 | 山东大学 | 一种基于雾计算平台的物联网恶意流量检测方法 |
CN112788007A (zh) * | 2020-12-30 | 2021-05-11 | 海南大学 | 基于卷积神经网络的DDoS攻击检测方法 |
-
2021
- 2021-08-17 CN CN202110941835.7A patent/CN113660267B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5916305A (en) * | 1996-11-05 | 1999-06-29 | Shomiti Systems, Inc. | Pattern recognition in data communications using predictive parsers |
US20070043849A1 (en) * | 2003-09-05 | 2007-02-22 | David Lill | Field data collection and processing system, such as for electric, gas, and water utility data |
FI20105450A0 (fi) * | 2010-04-26 | 2010-04-26 | Codenomicon Oy | Menetelmä ja järjestelmä viestin analysointiin |
CN102594702A (zh) * | 2012-03-16 | 2012-07-18 | 上海大亚科技有限公司 | 基于嵌入式无线设备实现网络数据包抓取的系统及方法 |
CN105472640A (zh) * | 2015-11-13 | 2016-04-06 | 上海熙菱信息技术有限公司 | WiFi信息采集方法及系统 |
CN107092475A (zh) * | 2016-12-21 | 2017-08-25 | 阿里巴巴集团控股有限公司 | 一种交互控件的调用方法及装置 |
WO2018172818A1 (en) * | 2017-03-23 | 2018-09-27 | Pismo Labs Technology Ltd. | Method and system for restricting transmission of data traffic for devices with networking capabilities |
CN111510433A (zh) * | 2020-03-18 | 2020-08-07 | 山东大学 | 一种基于雾计算平台的物联网恶意流量检测方法 |
CN111478966A (zh) * | 2020-04-07 | 2020-07-31 | 全球能源互联网研究院有限公司 | 物联网协议的解析方法、装置、计算机设备及存储介质 |
CN112788007A (zh) * | 2020-12-30 | 2021-05-11 | 海南大学 | 基于卷积神经网络的DDoS攻击检测方法 |
Non-Patent Citations (4)
Title |
---|
HAYRETDIN BAHS¸I, SVEN N˜OMM,: "Dimensionality Reduction for Machine Learning Based IoT Botnet", 《2018 15TH INTERNATIONAL CONFERENCE ON CONTROL, AUTOMATION, ROBOTICS AND VISION (ICARCV)》 * |
NIU, WN (NIU, WEINA) ,ZHANG, XS (ZHANG, XIAOSONG): "A deep learning based static taint analysis approach for IoT software vulnerability location", 《SCIENCE DIRECT》 * |
刘敏等: "基于Linux的无线网络监听技术", 《西安邮电学院学报》 * |
赵亭等: "基于机器学习的僵尸物联网检测方法性能评价研究", 《滁州学院学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115348337A (zh) * | 2022-07-11 | 2022-11-15 | 广州市玄武无线科技股份有限公司 | 一种基于多协议的tcp数据包解析分析方法及装置 |
CN115987689A (zh) * | 2023-03-20 | 2023-04-18 | 北京邮电大学 | 一种网络入侵检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113660267B (zh) | 2022-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109951500B (zh) | 网络攻击检测方法及装置 | |
CN110011999B (zh) | 基于深度学习的IPv6网络DDoS攻击检测系统及方法 | |
CN109714322B (zh) | 一种检测网络异常流量的方法及其系统 | |
CN109450721B (zh) | 一种基于深度神经网络的网络异常行为识别方法 | |
CN107592312B (zh) | 一种基于网络流量的恶意软件检测方法 | |
CN105208037B (zh) | 一种基于轻量级入侵检测的DoS/DDoS攻击检测和过滤方法 | |
CN107040517B (zh) | 一种面向云计算环境的认知入侵检测方法 | |
CN113259313A (zh) | 一种基于在线训练算法的恶意https流量智能分析方法 | |
CN111277587A (zh) | 基于行为分析的恶意加密流量检测方法及系统 | |
CN111698260B (zh) | 一种基于报文分析的dns劫持检测方法及系统 | |
US20060212942A1 (en) | Semantically-aware network intrusion signature generator | |
CN112738015A (zh) | 一种基于可解释卷积神经网络cnn与图检测的多步攻击检测方法 | |
CN113660267B (zh) | 一种针对IoT环境的僵尸网络检测的系统、方法及存储介质 | |
CN110611640A (zh) | 一种基于随机森林的dns协议隐蔽通道检测方法 | |
CN107370752B (zh) | 一种高效的远控木马检测方法 | |
CN102420723A (zh) | 一种面向多类入侵的异常检测方法 | |
Monshizadeh et al. | Performance evaluation of a combined anomaly detection platform | |
CN112822189A (zh) | 一种流量识别方法及装置 | |
CN113206860A (zh) | 一种基于机器学习和特征选择的DRDoS攻击检测方法 | |
CN112800424A (zh) | 一种基于随机森林的僵尸网络恶意流量监测方法 | |
CN116800536A (zh) | 一种基于大数据分析的网络安全监测系统 | |
US20240080337A1 (en) | Device, method, and system for supporting botnet traffic detection | |
Aung et al. | An analysis of K-means algorithm based network intrusion detection system | |
CN110868404A (zh) | 一种基于tcp/ip指纹的工控设备自动识别方法 | |
CN110519228B (zh) | 一种黑产场景下恶意云机器人的识别方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |