APP下载

一种基于小生境遗传算法的电网信息安全风险评估模型

2021-03-18李佳玮吴克河张波

电力建设 2021年3期
关键词:小生境约简适应度

李佳玮, 吴克河,张波

(1.华北电力大学控制与计算机工程学院, 北京市 102206;2.国网北京市电力公司,北京市 100031;3.全球能源互联网研究院有限公司,南京市210003)

0 引 言

现代智能电网高度结合信息和通信技术,监控电力网络运行情况,以达到节约能源,增强电网可靠性的目的。随着智能电网的复杂性增加,信息系统与物理系统深度耦合,导致现有信息系统所存在的安全隐患给物理系统的运行造成影响。随着物联网的快速发展,攻击者可以通过互联网利用这些安全风险和漏洞进行远程攻击,进而破坏物理电力系统的稳定运行。例如2010年发生的震网(Stuxnet)病毒针对伊朗核设施进行破坏性攻击,进一步表明工业控制环境下的信息系统安全问题会对工业系统稳定运行造成致命影响。随着信息技术的深入发展,现有物理电力系统对信息系统的依赖性也不断加深,这必然导致网络攻击会干扰控制系统的正常运行甚至使系统崩溃。因此,及时检测和评估电网信息系统的各种安全风险,对于电力信息系统设计、控制和运行至关重要。

近年来,应用于信息安全系统的风险评估技术已被广泛应用到电力系统的许多方面[1]。风险评估是一种对安全威胁事件发生可能性的量化评估技术,它通过对信息系统和网络中的信息资产遭受攻击破坏从而对整个系统造成的损失进行定量分析,来对整体系统的安全风险实现量化等级评估。电网信息安全的风险评估实际上就是寻找影响系统安全因素与安全风险等级之间的函数关系模型,并依据该模型来判断当前系统的安全风险大小。

文献[2]从拓扑结构、交互风险和系统运行等层面对电力系统可能面临的动态风险进行识别和传递仿真。文献[3]从系统脆弱性角度对信息系统建立风险评估模型。文献[4]采用故障后负荷控制代价评价监控设备和通信链路故障对电网的影响。文献[5]基于通信延迟和通信中断的概率评估电力系统在静态和动态下的脆弱性。文献[6]基于路径分析方法来解决多步跨域类攻击对电力信息物理系统的危害问题。文献[7]分析了网络攻击下的电子网络物理系统脆弱性。文献[8]研究了系统性能与系统可靠性之间的关联问题。

由于安全风险评估具有复杂性、非线性和不确定性,这些评估方法通常都具有一定的局限性,并且存在主观上的任意性和模糊性。近年来,人工智能算法(如决策树、模式识别、模糊逻辑、人工神经网络和专家系统)被逐步应用于电力网络信息系统安全风险评估领域[9-12]。文献 [9]提出了一种基于决策树算法的智能信息安全风险评估方法。文献[10]提出了基于改进的小波神经网络的信息安全风险评估方法。 文献[11]提出了基于灰色分析网络过程的信息安全风险评估方法。文献[12] 提出了基于模糊专家系统的电力系统信息安全风险评估方法。但是,由于电力信息系统中存在很多安全风险因素,这些方法容易导致计算量高、准确性低以及安全风险评估复杂等问题。安全风险评估过程中的基本工作是构建风险等级分类模型。

综上所述,现有的电力系统风险评估方法主要是根据样本数据进行分类求解,从而得出安全风险等级,但无法得到将风险等级和安全风险因素联系在一起的分类数学模型。为了更好地解决这些问题,同时降低高维度数据集下的运算量,本文提出一种改进的基因表达式编程(gene expression programming, GEP)算法用于电网信息安全风险评估。该算法结合归因约简和样本优化思路,首先利用分辨函数求解最优属性对数据样本进行约简降低样本维度,再利用小生境模型提高样本个体的多样性以改善收敛效果,最后通过遗传算法实现全局搜索并得到安全风险等级评估结果。

