CN115022100B - 一种基于流量画像与机器学习的物联网入侵检测方法 - Google Patents
一种基于流量画像与机器学习的物联网入侵检测方法 Download PDFInfo
- Publication number
- CN115022100B CN115022100B CN202210952792.7A CN202210952792A CN115022100B CN 115022100 B CN115022100 B CN 115022100B CN 202210952792 A CN202210952792 A CN 202210952792A CN 115022100 B CN115022100 B CN 115022100B
- Authority
- CN
- China
- Prior art keywords
- machine learning
- address
- flow
- data
- rule
- 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.)
- Active
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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y30/00—IoT infrastructure
- G16Y30/10—Security thereof
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/50—Safety; Security of things, users, data or systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于流量画像与机器学习的物联网入侵检测方法,包含以下步骤:S1.由流量捕获模块捕获网段内流量数据包,将数据包聚合为数据流;S2.由规则集检测模块执行第一轮检测,根据数据流的标识符位与规则集进行匹配;S3.匹配成功则判断为良性并记录,结束检测,若失败则进行第二轮检测;S4.由机器学习检测模块执行第二轮检测,由机器学习模型根据数据流的特征进行分类;S5.若分类为良性则不报警只记录,若为攻击则报警并记录;S6.机器学习模块更新规则集。本发明利用物联网设备在通信时产生的流量特征完成对数据流的检测,引入规则集检测提高入侵检测***的检测速率,同时降低检测的误报率。
Description
技术领域
本发明涉及基于物联网的入侵检测***,特别涉及一种基于流量画像与机器学习的物联网入侵检测方法。
背景技术
随着物联网(Internet of Things, IoT)技术的逐渐发展,物联网设备在各种场景下给人类带来了极大的便利。例如,智慧工业、数字医疗、智能交通、智慧城市和智能家居等,同时物联网应用也跨越许多垂直领域,包括汽车、电信和能源等。物联网的生态***由支持网络连接的智能设备组成,这些设备通过嵌入式***(如处理器、传感器和通信硬件)从其环境中获取数据,并对数据进行捕获、发送,根据数据进行相应的操作。物联网设备通过连接到物联网网关或其他边缘设备实现交换传感器数据的功能。这些设备也能够相互通信,并根据接收到的信息采取一系列行动。
物联网市场在近几年继续增长,IoT Analytics现在提高了其对2025年已知联网的物联网设备数量的预测(从215亿台提高到309亿台),平均每人拥有近4件物联网设备。由于物联网设备应用广泛,因此带来了巨大的经济效应,物联网也在过去几年受到了极大的关注。随着设备数量快速增长,物联网设备已经成为互联网整体流量的主要来源。据预测,到2023年,物联网流量将占互联网流量的一半,而其中智能家居物联网设备预计将占据近一半的所有物联网流量。智能家居物联网的扩张带来了诸多挑战。由于智能家居设备计算能力有限、缺乏传输加密和缺乏认证与授权机制等,这一系列设备的不安全因素使得智能家居设备容易受到各种网络攻击的威胁,并且在物联网设备中统一应用安全机制非常困难。此外,智能家居设备采集到的敏感数据与人类的生产和生活息息相关。这些攻击不仅会造成经济损失,而且还会危害人类的健康和安全。
分布式拒绝服务攻击(Distributed Denial-of-Service, DDoS)是对物联网危害性较高的攻击之一。而最具破坏性的互联网攻击是利用物联网设备及其安全缺陷创建僵尸网络,发起DDoS洪泛攻击。事实也证明,在一个布满物联网设备的智能城市中,攻陷一个连接互联网的智能灯泡就可以控制所有的灯。为了避免这些物联网安全风险,我们需要完善物联网不足的安全防御环境和入侵检测***(Intrusion Detection System, IDS)。由于物联网环境的动态性和可用计算资源的有限性,传统的入侵检测技术在物联网生态***中难以实现。与此同时,机器学习技术,一种不需要显式编程,在动态网络中表现良好的人工智能技术,正在迅速发展。利用机器学习的IDS将通过持续学习来适应环境的变化,这也将为物联网安全带来新的解决方案。
发明内容
本发明要解决的技术问题是在物联网智能家居场景中,为物联网设备提供一种快速、准确的入侵检测方法。
为此目的,本发明提出的技术方案为一种基于流量画像与机器学习的物联网入侵检测方法,包括以下步骤:
S1.由流量捕获模块捕获网段内流量数据包,按特定规则将数据包聚合为数据流;
S2.由规则集检测模块执行第一轮检测,根据数据流的标识符位与规则集进行匹配;
S3.匹配成功则判断为良性并记录,结束检测,若失败则进行第二轮检测;
S4.由机器学习检测模块执行第二轮检测,由机器学习模型根据数据流携带的统计特征进行分类;
S5.若分类为良性则不报警只记录,若为攻击则报警并记录,同时提供预测的攻击类型以及对应概率;
S6.机器学习模块更新规则集。
进一步,前述S1中,由流量捕获模块捕获的数据包将会被整合为数据流。数据流是一系列在一定时间间隔内经过流量捕获模块的数据包提取统计特征后形成的数据集合,流量捕获模块提取传输层数据包的统计信息。数据流以一个TCP流或一个UDP流为一个单位,TCP流以FIN标志为结束,UDP流以设置的flowtimeout时间为限制,超过时间则标志为结束,随后统计一条数据流中的统计信息作为提取的特征,且统计的特征都分为正反向,规定由源地址到目的地址为正向,目的地址到源地址为反向,为每个数据流构建一个标志位称为Flow ID,包含以下5个字段:
(1)Source IP:源IP地址;
(2)Destination IP:目的IP地址;
(3)Source port:源端口号;
(4)Destination port:目的端口号;
(5)Protocol number:协议号。
进一步,前述S2中,规则集检测模块将从每一条数据流的Flow ID中提取源IP地址、目的IP地址和协议号,该模块会将源IP地址、目的IP地址两者中与本地设备IP地址相同的标注为内部IP地址,另一个标注为外部IP地址,并组成[协议号,内部IP地址,外部IP地址]的判别式与规则集中的规则进行匹配。匹配方法为常规遍历,即将判别式与规则集中规则逐条比对是否相同。规则集中的规则格式包含以下3个字段:
(1)Protocol number:协议号;
(2)External IP:外部IP地址;
(3)Internal IP:内部IP地址。
进一步,前述S3中,若判别式与规则集中的规则匹配成功则判断为良性数据流,同时记录到普通日志文件中,文件中标注对应数据流的Flow ID,时间戳以及判断结果,若匹配失败,则此数据流为未知流,规则集检测模块交付机器学习检测模块进行第二轮检测。
进一步,前述S4,机器学习检测模块在收到规则集检测模块传来的数据流后,将会去除数据流中代表特定网络环境的统计特征如Flow ID、源IP地址、目的IP地址、源端口号、目的端口号、协议号以及时间戳,这些特征可能会使机器学习模型过拟合到固定的网段从而失去泛化能力,所以这些特征不会参与机器学习模型训练以及检测的流程。随后剩余特征数据将由机器学习模型处理并进行多分类结果,结果包含类别名称以及相应概率。
进一步,前述S5中,由机器学习检测模块中的机器学习模型处理数据流的特征数据后,若分类结果为良性类则记录在普通日志文件中,文件中标注对应数据流的Flow ID,时间戳、判断结果良性以及对应概率。若分类为某一具体攻击类别则报警,即输出警告语句,语句内容包含以下信息:
(1)Flow ID:数据流的标识符;
(2)Timestamp:时间戳;
(3)Attack category:预测的攻击类别;
(4)Category probability:对应的类别概率;
以上信息也会同时记录在警报日志文件中。
进一步,前述S6中,机器学习检测模块会通过对设备正常流量进行画像即记录与分析,构建待定规则记录表,从而更新规则集检测模块中的规则集。当一条数据流被机器学习检测模块检测为良性类且预测良性概率满足设定阈值时,则其中的Flow ID将会进行规则化,即提取源IP地址、目的IP地址和协议号,组成[协议号,内部IP地址,外部IP地址]的待定规则,并存储在待定规则记录表(Record_List)中,表中会对该待定规则设定计数器与计时器,若新进入机器学习检测模块的数据流被分类为良性类,并且满足设定的良性类概率则根据Flow ID规则化,如果规则化后与已存在的待定规则一致,则计数器加一,计时器更新记录时间。当满足设定的次数与时间跨度阈值,则接受待定规则进入规则集成为正式可以应用的合法规则。如果在待定期间,待定规则代表了为任意一个攻击类别的数据流,则从Record_List记录表中删除该待定规则,若为良性类,但是预测概率不符合阈值则继续追踪对应的数据流,Record_List记录表中该待定规则对应的表项不做更新。
进一步,在规则集检测模块中使用的规则集可以人工预先设定规则内容,规则设定格式为[协议号,内部IP地址,外部IP地址]。设定内容可包含:与本地路由IP地址通信的规则条目、与常见DNS服务IP地址通信的规则条目等。其中协议号可为TCP协议号、UDP协议号或为默认数字0,内部IP地址设定为设备所持有的IP地址,外部地址为所涉及到的本地路由IP地址、常见DNS服务IP地址。这些规则预先存储在规则集中,一旦入侵检测方法启动可以在规则集检测模块立即生效。若规则集中无人工预先设定规则,则规则集中的规则全部由机器学习检测模块在运行中生成。
进一步,在机器学习检测模块中使用的机器学习模型需要预先训练,学习当前网段的流量行为,具体方法为:以离线方式捕获当前网段的正常流量数据,结合现有公开攻击数据集的恶意流量,构建以数据流为单位的训练与测试数据集。对训练数据集与测试数据集中的数据进行标准化、归一化,以及特征提取。数据预处理完毕后即可用来训练机器学习模型,预先设定默认的超参数进行训练,训练过程即让模型熟悉当前网段环境,并实现分类功能。训练完毕后再用测试数据集对训练好的机器学习模型进行进一步测试。测试性能结果若符合预期则导出机器学习模型,测试性能结果若不符合预期则调整超参数并重新训练。
本发明还提供一种基于流量画像与机器学习的物联网入侵检测***,***包括流量捕获模块,规则集检测模块,机器学习检测模块,日志记录模块,入侵报警模块。其中,所述流量捕获模块,用于捕获当前网段的流量数据包并处理成为数据流发送给规则集检测模块。所述规则集检测模块,用于对数据流进行初步检测,检测为良性则存入日志记录模块,否则将数据流传送到机器学习检测模块。所述机器学习模块实现两重功能,第一个功能是对传入的数据流进行分类,若为良性类则存入日志记录模块,若为攻击类则调用入侵报警模块进行警报信息展示,并存入日志记录模块进行记录;第二个功能是实现对规则集检测模块中规则集更新的功能。
本发明具有如下有益效果:本发明提出的基于流量画像与机器学习的物联网入侵检测方法可以快速准确地实现入侵检测功能。本发明提供了具有三个模块的入侵检测方法,流量捕获模块将一系列数据包整合为数据流,减轻入侵检测***的检测负担;规则集检测模块能够辅助入侵检测***加快检测速度,并且减小检测的误报率;机器学习检测模块能够根据物联网设备的流量特征对数据流进行准确地分类,减小检测的漏报率,同时为网络管理员提供攻击类别预测,帮助管理员更快地实施防御策略应对攻击。三个模块共同工作,使得入侵检测***达到较高的检测速率、较低的漏报率与误报率。
附图说明
图1是基于流量画像与机器学习的物联网入侵检测方法的流程图;
图2是本专利在使用训练较好的7种机器学习模型下入侵检测方法的误报率与漏报率;
图3是现有的单层机器学习模型入侵检测方法与本专利提出的入侵检测方法耗时的比较;
图4是现有的单层机器学习模型入侵检测方法与本专利提出的入侵检测方法在误报率的比较;
图5是本专利基于流量画像与机器学习的物联网入侵检测***的结构示意图。
具体实施方式
以下结合附图,对本发明的技术方案和效果进行详细说明,还提供一个和现有的单层机器学习模型入侵检测方法进行比较的仿真结果作为实施例,但此实施例仅作为示例,目的在于解释本发明,不能理解为本发明的限制。
实施例:本发明利用机器学习与流量画像的技术,针对物联网智能家居的网络场景,提出了相应的入侵检测方法,该方法有较低的误报率、漏报率,以及实时性较强的特点。
图1展示了本发明实施例的基于流量画像与机器学习的物联网入侵检测方法,所述方法包括如下步骤:
S1.由流量捕获模块捕获网段内流量数据包,按特定规则将数据包聚合为数据流;
流量捕获模块捕获的数据包将会被整合为数据流,数据流是一系列在一定时间间隔内经过流量捕获模块的数据包提取统计特征后形成的数据集合,例如每秒的流量字节数(Flow Bytes/s)、每秒流包数(Flow Packets/s)等,流量捕获模块提取传输层数据包的统计信息,以一个TCP流或一个UDP流为一个单位,TCP流以FIN标志为结束,UDP流以设置的flowtimeout时间为限制,超过时间则标志为结束,随后统计一条数据流中的统计信息作为提取的特征,且统计的特征都分为正反向,规定由源地址到目的地址为正向,目的地址到源地址为反向,为每个数据流构建一个标志位称为Flow ID,包含以下5个字段:
(1)Source IP:源IP地址;
(2)Destination IP:目的IP地址;
(3)Source port:源端口号;
(4)Destination port:目的端口号;
(5)Protocol number:协议号。
S2.由规则集检测模块执行第一轮检测,根据数据流的标识符位与规则集进行匹配。
规则集检测模块将从每一条数据流的Flow ID中提取源IP地址、目的IP地址和协议号。该模块会将源IP地址、目的IP地址两者中与本地设备IP地址相同的标注为内部IP地址,另一个标注为外部IP地址,并组成[协议号,内部IP地址,外部IP地址]的判别式与规则集中的规则进行匹配。匹配方法为常规遍历,即将判别式与规则集中规则逐条比对是否相同。规则集中的规则格式包含以下3个字段:
(1)Protocol number:协议号;
(2)External IP:外部IP地址;
(3)Internal IP:内部IP地址。
S3.匹配成功则判断为良性并记录,结束检测,若失败则进行第二轮检测。
若判别式与规则集中的规则匹配成功则将该数据流判断为良性数据流,同时记录到普通日志文件中。记录格式为对应数据流的Flow ID,时间戳以及判断结果的集合。若匹配失败,则此数据流为未知流,规则集检测模块将会把此条数据流交付机器学习检测模块进行第二轮检测。
S4.由机器学习检测模块执行第二轮检测,由机器学习模型根据数据流携带的统计特征进行分类。
机器学习检测模块收到规则集检测模块传来的数据流后,会去除数据流中代表特定网络环境的统计特征如Flow ID、源IP地址、目的IP地址、源端口号、目的端口号、协议号以及时间戳,因为这些特征会导致机器学习模型过拟合,所以不参与机器学习模型的训练阶段,同时也不会参与检测阶段。随后剩余特征数据将由机器学习模型处理并进行多分类并给出相应结果反馈,反馈格式为预测的类别名称以及相应概率的集合。
S5.若分类为良性则不报警只记录,若为攻击则报警并记录,同时提供预测的攻击类型以及对应概率。
由机器学习检测模块中的机器学习模型处理数据流的特征数据后,若分类结果为良性类则记录在普通日志文件中,记录格式为对应数据流的Flow ID,时间戳、判断结果良性以及对应概率的集合。若分类为某一具体攻击类别则报警,即输出警告语句,语句内容包含以下信息:
(1)Flow ID:数据流的标识符;
(2)Timestamp:时间戳;
(3)Attack category:预测的攻击类别;
(4)Category probability:对应的类别概率;
以上信息也会同时记录在警报日志文件中。
S6.机器学习模块更新规则集。
表1
机器学习检测模块会通过对设备正常流量进行画像即记录与分析,构建待定规则记录表,从而更新规则集检测模块中的规则集。如表1所示,当一条数据流被机器学习检测模块检测为良性类(Cat)且预测良性概率(CP)满足设定阈值时,则其中的Flow ID将会进行规则化,即提取源IP地址、目的IP地址和协议号,组成[协议号,内部IP地址,外部IP地址]格式的待定规则,与S2中提及的判别式(Disc)格式一致。将待定规则存储在待定规则记录表(Record_List)中,表中会对该待定规则设定计数器与计时器,若新进入机器学习检测模块的数据流被分类为良性类,并且满足设定的良性类概率则根据FlowID规则化,如果规则化后与已存在的待定规则一致,则计数器加一,计时器更新记录时间。当满足设定的次数与时间跨度阈值,则接受待定规则进入规则集成为正式可以应用的合法规则。如果在待定期间,待定规则代表了为任意一个攻击类别的数据流,则从Record_List记录表中删除该待定规则,若为良性类,但是预测概率不符合阈值则继续追踪对应的数据流,Record_List记录表中该待定规则对应的表项不做更新。同时规则集也可以人工定义,预先存储在其中的规则可以在检测环节立即生效。若无人工添加,则规则集全部由机器学习检测模块在运行中自动更新。
图2展示了本专利在使用训练较好的7种机器学习模型下入侵检测方法的误报率与漏报率,7种机器学习模型分别是:
(1)Gradient Boosting Decision Tree(GBDT):梯度提升决策树;
(2)Logistic Regression(LR):逻辑回归;
(3)Decision Tree(DT):决策树;
(4)Random Forest(RF):随机森林;
(5)K-Nearest Neighbors(KNN):k最近邻算法;
(6)Multilayer Perceptron(MLP):多层感知器;
(7)Support Vector Machine(SVM):支持向量机。
可以看出,在机器学习检测模块中的机器学习模型训练情况较好的条件下,我们提出的入侵检测方法拥有很低的漏报率,这体现在分别搭载7种机器学习模型的入侵检测方法都拥有接近0%的漏报率。虽然搭载KNN与SVM机器学习模型的入侵检测方法拥相对较高的误报率,但是任未超过40%,表明漏报率属于较低水准。
图3展示了现有的单层机器学习模型入侵检测方法与本专利提出的入侵检测方法耗时的比较。途中所提到的机器学习模型和图2中的机器学习模型选择的超参数一致。由图中可知,本准里提出的入侵检测方法不论是选择哪一种机器学习模型应用到机器学检测模块都能够比使用对应机器学习模型进行检测的单层入侵检测方法耗时更低,在KNN机器学习模型上,下降了近21%,效果显著。
图4展示了一种机器学习不能够很好地识别网络环境,即训练效果不佳的场景。应用这种效果不佳的机器学习模型作为检测模型会让误报率有所增加。但是在图4中可以观察到,在应用了本专利的入侵检测方法后,误报率比现有的单层机器学习模型入侵检测方法低。最明显的就是在应用SVM机器学习模型后,本专利的漏报率值比对应的单层机器学习入侵检测方法的漏报率值少80%。
图5展示了本发明基于流量画像与机器学习的物联网入侵检测***的结构示意图,包括:流量捕获模块,用于捕获入侵检测***所在工作网段的流量数据包,并整合处理成数据流,数据流携带标识符以及数据流的统计特征。
规则集检测模块,与流量捕获模块相连,用于检测数据流是否为良性,该模块包含规则集,其中记录合法规则;若检测结果为良性则将数据流信息存入日志记录模块,否则将数据流传入机器学习检测模块。
机器学习检测模块,与规则集检测模块项链,用于实现两个功能:第一个功能是对传入的数据流进行分类,若为良性类则存入日志记录模块,若为攻击类则调用入侵报警模块进行警报信息展示,并存入日志记录模块进行记录;第二个功能是实现对规则集检测模块中规则集更新的功能,该模块维护一个待定规则记录表,对待定规则的时间跨度和出现次数进行计数,达到设定阈值即可将待定规则加入规则集检测模块的规则集中。
日志记录模块,用于存储规则集检测模块与机器学习检测模块产生的日志信息,可以将日志信息存储到云端服务器,随时提供给网络管理员进行审计。
入侵警报模块,用于在收到机器学习检测模块的报警信号时展示报警信息,可以是将警报以短信方式发送给网络管理员,或直接将警报输出到在硬件显示器上。
需要说明的是,本实施例中的各模块(或单元)是逻辑意义上的,具体实现时,多个模块(或单元)可以合并成一个模块(或单元),一个模块(或单元)也可以拆分成多个模块(或单元)。还需要说明的是,附图中仅给出了与本发明相关的部分而非全部结构。
需要说明的是,流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本相同的方式或按相反的顺序,来执行功能,这应被专利的实施例所属技术领域的技术人员所理解。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包括于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (9)
1.一种基于流量画像与机器学习的物联网入侵检测方法,其特征在于,包括以下步骤:
S1.由流量捕获模块捕获网段内流量数据包,按特定规则将数据包聚合为数据流;
S2.由规则集检测模块执行第一轮检测,根据数据流的标识符位与规则集进行匹配;
S3.匹配成功则判断为良性并记录,结束检测,若失败则进行第二轮检测;
S4.由机器学习检测模块执行第二轮检测,由机器学习模型根据数据流携带的统计特征进行分类;
S5.若分类为良性则不报警只记录,若为攻击则报警并记录,同时提供预测的攻击类型以及对应概率;
S6.机器学习检测模块更新规则集;
其中,所述S6中,机器学习检测模块会通过对设备正常流量进行画像即记录与分析,构建待定规则记录表,从而更新规则集检测模块中的规则集,当一条数据流被机器学习检测模块检测为良性类且预测良性概率满足设定阈值时,则其中的Flow ID将会进行规则化,即提取源IP地址、目的IP地址和协议号,组成[协议号,内部IP地址,外部IP地址]的待定规则,并存储在待定规则记录表Record_List中,表中会对该待定规则设定计数器与计时器,若新进入机器学习检测模块的数据流被分类为良性类,并且满足设定的良性类概率则根据FlowID规则化,如果规则化后与已存在的待定规则一致,则计数器加一,计时器更新记录时间,当满足设定的次数与时间跨度阈值,则接受待定规则进入规则集成为正式应用的合法规则,如果在待定期间,待定规则代表了为任意一个攻击类别的数据流,则从Record_List记录表中删除该待定规则,若为良性类,但是预测概率不符合阈值则继续追踪对应的数据流,Record_List记录表中该待定规则对应的表项不做更新。
2.如权利要求1所述的基于流量画像与机器学习的物联网入侵检测方法,其特征在于,所述S1中,由流量捕获模块捕获的数据包将会被整合为数据流,数据流是一系列在一定时间间隔内经过流量捕获模块的数据包提取统计特征后形成的数据集合,流量捕获模块提取传输层数据包的统计信息,数据流以一个TCP流或一个UDP流为一个单位;TCP流以FIN标志为结束,UDP流以设置的flowtimeout时间为限制,超过时间则标志为结束,随后统计一条数据流中的统计信息作为提取的特征,且统计的特征都分为正反向,规定由源地址到目的地址为正向,目的地址到源地址为反向,为每个数据流构建一个标志位称为Flow ID,包含以下5个字段:
(1)Source IP:源IP地址;
(2)Destination IP:目的IP地址;
(3)Source port:源端口号;
(4)Destination port:目的端口号;
(5)Protocol number:协议号。
3.如权利要求1所述的基于流量画像与机器学习的物联网入侵检测方法,其特征在于,所述S2中,规则集检测模块将从每一条数据流的Flow ID中提取源IP地址、目的IP地址和协议号,该规则集检测模块会将源IP地址、目的IP地址两者中与本地设备IP地址相同的标注为内部IP地址,另一个标注为外部IP地址,并组成[协议号,内部IP地址,外部IP地址]的判别式与规则集中的规则进行匹配,匹配方法为常规遍历,即将判别式与规则集中规则逐条比对是否相同,规则集中的规则格式包含以下3个字段:
(1)Protocol number:协议号;
(2)External IP:外部IP地址;
(3)Internal IP:内部IP地址。
4.如权利要求3所述的基于流量画像与机器学习的物联网入侵检测方法,其特征在于,所述S3中,若判别式与规则集中的规则匹配成功则判断为良性数据流,同时记录到普通日志文件中,文件中标注对应数据流的Flow ID,时间戳以及判断结果,若匹配失败,则此数据流为未知流,规则集检测模块交付机器学习检测模块进行第二轮检测。
5.如权利要求1所述的基于流量画像与机器学习的物联网入侵检测方法,其特征在于,所述S4中,机器学习检测模块在收到规则集检测模块传来的数据流后,将会去除数据流中代表特定网络环境的统计特征,所述的特定网络环境的统计特征包括Flow ID、源IP地址、目的IP地址、源端口号、目的端口号、协议号以及时间戳,这些特征会使机器学习模型过拟合到固定的网段从而失去泛化能力,所以这些特征不会参与机器学习模型训练以及检测的流程,随后剩余特征数据将由机器学习模型处理进行多分类并给出相应结果,结果包含类别名称以及相应概率。
6.如权利要求1所述的基于流量画像与机器学习的物联网入侵检测方法,其特征在于,所述S5中,由机器学习检测模块中的机器学习模型处理数据流的特征数据后,若分类结果为良性类则记录在普通日志文件中,文件中标注对应数据流的Flow ID、时间戳、判断结果良性以及对应概率,若分类为某一具体攻击类别则报警,即输出警告语句,语句内容包含以下信息:
(1)Flow ID:数据流的标识符;
(2)Timestamp:时间戳;
(3)Attack category:预测的攻击类别;
(4)Category probability:对应的类别概率;
以上信息也会同时记录在警报日志文件中。
7.如权利要求1所述的基于流量画像与机器学习的物联网入侵检测方法,其特征在于,在规则集检测模块中使用的规则集为人工预先设定规则内容,规则设定格式为[协议号,内部IP地址,外部IP地址],设定规则内容包含:与本地路由IP地址通信的规则条目、与常见DNS服务IP地址通信的规则条目,其中协议号为TCP协议号、UDP协议号或为默认数字0,内部IP地址设定为设备所持有的IP地址,外部IP地址为所涉及到的本地路由IP地址、常见DNS服务IP地址,这些规则预先存储在规则集中,一旦入侵检测方法启动能在规则集检测模块立即生效,若规则集中无人工预先设定规则,则规则集中的规则全部由机器学习检测模块在运行中生成。
8.如权利要求1所述的基于流量画像与机器学习的物联网入侵检测方法,其特征在于,在机器学习检测模块中使用的机器学习模型需要预先训练,即学习当前网段的流量行为,具体方法为:以离线方式捕获当前网段的正常流量数据结合现有公开攻击数据集的恶意流量数据,构建以数据流为单位的训练与测试数据集,对训练数据集与测试数据集中的数据进行标准化、归一化,以及特征提取,数据预处理完毕后即可用来训练机器学习模型,预先设定默认的超参数进行训练,训练过程即让模型熟悉当前网段环境,并实现分类功能,训练完毕后再用测试数据集对训练好的机器学习模型进行进一步测试,测试性能结果若符合预期则导出机器学习模型,测试性能结果若不符合预期则调整超参数并重新训练。
9.一种基于流量画像与机器学习的物联网入侵检测***,用于实现权利要求1-8任意一项基于流量画像与机器学习的物联网入侵检测方法,其特征在于,所述***包括流量捕获模块,规则集检测模块,机器学习检测模块,日志记录模块以及入侵报警模块,其中,所述流量捕获模块,用于捕获当前网段的流量数据包并处理成为数据流发送给规则集检测模块,所述规则集检测模块,用于对数据流进行初步检测,检测为良性则存入日志记录模块,否则将数据流传送到机器学习检测模块,所述机器学习检测模块实现两重功能,第一个功能是对传入的数据流进行分类,若为良性类则存入日志记录模块,若为攻击类则调用入侵报警模块进行警报信息展示,并存入日志记录模块进行记录;第二个功能是实现对规则集检测模块中规则集更新的功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210952792.7A CN115022100B (zh) | 2022-08-10 | 2022-08-10 | 一种基于流量画像与机器学习的物联网入侵检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210952792.7A CN115022100B (zh) | 2022-08-10 | 2022-08-10 | 一种基于流量画像与机器学习的物联网入侵检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115022100A CN115022100A (zh) | 2022-09-06 |
CN115022100B true CN115022100B (zh) | 2022-11-01 |
Family
ID=83066295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210952792.7A Active CN115022100B (zh) | 2022-08-10 | 2022-08-10 | 一种基于流量画像与机器学习的物联网入侵检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115022100B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102724317A (zh) * | 2012-06-21 | 2012-10-10 | 华为技术有限公司 | 一种网络数据流量分类方法和装置 |
CN109257393A (zh) * | 2018-12-05 | 2019-01-22 | 四川长虹电器股份有限公司 | 基于机器学习的xss攻击防御方法及装置 |
CN110224990A (zh) * | 2019-07-17 | 2019-09-10 | 浙江大学 | 一种基于软件定义安全架构的入侵检测*** |
CN110753064A (zh) * | 2019-10-28 | 2020-02-04 | 中国科学技术大学 | 机器学习和规则匹配融合的安全检测*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109547466B (zh) * | 2018-12-17 | 2021-11-02 | 北京车和家信息技术有限公司 | 基于机器学习提高风险感知能力的方法及装置、计算机设备和存储介质 |
CN113067743B (zh) * | 2020-01-02 | 2022-12-13 | ***通信有限公司研究院 | 流规则提取方法、装置、***及存储介质 |
-
2022
- 2022-08-10 CN CN202210952792.7A patent/CN115022100B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102724317A (zh) * | 2012-06-21 | 2012-10-10 | 华为技术有限公司 | 一种网络数据流量分类方法和装置 |
CN109257393A (zh) * | 2018-12-05 | 2019-01-22 | 四川长虹电器股份有限公司 | 基于机器学习的xss攻击防御方法及装置 |
CN110224990A (zh) * | 2019-07-17 | 2019-09-10 | 浙江大学 | 一种基于软件定义安全架构的入侵检测*** |
CN110753064A (zh) * | 2019-10-28 | 2020-02-04 | 中国科学技术大学 | 机器学习和规则匹配融合的安全检测*** |
Non-Patent Citations (3)
Title |
---|
A Novel Detection and Localization Scheme of Wormhole Attack in IoT Network;Cheng Chen等;《IEEE》;20220507;全文 * |
基于机器学习的入侵检测***;蒋道霞;《淮阴工学院学报》;20050228(第01期);全文 * |
面向视频监控网络的入侵检测技术研究;汪周红;《中国优秀硕士学位论文全文数据库》;20220715;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115022100A (zh) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Salman et al. | A machine learning based framework for IoT device identification and abnormal traffic detection | |
Lima Filho et al. | Smart detection: an online approach for DoS/DDoS attack detection using machine learning | |
Yu et al. | An efficient SDN-based DDoS attack detection and rapid response platform in vehicular networks | |
US10187401B2 (en) | Hierarchical feature extraction for malware classification in network traffic | |
US10587632B1 (en) | Neural network-based malware detection | |
US8682812B1 (en) | Machine learning based botnet detection using real-time extracted traffic features | |
CN113364752B (zh) | 一种流量异常检测方法、检测设备及计算机可读存储介质 | |
CN109600363A (zh) | 一种物联网终端网络画像及异常网络访问行为检测方法 | |
Viegas et al. | Machine learning intrusion detection in big data era: A multi-objective approach for longer model lifespans | |
CN111464485A (zh) | 一种加密代理流量检测方法和装置 | |
Abraham et al. | A comparison of machine learning approaches to detect botnet traffic | |
Liu et al. | Predicting network attacks with CNN by constructing images from NetFlow data | |
CN113452676B (zh) | 一种检测器分配方法和物联网检测*** | |
CN110034966B (zh) | 一种基于机器学习的数据流分类方法及*** | |
CN111611280A (zh) | 一种基于cnn和sae的加密流量识别方法 | |
Alkhatib et al. | Unsupervised network intrusion detection system for AVTP in automotive Ethernet networks | |
Alani et al. | DeepIIoT: An explainable deep learning based intrusion detection system for industrial IOT | |
US20220263846A1 (en) | METHODS FOR DETECTING A CYBERATTACK ON AN ELECTRONIC DEVICE, METHOD FOR OBTAINING A SUPERVISED RANDOM FOREST MODEL FOR DETECTING A DDoS ATTACK OR A BRUTE FORCE ATTACK, AND ELECTRONIC DEVICE CONFIGURED TO DETECT A CYBERATTACK ON ITSELF | |
Xu et al. | [Retracted] DDoS Detection Using a Cloud‐Edge Collaboration Method Based on Entropy‐Measuring SOM and KD‐Tree in SDN | |
CN116915450A (zh) | 基于多步网络攻击识别和场景重构的拓扑剪枝优化方法 | |
Diab et al. | Denial of service detection using dynamic time warping | |
Yue et al. | [Retracted] Detecting Temporal Attacks: An Intrusion Detection System for Train Communication Ethernet Based on Dynamic Temporal Convolutional Network | |
CN115022100B (zh) | 一种基于流量画像与机器学习的物联网入侵检测方法 | |
Zeng et al. | TEST: An end-to-end network traffic examination and identification framework based on spatio-temporal features extraction | |
Anand et al. | An efficient IDS for slow rate HTTP/2.0 DoS Attacks using one class classification |
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 |