CN109446635B - 一种基于机器学习的电力工控攻击分类方法和系统 - Google Patents
一种基于机器学习的电力工控攻击分类方法和系统 Download PDFInfo
- Publication number
- CN109446635B CN109446635B CN201811237515.8A CN201811237515A CN109446635B CN 109446635 B CN109446635 B CN 109446635B CN 201811237515 A CN201811237515 A CN 201811237515A CN 109446635 B CN109446635 B CN 109446635B
- Authority
- CN
- China
- Prior art keywords
- characteristic
- address
- random forest
- value
- forest model
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S40/20—Information technology specific aspects, e.g. CAD, simulation, modelling, system security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种基于机器学习的电力工控攻击分类方法和系统。所述方法和系统利用电力工控的历史报文数据,通过对所述数据进行缺省值补全、特征变量提取后,输入随机森林模型进行多折交叉验证,并根据随机森林模型是否发生过拟合和/或欠拟合现象对模型参数进行调整发确定最优随机森林模型来对电力工控攻击进行分类。所述方法和系统与现有技术相比,通过采集电力工控历史报文数据进行机器学习,搭建随机森林模型,通过将电力工控系统生成的报文导入所述随机森林模型中来实现对电力工控攻击的分类,改善了工控系统防御被动的现状,使系统在遭受攻击之前即能检测、截获攻击,提高了电力工控系统的安全性能。
Description
技术领域
本发明涉及智能电网安全领域,并且更具体地,涉及一种基于机器学习的电力工控攻击分类方法和系统。
背景技术
在智能电网中,电力工业控制系统是支撑发、输、变、配、用以及调度等各环节的电力生产运行控制不可或缺的组成部分,是国家关键基础设施的重要组成部分,不仅涵盖电力监控系统(包括调度、电厂、变电站、配电自动化系统),还涉及到用户侧及开放环境中的分布式电源、用电信息采集等系统,一旦遭受破坏,会对国家和社会安全造成严重威胁。随着信息技术的深入应用以及国内外安全形式的发展变化,电力工控系统面临的安全威胁不容忽视。随着电力系统自动化程度的快速提升,针对电力工控系统的攻击种类越来越多样,但是目前国内在此领域的研究尚未成熟。
因此,需要一种技术,能够快速对电力工控系统的攻击进行分类,以提高电力工控系统的安全性能。
发明内容
为了解决现有技术中对电力工控系统的攻击进行分类的研究尚未成熟的技术问题,本发明提供一种基于机器学习的电力工控攻击分类方法,所述方法包括:
基于样本集D计算第一特征、第二特征以及第三特征中每个特征变量的信息增益,并对所有特征变量的信息增益从大到小进行排序,选取信息增益的值在前t位的特征变量作为训练随机森林模型的特征变量,其中,所述第一特征是电力工控报文的TCP连接基本特征,所述第二特征是电力工控报文的TCP连接内容特征,所述第三特征是基于电力工控报文的第一特征和第二特征确定的表征电力工控攻击特点的特征,所述样本集D是电力工控报文数据的集合,所述数据包括预先采集的第一特征和第二特征中每个特征变量的数据,以及根据第一特征和第二特征的特征变量计算确定的第三特征的特征变量的数据;
设置随机森林模型的参数,搭建随机森林模型,其中,所述参数包括森林中树的数量,放回采样,节点分裂所需的最小样本值,叶子节点最小的样本权重,随机森林划分考虑的最大特征数以及树的深度;
基于样本集D′对所述随机森林模型进行多折交叉验证以确定模型参数达到最优化时的最优随机森林模型,并通过所述最优随机森林模型确定电力工控攻击报文的攻击种类,其中,所述样本D′是从样本集D中选取的训练随机森林模型的特征变量的数据生成的数据集合,所述模型参数达到最优化是指所述随机森林模型的训练未发生过拟合和/或欠拟合时确定的参数。
进一步地,所述方法在基于样本集D计算第一特征、第二特征以及第三特征中每个特征变量的信息增益之前还包括:
采集电力工控报文第一特征和第二特征中每个特征变量的数据,生成数据集N,其中,所述数据集N的数据行数为m,数据列数为n,总标签数为l,所述行数是采集的电力工控报文的条数,所述列数是每一条电力工控报文中第一特征和第二特征中每个特征变量的特征值,总标签数是电力工控攻击总的种类数,所述第一特征的特征变量包括源IP地址,目的IP地址,连接持续时间,协议类型,目标主机的服务类型,连接正常或错误的状态,从源主机到目标主机的数据的字节数,从目标主机到源主机的数据的字节数,连接是否来自/送达同一主机/端口的属性值和错误分段的数量,第二特征的特征变量包括访问系统敏感文件和目录的次数,登陆尝试失败的次数;登陆是否成功的属性值,登陆是否为guest的属性值;
根据所述数据集N中缺省值的类别,对所述缺省值进行补全,其中,所述缺省值分为属性变量和数值变量;
基于电力工控报文的第一特征和第二特征中的特征变量确定表征电力工控攻击特点的第三特征的特征变量。
进一步地,所述根据所述数据集N中缺省值的类别,对所述缺省值进行补全包括:
当所述缺省值是属性变量时,以数据集N中该缺省值对应的特征变量出现次数最多的属性值进行补全;
当所述缺省值是数值变量且所述缺省值所在的行数不是非数据集N的首末行时,采用线性差值法对该缺省值进行补全,其计算公式为:
式中,y0和x0分别为该缺省值对应的特征的前一条记录特征值和特征值所在的行数,y1和x1分别为该缺省值对应的特征的后一条记录特征值和特征值所在的行数;
当所述缺省值是数值变量且所述缺省值所在的行数是非数据集N的首末行时,即缺省值无上一条或下一条记录时,以数据集N中该缺省值对应的特征变量出现次数最多的数量值进行补全。
进一步地,所述基于电力工控报文的第一特征和第二特征中的特征变量确定表征电力工控攻击特点的第三特征的特征变量,所述特征变量包括:
固定源IP地址到固定目的IP地址中的报文数量;
固定源IP地址到固定目的IP地址中平均连接持续时间;
固定源IP地址到固定目的IP地址中平均源主机到目标主机的数据字节数;
固定源IP地址到固定目的IP地址中平均目标主机到源主机的数据字节数;
固定协议类型的平均连接时间;
固定源IP地址到固定目的IP地址在不同协议下的报文数量;
固定源IP地址到固定目的IP地址在不同协议下的平均源主机到目标主机的数据字节数;
固定源IP地址到固定目的IP地址在不同协议下的平均目标主机到源主机的数据字节数;
固定源IP地址到固定目的IP地址中错误分段的数量;
固定源IP地址到固定目的IP地址在不同协议下的错误分段数量;
固定源IP地址到固定目的IP地址在不同协议下的错误分段平均数;
固定源IP地址到固定目的IP地址下的平均登陆尝试失败的次数;
固定源IP地址到固定目的IP地址下的非guest用户登录次数;
不同目标主机服务类型下的非guest用户登录次数;
固定源IP地址到固定目的IP地址下不同目标主机服务类型下的用户登录成功次数。
进一步地,所述基于样本集D计算第一特征、第二特征以及第三特征中每个特征变量的信息增益包括:
计算样本集D的信息熵,记当前样本集合D中第k类样本所占比例为pk,其中1≤k≤l,l是数据集N中的总标签数,则计算样本集D的信息熵的计算公式为
根据所述样本集D的信息熵计算第一特征、第二特征以及第三特征中每个特征变量的信息增益,记样本集D中的特征变量a有V个可能的取值{a1,a2,...,aV},当使用a来对样本集D进行划分,则会产生V个分支节点,其中第v个分支节点包含了D中所有在特征变量a上取值为av的样本,记为Dv,则计算Dv的信息熵H(Dv);
根据不同分支节点所包含的样本数不同,给分支节点赋予权重|Dv|/|D|,即样本数越多的分支节点的影响越大,计算特征a在样本集中的信息增益Gain(D,a),其计算公式为:
进一步地,所述设置随机森林模型的参数,搭建随机森林模型包括:
设置森林中树的数量n_estimators=15;
放回采样bootstrap=True;
节点分裂所需的最小样本值min_saples_split=3;
叶子节点最小的样本权重min_weight_fraction_leaf=0,其中,所述参数值设置为0表示认为所有特征的权重值相等;
随机森林划分时考虑的最大特征数max_features=-1,其中,所述参数值设置为-1表示考虑所有的特征数;
树的深度max_depth=-1,其中,所述参数值设置为-1表示不设置最大深度。
进一步地,基于样本集D′对所述随机森林模型进行多折交叉验证以确定模型参数达到最优化时的最优随机森林模型,并通过所述最优随机森林模型确定电力工控攻击报文的攻击种类包括:
步骤1、将样本集D′分为等比例的h份,记为样本D1、样本D2……样本Dh-1、样本Dh,保证h份样本的分布一致,即样本与样本之间的数学统计量一致,所述数学统计量包括每个特征变量的均值、方差、中位数;
步骤2、基于划分的样本集D′对所述随机森林模型进行多折交叉验证,设置训练集Dtr=D'\Di,测试集Dval=Di,根据设置的随机森林模型的参数,利用训练集中的h-1份样本训练分类器模型,利用测试集中的样本Di进行测试,确定输出的随机森林模型为Hi(Dtr,Dval),其中1≤i≤h,i的初始值为h;
步骤3、令h=h-1,当h≥1时,跳转至步骤2,当h<1时,跳转到步骤4;
步骤4、根据多折交叉验证完成后,随机森林模型的训练误差和验证误差的变化,确定随机森林模型设置的参数是否达到最优化,当参数未达到最优化时,跳转到步骤5,当模型参数达到最优化时,确定所述输出的随机森林模型为最优随机森林模型,并跳转至步骤6,其中,所述模型参数达到最优化是指所述随机森林模型的训练未发生过拟合和/或欠拟合时的模型参数;
步骤5、当随机森林模型训练误差降低,而验证误差上升,模型训练中发生过拟合现象,则减小n_estimators的值,增大min_samples_split的值,当模型训练误差增大,模型训练中发生欠拟合现象,则增大n_estimators的值,减小min_samples_split的值,并跳转至步骤2;
步骤6、基于多折交叉验证输出的最优随机森林模型确定电力工控攻击报文的攻击种类,其中,设电力工控攻击的报文为Dts,将所述报文中的缺省值补全后,从所述报文中提取训练随机森林模型时的特征变量的特征值,并通过最优随机森林模型输出预测结果M,其表达式为:
M={P(Dts|label=1),P(Dts|label=2),……P(Dts|label=i)……P(Dts|label=l)}
式中,所述l是电力工控攻击的总的种类数,所述P(Dts|label=i)是所述电力工控攻击为第i种攻击时的概率,1≤i≤l,所述M中输出的最大概率的类别即为所述电力工控攻击报文的最终种类。
根据本发明的另一方面,本发明提供一种基于机器学习的电力工控攻击分类系统,所述系统包括:
特征变量单元,其用于基于样本集D计算第一特征、第二特征以及第三特征中每个特征变量的信息增益,并对所有特征变量的信息增益从大到小进行排序,选取信息增益的值在前t位的特征变量作为训练随机森林模型的特征变量,其中,所述第一特征是电力工控报文的TCP连接基本特征,所述第二特征是电力工控报文的TCP连接内容特征,所述第三特征是基于电力工控报文的第一特征和第二特征确定的表征电力工控攻击特点的特征,所述样本集D是电力工控报文数据的集合,所述数据包括预先采集的第一特征和第二特征中每个特征变量的数据,以及根据第一特征和第二特征的特征变量计算确定的第三特征的特征变量的数据;
模型设置单元,其用于设置随机森林模型的参数,搭建随机森林模型,其中,所述参数包括森林中树的数量,放回采样,节点分裂所需的最小样本值,叶子节点最小的样本权重,随机森林划分考虑的最大特征数以及树的深度;
攻击分类单元,其用于基于样本集D′对所述随机森林模型进行多折交叉验证以确定模型参数达到最优化时的最优随机森林模型,并通过所述最优随机森林模型确定电力工控攻击报文的攻击种类,其中,所述样本D′是从样本集D中选取的训练随机森林模型的特征变量的数据生成的数据集合,所述模型参数达到最优化是指所述随机森林模型的训练未发生过拟合和/或欠拟合时确定的参数。
进一步地,所述系统还包括:
数据采集单元,其用于采集电力工控报文第一特征和第二特征中每个特征变量的数据,生成数据集N,其中,所述数据集N的数据行数为m,数据列数为n,总标签数为l,所述行数是采集的电力工控报文的条数,所述列数是每一条电力工控报文中第一特征和第二特征中每个特征变量的特征值,总标签数是电力工控攻击总的种类数,所述第一特征的特征变量包括源IP地址,目的IP地址,连接持续时间,协议类型,目标主机的服务类型,连接正常或错误的状态,从源主机到目标主机的数据的字节数,从目标主机到源主机的数据的字节数,连接是否来自/送达同一主机/端口的属性值和错误分段的数量,第二特征的特征变量包括访问系统敏感文件和目录的次数,登陆尝试失败的次数,登陆是否成功的属性值,登陆是否为guest的属性值;
数据补全单元,其用于根据所述数据集N中缺省值的类别,对所述缺省值进行补全,其中,所述缺省值分为属性变量和数值变量;
第三特征单元,其用于基于电力工控报文的第一特征和第二特征中的特征变量确定表征电力工控攻击特点的第三特征的特征变量。
进一步地,所述数据补全单元包括:
第一补全单元,其用于当所述缺省值是属性变量时,以数据集N中该缺省值对应的特征变量出现次数最多的属性值进行补全;
第二补全单元,其用于当所述缺省值是数值变量且所述缺省值所在的行数不是非数据集N的首末行时,采用线性差值法对该缺省值进行补全,其计算公式为:
式中,y0和x0分别为该缺省值对应的特征的前一条记录特征值和特征值所在的行数,y1和x1分别为该缺省值对应的特征的后一条记录特征值和特征值所在的行数;
当所述缺省值是数值变量且所述缺省值所在的行数是非数据集N的首末行时,即缺省值无上一条或下一条记录时,以数据集N中该缺省值对应的特征变量出现次数最多的数量值进行补全。
进一步地,所述第三特征单元的特征变量包括:
固定源IP地址到固定目的IP地址中的报文数量;
固定源IP地址到固定目的IP地址中平均连接持续时间;
固定源IP地址到固定目的IP地址中平均源主机到目标主机的数据字节数;
固定源IP地址到固定目的IP地址中平均目标主机到源主机的数据字节数;
固定协议类型的平均连接时间;
固定源IP地址到固定目的IP地址在不同协议下的报文数量;
固定源IP地址到固定目的IP地址在不同协议下的平均源主机到目标主机的数据字节数;
固定源IP地址到固定目的IP地址在不同协议下的平均目标主机到源主机的数据字节数;
固定源IP地址到固定目的IP地址中错误分段的数量;
固定源IP地址到固定目的IP地址在不同协议下的错误分段数量;
固定源IP地址到固定目的IP地址在不同协议下的错误分段平均数;
固定源IP地址到固定目的IP地址下的平均登陆尝试失败的次数;
固定源IP地址到固定目的IP地址下的非guest用户登录次数;
不同目标主机服务类型下的非guest用户登录次数;
固定源IP地址到固定目的IP地址下不同目标主机服务类型下的用户登录成功次数。
进一步地,所述特征变量单元基于样本集D计算第一特征、第二特征以及第三特征中每个特征变量的信息增益包括:
计算样本集D的信息熵,记当前样本集合D中第k类样本所占比例为pk,其中1≤k≤l,l是数据集N中的总标签数,则计算样本集D的信息熵的计算公式为
根据所述样本集D的信息熵计算第一特征、第二特征以及第三特征中每个特征变量的信息增益,记样本集D中的特征变量a有V个可能的取值{a1,a2,...,aV},当使用a来对样本集D进行划分,则会产生V个分支节点,其中第v个分支节点包含了D中所有在特征变量a上取值为av的样本,记为Dv,则计算Dv的信息熵H(Dv);
根据不同分支节点所包含的样本数不同,给分支节点赋予权重|Dv|/|D|,即样本数越多的分支节点的影响越大,计算特征a在样本集中的信息增益Gain(D,a),其计算公式为:
进一步地,所述模型设置单元设置随机森林模型的参数,搭建随机森林模型包括:
设置森林中树的数量n_estimators=15;
放回采样bootstrap=True;
节点分裂所需的最小样本值min_saples_split=3;
叶子节点最小的样本权重min_weight_fraction_leaf=0,其中,所述参数值设置为0表示认为所有特征的权重值相等;
随机森林划分时考虑的最大特征数max_features=-1,其中,所述参数值设置为-1表示考虑所有的特征数;
树的深度max_depth=-1,其中,所述参数值设置为-1表示不设置最大深度。
进一步地,所述攻击分类单元基于样本集D′对所述随机森林模型进行多折交叉验证以确定模型参数达到最优化时的最优随机森林模型,并通过所述最优随机森林模型确定电力工控攻击报文的攻击种类包括:
步骤1、将样本集D′分为等比例的h份,记为样本D1、样本D2……样本Dh-1、样本Dh,保证h份样本的分布一致,即样本与样本之间的数学统计量一致,所述数学统计量包括每个特征变量的均值、方差、中位数;
步骤2、基于划分的样本集D′对所述随机森林模型进行多折交叉验证,设置训练集Dtr=D'\Di,测试集Dval=Di,根据设置的随机森林模型的参数,利用训练集中的h-1份样本训练分类器模型,利用测试集中的样本Di进行测试,确定输出的随机森林模型为Hi(Dtr,Dval),其中1≤i≤h,i的初始值为h;
步骤3、令h=h-1,当h≥1时,跳转至步骤2,当h<1时,跳转到步骤4;
步骤4、根据多折交叉验证完成后,随机森林模型的训练误差和验证误差的变化,确定随机森林模型设置的参数是否达到最优化,当参数未达到最优化时,跳转到步骤5,当模型参数达到最优化时,确定所述输出的随机森林模型为最优随机森林模型,并跳转至步骤6,其中,所述模型参数达到最优化是指所述随机森林模型的训练未发生过拟合和/或欠拟合时的模型参数;
步骤5、当随机森林模型训练误差降低,而验证误差上升,模型训练中发生过拟合现象,则减小n_estimators的值,增大min_samples_split的值,当模型训练误差增大,模型训练中发生欠拟合现象,则增大n_estimators的值,减小min_samples_split的值,并跳转至步骤2;
步骤6、基于多折交叉验证输出的最优随机森林模型确定电力工控攻击报文的攻击种类,其中,设电力工控攻击的报文为Dts,将所述报文中的缺省值补全后,从所述报文中提取训练随机森林模型时的特征变量的特征值,并通过最优随机森林模型输出预测结果M,其表达式为:
M={P(Dts|label=1),P(Dts|label=2),……P(Dts|label=i)……P(Dts|label=l)}
式中,所述l是电力工控攻击的总的种类数,所述P(Dts|label=i)是所述电力工控攻击为第i种攻击时的概率,1≤i≤l,所述M中输出的最大概率的类别即为所述电力工控攻击报文的最终种类。
本发明技术方案提供的基于机器学习的电力工控攻击分类方法和系统,其利用电力工控的历史报文数据,通过对所述数据进行缺省值补全、特征变量提取后,输入随机森林模型进行多折交叉验证,并根据随机森林模型是否发生过拟合和/或欠拟合现象对模型参数进行调整发确定最优随机森林模型来对电力工控攻击进行分类。所述基于机器学习的电力工控攻击分类方法和系统与现有技术相比,通过采集电力工控历史报文数据进行机器学习,搭建随机森林模型,通过将电力工控系统生成的报文导入所述随机森林模型中来实现对电力工控攻击的分类,改善了工控系统防御被动的现状,使系统在遭受攻击之前即能检测、截获攻击,提高了电力工控系统的安全性能。
附图说明
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:
图1为根据本发明优选实施方式的基于机器学习的电力工控攻击分类方法的流程图;
图2为根据本优选实施方式的对随机森林模型进行多折交叉验证确定电力工控攻击的攻击种类的流程图;
图3为根据本发明优选实施方式的基于机器学习的电力工控攻击分类系统的结构示意图。
具体实施方式
现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
图1为根据本发明优选实施方式的基于机器学习的电力工控攻击分类方法的流程图。如图1所示,本优选实施方式所述的基于机器学习的电力工控攻击分类方法100从步骤101开始。
在步骤101,采集电力工控报文第一特征和第二特征中每个特征变量的数据,生成数据集N,其中,所述数据集N的数据行数为m,数据列数为n,总标签数为l,所述行数是采集的电力工控报文的条数,所述列数是每一条电力工控报文中第一特征和第二特征中每个特征变量的特征值,总标签数是电力工控攻击总的种类数,所述第一特征的特征变量包括源IP地址,目的IP地址,连接持续时间,协议类型,目标主机的服务类型,连接正常或错误的状态,从源主机到目标主机的数据的字节数,从目标主机到源主机的数据的字节数,连接是否来自/送达同一主机/端口的属性值和错误分段的数量,第二特征的特征变量包括访问系统敏感文件和目录的次数,登陆尝试失败的次数;登陆是否成功的属性值,登陆是否为guest的属性值。
在步骤102,根据所述数据集N中缺省值的类别,对所述缺省值进行补全,其中,所述缺省值分为属性变量和数值变量。
优选地,所述根据所述数据集N中缺省值的类别,对所述缺省值进行补全包括:
当所述缺省值是属性变量时,以数据集N中该缺省值对应的特征变量出现次数最多的属性值进行补全;
当所述缺省值是数值变量且所述缺省值所在的行数不是非数据集N的首末行时,采用线性差值法对该缺省值进行补全,其计算公式为:
式中,y0和x0分别为该缺省值对应的特征的前一条记录特征值和特征值所在的行数,y1和x1分别为该缺省值对应的特征的后一条记录特征值和特征值所在的行数;
当所述缺省值是数值变量且所述缺省值所在的行数是非数据集N的首末行时,即缺省值无上一条或下一条记录时,以数据集N中该缺省值对应的特征变量出现次数最多的数量值进行补全。
在步骤103,基于电力工控报文的第一特征和第二特征中的特征变量确定表征电力工控攻击特点的第三特征的特征变量。
优选地,所述基于电力工控报文的第一特征和第二特征中的特征变量确定表征电力工控攻击特点的第三特征的特征变量,所述特征变量包括:
固定源IP地址到固定目的IP地址中的报文数量;
固定源IP地址到固定目的IP地址中平均连接持续时间;
固定源IP地址到固定目的IP地址中平均源主机到目标主机的数据字节数;
固定源IP地址到固定目的IP地址中平均目标主机到源主机的数据字节数;
固定协议类型的平均连接时间;
固定源IP地址到固定目的IP地址在不同协议下的报文数量;
固定源IP地址到固定目的IP地址在不同协议下的平均源主机到目标主机的数据字节数;
固定源IP地址到固定目的IP地址在不同协议下的平均目标主机到源主机的数据字节数;
固定源IP地址到固定目的IP地址中错误分段的数量;
固定源IP地址到固定目的IP地址在不同协议下的错误分段数量;
固定源IP地址到固定目的IP地址在不同协议下的错误分段平均数;
固定源IP地址到固定目的IP地址下的平均登陆尝试失败的次数;
固定源IP地址到固定目的IP地址下的非guest用户登录次数;
不同目标主机服务类型下的非guest用户登录次数;
固定源IP地址到固定目的IP地址下不同目标主机服务类型下的用户登录成功次数。
在步骤104,基于样本集D计算第一特征、第二特征以及第三特征中每个特征变量的信息增益,并对所有特征变量的信息增益从大到小进行排序,选取信息增益的值在前t位的特征变量作为训练随机森林模型的特征变量,其中,所述第一特征是电力工控报文的TCP连接基本特征,所述第二特征是电力工控报文的TCP连接内容特征,所述第三特征是基于电力工控报文的第一特征和第二特征确定的表征电力工控攻击特点的特征,所述样本集D是电力工控报文数据的集合,所述数据包括预先采集的第一特征和第二特征中每个特征变量的数据,以及根据第一特征和第二特征的特征变量计算确定的第三特征的特征变量的数据。
优选地,所述基于样本集D计算第一特征、第二特征以及第三特征中每个特征变量的信息增益包括:
计算样本集D的信息熵,记当前样本集合D中第k类样本所占比例为pk,其中1≤k≤l,l是数据集N中的总标签数,则计算样本集D的信息熵的计算公式为
根据所述样本集D的信息熵计算第一特征、第二特征以及第三特征中每个特征变量的信息增益,记样本集D中的特征变量a有V个可能的取值{a1,a2,...,aV},当使用a来对样本集D进行划分,则会产生V个分支节点,其中第v个分支节点包含了D中所有在特征变量a上取值为av的样本,记为Dv,则计算Dv的信息熵H(Dv);
根据不同分支节点所包含的样本数不同,给分支节点赋予权重|Dv|/|D|,即样本数越多的分支节点的影响越大,计算特征a在样本集中的信息增益Gain(D,a),其计算公式为:
在步骤105,设置随机森林模型的参数,搭建随机森林模型,其中,所述参数包括森林中树的数量,放回采样,节点分裂所需的最小样本值,叶子节点最小的样本权重,随机森林划分考虑的最大特征数以及树的深度。
优选地,所述设置随机森林模型的参数,搭建随机森林模型包括:
设置森林中树的数量n_estimators=15;
放回采样bootstrap=True;
节点分裂所需的最小样本值min_saples_split=3;
叶子节点最小的样本权重min_weight_fraction_leaf=0,其中,所述参数值设置为0表示认为所有特征的权重值相等;
随机森林划分时考虑的最大特征数max_features=-1,其中,所述参数值设置为-1表示考虑所有的特征数;
树的深度max_depth=-1,其中,所述参数值设置为-1表示不设置最大深度。
在步骤106,基于样本集D′对所述随机森林模型进行多折交叉验证以确定模型参数达到最优化时的最优随机森林模型,并通过所述最优随机森
林模型确定电力工控攻击报文的攻击种类,其中,所述样本D′是从样本集D中选取的训练随机森林模型的特征变量的数据生成的数据集合,所述模型参数达到最优化是指所述随机森林模型的训练未发生过拟合和/或欠拟合时确定的参数。
图2为根据本优选实施方式的对随机森林模型进行多折交叉验证确定电力工控攻击的攻击种类的流程图。如图2所示,本优选实施方式所述的对随机森林模型进行多折交叉验证确定电力工控攻击的攻击种类从步骤201开始。
在步骤201,将样本集D′分为等比例的h份,记为样本D1、样本D2……样本Dh-1、样本Dh,保证h份样本的分布一致,即样本与样本之间的数学统计量一致,所述数学统计量包括每个特征变量的均值、方差、中位数;
在步骤202,基于划分的样本集D′对所述随机森林模型进行多折交叉验证,设置训练集Dtr=D'\Di,测试集Dval=Di,根据设置的随机森林模型的参数,利用训练集中的h-1份样本训练分类器模型,利用测试集中的样本Di进行测试,确定输出的随机森林模型为Hi(Dtr,Dval),其中1≤i≤h,i的初始值为h;
在步骤203,令h=h-1,当h≥1时,跳转至步骤202,当h<1时,跳转到步骤204;
在步骤204,根据多折交叉验证完成后,随机森林模型的训练误差和验证误差的变化,确定随机森林模型设置的参数是否达到最优化,当参数未达到最优化时,跳转到步骤205,当模型参数达到最优化时,确定所述输出的随机森林模型为最优随机森林模型,并跳转至步骤206,其中,所述模型参数达到最优化是指所述随机森林模型的训练未发生过拟合和/或欠拟合时的模型参数;
在步骤205,当随机森林模型训练误差降低,而验证误差上升,模型训练中发生过拟合现象,则减小n_estimators的值,增大min_samples_split的值,当模型训练误差增大,模型训练中发生欠拟合现象,则增大n_estimators的值,减小min_samples_split的值,并跳转至步骤202;
在步骤206,基于多折交叉验证输出的最优随机森林模型确定电力工控攻击报文的攻击种类,其中,设电力工控攻击的报文为Dts,将所述报文中的缺省值补全后,从所述报文中提取训练随机森林模型时的特征变量的特征值,并通过最优随机森林模型输出预测结果M,其表达式为:
M={P(Dts|label=1),P(Dts|label=2),……P(Dts|label=i)……P(Dts|label=l)}
式中,所述l是电力工控攻击的总的种类数,所述P(Dts|label=i)是所述电力工控攻击为第i种攻击时的概率,1≤i≤l,所述M中输出的最大概率的类别即为所述电力工控攻击报文的最终种类。
图3为根据本发明优选实施方式的基于机器学习的电力工控攻击分类系统的结构示意图。如图3所示,本优选实施方式所述的基于机器学习的电力工控攻击分类系统300包括:
数据采集单元301,其用于采集电力工控报文第一特征和第二特征中每个特征变量的数据,生成数据集N,其中,所述数据集N的数据行数为m,数据列数为n,总标签数为l,所述行数是采集的电力工控报文的条数,所述列数是每一条电力工控报文中第一特征和第二特征中每个特征变量的特征值,总标签数是电力工控攻击总的种类数,所述第一特征的特征变量包括源IP地址,目的IP地址,连接持续时间,协议类型,目标主机的服务类型,连接正常或错误的状态,从源主机到目标主机的数据的字节数,从目标主机到源主机的数据的字节数,连接是否来自/送达同一主机/端口的属性值和错误分段的数量,第二特征的特征变量包括访问系统敏感文件和目录的次数,登陆尝试失败的次数,登陆是否成功的属性值,登陆是否为guest的属性值。
数据补全单元302,其用于根据所述数据集N中缺省值的类别,对所述缺省值进行补全,其中,所述缺省值分为属性变量和数值变量。
第三特征单元303,其用于基于电力工控报文的第一特征和第二特征中的特征变量确定表征电力工控攻击特点的第三特征的特征变量。
特征变量单元304,其用于基于样本集D计算第一特征、第二特征以及第三特征中每个特征变量的信息增益,并对所有特征变量的信息增益从大到小进行排序,选取信息增益的值在前t位的特征变量作为训练随机森林模型的特征变量,其中,所述第一特征是电力工控报文的TCP连接基本特征,所述第二特征是电力工控报文的TCP连接内容特征,所述第三特征是基于电力工控报文的第一特征和第二特征确定的表征电力工控攻击特点的特征,所述样本集D是电力工控报文数据的集合,所述数据包括预先采集的第一特征和第二特征中每个特征变量的数据,以及根据第一特征和第二特征的特征变量计算确定的第三特征的特征变量的数据;
模型设置单元305,其用于设置随机森林模型的参数,搭建随机森林模型,其中,所述参数包括森林中树的数量,放回采样,节点分裂所需的最小样本值,叶子节点最小的样本权重,随机森林划分考虑的最大特征数以及树的深度;
攻击分类单元306,其用于基于样本集D′对所述随机森林模型进行多折交叉验证以确定模型参数达到最优化时的最优随机森林模型,并通过所述最优随机森林模型确定电力工控攻击报文的攻击种类,其中,所述样本D′是从样本集D中选取的训练随机森林模型的特征变量的数据生成的数据集合,所述模型参数达到最优化是指所述随机森林模型的训练未发生过拟合和/或欠拟合时确定的参数。
优选地,所述数据补全单元302包括:
第一补全单元321,其用于当所述缺省值是属性变量时,以数据集N中该缺省值对应的特征变量出现次数最多的属性值进行补全;
第二补全单元322,其用于当所述缺省值是数值变量且所述缺省值所在的行数不是非数据集N的首末行时,采用线性差值法对该缺省值进行补全,其计算公式为:
式中,y0和x0分别为该缺省值对应的特征的前一条记录特征值和特征值所在的行数,y1和x1分别为该缺省值对应的特征的后一条记录特征值和特征值所在的行数;
当所述缺省值是数值变量且所述缺省值所在的行数是非数据集N的首末行时,即缺省值无上一条或下一条记录时,以数据集N中该缺省值对应的特征变量出现次数最多的数量值进行补全。
优选地,所述第三特征单元303的特征变量包括:
固定源IP地址到固定目的IP地址中的报文数量;
固定源IP地址到固定目的IP地址中平均连接持续时间;
固定源IP地址到固定目的IP地址中平均源主机到目标主机的数据字节数;
固定源IP地址到固定目的IP地址中平均目标主机到源主机的数据字节数;
固定协议类型的平均连接时间;
固定源IP地址到固定目的IP地址在不同协议下的报文数量;
固定源IP地址到固定目的IP地址在不同协议下的平均源主机到目标主机的数据字节数;
固定源IP地址到固定目的IP地址在不同协议下的平均目标主机到源主机的数据字节数;
固定源IP地址到固定目的IP地址中错误分段的数量;
固定源IP地址到固定目的IP地址在不同协议下的错误分段数量;
固定源IP地址到固定目的IP地址在不同协议下的错误分段平均数;
固定源IP地址到固定目的IP地址下的平均登陆尝试失败的次数;
固定源IP地址到固定目的IP地址下的非guest用户登录次数;
不同目标主机服务类型下的非guest用户登录次数;
固定源IP地址到固定目的IP地址下不同目标主机服务类型下的用户登录成功次数。
优选地,所述特征变量单元304基于样本集D计算第一特征、第二特征以及第三特征中每个特征变量的信息增益包括:
计算样本集D的信息熵,记当前样本集合D中第k类样本所占比例为pk,其中1≤k≤l,l是数据集N中的总标签数,则计算样本集D的信息熵的计算公式为
根据所述样本集D的信息熵计算第一特征、第二特征以及第三特征中每个特征变量的信息增益,记样本集D中的特征变量a有V个可能的取值{a1,a2,...,aV},当使用a来对样本集D进行划分,则会产生V个分支节点,其中第v个分支节点包含了D中所有在特征变量a上取值为av的样本,记为Dv,则计算Dv的信息熵H(Dv);
根据不同分支节点所包含的样本数不同,给分支节点赋予权重|Dv|/|D|,即样本数越多的分支节点的影响越大,计算特征a在样本集中的信息增益Gain(D,a),其计算公式为:
优选地,所述模型设置单元305设置随机森林模型的参数,搭建随机森林模型包括:
设置森林中树的数量n_estimators=15;
放回采样bootstrap=True;
节点分裂所需的最小样本值min_saples_split=3;
叶子节点最小的样本权重min_weight_fraction_leaf=0,其中,所述参数值设置为0表示认为所有特征的权重值相等;
随机森林划分时考虑的最大特征数max_features=-1,其中,所述参数值设置为-1表示考虑所有的特征数;
树的深度max_depth=-1,其中,所述参数值设置为-1表示不设置最大深度。
优选地,所述攻击分类单元306基于样本集D′对所述随机森林模型进行多折交叉验证以确定模型参数达到最优化时的最优随机森林模型,并通过所述最优随机森林模型确定电力工控攻击报文的攻击种类包括:
步骤1、将样本集D′分为等比例的h份,记为样本D1、样本D2……样本Dh-1、样本Dh,保证h份样本的分布一致,即样本与样本之间的数学统计量一致,所述数学统计量包括每个特征变量的均值、方差、中位数;
步骤2、基于划分的样本集D′对所述随机森林模型进行多折交叉验证,设置训练集Dtr=D'\Di,测试集Dval=Di,根据设置的随机森林模型的参数,利用训练集中的h-1份样本训练分类器模型,利用测试集中的样本Di进行测试,确定输出的随机森林模型为Hi(Dtr,Dval),其中1≤i≤h,i的初始值为h;
步骤3、令h=h-1,当h≥1时,跳转至步骤2,当h<1时,跳转到步骤4;
步骤4、根据多折交叉验证完成后,随机森林模型的训练误差和验证误差的变化,确定随机森林模型设置的参数是否达到最优化,当参数未达到最优化时,跳转到步骤5,当模型参数达到最优化时,确定所述输出的随机森林模型为最优随机森林模型,并跳转至步骤6,其中,所述模型参数达到最优化是指所述随机森林模型的训练未发生过拟合和/或欠拟合时的模型参数;
步骤5、当随机森林模型训练误差降低,而验证误差上升,模型训练中发生过拟合现象,则减小n_estimators的值,增大min_samples_split的值,当模型训练误差增大,模型训练中发生欠拟合现象,则增大n_estimators的值,减小min_samples_split的值,并跳转至步骤2;
步骤6、基于多折交叉验证输出的最优随机森林模型确定电力工控攻击报文的攻击种类,其中,设电力工控攻击的报文为Dts,将所述报文中的缺省值补全后,从所述报文中提取训练随机森林模型时的特征变量的特征值,并通过最优随机森林模型输出预测结果M,其表达式为:
M={P(Dts|label=1),P(Dts|label=2),……P(Dts|label=i)……P(Dts|label=l)}
式中,所述l是电力工控攻击的总的种类数,所述P(Dts|label=i)是所述电力工控攻击为第i种攻击时的概率,1≤i≤l,所述M中输出的最大概率的类别即为所述电力工控攻击报文的最终种类。
已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。
通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。
Claims (14)
1.一种基于机器学习的电力工控攻击分类方法,其特征在于,所述方法包括:
基于样本集D计算第一特征、第二特征以及第三特征中每个特征变量的信息增益,并对所有特征变量的信息增益从大到小进行排序,选取信息增益的值在前t位的特征变量作为训练随机森林模型的特征变量,其中,所述第一特征是电力工控报文的TCP连接基本特征,所述第二特征是电力工控报文的TCP连接内容特征,所述第三特征是基于电力工控报文的第一特征和第二特征确定的表征电力工控攻击特点的特征,所述样本集D是电力工控报文数据的集合,所述数据包括预先采集的第一特征和第二特征中每个特征变量的数据,以及根据第一特征和第二特征的特征变量计算确定的第三特征的特征变量的数据;
设置随机森林模型的参数,搭建随机森林模型,其中,所述参数包括森林中树的数量,放回采样,节点分裂所需的最小样本值,叶子节点最小的样本权重,随机森林划分考虑的最大特征数以及树的深度;
基于样本集D'对所述随机森林模型进行多折交叉验证以确定模型参数达到最优化时的最优随机森林模型,并通过所述最优随机森林模型确定电力工控攻击报文的攻击种类,其中,所述样本集D'是从样本集D中选取的训练随机森林模型的特征变量的数据生成的数据集合,所述模型参数达到最优化是指所述随机森林模型的训练未发生过拟合和/或欠拟合时确定的参数。
2.根据权利要求1所述的方法,其特征在于,所述方法在基于样本集D计算第一特征、第二特征以及第三特征中每个特征变量的信息增益之前还包括:
采集电力工控报文第一特征和第二特征中每个特征变量的数据,生成数据集N,其中,所述数据集N的数据行数为m,数据列数为n,总标签数为l,所述行数是采集的电力工控报文的条数,所述列数是每一条电力工控报文中第一特征和第二特征中每个特征变量的特征值,总标签数是电力工控攻击总的种类数,所述第一特征的特征变量包括源IP地址,目的IP地址,连接持续时间,协议类型,目标主机的服务类型,连接正常或错误的状态,从源主机到目标主机的数据的字节数,从目标主机到源主机的数据的字节数,连接是否来自/送达同一主机/端口的属性值和错误分段的数量,第二特征的特征变量包括访问系统敏感文件和目录的次数,登陆尝试失败的次数;登陆是否成功的属性值,登陆是否为guest的属性值;
根据所述数据集N中缺省值的类别,对所述缺省值进行补全,其中,所述缺省值分为属性变量和数值变量;
基于电力工控报文的第一特征和第二特征中的特征变量确定表征电力工控攻击特点的第三特征的特征变量。
3.根据权利要求2所述的方法,其特征在于,所述根据所述数据集N中缺省值的类别,对所述缺省值进行补全包括:
当所述缺省值是属性变量时,以数据集N中该缺省值对应的特征变量出现次数最多的属性值进行补全;
当所述缺省值是数值变量且所述缺省值所在的行数不是非数据集N的首末行时,采用线性差值法对该缺省值进行补全,其计算公式为:
式中,y0和x0分别为该缺省值对应的特征的前一条记录特征值和特征值所在的行数,y1和x1分别为该缺省值对应的特征的后一条记录特征值和特征值所在的行数;
当所述缺省值是数值变量且所述缺省值所在的行数是非数据集N的首末行时,即缺省值无上一条或下一条记录时,以数据集N中该缺省值对应的特征变量出现次数最多的数量值进行补全。
4.根据权利要求2所述的方法,其特征在于,所述基于电力工控报文的第一特征和第二特征中的特征变量确定表征电力工控攻击特点的第三特征的特征变量,所述特征变量包括:
固定源IP地址到固定目的IP地址中的报文数量;
固定源IP地址到固定目的IP地址中平均连接持续时间;
固定源IP地址到固定目的IP地址中平均源主机到目标主机的数据字节数;
固定源IP地址到固定目的IP地址中平均目标主机到源主机的数据字节数;
固定协议类型的平均连接时间;
固定源IP地址到固定目的IP地址在不同协议下的报文数量;
固定源IP地址到固定目的IP地址在不同协议下的平均源主机到目标主机的数据字节数;
固定源IP地址到固定目的IP地址在不同协议下的平均目标主机到源主机的数据字节数;
固定源IP地址到固定目的IP地址中错误分段的数量;
固定源IP地址到固定目的IP地址在不同协议下的错误分段数量;
固定源IP地址到固定目的IP地址在不同协议下的错误分段平均数;
固定源IP地址到固定目的IP地址下的平均登陆尝试失败的次数;
固定源IP地址到固定目的IP地址下的非guest用户登录次数;
不同目标主机服务类型下的非guest用户登录次数;
固定源IP地址到固定目的IP地址下不同目标主机服务类型下的用户登录成功次数。
5.根据权利要求2所述的方法,其特征在于,所述基于样本集D计算第一特征、第二特征以及第三特征中每个特征变量的信息增益包括:
计算样本集D的信息熵,记当前样本集合D中第k类样本所占比例为pk,其中1≤k≤l,l是数据集N中的总标签数,则计算样本集D的信息熵的计算公式为
根据所述样本集D的信息熵计算第一特征、第二特征以及第三特征中每个特征变量的信息增益,记样本集D中的特征变量a有V个可能的取值{a1,a2,...,aV},当使用a来对样本集D进行划分,则会产生V个分支节点,其中第v个分支节点包含了D中所有在特征变量a上取值为av的样本,记为Dv,则计算Dv的信息熵H(Dv);
根据不同分支节点所包含的样本数不同,给分支节点赋予权重|Dv|/|D|,即样本数越多的分支节点的影响越大,计算特征a在样本集中的信息增益Gain(D,a),其计算公式为:
6.根据权利要求1所述的方法,其特征在于,所述设置随机森林模型的参数,搭建随机森林模型包括:
设置森林中树的数量n_estimators=15;
放回采样bootstrap=True;
节点分裂所需的最小样本值min_saples_split=3;
叶子节点最小的样本权重min_weight_fraction_leaf=0,其中,所述参数值设置为0表示认为所有特征的权重值相等;
随机森林划分时考虑的最大特征数max_features=-1,其中,所述参数值设置为-1表示考虑所有的特征数;
树的深度max_depth=-1,其中,所述参数值设置为-1表示不设置最大深度。
7.根据权利要求6所述的方法,其特征在于,基于样本集D'对所述随机森林模型进行多折交叉验证以确定模型参数达到最优化时的最优随机森林模型,并通过所述最优随机森林模型确定电力工控攻击报文的攻击种类包括:
步骤1、将样本集D'分为等比例的h份,记为样本D1、样本D2……样本Dh-1、样本Dh,保证h份样本的分布一致,即样本与样本之间的数学统计量一致,所述数学统计量包括每个特征变量的均值、方差、中位数;
步骤2、基于划分的样本集D'对所述随机森林模型进行多折交叉验证,设置训练集Dtr=D'\Di,测试集Dval=Di,根据设置的随机森林模型的参数,利用训练集中的h-1份样本训练分类器模型,利用测试集中的样本Di进行测试,确定输出的随机森林模型为Hi(Dtr,Dval),其中1≤i≤h,i的初始值为h;
步骤3、令h=h-1,当h≥1时,跳转至步骤2,当h<1时,跳转到步骤4;
步骤4、根据多折交叉验证完成后,随机森林模型的训练误差和验证误差的变化,确定随机森林模型设置的参数是否达到最优化,当参数未达到最优化时,跳转到步骤5,当模型参数达到最优化时,确定所述输出的随机森林模型为最优随机森林模型,并跳转至步骤6,其中,所述模型参数达到最优化是指所述随机森林模型的训练未发生过拟合和/或欠拟合时的模型参数;
步骤5、当随机森林模型训练误差降低,而验证误差上升,模型训练中发生过拟合现象,则减小n_estimators的值,增大min_samples_split的值,当模型训练误差增大,模型训练中发生欠拟合现象,则增大n_estimators的值,减小min_samples_split的值,并跳转至步骤2;
步骤6、基于多折交叉验证输出的最优随机森林模型确定电力工控攻击报文的攻击种类,其中,设电力工控攻击的报文为Dts,将所述报文中的缺省值补全后,从所述报文中提取训练随机森林模型时的特征变量的特征值,并通过最优随机森林模型输出预测结果M,其表达式为:
M={P(Dts|label=1),P(Dts|label=2),……P(Dts|label=i)……P(Dts|label=l)}
式中,所述l是电力工控攻击的总的种类数,所述P(Dts|label=i)是所述电力工控攻击为第i种攻击时的概率,1≤i≤l,所述M中输出的最大概率的类别即为所述电力工控攻击报文的最终种类。
8.一种基于机器学习的电力工控攻击分类系统,其特征在于,所述系统包括:
特征变量单元,其用于基于样本集D计算第一特征、第二特征以及第三特征中每个特征变量的信息增益,并对所有特征变量的信息增益从大到小进行排序,选取信息增益的值在前t位的特征变量作为训练随机森林模型的特征变量,其中,所述第一特征是电力工控报文的TCP连接基本特征,所述第二特征是电力工控报文的TCP连接内容特征,所述第三特征是基于电力工控报文的第一特征和第二特征确定的表征电力工控攻击特点的特征,所述样本集D是电力工控报文数据的集合,所述数据包括预先采集的第一特征和第二特征中每个特征变量的数据,以及根据第一特征和第二特征的特征变量计算确定的第三特征的特征变量的数据;
模型设置单元,其用于设置随机森林模型的参数,搭建随机森林模型,其中,所述参数包括森林中树的数量,放回采样,节点分裂所需的最小样本值,叶子节点最小的样本权重,随机森林划分考虑的最大特征数以及树的深度;
攻击分类单元,其用于基于样本集D'对所述随机森林模型进行多折交叉验证以确定模型参数达到最优化时的最优随机森林模型,并通过所述最优随机森林模型确定电力工控攻击报文的攻击种类,其中,所述样本D'是从样本集D中选取的训练随机森林模型的特征变量的数据生成的数据集合,所述模型参数达到最优化是指所述随机森林模型的训练未发生过拟合和/或欠拟合时确定的参数。
9.根据权利要求8所述的系统,其特征在于,所述系统还包括:
数据采集单元,其用于采集电力工控报文第一特征和第二特征中每个特征变量的数据,生成数据集N,其中,所述数据集N的数据行数为m,数据列数为n,总标签数为l,所述行数是采集的电力工控报文的条数,所述列数是每一条电力工控报文中第一特征和第二特征中每个特征变量的特征值,总标签数是电力工控攻击总的种类数,所述第一特征的特征变量包括源IP地址,目的IP地址,连接持续时间,协议类型,目标主机的服务类型,连接正常或错误的状态,从源主机到目标主机的数据的字节数,从目标主机到源主机的数据的字节数,连接是否来自/送达同一主机/端口的属性值和错误分段的数量,第二特征的特征变量包括访问系统敏感文件和目录的次数,登陆尝试失败的次数,登陆是否成功的属性值,登陆是否为guest的属性值;
数据补全单元,其用于根据所述数据集N中缺省值的类别,对所述缺省值进行补全,其中,所述缺省值分为属性变量和数值变量;
第三特征单元,其用于基于电力工控报文的第一特征和第二特征中的特征变量确定表征电力工控攻击特点的第三特征的特征变量。
10.根据权利要求9所述的系统,其特征在于,所述数据补全单元包括:
第一补全单元,其用于当所述缺省值是属性变量时,以数据集N中该缺省值对应的特征变量出现次数最多的属性值进行补全;
第二补全单元,其用于当所述缺省值是数值变量且所述缺省值所在的行数不是非数据集N的首末行时,采用线性差值法对该缺省值进行补全,其计算公式为:
式中,y0和x0分别为该缺省值对应的特征的前一条记录特征值和特征值所在的行数,y1和x1分别为该缺省值对应的特征的后一条记录特征值和特征值所在的行数;
当所述缺省值是数值变量且所述缺省值所在的行数是非数据集N的首末行时,即缺省值无上一条或下一条记录时,以数据集N中该缺省值对应的特征变量出现次数最多的数量值进行补全。
11.根据权利要求9所述的系统,其特征在于,所述第三特征单元的特征变量包括:
固定源IP地址到固定目的IP地址中的报文数量;
固定源IP地址到固定目的IP地址中平均连接持续时间;
固定源IP地址到固定目的IP地址中平均源主机到目标主机的数据字节数;
固定源IP地址到固定目的IP地址中平均目标主机到源主机的数据字节数;
固定协议类型的平均连接时间;
固定源IP地址到固定目的IP地址在不同协议下的报文数量;
固定源IP地址到固定目的IP地址在不同协议下的平均源主机到目标主机的数据字节数;
固定源IP地址到固定目的IP地址在不同协议下的平均目标主机到源主机的数据字节数;
固定源IP地址到固定目的IP地址中错误分段的数量;
固定源IP地址到固定目的IP地址在不同协议下的错误分段数量;
固定源IP地址到固定目的IP地址在不同协议下的错误分段平均数;
固定源IP地址到固定目的IP地址下的平均登陆尝试失败的次数;
固定源IP地址到固定目的IP地址下的非guest用户登录次数;
不同目标主机服务类型下的非guest用户登录次数;
固定源IP地址到固定目的IP地址下不同目标主机服务类型下的用户登录成功次数。
12.根据权利要求9所述的系统,其特征在于,所述特征变量单元基于样本集D计算第一特征、第二特征以及第三特征中每个特征变量的信息增益包括:
计算样本集D的信息熵,记当前样本集合D中第k类样本所占比例为pk,其中1≤k≤l,l是数据集N中的总标签数,则计算样本集D的信息熵的计算公式为
根据所述样本集D的信息熵计算第一特征、第二特征以及第三特征中每个特征变量的信息增益,记样本集D中的特征变量a有V个可能的取值{a1,a2,...,aV},当使用a来对样本集D进行划分,则会产生V个分支节点,其中第v个分支节点包含了D中所有在特征变量a上取值为av的样本,记为Dv,则计算Dv的信息熵H(Dv);
根据不同分支节点所包含的样本数不同,给分支节点赋予权重|Dv|/|D|,即样本数越多的分支节点的影响越大,计算特征a在样本集中的信息增益Gain(D,a),其计算公式为:
13.根据权利要求8所述的系统,其特征在于,所述模型设置单元设置随机森林模型的参数,搭建随机森林模型包括:
设置森林中树的数量n_estimators=15;
放回采样bootstrap=True;
节点分裂所需的最小样本值min_saples_split=3;
叶子节点最小的样本权重min_weight_fraction_leaf=0,其中,所述参数值设置为0表示认为所有特征的权重值相等;
随机森林划分时考虑的最大特征数max_features=-1,其中,所述参数值设置为-1表示考虑所有的特征数;
树的深度max_depth=-1,其中,所述参数值设置为-1表示不设置最大深度。
14.根据权利要求13所述的系统,其特征在于,所述攻击分类单元基于样本集D'对所述随机森林模型进行多折交叉验证以确定模型参数达到最优化时的最优随机森林模型,并通过所述最优随机森林模型确定电力工控攻击报文的攻击种类包括:
步骤1、将样本集D'分为等比例的h份,记为样本D1、样本D2……样本Dh-1、样本Dh,保证h份样本的分布一致,即样本与样本之间的数学统计量一致,所述数学统计量包括每个特征变量的均值、方差、中位数;
步骤2、基于划分的样本集D'对所述随机森林模型进行多折交叉验证,设置训练集Dtr=D'\Di,测试集Dval=Di,根据设置的随机森林模型的参数,利用训练集中的h-1份样本训练分类器模型,利用测试集中的样本Di进行测试,确定输出的随机森林模型为Hi(Dtr,Dval),其中1≤i≤h,i的初始值为h;
步骤3、令h=h-1,当h≥1时,跳转至步骤2,当h<1时,跳转到步骤4;
步骤4、根据多折交叉验证完成后,随机森林模型的训练误差和验证误差的变化,确定随机森林模型设置的参数是否达到最优化,当参数未达到最优化时,跳转到步骤5,当模型参数达到最优化时,确定所述输出的随机森林模型为最优随机森林模型,并跳转至步骤6,其中,所述模型参数达到最优化是指所述随机森林模型的训练未发生过拟合和/或欠拟合时的模型参数;
步骤5、当随机森林模型训练误差降低,而验证误差上升,模型训练中发生过拟合现象,则减小n_estimators的值,增大min_samples_split的值,当模型训练误差增大,模型训练中发生欠拟合现象,则增大n_estimators的值,减小min_samples_split的值,并跳转至步骤2;
步骤6、基于多折交叉验证输出的最优随机森林模型确定电力工控攻击报文的攻击种类,其中,设电力工控攻击的报文为Dts,将所述报文中的缺省值补全后,从所述报文中提取训练随机森林模型时的特征变量的特征值,并通过最优随机森林模型输出预测结果M,其表达式为:
M={P(Dts|label=1),P(Dts|label=2),……P(Dts|label=i)……P(Dts|label=l)}
式中,所述l是电力工控攻击的总的种类数,所述P(Dts|label=i)是所述电力工控攻击为第i种攻击时的概率,1≤i≤l,所述M中输出的最大概率的类别即为所述电力工控攻击报文的最终种类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811237515.8A CN109446635B (zh) | 2018-10-23 | 2018-10-23 | 一种基于机器学习的电力工控攻击分类方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811237515.8A CN109446635B (zh) | 2018-10-23 | 2018-10-23 | 一种基于机器学习的电力工控攻击分类方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109446635A CN109446635A (zh) | 2019-03-08 |
CN109446635B true CN109446635B (zh) | 2023-05-05 |
Family
ID=65547100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811237515.8A Active CN109446635B (zh) | 2018-10-23 | 2018-10-23 | 一种基于机器学习的电力工控攻击分类方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109446635B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110691073A (zh) * | 2019-09-19 | 2020-01-14 | 中国电子科技网络信息安全有限公司 | 一种基于随机森林的工控网络暴力破解流量检测方法 |
CN110719275B (zh) * | 2019-09-30 | 2021-04-02 | 南方电网科学研究院有限责任公司 | 一种基于报文特征的电力终端漏洞攻击检测方法 |
CN111107092A (zh) * | 2019-12-23 | 2020-05-05 | 深圳供电局有限公司 | 基于随机森林算法攻击识别方法及储能协调控制装置 |
CN111526053B (zh) * | 2020-04-20 | 2021-05-14 | 电子科技大学 | 一种基于置信度的网络安全告警处理方法 |
CN112260989B (zh) * | 2020-09-16 | 2021-07-30 | 湖南大学 | 电力系统及网络恶意数据攻击检测方法、系统及存储介质 |
CN112866189A (zh) * | 2020-12-14 | 2021-05-28 | 南方电网科学研究院有限责任公司 | 基于电力终端攻击行为特征的攻击建模分析方法 |
CN113364751B (zh) * | 2021-05-26 | 2023-06-09 | 北京电子科技职业学院 | 网络攻击预测方法、计算机可读存储介质及电子设备 |
CN114070638B (zh) * | 2021-11-22 | 2023-07-18 | 安天科技集团股份有限公司 | 一种计算机系统安全防御方法、装置、电子设备及介质 |
CN114697081B (zh) * | 2022-02-28 | 2024-05-07 | 国网江苏省电力有限公司淮安供电分公司 | 基于iec61850 sv报文运行态势模型的入侵检测方法和系统 |
CN114443506B (zh) * | 2022-04-07 | 2022-06-10 | 浙江大学 | 一种用于测试人工智能模型的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105262771A (zh) * | 2015-11-04 | 2016-01-20 | 国家电网公司 | 一种电力行业网络安全攻防实验方法 |
CN107451718A (zh) * | 2017-07-05 | 2017-12-08 | 国网江苏省电力公司电力科学研究院 | 基于随机森林分析法的电力大客户价值评价方法 |
CN108062560A (zh) * | 2017-12-04 | 2018-05-22 | 贵州电网有限责任公司电力科学研究院 | 一种基于随机森林的电力用户特征识别分类方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150188941A1 (en) * | 2013-12-26 | 2015-07-02 | Telefonica Digital Espana, S.L.U. | Method and system for predicting victim users and detecting fake user accounts in online social networks |
US10699213B2 (en) * | 2016-03-07 | 2020-06-30 | Micron Technology, Inc. | Space efficient random decision forest models implementation utilizing automata processors |
-
2018
- 2018-10-23 CN CN201811237515.8A patent/CN109446635B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105262771A (zh) * | 2015-11-04 | 2016-01-20 | 国家电网公司 | 一种电力行业网络安全攻防实验方法 |
CN107451718A (zh) * | 2017-07-05 | 2017-12-08 | 国网江苏省电力公司电力科学研究院 | 基于随机森林分析法的电力大客户价值评价方法 |
CN108062560A (zh) * | 2017-12-04 | 2018-05-22 | 贵州电网有限责任公司电力科学研究院 | 一种基于随机森林的电力用户特征识别分类方法 |
Non-Patent Citations (1)
Title |
---|
王继业 ; 孙利民 ; 李晔 ; 应欢 ; 韩丽芳 ; .电力工控系统攻击仿真验证关键技术研究.电力信息与通信技术.2017,(第06期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN109446635A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109446635B (zh) | 一种基于机器学习的电力工控攻击分类方法和系统 | |
CN107154950B (zh) | 一种日志流异常检测的方法及系统 | |
Kayacik et al. | Selecting features for intrusion detection: A feature relevance analysis on KDD 99 intrusion detection datasets | |
KR102271449B1 (ko) | 인공지능 모델 플랫폼 및 인공지능 모델 플랫폼 운영 방법 | |
CN112800116B (zh) | 一种业务数据的异常检测方法及装置 | |
CN109818964B (zh) | 一种DDoS攻击检测方法、装置、设备以及存储介质 | |
CN103164698B (zh) | 文本指纹库生成方法及装置、文本指纹匹配方法及装置 | |
CN111598179B (zh) | 电力监控系统用户异常行为分析方法、存储介质和设备 | |
CN109818961B (zh) | 一种网络入侵检测方法、装置和设备 | |
Chang et al. | Anomaly detection for industrial control systems using k-means and convolutional autoencoder | |
CN113961434A (zh) | 一种分布式区块链系统用户异常行为监测方法及系统 | |
CN108718298B (zh) | 一种恶意外连流量检测方法及装置 | |
CN110971677B (zh) | 一种基于对抗强化学习的电力物联网终端设备边信道安全监测方法 | |
CN109347853B (zh) | 基于深度包解析的面向综合电子系统的异常检测方法 | |
CN110768946A (zh) | 一种基于布隆过滤器的工控网络入侵检测系统及方法 | |
CN111600919A (zh) | 基于人工智能的web检测方法和装置 | |
CN113660273B (zh) | 超融合架构下基于深度学习的入侵检测方法及装置 | |
CN111970229B (zh) | 一种针对多种攻击方式的can总线数据异常检测方法 | |
US20210136032A1 (en) | Method and apparatus for generating summary of url for url clustering | |
CN112738109A (zh) | 一种Web攻击的检测方法及装置 | |
CN105871861B (zh) | 一种自学习协议规则的入侵检测方法 | |
CN117220920A (zh) | 基于人工智能的防火墙策略管理方法 | |
CN110598180A (zh) | 一种基于统计分析的事件检测方法、装置及系统 | |
CN110022313B (zh) | 基于机器学习的多态蠕虫特征提取及多态蠕虫辨识方法 | |
CN110809009A (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 |