1 数据样本约简及多样化处理

1.1 基于分辨函数求解的属性约简

本文采用分辨函数实现属性约简,在进行属性约简时,首先利用分辨函数将原有的属性约简问题等价为布尔逻辑表达式求解问题,进一步通过对布尔逻辑表达式约束来实现属性约简。在求解过程中,用条件属性表示系统信息分辨能力,以此表达对象间的分辨关系[13]。

影响电网信息安全风险评估的因素众多,利用GEP直接进行高维数据集的风险评估函数挖掘是一件非常困难的事,为了更好地对这些高维数据集进行有效挖掘,本文采用分辨函数对样本数据进行属性约简,在不改变约简后数据的决策规则基础上,提高决策效率。

1.2 基于小生境模型的样本多样化处理

GEP算法属于进化算法,基于生物基因结构和功能实现自适应演化。像所有自然或人工进化算法一样,GEP使用个体种群(模型或解决方案的集合),根据适应性进行选择和繁殖,并使用一种或多种遗传算子(例如突变、重组、交叉或其他遗传)引入遗传变异[14]。GEP在复制选定的模型时,会在一定程度上进行遗传变异,从而创建下一代新模型。通过重复此过程,可以找到解决方案的近似最优解。GEP算法使用固定长度的线性染色体编码实现多个表达树或子程序,可以将其组织成一个更加复杂的程序。因此,GEP算法使用的基因树结构可以快速全局搜索整个样本数据空间。

GEP算法由染色体和表达树构成。染色体是编码信息,表达树则是染色体编码遗传信息的一种表达。本质上,信息解码的过程称为翻译。这种翻译显然意味着一种代码和一组规则。GEP的遗传密码为基因符号,与它们在树中代表的节点之间是一对一的关系。规则包括空间组织以及空间组织和表达树之间的交互关系。在GEP中,使用基因语言表述遗传信息,使用表达树语言表示规则信息。这意味着可以选择以其紧凑的基因组表示一个非常复杂的程序,而不会失去意义。因此,GEP基因通常在终止点下游具有非编码区。这些非编码区显然不会干扰表达,但是它们在进化中起着至关重要的作用。

在GEP中,采用等长的多个基因构成一个染色体。选择不同的基因数量和长度来表示不同的问题或者是某个运行程序。每种基因都采用一个子表达树表示其基因表码,用子表达树之间的相互作用关系来构成整个表达树。

在生物进化领域,最常见的一种进化类型是相似的物种往往会在一个较为封闭的特定区域内进行演化竞争,这称为小生境模型。文献[15]提出将小生境模型运用到基因表达式编程中,其基本思路是将样本进行聚类,将每个分类看作是一个小生境环境,在每个小生境环境中选取适应度较大的样本进行杂交演变,变异出下一代个体群。然后在下一代群体中选取适应度大的代表样本重复进行杂交演变。不同的小生境环境之间也进行杂交变异以形成新的个体群。通过这样的方式来生成实际问题的最优解。

传统的进化算法在杂交演变过程中,个体结合方式采用随机选择,这导致容易出现在进化后期个体样本大多聚集在局部极值点上,仅能获得局部最优解而难以获得全局最优解。而基于小生境模型的进化算法中,不仅考虑了同一小生境环境下的种群杂交演化,同时还在不同种群之间完成杂交演化。个体结合方式并不是随机选择,而是选择适应度较大的个体作为小生境环境下的代表样本进行杂交,这就保证了全局搜索能力。也就是说,基于小生境的进化算法,其核心思想是不仅采用小生境环境下的最优个体实时杂交演变,同时通过不同小生境环境之间的杂交保证样本的多样性。因此基于小生境环境的进化算法有较好的全局搜索能力,并保持较快的收敛速度。

2 基于小生境提高样本多样性的GEP算法

本文提出的基于小生境遗传算法的电网信息安全风险评估模型的整体流程如图1所示,右半部分为本文提出的优化流程,左半部分是传统的操作流程。

