CN112651435A - 一种基于自学习的电力网络探针流量异常的检测方法 - Google Patents
一种基于自学习的电力网络探针流量异常的检测方法 Download PDFInfo
- Publication number
- CN112651435A CN112651435A CN202011528373.8A CN202011528373A CN112651435A CN 112651435 A CN112651435 A CN 112651435A CN 202011528373 A CN202011528373 A CN 202011528373A CN 112651435 A CN112651435 A CN 112651435A
- Authority
- CN
- China
- Prior art keywords
- network segment
- network
- flow
- feature
- features
- 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
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/06—Electricity, gas or water supply
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Economics (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Public Health (AREA)
- General Business, Economics & Management (AREA)
- Water Supply & Treatment (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Evolutionary Biology (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于自学习的电力网络探针流量异常的检测方法,包括:将网段分类;针对网段类别设定对应的时间窗口和信息熵差值阈值;采集流量探针上的元数据,根据五元组将元数据聚合为网段通信流;根据信息熵差值与信息熵差值阈值的大小关系初步标记网段通信流是否异常,然后人工纠正,最后进行特征提取;对特征进行特征编码后,根据特征间的线性相关性并根据特征与分类标签之间的非线性相关性保留最终特征;对特征选择后的数据进行欠采样处理;对欠采样后的数据进行标准化处理;将标准化处理后的数据在梯度提升树模型上进行模型训练后确定各网段通信流是否异常。本发明有效提升了异常流量检测的准确率并节省了检测的时间。
Description
技术领域
本发明涉及智能电网检测领域,尤其涉及一种基于自学习的电力网络探针流量异常的检测方法。
背景技术
在智能电网的建设过程中,为了构建能够实时检测到网络中异常流量的监测平台,电网公司在网、省、地各级单位采取就近原则部署流量探针进行流量采集,把网络设备链路IP原始流量镜像到流量探针,流量探针进而将解析后的流量元数据通过UDP的方式送至监测平台进行分析处理。在流量探针的部署实施过程中,需要对路由器(或交换机)的多个端口做镜像,可能存在配置配漏、配错、配置不生效等问题,导致流量镜像不全,影响威胁分析。
监测平台在运行过程中,全网部署的多个探针分布在各个单位,各单位的配置变更、镜像线异常、光模块异常等,都可能导致流量镜像不全,极端情况下,网络安全策略变更或网络通道异常问题,可能导致某个探针所有元数据都无法上送。全网探针之多,已无法通过日常人工巡检的方式来保证全网流量镜像配置的完整性。在这种情况下,需要一种自动检测模型,定期检测各个探针流量镜像的完整性,保证系统能够正常分析威胁。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种基于自学习的电力网络探针流量异常的检测方法,通过采集流量探针送出的元数据,将元数据聚合为网段通信流并进行特征提取,结合皮尔逊相关系数与最大互信息系数进行特征选择,针对特征选择所选取的数据进行欠采样处理,并对欠采样后的数据标准化,最后通过调参优化的方式在梯度提升树上进行模型训练,进而检测出各网段通信流的异常流量,有效的提升了异常流量检测的准确率,同时大大的降低了检测的时间。
为解决上述技术问题,本发明提出的技术方案为:
一种基于自学习的电力网络探针流量异常的检测方法,包括以下步骤:
S1:按照网段所在区域的差异性将各网段划分为不同的类型;
S2:分别设定不同类型的网段对应的时间窗口和信息熵差值阈值;
S3:采集流量探针送出的元数据,以预设时间间隔为界限,根据元数据五元组将预设时间间隔内同一网段产生的元数据聚合为该网段对应的网段通信流;
S4:分别计算不同网段通信流对应的时间窗口内网段通信IP数量与所占比例的信息熵差值,并根据信息熵差值与对应的信息熵差值阈值的大小关系初步标记网段通信流是否异常,然后通过人工检查的方式对初步标记的网段通信流状态进行纠正,最后构建基于异常网段通信流的网络流量数据集并对纠正后的网段通信流数据进行特征提取,将提取出的数据作为网络流量数据集中的特征;
S5:将网络流量数据集中特征的分类变量转换为数值型的表达;
S6:针对网络流量数据集中的特征以及对应的分类标签,根据特征间的线性相关性以及特征与分类标签之间的非线性相关性保留最终特征并丢弃其他特征;
S7:对特征选择后的网络流量数据集进行欠采样处理;
S8:对欠采样后的网络流量数据集进行标准化处理;
S9:将标准化处理后的网络流量数据集分割为训练集和测试集,将训练集在梯度提升树模型上进行训练后,将测试集在训练好的梯度提升树模型上进行测试,根据测试结果确定各网段通信流是否异常。
优选的,步骤S2具体包括:根据每种类型的网段对应的活动规律并结合历史数据选择每种类型网段对应的时间窗口和信息熵差值阈值。
优选的,步骤S4中通过人工检查的方式对初步标记的网段通信流状态进行纠正具体包括:针对初步标记为异常的网段通信流对应的网段,根据该网段所属类型所表现的异常的规律,人工检查网段通信流中是否存在符合规律的异常,是则保留该网段的网段通信流的状态为异常,否则将该网段的网段通信流状态修改为正常。
优选的,步骤S4中计算对应时间窗口内网段通信IP数量与所占比例的信息熵差值包括以下步骤:
A1:将当前网段通信流对应的时间窗口作为原时间窗口,从预设时间间隔内选取原时间窗口的起始时间,统计原时间窗口内的每个时间节点中当前网段通信流对应的网段内产生通信的IP数量,根据统计结果得到原时间窗口内的网段通信IP数量序列并计算得到原时间窗口内序列的信息熵;
A2:将原时间窗口向前滑动一个时间节点得到新时间窗口,统计新时间窗口内的每个时间节点中当前网段通信流对应的网段内产生通信的IP数量,根据统计结果得到新时间窗口内的网段通信IP数量序列并计算得到新时间窗口内序列的信息熵;
A3:将新时间窗口内序列的信息熵值减去原时间窗口内序列的信息熵值得到信息熵差值。
优选的,步骤S5具体包括:通过one-hot特征编码将特征中的分类变量映射为二进制向量。
优选的,步骤S6具体包括:
S601:通过特征间的笛卡尔积计算得到特征对,分别计算特征对之间的皮尔逊相关系数作为特征对的特征间相关性值,将所有特征对之间的皮尔逊相关系数组成得到各特征之间的皮尔逊相关系数矩阵,去除矩阵中重复的特征间相关性值以及对角线位置的特征间相关性值得到简化的各特征之间的皮尔逊相关系数矩阵,针对简化的矩阵中各特征对,若特征对之间的皮尔逊相关系数处于正相关性阈值和负相关性阈值之间,则保留特征对的两个特征,若特征对之间的皮尔逊相关系数大于正相关性阈值或小于负相关性阈值,则保留其中一个特征;
S602:计算剩余特征中每个特征与分类标签的类别变量的最大互信息系数,判断计算结果是否大于预设的最大互信息系数阈值,是则将特征作为最终特征,否则舍弃特征。
优选的,步骤S7具体包括:通过SMOTE算法对网络流量数据集进行欠采样处理。
优选的,步骤S8具体包括:对欠采样后的网络流量数据集采用z-score标准化处理。
优选的,步骤S9中,所述训练集和测试集按照8:2划分,将训练集在梯度提升树模型上进行训练后,针对训练结果调整参数,包括:设定损失函数为对数似然损失函数,步长为0.1,弱学习器的最大个数为240,决策树的最大深度为13,内部节点再划分所需最小样本数为120,叶子节点最少样本数为20,划分时考虑的最大特征数为
本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有被编程或配置以实现上述的基于自学习的电力网络探针流量异常的检测方法的计算机程序。
与现有技术相比,本发明的优点在于:
本发明通过对各网段进行分类,针对每种类别的网段设定合适的时间窗口和信息熵差值阈值,采用基于信息熵差值的方式实现了对网段通信正常或异常的基本判定。同时,本发明通过五元组将网络元数据聚合为网段通信流,进而基于五元组以及网段通信流的异常行为进行特征提取,解决流量数据难以量化的问题。最后,本发明针对网络流量数据集中的特征,采用基于皮尔逊相关系数与最大互信息系数相融合的特征选择方法,在保证模型准确率的情况下,大大降低了检测的时间,同时采用了SMOTE欠采样处理方法,标准化方法等,进而大大的提升了梯度提升树模型的F1得分,实现梯度提升树模型较好的表现效果,能够十分准确的检测到各网段通信流中存在的异常流量,为网络流的异常行为检测提供了有效的方法。
附图说明
图1为本发明实施例的方法的执行步骤示意图。
图2为本发明实施例的方法的工作流程图
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
如图1所示,本发明的基于自学习的电力网络探针流量异常的检测方法包括以下步骤:
S1:按照网段所在区域的差异性将各网段划分为不同的类型,从网段的所处环境来看,不同等级的调度中心、变电站业务不同,所建设的系统信息化程度不同,存在内部系统和外部系统访问量也不同,因此,在类似于此的不同场景下,网段通信IP的数量和所占比例就存在了一定的差异性,同种类型的网段通信IP数量和所占比例具有较小的差异性,不同类型的网段通信IP数量和所占比例具有较大的差异性,若网段所在区域的差异性较小,还可以根据网段的使用条件的差异性对各网段进行划分,如图2所示,本实施例中按照网段所在区域的差异性将各网段划分为一类网段、二类网段和三类网段,然后分别针对每种类型的网段进行后续步骤,但针对不同的环境,网段的类型划分不仅限于本实施例中的划分方式;
S2:针对不同类型的网段,分别设定对应的时间窗口和信息熵差值阈值,如图2所示,本实施例中,每种类型的网段对应不同的人类活动区域(如白天和晚上、节假日、台风天气等情况),而不同区域的活动规律是存在一定差异性的,因此从历史数据中归纳总结这些规律并通过专家经验选择每种类型网段对应的时间窗口和信息熵差值阈值;
在一定的时间窗口内,网段通信IP数量为具有固定长度的序列,且对于该序列,可得到一个信息熵值,且熵值越大,序列越稳定,以网段通信IP数量为例,其中,设时间窗口内每个单位时间产生通信的IP数量X可分别表示为x1,x2,…,xm,对X进行信息熵的计算的函数表达式如下所示:
上式中,xi∈{x1,x2,…,xm},p(xi)表示随机变量xi发生的概率,本实施例中表示时间窗口一个单位时间内产生通信的IP数量占时间窗口中所有产生通信的IP数量的比例,且信息熵的取值范围为0≤H(X)≤log2m,m为窗口大小,即时间窗口中单位时间的数量;
随着时间的向前推移,时间窗口向前滑动一个单位时间的位置,若熵值增大,则在新的时间点序列更稳定,相反的,熵值减少,则在新的时间点序列明显出现波动。不难看出,此时存在一个信息熵差值,且当信息熵差值为负时,序列出现波动,即网段出现异常,因此本实施例综合考虑网段通信IP数量与所占比例的信息熵差值,并针对不同类型的网段类型设定对应时间窗口和信息熵差值阈值,进而实现网段通信情况的判定,为网段通信的正常和异常的分离提供借鉴意义;
S3:采集流量探针送出的元数据,以预设时间间隔为界限,并根据元数据五元组将预设时间间隔内同一网段产生的元数据聚合为该网段对应的网段通信流;
网段通信流能够较好地反映异常网段IP通信行为,网段通信流由多条网络流所构成,网络流是指两个网络主机之间在一次完整的网络连接中所有网络数据包的集合。根据当前公认的标准,是指在限定时间内,所有具有相同五元组的网络数据包集合,包括集合上相关数据所携带的数据特征的总和。其中,五元组包括:源IP地址、源端口号、目的IP地址、目的端口号、协议字段。因此根据五元组就能找到属于同一网段的所有IP地址对应的元数据,同时也可以根据五元组统计预设时间间隔内的网段通信IP数量;
S4:针对不同的网段通信流,分别计算对应时间窗口内网段通信IP数量与所占比例的信息熵差值,并根据信息熵差值与对应的信息熵差值阈值的大小关系初步标记网段通信流是否异常,然后通过人工检查的方式对初步标记的网段通信流状态进行纠正,最后对纠正后的网段通信流数据进行特征提取,并构建基于异常网段通信流的网络流量数据集,本实施例中的网络流量数据集包括特征和对应的分类标签,将提取出的数据作为网络流量数据集中的特征,将纠正后的网段通信流的状态作为网络流量数据集中的分类标签;
本实施例中,通过人工检查的方式对初步标记的网段通信流状态进行纠正具体包括:针对初步标记为异常的网段通信流对应的网段,根据该网段所属类型所表现的异常的规律,人工检查网段通信流中是否存在符合规律的异常,是则保留该网段的网段通信流的状态为异常,否则将该网段的网段通信流状态修改为正常,通过上述方式可以保证网络流量数据集更加的趋于真实性;
由于网段通信流与网段一一对应,而每个网段根据网段类型设定了对于的时间窗口和信息熵差值阈值,因此网段通信流根据其对应的网段的类型也对应了步骤S2中设置好的时间窗口和信息熵差值阈值,步骤S4中计算对应时间窗口内网段通信IP数量与所占比例的信息熵差值包括以下步骤:
A1:将当前网段通信流对应的时间窗口作为原时间窗口,从预设时间间隔内选取原时间窗口的起始时间,统计原时间窗口内的每个时间节点中当前网段通信流对应的网段内产生通信的IP数量,根据统计结果得到原时间窗口内的网段通信IP数量序列并计算得到原时间窗口内序列的信息熵;
A2:将原时间窗口向前滑动一个时间节点得到新时间窗口,统计新时间窗口内的每个时间节点中当前网段通信流对应的网段内产生通信的IP数量,根据统计结果得到新时间窗口内的网段通信IP数量序列并计算得到新时间窗口内序列的信息熵;
A3:将新时间窗口内序列的信息熵值减去原时间窗口内序列的信息熵值得到信息熵差值;
以一条网段通信流为例,根据该网段通信流对应的网段类型,得到对应的时间窗口和信息熵差值阈值,本实施例中,设定对应的信息熵差值阈值为0,对应的时间窗口划分了12个时间节点,即式(1)中m=12,对每个时间节点中该网段信息流对应的网段内产生通信的IP数量进行统计,得到序列M=[45,39,47,50,38,29,40,35,39,47,50,38],根据式(1)计算原时间窗口内序列的信息熵值为3.57,将原时间窗口向前滑动一个时间节点,得到新时间窗口的序列N=[39,47,50,38,29,40,35,39,47,50,38,8],根据式(1)计算新时间窗口内序列的信息熵值为3.50,将新时间窗口内序列的信息熵值减去原时间窗口内序列的信息熵值,则信息熵差值为-0.07,信息熵差值小于信息熵差值阈值0,则在新时间窗口内序列出现波动,即可能网段在此时可能存在异常产生,该网段通信流中此时也可能存在异常;
人工纠正后,基于对可能导致异常的行为进行分析,本实施例对每条网段通信流均提取15个特征,如下表所示:
表1
由于网络通信协议的不同,表1中的网络协议包括网络协议TCP和网络协议UDP,因此,网络流量数据集中的特征实际包括:前向总数据包个数、前向总数据包大小、后向总数据包个数、后向总数据包大小、前向数据总数/后向数据总数、前向数据总字节数/后向数据总字节数、前向最小数据包大小、前向平均数据包大小、前向最大数据包大小、前向数据包大小标准差、后向最小数据包大小、后向平均数据包大小、后向最大数据包大小、后向数据包大小标准差、网络协议TCP和网络协议UDP;
S5:对网络流量数据集中的特征进行特征编码,本实施例中网络流量数据集中的特征包括连续型变量和分类变量,连续型变量是数值型变量,分类变量是离散型变量,通过one-hot特征编码将特征中的分类变量映射为二进制向量,one-hot特征编码将非数值的表达转换为数值型的表达,它遵循的原则是存在即是1,否则为0,因此分类变量会转换为二进制的表达方式;
S6:针对网络流量数据集中特征编码后的特征,根据特征间的线性相关性并根据特征与分类类别之间的非线性相关性保留最终特征并丢弃其他特征,如图2所示,本实施例中采用采用基于皮尔逊相关系数法与最大互信息系数相融合的方法进行特征选择,其中,皮尔逊相关系数法应用于特征间的相关性计算,进而选择相关性较低的特征对作为数据集的特征,并对于相关性较高的特征对则仅选择其中的一个特征,进而减少了冗余的特征对模型训练带来的干扰,同时,由于本实施例还需解决分类问题,而皮尔逊相关系数法仅考虑了特征间的线性关系,而没有考虑到特征与分类标签之间的非线性关系,基于所述的问题,本实施例采用了最大互信息系数法,对通过皮尔逊相关系数法过滤后的特征分别计算特征到分类标签之间的非线性相关性强度,进而选择相关性强度较高的特征作为数据集最终的特征,具体步骤包括:
S601:通过特征间的笛卡尔积计算得到特征对,分别计算特征对之间的皮尔逊相关系数作为特征对的特征间相关性值,将所有特征对之间的皮尔逊相关系数组成得到各特征之间的皮尔逊相关系数矩阵,去除矩阵中重复的特征间相关性值以及对角线位置的特征间相关性值得到简化的各特征之间的皮尔逊相关系数矩阵,针对简化的矩阵中各特征对,若特征对之间的皮尔逊相关系数处于正相关性阈值和负相关性阈值之间,则保留特征对的两个特征,若特征对之间的皮尔逊相关系数大于正相关性阈值或小于负相关性阈值,则保留其中一个特征;
本实施例采用皮尔逊相关系数表征特征与特征之间的线性相关性,并增加了正相关性阈值θ和负相关性阈值-θ,对于特征A与特征B,A与B之间的相关性的函数表达式如下:
上式中,ρAB表示特征A与特征B之间的皮尔逊相关系数,本实施例中以皮尔逊相关系数作为特征间相关性值,E[A]、E[B]分别表示特征A与特征B的期望,若ρAB<-θ或ρAB>θ,则说明特征A与特征B具有较高的相关性,选择两个特征中的一个特征;
以3个特征A、B、C为例,通过特征间的笛卡尔积计算得到特征对(A,A),(A,B),(A,C),(B,A),(B,B),(B,C),(C,A),(C,B),(C,C),并按照式(2)分别计算每个特征对之间的皮尔逊相关系数,进而得到各特征之间皮尔逊相关系数矩阵如下所示:
矩阵中,单位值表示对应行的特征与对应列的特征之间的相关性,不难看出,矩阵的上三角区域与下三角区域的特征间相关性值是重复的,且对角线位置的特征间相关性值是没有意义的,因此,本实施例中去除矩阵中重复的特征间相关性值以及对角线位置的特征间相关性值,得到简化后的各特征间皮尔逊相关系数矩阵如下所示:
对于矩阵中的各特征间相关性值,对于处于-θ与θ间的特征间相关性值对应的特征对,则不对此特征对作任何操作,保留特征对的两个特征,而相对的,若特征间相关性值小于-θ或大于θ,则说明此特征对具有较高的负相关性或正相关性,则选择此特征对中的一个特征并舍弃另一个特征;
本实施例中,设定θ=0.8,网络流量数据集中的所有特征通过特征间的笛卡尔积计算得到特征对,并按照式(2)分别计算每个特征对之间的皮尔逊相关系数,然后按照式(3)和式(4)得到各特征之间的皮尔逊相关系数矩阵并进行简化,将简化后的皮尔逊相关系数矩阵中的各特征间相关性值与正相关性阈值θ和负相关性阈值-θ进行比较,得到特征间相关性值相关性高于正相关性阈值θ的特征对,如下表所示:
表2
表2中,特征1和特征2组成的特征对的特征间相关性值大于正相关性阈值,说明特征1和特征2组成的特征对具有较高的正相关性,保留特征对中任意一个特征即可,因此本实施例中保留表2中特征对的特征2,舍弃特征1,本实施例中舍弃的特征包括:前向总数据包个数、后向总数据包个数、后向平均数据包大小;
S602:计算剩余特征中每个特征与分类标签的类别变量的最大互信息系数,若计算结果大于预设的最大互信息系数阈值,将满足条件的特征作为最终特征;
本实施例中通过MIC(最大互信息系数)来衡量特征与分类标签之间的非线性相关性强度,进而进一步的进行特征选择,最大互信息系数属于最大的基于信息的非参数性探索,用于衡量两个变量之间的线性或非线性的强度,它不仅可以发现变量间的线性函数关系,还能发现非线性函数惯性,且对于相同噪声水平的函数关系或者非函数关系,最大互信息系数具有近似的值。所以最大互信息系数不仅可以用来纵向比较同一相关关系的强度,还可以用来横向比较不同关系的强度;
本实施例中,对于特征x和分类标签的类别变量y,将特征x与类别变量y的最大互信息系数作为该特征与分类标签的相关性强度,特征x和类别变量y之间的最大互信息系数的函数表达式如下:
上式中,最大互信息系数的值区间为[0,1],且值越大,则说明相关性强度越大,即为分类带来的增益越强,a,b是在特征x和类别变量y构成的散点图上的行数及列数,本实施例中以特征x和类别变量y构成的散点图上的网格划分网络分布,B是变量,一般情况下B的取值为数据量的0.6次方,I(x,y)为特征x和类别变量y之间的互信息;
特征x和类别变量y之间的互信息I(x,y)的函数表达式如下所示:
上式中,p(x,y)表示特征x和类别变量y的联合概率密度函数,p(x)和p(y)分别为特征x和类别变量y边缘概率密度函数;
本实施例中,针对网络流量数据集经过步骤S601舍弃特征后的所有剩余特征,分别按照式(5)和式(6)计算得到这些特征与分类标签之间的相关性强度,如下表所示:
表3
本实施例中设定了最大互信息系数阈值ε,根据表3中每个相关性强度的值选择其中大于最大互信息系数阈值ε的值所对应的特征作为参与后续模型训练的最终特征,并舍弃网络流量数据集中其他特征;
S7:对特征选择后的网络流量数据集进行欠采样处理,使各类别样本能够分布均衡,即使得网络流量数据集中各分类标签对应的特征分布均衡,如图2所示,本实施例通过SMOTE算法对网络流量数据集进行欠采样处理,SMOTE算法是基于插值的为少数类合成新样本的算法,设训练集的一个少数类的样本数为T,那么SMOTE算法将为这个少数类合成NT个新样本。这里要求N必须是正整数,如果给定的N<1那么算法将“认为”少数类的样本数T=NT,并将强制N=1,考虑该少数类的一个样本i,其特征向量为xi,i∈{1,2,…,T},本实施例通过SMOTE算法对网络流量数据集进行欠采样处理具体包括以下步骤:
S701:从网络流量数据集中选择少数类,从该少数类的全部T个样本中找到样本i的k个近邻,将k个近邻的特征向量记为xi(near),near∈{1,2,…,k},本实施例中根据欧氏距离选取样本i的k个近邻;
S702:从k个近邻的特征向量中随机选择一个样本i(nn),再生成一个0到1之间的随机数ξ1,将被选择的样本i(nn)与随机数ξ1合成新的样本i1,样本i1特征向量xi1的函数表达式如下:
xi1=xi+ξ1·(xi(nn)-xi) (7)
上式中,xi为样本i的特征向量,xi(nn)为样本i(nn)的特征向量;
S703:返回步骤S702直到重复次数达到给定的N次,从而合成N个新样本,新样本的特征向量为xi(new),i∈{1,2,…,N}
S704:返回步骤S701直到全部T个样本遍历完毕,从而为该少数类合成NT个新样本;
S8:对欠采样后的网络流量数据集进行标准化处理,如图2所示,本实施例中采用z-score算法进行标准化处理,将网络流量数据集中的最终特征转换到同一量纲,函数表达式如下所示:
上式中,i为最终特征的序号,n为编码后的样本数据的维度,本实施例中为经过步骤S5处理之后得到的最终特征的维度,即最终特征的数量,Xi为对最终特征i标准化之后的数据值,X(i)表示最终特征i所对应的编码后的样本数据,表示最终特征i所对应的编码后的样本数据的均值,stdi表示最终特征i所对应的编码后的样本数据的标准差;
S9:将标准化处理后的网络流量数据集分割为训练集和测试集,将训练集在梯度提升树模型上进行训练后,将测试集在训练好的梯度提升树模型上进行测试,根据测试结果确定各网段通信流是否异常,梯度提升树(GBDT)是一种boosting算法,该算法为一种迭代决策树算法,由多颗决策树组成,即将多个弱分类器进行组合进而构成一个强分类器,在分类过程中,则是根据每颗树的结果产生一次投票,最终根据所有树的投票结果得到最终的结论,其具体的思想是每次建立一棵决策树是在之前建立的决策树的损失函数的负梯度方向,进而通过迭代不断地提高预测准确度,在模型建立的过程中可根据具体参数的调整对模型进行优化,进而使模型能够学习到最佳的学习效果,具体参数包括:损失函数、每个弱学习器的权重缩减系数(即步长)、弱学习器的最大个数、决策树的最大深度、内部节点再划分所需最小样本数、叶子节点最少样本数、划分时考虑的最大特征数等;
本实施例中,训练集和测试集按照8:2划分,将训练集在梯度提升树模型上进行训练后,针对训练结果调整参数,进而使模型达到最优的效果,最后在测试集上对模型进行测试,进一步的验证模型的泛化能力;
本实施例中调整后的参数包括:设定损失函数为对数似然损失函数,步长为0.1,弱学习器的最大个数为240,决策树的最大深度为13,内部节点再划分所需最小样本数为120,叶子节点最少样本数为20,划分时考虑的最大特征数为通过上述参数,模型达到最佳效果,准确率为0.981,且各类别的查准率,召回率,F1得分如下表所示:
表4
上表中,类别0为正常的网段通信流,类别1为异常的网段通信流,从各类别的查准率,召回率,F1得分可以看出,本实施例所训练的模型具有较好的表现效果,能够十分准确的检测到各网段通信流中存在的异常流量。
本发明还提出一种基于自学习的电力网络探针流量异常的检测系统,包括计算机设备,所述计算机设备被编程或配置以实现上述的基于自学习的电力网络探针流量异常的检测方法。
本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有被编程或配置以实现上述的基于自学习的电力网络探针流量异常的检测方法的计算机程序。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。
Claims (10)
1.一种基于自学习的电力网络探针流量异常的检测方法,其特征在于,包括以下步骤:
S1:按照网段所在区域的差异性将各网段划分为不同的类型;
S2:分别设定不同类型的网段对应的时间窗口和信息熵差值阈值;
S3:采集流量探针送出的元数据,以预设时间间隔为界限,根据元数据五元组将预设时间间隔内同一网段产生的元数据聚合为该网段对应的网段通信流;
S4:分别计算不同网段通信流对应的时间窗口内网段通信IP数量与所占比例的信息熵差值,并根据信息熵差值与对应的信息熵差值阈值的大小关系初步标记网段通信流是否异常,然后通过人工检查的方式对初步标记的网段通信流状态进行纠正,最后构建基于异常网段通信流的网络流量数据集并对纠正后的网段通信流数据进行特征提取,将提取出的数据作为网络流量数据集中的特征;
S5:将网络流量数据集中特征的分类变量转换为数值型的表达;
S6:针对网络流量数据集中的特征以及对应的分类标签,根据特征间的线性相关性以及特征与分类标签之间的非线性相关性保留最终特征并丢弃其他特征;
S7:对特征选择后的网络流量数据集进行欠采样处理;
S8:对欠采样后的网络流量数据集进行标准化处理;
S9:将标准化处理后的网络流量数据集分割为训练集和测试集,将训练集在梯度提升树模型上进行训练后,将测试集在训练好的梯度提升树模型上进行测试,根据测试结果确定各网段通信流是否异常。
2.根据权利要求1所述的基于自学习的电力网络探针流量异常的检测方法,其特征在于,步骤S2具体包括:根据每种类型的网段对应的活动规律并结合历史数据选择每种类型网段对应的时间窗口和信息熵差值阈值。
3.根据权利要求1所述的基于自学习的电力网络探针流量异常的检测方法,其特征在于,步骤S4中通过人工检查的方式对初步标记的网段通信流状态进行纠正具体包括:针对初步标记为异常的网段通信流对应的网段,根据该网段所属类型所表现的异常的规律,人工检查网段通信流中是否存在符合规律的异常,是则保留该网段的网段通信流的状态为异常,否则将该网段的网段通信流状态修改为正常。
4.根据权利要求1所述的基于自学习的电力网络探针流量异常的检测方法,其特征在于,步骤S4中计算对应时间窗口内网段通信IP数量与所占比例的信息熵差值包括以下步骤:
A1:将当前网段通信流对应的时间窗口作为原时间窗口,从预设时间间隔内选取原时间窗口的起始时间,统计原时间窗口内的每个时间节点中当前网段通信流对应的网段内产生通信的IP数量,根据统计结果得到原时间窗口内的网段通信IP数量序列并计算得到原时间窗口内序列的信息熵;
A2:将原时间窗口向前滑动一个时间节点得到新时间窗口,统计新时间窗口内的每个时间节点中当前网段通信流对应的网段内产生通信的IP数量,根据统计结果得到新时间窗口内的网段通信IP数量序列并计算得到新时间窗口内序列的信息熵;
A3:将新时间窗口内序列的信息熵值减去原时间窗口内序列的信息熵值得到信息熵差值。
5.根据权利要求1所述的基于自学习的电力网络探针流量异常的检测方法,其特征在于,步骤S5具体包括:通过one-hot特征编码将特征中的分类变量映射为二进制向量。
6.根据权利要求1所述的基于自学习的电力网络探针流量异常的检测方法,其特征在于,步骤S6具体包括:
S601:通过特征间的笛卡尔积计算得到特征对,分别计算特征对之间的皮尔逊相关系数作为特征对的特征间相关性值,将所有特征对之间的皮尔逊相关系数组成得到各特征之间的皮尔逊相关系数矩阵,去除矩阵中重复的特征间相关性值以及对角线位置的特征间相关性值得到简化的各特征之间的皮尔逊相关系数矩阵,针对简化的矩阵中各特征对,若特征对之间的皮尔逊相关系数处于正相关性阈值和负相关性阈值之间,则保留特征对的两个特征,若特征对之间的皮尔逊相关系数大于正相关性阈值或小于负相关性阈值,则保留其中一个特征;
S602:计算剩余特征中每个特征与分类标签的类别变量的最大互信息系数,判断计算结果是否大于预设的最大互信息系数阈值,是则将特征作为最终特征,否则舍弃特征。
7.根据权利要求1所述的基于自学习的电力网络探针流量异常的检测方法,其特征在于,步骤S7具体包括:通过SMOTE算法对网络流量数据集进行欠采样处理。
8.根据权利要求1所述的基于自学习的电力网络探针流量异常的检测方法,其特征在于,步骤S8具体包括:对欠采样后的网络流量数据集采用z-score标准化处理。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有被编程或配置以实现权利要求1~8任一所述的基于自学习的电力网络探针流量异常的检测方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011528373.8A CN112651435B (zh) | 2020-12-22 | 2020-12-22 | 一种基于自学习的电力网络探针流量异常的检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011528373.8A CN112651435B (zh) | 2020-12-22 | 2020-12-22 | 一种基于自学习的电力网络探针流量异常的检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112651435A true CN112651435A (zh) | 2021-04-13 |
CN112651435B CN112651435B (zh) | 2022-12-20 |
Family
ID=75359099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011528373.8A Active CN112651435B (zh) | 2020-12-22 | 2020-12-22 | 一种基于自学习的电力网络探针流量异常的检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112651435B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112990372A (zh) * | 2021-04-27 | 2021-06-18 | 北京瑞莱智慧科技有限公司 | 一种数据处理方法、模型训练方法、装置及电子设备 |
CN113077020A (zh) * | 2021-06-07 | 2021-07-06 | 广东电网有限责任公司湛江供电局 | 一种变压器集群管理方法及系统 |
CN114390002A (zh) * | 2021-12-15 | 2022-04-22 | 南京理工大学 | 基于分组条件熵的网络流量多模块聚类异常检测方法 |
CN114938287A (zh) * | 2022-04-02 | 2022-08-23 | 湖南大学 | 一种融合业务特征的电力网络异常行为检测方法及装置 |
CN116631195A (zh) * | 2023-07-20 | 2023-08-22 | 江西师范大学 | 一种基于城市子区域热点路口挖掘的区域异常检测方法 |
CN116842459A (zh) * | 2023-09-01 | 2023-10-03 | 国网信息通信产业集团有限公司 | 一种基于小样本学习的电能计量故障诊断方法及诊断终端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105847283A (zh) * | 2016-05-13 | 2016-08-10 | 深圳市傲天科技股份有限公司 | 一种基于信息熵方差分析的异常流量检测方法 |
CN110650124A (zh) * | 2019-09-05 | 2020-01-03 | 长沙理工大学 | 一种基于多层回声状态网络的网络流量异常检测方法 |
CN111092862A (zh) * | 2019-11-29 | 2020-05-01 | 中国电力科学研究院有限公司 | 一种用于对电网终端通信流量异常进行检测的方法及系统 |
WO2020119481A1 (zh) * | 2018-12-11 | 2020-06-18 | 深圳先进技术研究院 | 一种基于深度学习的网络流量分类方法、系统及电子设备 |
-
2020
- 2020-12-22 CN CN202011528373.8A patent/CN112651435B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105847283A (zh) * | 2016-05-13 | 2016-08-10 | 深圳市傲天科技股份有限公司 | 一种基于信息熵方差分析的异常流量检测方法 |
WO2020119481A1 (zh) * | 2018-12-11 | 2020-06-18 | 深圳先进技术研究院 | 一种基于深度学习的网络流量分类方法、系统及电子设备 |
CN110650124A (zh) * | 2019-09-05 | 2020-01-03 | 长沙理工大学 | 一种基于多层回声状态网络的网络流量异常检测方法 |
CN111092862A (zh) * | 2019-11-29 | 2020-05-01 | 中国电力科学研究院有限公司 | 一种用于对电网终端通信流量异常进行检测的方法及系统 |
Non-Patent Citations (2)
Title |
---|
LIAO NIANDONG ET AL.: "Detection of probe flow anomalies using information entropy and random forest method", 《JOURNAL OF INTELLIGENT & FUZZY SYSTEMS》 * |
骆凯 等: "一种基于动态阈值的突发流量异常检测方法", 《信息工程大学学报》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112990372A (zh) * | 2021-04-27 | 2021-06-18 | 北京瑞莱智慧科技有限公司 | 一种数据处理方法、模型训练方法、装置及电子设备 |
CN113077020A (zh) * | 2021-06-07 | 2021-07-06 | 广东电网有限责任公司湛江供电局 | 一种变压器集群管理方法及系统 |
CN114390002A (zh) * | 2021-12-15 | 2022-04-22 | 南京理工大学 | 基于分组条件熵的网络流量多模块聚类异常检测方法 |
CN114938287A (zh) * | 2022-04-02 | 2022-08-23 | 湖南大学 | 一种融合业务特征的电力网络异常行为检测方法及装置 |
CN114938287B (zh) * | 2022-04-02 | 2023-09-05 | 湖南大学 | 一种融合业务特征的电力网络异常行为检测方法及装置 |
CN116631195A (zh) * | 2023-07-20 | 2023-08-22 | 江西师范大学 | 一种基于城市子区域热点路口挖掘的区域异常检测方法 |
CN116631195B (zh) * | 2023-07-20 | 2023-10-13 | 江西师范大学 | 一种基于城市子区域热点路口挖掘的区域异常检测方法 |
CN116842459A (zh) * | 2023-09-01 | 2023-10-03 | 国网信息通信产业集团有限公司 | 一种基于小样本学习的电能计量故障诊断方法及诊断终端 |
CN116842459B (zh) * | 2023-09-01 | 2023-11-21 | 国网信息通信产业集团有限公司 | 一种基于小样本学习的电能计量故障诊断方法及诊断终端 |
Also Published As
Publication number | Publication date |
---|---|
CN112651435B (zh) | 2022-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112651435B (zh) | 一种基于自学习的电力网络探针流量异常的检测方法 | |
CN110691100B (zh) | 基于深度学习的分层网络攻击识别与未知攻击检测方法 | |
CN109698836B (zh) | 一种基于深度学习的无线局域网入侵检测方法和系统 | |
CN108388927B (zh) | 基于深度卷积孪生网络的小样本极化sar地物分类方法 | |
Zhang et al. | Autonomous unknown-application filtering and labeling for dl-based traffic classifier update | |
Auld et al. | Bayesian neural networks for internet traffic classification | |
CN109727246B (zh) | 一种基于孪生网络的对比学习图像质量评估方法 | |
CN110808945B (zh) | 一种基于元学习的小样本场景下网络入侵检测方法 | |
CN113962988B (zh) | 基于联邦学习的电力巡检图像异常检测方法及系统 | |
CN113469234A (zh) | 一种基于免模型联邦元学习的网络流量异常检测方法 | |
CN108809989B (zh) | 一种僵尸网络的检测方法及装置 | |
He et al. | Deep-feature-based autoencoder network for few-shot malicious traffic detection | |
CN112039687A (zh) | 一种面向小样本特征的基于改进生成对抗网络的故障诊断方法 | |
CN111310719B (zh) | 一种未知辐射源个体识别及检测的方法 | |
CN111291818B (zh) | 一种面向云掩膜的非均匀类别的样本均衡化方法 | |
CN110995713A (zh) | 一种基于卷积神经网络的僵尸网络检测系统及方法 | |
CN114500396A (zh) | 区分匿名Tor应用流量的MFD色谱特征提取方法及系统 | |
CN110191081A (zh) | 基于学习自动机的网络流量攻击检测的特征筛选系统及方法 | |
CN116977725A (zh) | 一种基于改进卷积神经网络的异常行为识别方法及装置 | |
US20220269904A1 (en) | Network status classification | |
CN115277888B (zh) | 一种移动应用加密协议报文类型解析方法及系统 | |
CN114265954B (zh) | 基于位置与结构信息的图表示学习方法 | |
CN114169398A (zh) | 基于随机森林算法的光伏直流电弧故障识别方法及装置 | |
CN114199381A (zh) | 一种改进红外检测模型的电气设备故障检测方法 | |
CN112862082B (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 |