传统的GEP算法在挖掘电网信息安全风险评估函数模型时,易出现大量重复个体,导致算法早熟收敛。为了解决这些问题,本文提出了一种改进的基因表达式编程算法。其主要步骤如下:1)首先利用分辨函数求解最优属性对数据样本进行约简,降低样本维度;2)利用小生境模型提高样本个体的多样性以改善收敛效果;3)通过遗传算法实现全局搜索并得到安全风险的等级评估结果。

图1 安全风险评估模型算法流程图Fig.1 Algorithm flowchart of security risk assessment model

2.1 样本数据属性约简

定义1风险评估样本决策表:设数据集D=[U,AT=A∪B,VAT,f],U={u1,u2,…,un}是风险评估样本组成的集合;AT代表属性集合,且AT=A∪B,其中A={a1,a2,…,am}是条件属性集合,即信息和物理安全风险要素;B={b1,b2,…,bl}是决策属性集合,即安全风险要素集中的风险等级集合。VAT表示属性AT的值域。f:U×AT→VAT代表信息函数,用来确定U中每一对象uj的属性值,即∀r∈AT,uj∈U,有f(uj,r)∈VAT。则称D为风险评估样本决策表。

定义2不可分辨性: 在风险评估样本数据集D=[U,AT=A∪B,VAT,f]中,对于任意子集C⊆AT,若ui,uj∈U,∀r∈C,当且仅当f(ui,r)=f(uj,r)时,称样本数据对象ui,uj是不可分辨的,简记为DIN(C),即DIN(C)={(ui,uj)∈U| ∀r∈C,f(ui,r)=f(uj,r)}。

设矩阵W=(wij)n×n。

(1)

称矩阵W为分辨矩阵,其中元素wij是能够区别对象ui和uj的所有对象属性的元素。

分辨矩阵W表示信息系统属性间的不可分辨关系,通过对分辨矩阵进行求解找到所有约简的值,进而可以获得约简的最优解。

假设上述风险评估样本决策表D=[U,AT=A∪B,VAT,f]为布尔函数,该布尔函数是wij的合取,而wij是分辨矩阵W中各个元素的析取。则g=∧(∨wij), 1≤j

每一个属性约简即为分辨函数析取范式中的对应合取式。而其核是矩阵中所有元素的集合,即:

Ccore(AT)={a∈AT:wij=a,1≤j

(2)

从析取范式中提取的每一个合取式都为一个约简,最终得到约简集合。记约简后的风险评估样本决策表为D′。

在上述定义的基础上,整个样本数据属性约简算法描述如下:

1)初始阶段:

设置风险评估样本决策表D=[U,AT=A∪B,VAT,f]。

2)运行阶段:

步骤1:构造分辨矩阵W=(wij)n×n,i,j=1,2,…,n;

步骤2:构造分辨函数:g=∧(∨wij), 1≤j

步骤3:利用式(2)对分辨函数g进行化简,使之成为析取范式,析取范式中每一个合取式都为一个约简;

步骤4:输出约简后的风险评估样本决策表为D′。

2.2 基于小生境遗传算法的风险评估函数生成

属性约简其本质是对高维数据集进行降维,通常会带来信息损失。但基于分辨函数求解的属性约简,由于属性约简函数的自身特性,这种降维处理不会改变原有数据固有的决策属性和能力。因此在基于分辨函数求解的属性约简基础上,基于GEP进行电网信息安全风险评估模型挖掘和直接利用GEP进行模型挖掘的效果是一致的。但单一的GEP易陷于局部最优,因此本文将小生境技术应用到GEP中,通过小生境来增加GEP种群中个体的多样性,从而极大地提高单一GEP的全局收敛速度,最终得到风险评估函数。

定义3设运算集F={+,-,×,÷,sin,cos,log},表示运算操作符号集合;终端风险要素集T={d1,d2,…,dp},其中p表示影响电力信息安全风险要素的属性个数。则T×F为基于风险要素和运算规则建立的安全风险评估基因(security risk assessment gene, SRA)[16]。

定义4设fmax为当前GEP种群中实际的最优适应度值,Fmax为当前GEP种群中理论的最优适应度值,若fmax/Fmax>0.95,则称当前GEP已全局收敛。

整个算法过程描述如下。

1)初始阶段:

输入2.1节约简后得到的电网风险评估决策表D′,设种群大小为SPop,最大迭代次数为GMax;迭代终止的适应值为fMaxFitness,设置小生境半径R和小生境容量V的值。

2)运行阶段:

步骤1:计算群体中所有个体的适应度值。

步骤2:根据适应度值对个体进行降序排列。

步骤3:当个体大于R值时,将该个体指定为一个新的小生境中心,且标记为winner;否则当小生境容量足够时将该个体加入到对应小生境中,对应小生境的容量总数加1。若小生境容量达到V则将该个体标记为loser。

步骤4:所有winner的适应度值不变,所有loser的适应度值为0。

步骤6:重复步骤1至步骤5直至适应度值达到fMaxFitness或是迭代次数达到GMax。

步骤7:返回最优的风险评估函数。

3 实验分析

3.1 实验设计

本文实验设计如下,其中属性约简程序通过Rosetta实现,风险评估模型挖掘通过Java实现,实验平台为Win10 + Eclipse 3.2+Java1.8。在性能对比上本文和文献[16]提出的基于表达式编程算法的信息安全风险评估模型进行性能对比。

本实验的数据主要来源于国家电网有限公司某省级电网公司信息系统。首先分析该电网目前的资产,目前接入该公司管理信息大区的物联网业务系统30种,设备终端131种,共计669.83万台。该公司业务主要为国家电网有限公司传统信息业务,主要涉及车辆管理、基建工程、仓储物资、电动汽车、电力缴费、输配变电线路在线监测、电能质量在线监测、用电信息采集、供电电压采集、电力巡检/应急抢修、配电自动化等。

其次分析该电网公司信息系统安全风险,得到相应的安全风险要素集,并通过该安全风险要素集中所有的值构造信息安全风险决策表。整个决策表中条件属性(也即安全风险要素) 19个,决策属性(也即安全风险等级) 5个(分别为较高、高、中、低、较低),数据为40组,对其进行量化和归一化预处理后,取其中前30组数据组成训练数据集,剩下的10组数据组成测试数据集。

3.2 评价指标

为了评价本文提出算法的优劣,本文给出相关的性能评价指标定义。

定义5属性约简率: 令|A|表示约简前电网风险评估决策表中包含的安全风险要素个数,|A′|表示约简后的电网风险评估决策表中包含的安全风险要素个数,则称α=|A′|/|A|为当前电网风险评估决策表的属性约简率。

由定义5可知,0<α<1,α越小,说明属性约简算法越有效。

定义6适应度损失率:定义Floss=1-fmax/Fmax为当前基于小生境遗传算法的适应度损失率。

首先,微商、个人代购经营行为需要合法合规。一般来说,代购指在境外购买商品、在境内销售并从中赚取差价的行为。根据将于2019年1月1日开始实施的《电子商务法》,电子商务经营者从事跨境电子商务,需要取得采购国和中国双方的营业执照,还要依法足额纳税。而实际上,很多代购者并没有取得法定的经营许可证,而是私下从事代购活动,且无相关资质,这不仅加大了消费者维权难度,也破坏了国家对外贸易管理规定,扰乱了跨境贸易秩序。

由定义6可知,适应度损失率Floss越低则算法的结果越接近真实情况。

定义7全局收敛率:设N为基于小生境遗传算法运行的总次数,M为每一次基于小生境遗传算法运行结果满足全局收敛定义的次数,则称β=M/N为基于小生境遗传算法的全局收敛率。

由定义7可知,全局收敛率越高,则说明基于小生境遗传算法的性能越好。

3.3 对比分析

针对实验数据集内容,其遗传算法所用参数如下:函数集设定为F={+,-,×,÷,sin,cos,log};变量集根据基于分辨函数的属性约简(attribute reduction based on discernible function,AR-DF)算法得出;遗传函数选用基因个数为3;基因头长为9;其种群大小设为1 000;变异率定义为0.044,对应的一点交叉率、两点交叉率以及Gene交叉率分别设定为0.3、0.3和0.1。适应度函数采用常用的相对误差适应度函数[15],其定义为:

(3)

式中:R为小生境半径;Pij为第i个染色体对第j个适应实例的预测值;Tj为第j个适应实例的真实值;fi是第i个染色体对环境的适应度值。选取不同的小生境半径和小生境容量,其适应度损失率如图2所示。

当小生境半径定为0.1,小生境容量定为3时,可以在保证较好的适应度损失率时同时兼顾运算性能。进一步在R=0.1,V=3的情况下,对本文采用的算法和原始GEP算法的适应度损失率进行了比较,如图3所示。

图2 小生境算法适应度损失率Floss和参数R, V关系Fig.2 Relationship between niche algorithm fitness loss rate and parameter selection R, V

图3 原始GEP算法和本文算法的适应度损失率比较Fig.3 Comparison of fitness loss rate between original GEP algorithm and proposed algorithm

由图3可知,随着学习的深入,2种算法的适应度损失率均快速下降,但本算法始终要优于原始GEP算法。上述结果表明了本模型对于原GEP的优化操作有效降低了GEP运算的适应度损失率。

图4给出本文采用的AR-DF算法与常见的两种属性约简算法,即主成分分析算法(principal components analysis,PCA)[17]和奇异值分解算法(singular value decomposition, SVD)[18]的属性约简率比较。图5给出了在算法运行4次的情形下,AR- DF、PCA以及SVD在求解最优属性约简的4次耗时和平均耗时比较。

从图4中可以看出,AR-DF、PCA和SVD算法的属性约简率分别为26.3%,47.4%和52.6%。与PCA和SVD算法相比,基于AR-DF算法的属性约简率分别提高约80%和100%。实验结果表明了AR-DF算法的属性约简率明显高于传统的PCA和SVD算法,且AR-DF算法基于粗糙集理论实现,理论上可以保证在约简后依然保留原有样本数据的信息。而PCA是从统计学角度进行降维处理,SVD是采用矩阵分解原理进行降维处理,都有一定的信息损失。图5显示本文算法的属性约简效率是最高的, AR-DF比PCA的平均耗时少约59.83%,比SVD少约64.54%。这是因为AR-DF算法的时间复杂度最大为O(|U|×|AT|),而PCA和SVD的时间复杂度约为O(|AT|3)。从时间复杂度可以看出,条件属性值越大,AR-DF算法的计算效率优势越明显。

图4 AR-DF、PCA以及SVD算法的属性约简率比较Fig.4 Comparison of attribute reduction rate among AR-DF, PCA and SVD

图5 AR-DF、PCA以及SVD算法在求解最优属性约简的耗时比较Fig.5 Time-consumption comparison among AR-DF, PCA and SVD

对约简后的电网信息安全风险决策表进一步进行风险评估建模时的全局收敛率比较。 实验过程重复进行4组,每组实验运行算法50次,最大运行代数为30 000。

图6给出了本文采用基于小生境遗传算法的风险评估函数生成算法和文献[19]采用的基因表达式编程算法对属性约简前后的电力信息安全风险数据集进行风险评估建模时的全局收敛率比较结果。图7给出了运用本文算法进行风险评估时在属性约简计算过程中的耗时。图8和图9给出了本文算法挖掘得到的风险评估模型在训练集和测试集上的真实值与模型计算值的比对结果。

图6 属性约简前后本文算法和传统算法的全局收敛率比较Fig.6 Comparison of convergence rates between proposed and traditional algorithm and T_GEP

图7 属性约简前后本文算法的风险评估耗时比较Fig.7 Comparison of risk assessment time-consumption of proposed algorithm before and after attribute reduction

由图6可知,在样本数据集全局收敛率方面,本文提出的算法在属性约简前后都优于文献[19]所采用算法。实验数据属性约简前,本文算法的全局收敛率比文献[19]所采算法提高约22.58%;实验数据属性约简后,本文算法的全局收敛率比文献[19]所采用算法提高约15.38%。同时,针对约简后的实验数据集,本文算法和文献[19]所采用算法的全局收敛率都要比各自约简前高。这表明,本文算法中采用的属性约简方法在高维数据集下的表现良好,其全局收敛率较高同时不影响决策分析。同时,小生境技术大大提高了GEP算法的全局收敛性。图7结果显示,针对表1中的实验数据集,属性约简大大降低了安全风险评估模型挖掘的计算耗时。与属性约简前相比,属性约简后4次相同参数的实验中本文算法的平均耗时最大减少约52.4%。其原因在于,属性约简大大简化了种群的复杂度,进一步加快了种群中各类遗传操作和计算,从而大大减少了计算耗时。

图8 针对训练数据集的基于本文算法的风险评估真实值与模型值比较Fig.8 Comparison of the real value of risk assessment and model value based on proposed algorithm for training data set

图9 针对测试数据集的基于本文算法的风险评估真实值与模型值比较Fig.9 Comparison between real value and model value of risk assessment based on proposed algorithm for test data set

图8和图9反映了电网信息安全风险评估决策表中训练和测试数据真实值与模型计算值之间的拟合程度。图8表明针对训练数据集,在属性约简情况下,其得到的模型计算值与真实值之间最大误差为0.291 3,最小为0.001 9,平均误差为0.075 0。图9显示在测试数据集上,本文所提的属性约简算法所得的模型计算值与原有真实值之间误差很小,其平均误差为0.060 0,最大误差为0.130 0,最小误差为0.004 0。因此,本文所提方法具有较高的预测精度。

图10为本文算法和传统遗传算法的风险评估准确率比较结果。参与比较的遗传算法有:量子遗传算法(quantum genetic algorithm,QGA)[19]和基于长短期记忆的遗传算法(genetic algorithm with long short term memory,GA-LSTM)[20]。由图10可知,针对本文选用的数据集,本文算法的准确率达到了97.62%,优于其余2种传统遗传算法。

图10 本文算法和传统遗传算法评估结果比较Fig.10 Comparison of the evaluation results among three genetic algorithms

4 结 论

随着信息通信技术在电网中的不断深入应用,信息系统的各类安全风险势必会影响到物理系统的正常运作,及时发现和评估电力信息物理系统的安全风险,对其安全稳定运行至关重要。本文提出了一种改进的基因表达式编程算法,该算法包括样本降维处理、样本多样化泛化以及全局搜索3个过程。首先利用分辨函数求解算法对数据样本实现属性约简降低样本维度;接着利用小生境模型提高样本个体的多样性以改善收敛效果;最后通过遗传算法实现全局搜索并得到安全风险的有效评估等级。仿真实验表明,本文所提算法与现有基于基因表达式编程算法的信息安全风险评估模型相比,平均耗时最大减少约52.4%,预测值模型精度平均误差为0.06,算法的准确率达到了97.62%,为未来电力信息物理系统安全风险及时准确的评估预测奠定了良好地算法基础。

猜你喜欢

小生境约简适应度
改进的自适应复制、交叉和突变遗传算法
喀斯特小生境与植物物种多样性的关系
——以贵阳花溪公园为例
基于二进制链表的粗糙集属性约简
一种基于改进适应度的多机器人协作策略
实值多变量维数约简:综述
基于模糊贴近度的属性约简
基于小生境遗传算法的相控阵雷达任务调度
基于空调导风板成型工艺的Kriging模型适应度研究
适应值共享小生境遗传算法实现与性能比较分析
基于战略小生境管理的中国绿色技术创新研究