CN110909811A - 一种基于ocsvm的电网异常行为检测、分析方法与系统 - Google Patents

一种基于ocsvm的电网异常行为检测、分析方法与系统 Download PDF

Info

Publication number
CN110909811A
CN110909811A CN201911190223.8A CN201911190223A CN110909811A CN 110909811 A CN110909811 A CN 110909811A CN 201911190223 A CN201911190223 A CN 201911190223A CN 110909811 A CN110909811 A CN 110909811A
Authority
CN
China
Prior art keywords
abnormal
data packet
sequence
behavior
power grid
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
Application number
CN201911190223.8A
Other languages
English (en)
Other versions
CN110909811B (zh
Inventor
田峥
黎曦
陈中伟
邓杰
田建伟
朱宏宇
孙毅臻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
Electric Power Research Institute of State Grid Hunan Electric Power Co Ltd
State Grid Hunan Electric Power Co Ltd
Information and Telecommunication Branch of State Grid Hunan Electric Power Co Ltd
Original Assignee
State Grid Corp of China SGCC
Electric Power Research Institute of State Grid Hunan Electric Power Co Ltd
State Grid Hunan Electric Power Co Ltd
Information and Telecommunication Branch of State Grid Hunan Electric Power Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, Electric Power Research Institute of State Grid Hunan Electric Power Co Ltd, State Grid Hunan Electric Power Co Ltd, Information and Telecommunication Branch of State Grid Hunan Electric Power Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201911190223.8A priority Critical patent/CN110909811B/zh
Publication of CN110909811A publication Critical patent/CN110909811A/zh
Application granted granted Critical
Publication of CN110909811B publication Critical patent/CN110909811B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • YGENERAL 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
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS 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
    • Y04S10/00Systems supporting electrical power generation, transmission or distribution
    • Y04S10/40Display of information, e.g. of data or controls
    • YGENERAL 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
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS 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/00Systems 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/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Abstract

本发明公开了一种基于OCSVM的电网异常行为检测、分析方法与系统,该方案通过收集工控场景的资产信息和配置信息建立有向图模型,充分了解工控网络下的设备间的交互和控制流的路径,对全局进行把握;对发现异常后建立异常风险有向图模型,有利于异常行为的检测以及发现异常后的关联分析;通过对监测的数据包进行协议解析和行为提取,采用基于时间窗口划分出行为序列,使用基于Fisher‑OCSVM的异常行为检测模型对获取的行为序列进行检测,并对检测出的异常行为序列进行重检测和异常行为关联分析,将基于网络和基于主机相结合,减少了漏报率和误报率,并且对分析结果评估上报,以保障系统能正常运行。

Description

一种基于OCSVM的电网异常行为检测、分析方法与系统
技术领域
本发明涉及工业控制系统安全领域,特别涉及一种基于OCSVM的电网异常行为检测、分析方法与系统。
背景技术
近年来,工控安全事件频发,2010年伊朗布什尔核电站遭遇“震网”病毒攻击,“震网”病毒通过向工控设备发送短时间内重复开关指令,使得工控设备不能正常运转,以此破坏电力系统的运行达到攻击的目的。2015年,乌克兰电网遭受黑客攻击引发大规模停电事件,攻击者植入恶意软件,导致发电厂跳闸断电,并且多家电力公司同时遭到拒绝式服务攻击,造成巨大影响。这些工控安全事件都暴露出了电网普遍存在的一些薄弱环节,特别是其监控系统不能有效观察到攻击行为的发生、轨迹及动向,因此导致了严重的后果。
受各类工控安全事件的影响,国网公司加大了对工控安全防护研究与建设的投入,通过多年的安全建设,整体安全防护能力提升很大,但是这些安全建设目前主要是集中在电网侧,并且主要应对的是来自信息网的行为威胁,对于工控网络以及电网接入侧的安全防护目前还主要依赖于横向隔离、纵向加密技术等边界基本防护问题,对于接入端的内部,如电厂内部的安全并无有效的安全防护能力。随着越来越多的新能源企业和智能变电站接入调度数据网,使得电网不再是一个相对独立安全的孤岛,很容易遭受外部通过新能源发电站或变电站发起的渗透攻击,攻击的后果有可能严重影响调度中心和新能源发电站之间的通信甚至把边界设备作为跳板攻击电网内部的工业控制系统。因此,必须对于接入端尤其是接入端内部进行安全监测,并及时发现可能存在的安全问题,防止造成更大的影响。
发明内容
本发明主要解决的技术问题是提供一种基于OCSVM的电网异常行为检测、分析方法与系统,能够对电网接入侧中的厂站进行安全检测,提高电网的安全性和可靠性。
一种基于OCSVM的电网异常行为检测方法,包括以下步骤:
步骤1:获取待检测区域的电网历史运行数据,构建电力设备工控有向图,并对电网历史运行数据中的通信数据包采用结构化表示;
步骤2:按照设定的检测规则,基于电力设备工控有向图中的节点和连接边对采用结构化表示的通信数据包进行检测,获得通信数据包的检测标签,所述检测标签包括正常数据包、异常数据包以及风险数据包;
步骤3:构建异常行为检测模型;
提取电力设备工控有向图中有向边上的历史通信数据包中的操作码的周期序列,并对操作码的周期序列对应的电网运行行为进行人工标记,获得电网运行行为标签;将操作码的周期序列使用长度为L的时间窗口截取周期序列的子操作序列,构造出电网运行行为的操作集合对应的电网运行行为特征,以电网运行行为特征作为输入数据,以对应的电网运行行为标签作为输出数据,构建并训练基于OCSVM的异常行为检测模型;
步骤4:从电网运行数据中的通信数据包中选出通信数据包中操作码的周期序列,使用长度为L的时间窗口截取周期序列的子操作序列构造出电网运行行为的操作集合对应的电网运行行为特征,并输入所构建的异常行为检测模型,获得电网运行行为标签;
其中,L≤周期序列长度。
进一步地,所述通信数据包采用结构p表示:
p=<s_ip,d_ip,s_port,d_port,protocol,length,cont,opera>
其中,s_ip表示数据包源地址,d_ip表示数据包目的地址,s_port表示源端口号,d_port表示目的端口号,length表示数据包长度,protocol表示协议标识符,cont表示数据包的关键内容,包括控制命令或传输数据,opera是根据工控协议解析得到的功能码、数据地址映射其在工控系统中对应的操作。
进一步地,通信数据包的检测标签按照数据包的异常参数ψp确定:
若ψp<1,则标记该数据包为正常数据包,若ψp=1,则标记该数据包为异常数据包,若ψp>1,则标记该数据包为风险数据包;
Figure BDA0002293370960000021
Figure BDA0002293370960000022
其中,αip为IP地址异常参数,αport为端口号异常参数,αt为协议异常参数,αc为内容异常参数和αw为事件异常参数。
进一步地,所述IP地址异常参数,端口号异常参数,协议异常参数,内容异常参数和事件异常参数分别按照以下规定进行取值:
αip:判断s_ip和目的d_ip是否在数据包发送端和接收端相互的发送/接收IP白名单中,若不在,令αip=1;若都在白名单中,则根据交互频率表计算出αip=-log2p(d_ip),其中p(d_ip)表示s_ip向d_ip发送数据包发生的概率;
αport:判断s_port和d_port是否为在数据包发送端和接收端相互的开放端口白名单中,若不在,令αport=1,若在,则根据交互频率表计算出αport=-log2 p(d_port),其中p(d_port)表示s_port向d_port发送数据包发生的概率;
αt和αc:判断protocol所表示的协议是否为接收端协议白名单中允许执行的协议,若不是,令αt=1;若是,则进一步检查length是否在该协议正常的阈值范围内、解析cont中的功能码和数据地址是否正常,若异常,αc=1,表示内容异常参数;若正常,根据交互频率表计算αt=-log2p(protocol),其中p(protocol)表示发送端与接收端通信使用的协议为protocol发生的概率;
αw:判断opera所表示的操作是否存在接收端事件集白名单中,若不在,αw=1;若在,则根据交互频率表计算出αw=-log2 p(w),其中p(w)表示操作在接收端发送的概率。
进一步地,选择基于OCSVM的异常行为检测模型中的OCSVM的核函数并对所述OCSVM的参数进行调优,获得最佳的基于OCSVM的异常行为检测模型,具体步骤如下:
S231、对于电网运行行为的操作集合I={X1,X2,...,Xi,...,Xn},其中Xi是使用大小为L的滑动时间窗口划分周期序列得到的子操作序列;假设滑动窗口L中共包含了t个数据包,Xi表示为{xi},1≤i≤t,其中xi是每个数据包解析出来对应的工控操作;
xi作为Xi的特征且假设符合一定的分布并且分布之间相互独立的;
S232、使用Fisher向量将包含数据包数量长度不定的输入序列Xi进行归一化处理,转换成具有固定长度的梯度向量作为特征,采用Fisher核函数来衡量序列Xi和Xj之间的距离,即不同序列之间的相似度;
相似度采用Fisher核函数来衡量:
Figure BDA0002293370960000031
其中φX是Fisher向量,它由Fisher分数UX归一化得到
Figure BDA0002293370960000032
Figure BDA0002293370960000033
X服从分布p,p的参数是λ,即序列X关于参数λ下模型的对数似然的梯度,Fλ是Fisher信息矩阵,用于实现梯度特征向量的归一化,
Figure BDA0002293370960000034
S233、将训练集I输入到OCSVM中进行训练,通过引入拉格朗日函数和Fisher核函数得到OCSVM的决策函数:
Figure BDA0002293370960000041
其中,αi为拉格朗日因子,K(Xi,Xj)表示序列Xi和Xj之间的相似度,ρ是特征空间中所需超平面的补偿量,l为训练集的数据量;
当f(Xj)≥0时,则认为Xj判定为“正常”,即位于训练集一侧,否则,则判定为“异常”。
其中,OCSVM对应的二次优化问题等价于:
Figure BDA0002293370960000042
s.t.φ(Xi)ω≥ρ-ξii>0,i=1,...,l
Xi是训练集中的数据,l为训练集的数据量,φ是原始特征空间到高维特征空间的映射,v∈(0,1]是权衡参数,ξi为惩罚因子,ω和ρ分别是特征空间中所需超平面的法向量和补偿;
进一步地,利用K-CV方法和网格参数法对基于OCSVM的异常行为检测模型中的OCSVM的核函数的参数和特征空间中所需超平面的惩罚因子ξi进行参数调优,并调整滑动窗口的长度L进行多次测试,选取出准确率最高的长度L’,完成所述OCSVM的构建;
准确率是指,采用长度为L的窗口获取到的样本进行训练与测试,被正确分类的样本数和全部样本数的百分比。
一种基于OCSVM的电网异常行为分析方法,若从电网运行数据中的通信数据包属于风险数据包或者异常数据包时,将风险数据包、异常数据包和获得的带有电网运行行为标签的电网运行行为序列输入到异常行为分析模型进行分析,生成分析报告;
其中,风险数据包、异常数据包和电网运行行为标签采用权利要求1-6任一项所述方法获得;
若电网运行数据中的通信数据包中操作码的周期序列对应的电网运行行为序列被若判定为“异常”,则开辟一个新的进程,扩大滑动窗口,对选出通信数据包中操作码的周期序列分别从前向、后向和双向重新截取行为序列,依次输入到基于OCSVM的异常行为检测模型中进行重检测,若每个序列都判定为“正常”,则更改标签为“正常行为序列”,若其中任一序列判定仍为“异常”,则标签仍为“异常行为序列”,并将选出通信数据包中操作码的周期序列提交至异常行为分析模型进行分析;
S3、所述异常行为分析模型对标记为“风险数据包”、“异常数据包”的通信数据包和标记为“异常行为序列”的电网运行行为序列进行已知攻击匹配和未知异常关联分析,其具体步骤如下:
S31、首先通过与知识库中的已知攻击行为的行为序列进行比较进行已知攻击匹配;
若已知攻击行为序列与“异常行为序列”的长度相差较大,则先求出已知攻击行为序列与“异常行为序列”的最长公共子序列,再使用距离算法计算其相似度,若相似度达到设定阈值,则认为发生了对应的攻击行为,并设置该序列的标签为“已知攻击序列”,生成攻击行为报为报告,并将报告上传至监控中心,监控中心根据攻击行为报告做出决策,并将攻击警示给其他接入侧的厂站;否则设置该序列的标签为“非已知攻击异常”;
S32、对于“风险数据包”、“异常数据包”和“非已知攻击异常序列”,通过建立异常风险有向图,对与异常风险根节点进行信息获取的其他节点展开未知异常关联分析:
异常风险有向图定义为G′=<R,S>,是所述电力设备工控有向图G=<V,E>的子图;定义“风险数据包”、“异常数据包”的发起节点为异常风险根节点;设所述“非已知攻击异常序列”发生在有向边s=(r1,r2),其中r1,r2∈V,s∈E;定义“非已知攻击异常序列”第一个数据包的时间戳为T0,定义该“非已知攻击异常序列”的第一个数据包的发起节点r1为异常风险根节点;
设置风险深度为h,将风险根节点在图G=<V,E>的后继节点和有向边添加入异常风险有向图中,再以图中各节点为起点加入它们在图G=<V,E>中的后继节点进行图扩展,共进行h次扩展,则图的最长路径长度为h;
最后得到异常风险有向图G′=<R,S>,其节点集合为R={r1,r2,...,rx,...,rn}和有向边集合S={s1,s2,...,sn},定义I为异常风险节点集合,S为异常风险有向边集合;
S33、收集异常风险有向图上各节点的安全信息,对日志文件进行解析,生成节点的异常矩阵,进而可根据矩阵快速查看主机异常行为发生的时间段、发生的先后顺序安全信息;
对与异常风险有向图G′=<R,S>中的每个节点rx,定义rx{a1,a2,...,ak},其中ak表示在该异常风险节点上可能发生的主机异常行为,包括权限扩大、频繁扫描、越权操作、错误密码尝试、非法连接;
收集异常风险有向图上各个节点的日志信息分析是否发生上述主机异常行为:
定义ak对应的列向量为
Figure BDA0002293370960000051
记录ak在时间点T0后每个时间段的异常情况,初始化为零向量;对日志文件进行解析,当检测到有主机异常行为ak发生时,
Figure BDA0002293370960000052
在对应时间段上的值由0变为1,并且之后都为1,最后生成节点的异常矩阵为
Figure BDA0002293370960000061
进而根据异常矩阵快速查看主机异常行为发生的具体时间点、异常行为之间发生的先后顺序信息;
S34、收集异常风险有向图上各边上的安全信息;
对于每条边sx,定义sx{b1,b2,...,bk},其中bk表示在该异常风险有向边上可能发生的网络异常行为,包括IP异常、端口异常、未知协议、流量增加、行为异常;
通过遍历搜索异常库中收集到的其他网络异常事件进行关联分析:在异常数据库中遍历异常风险有向图中每条有向边上是否存在网络异常事件,进而计算出该条有向边的异常系数
Figure BDA0002293370960000062
并将
Figure BDA0002293370960000063
作为该条有向边的权值;所述异常库中收集到达其他网络异常事件为收集的风险数据包,所述
Figure BDA0002293370960000064
为搜集到的风险数据包的异常参数ψp的和;
S35、根据收集到的安全信息在异常风险有向图模型上进行路径匹配分析;
以异常风险根节点为起点,使用广度优先遍历算法,查看各节点的主机行为异常矩阵,若矩阵有值为1的元素,则认为有异常主机行为发生并进行标记,进而对各异常行为矩阵进行矩阵相似度关联分析,查看各主机异常行为发生的时间关联、顺序关联;
结合有向边的异常系数,对于异常系数值较高的有向边和有向边对应的节点进行连通图分析,判断这些节点和有向边是否互联形成异常生成路径,生成未知异常分析报告,作为判定是否发生攻击的判断依据,并将报告上传至监控中心,监控中心根据异常行为报告做出决策,并将异常行为的分析报告共享给其他接入侧的厂站。
一种基于OCSVM的电网异常行为检测系统,包括:
电网历史运行数据预处理模块:获取待检测区域的电网历史运行数据,构建电力设备工控有向图,并对电网历史运行数据中的通信数据包采用结构化表示;
通信数据包标记模块:按照设定的检测规则,基于电力设备工控有向图中的节点和连接边对采用结构化表示的通信数据包进行检测,获得通信数据包的检测标签,所述检测标签包括正常数据包、异常数据包以及风险数据包;
异常行为检测模型构建模块:提取电力设备工控有向图中有向边上的历史通信数据包中的操作码的周期序列,并对操作码的周期序列对应的电网运行行为进行人工标记,获得电网运行行为标签;将操作码的周期序列使用长度为L的时间窗口截取周期序列的子操作序列,构造出电网运行行为的操作集合对应的电网运行行为特征,以电网运行行为特征作为输入数据,以对应的电网运行行为标签作为输出数据,构建并训练基于OCSVM的异常行为检测模型;
电网运行行为标签实时获取模块:从电网运行数据中的通信数据包中选出通信数据包中操作码的周期序列,使用长度为L的时间窗口截取周期序列的子操作序列构造出电网运行行为的操作集合对应的电网运行行为特征,并输入所构建的异常行为检测模型,获得电网运行行为标签;
其中,L≤周期序列长度。
一种可读存储介质,包括计算机程序,所述计算机程序指令被处理终端执行时使所述处理终端执行上述一种基于OCSVM的电网异常行为检测方法。
有益效果
与现有技术相比,本发明具有如下优点及有益效果:
1、本发明通过收集工控场景的资产信息和配置信息建立有向图模型,充分了解工控网络下的设备间的交互和控制流的路径,对全局进行把握;对发现异常后建立异常风险有向图模型,有利于异常行为的检测以及发现异常后的关联分析。
2、由于工控系统具有高实时性、难暂停更新等特点,不能因为误报导致系统停滞,否则会给系统、资源带来巨大的损害,本发明对监测的数据包进行协议解析和行为提取,采用基于时间窗口划分出行为序列,使用基于Fisher-OCSVM的异常行为检测模型对获取的行为序列进行检测,并对检测出的异常行为序列进行重检测和异常行为关联分析,将基于网络和基于主机相结合,减少了漏报率和误报率,并且对分析结果评估上报,以保障系统能正常运行。
附图说明
图1为本发明实施例中基于异常行为检测与分析的方法的流程图;
图2为本发明实施例中数据预处理模型的一个具体示例的流程图;
图3为本发明实施例中异常行为检测模型的一个具体示例的流程图;
图4为本发明实施例中异常行为分析模型的一个具体示例的流程图。
具体实施方式
为使本发明的技术方案及优点更加清楚,作为本发明的一部分,以下结合附图及具体实施例,对本发明作进一步详细的说明。
本发明提供一种基于OCSVM的电网异常行为检测与分析方法,所述方法包括数据预处理模型、异常行为检测模型和异常行为分析模型,如图1所示,所述数据预处理模型连接异常行为检测模型和异常行为分析模型,异常行为检测模型连接异常行为分析模型。
S1、所述的数据预处理模型包括获取待检测区域的电网历史运行数据,构建电力设备工控有向图,并对电网历史运行数据中的通信数据包采用结构化表示;其具体步骤如下:
S11、收集待检测区域电力工控系统的资产信息,建立电力工控系统各类设备配置清单,在获取设备的资产信息和配置清单后,根据电力工控流程建立工控设备白名单,建立工控网络各类设备间数据交互的有向图,并搜集工控设备的日志信息建立交互频率表。
所述的配置清单包括设备安全策略配置信息、账户管理配置信息、连接与访问权限配置信息,并检查工控设备配置是否达到电力行业安全防护的基线,当发生未知攻击时,通过与配置信息进行对比,作为判断是否遭受攻击的依据。
所述的工控设备白名单进一步包括IP地址白名单、端口号白名单、协议白名单、事件集白名单,指示工控设备上所能通信的IP地址、端口号、协议和通信触发的工控操作。进一步的,根据搜集工控设备的日志信息统计与工控设备进行交互的IP地址及其频率、端口号及其频率、协议及其频率、事件及其频率,生成白名单中各项的发生概率值。
所述的有向图定义为G=<V,E>,其中V={v1,v2,...,vn}表示有向图的节点的集合,代表电力工控场景下的设备,包括人机界面、操作员站、测量仪表、服务器等;E={e1,e2,...,en}表示有向图的有向边的集合,有向边e=(v1,v2)表示设备节点v1可以对设备节点v2进行命令发送或数据发送。
S12、通过对交换机或路由器设置端口镜像,将通信流量镜像到一个空闲的网络端口进行电网历史运行数据采集,并采用结构化表示,所述通信数据包采用结构p表示:
p=<s_ip,d_ip,s_port,d_port,protocol,length,cont,opera>
其中,s_ip表示数据包源地址,d_ip表示数据包目的地址,s_port表示源端口号,d_port表示目的端口号,length表示数据包长度,protocol表示协议标识符,cont表示数据包的关键内容,包括控制命令或具体的传输数据,opera是根据工控协议解析得到的功能码、数据地址映射其在工控系统中对应的操作,如Modbus协议中,功能码O1H对应读取线圈状态,02H对应读取输入状态,进一步的,所述opera操作集合为O={o1,o2,...,om},其中m为控制操作类型数。
S2、按照设定的检测规则,基于电力设备工控有向图中的节点和连接边对采用结构化表示的通信数据包进行检测,获得通信数据包的检测标签,所述检测标签包括正常数据包、异常数据包以及风险数据包;具体的:
S21、根据通信数据包的结构化表示p通过规则匹配对该数据包进行异常检测,具体的,跟据通信数据包结构化表示p中的s_ip和d_ip定位有向图模型中的节点vx和vy(vx,vy∈V)和vx到vy的有向边ez(ez∈E),并根据vx和vy获取对应设备的IP地址白名单、端口号白名单、事件集白名单进行检测。可选的,异常检测进一步包括网络层、传输层和应用层异常检测,标记并计算IP地址异常参数αip、端口号异常参数αp、协议异常参数αt、内容异常参数αc和事件异常参数αw,进而计算数据包的异常参数ψp,定义计算规则具体为:
αip:判断s_ip和目的d_ip是否在数据包发送端和接收端相互的发送/接收IP白名单中,若不在,令αip=1;若都在白名单中,则根据交互频率表计算出αip=-log2p(d_ip),其中p(d_ip)表示s_ip向d_ip发送数据包发生的概率。
αport:判断s_port和d_port是否为在数据包发送端和接收端相互的开放端口白名单中,若不在,令αport=1,若在,则根据交互频率表计算出αport=-log2p(d_port),其中p(d_port)表示s_port向d_port发送数据包发生的概率。
αt和αc:判断protocol所表示的协议是否为接收端协议白名单中允许执行的协议,若不是,令αt=1;若是,则进一步检查length是否在该协议正常的阈值范围内、解析cont中的功能码和数据地址是否正常,若异常,αc=1,表示内容异常参数;若正常,根据交互频率表计算αtype=-log2 p(protocol),其中p(protocol)表示发送端与接收端通信使用的协议为protocol发生的概率。
αw:判断opera所表示的操作是否存在接收端事件集白名单中,若不在,αw=1;若在,则根据交互频率表计算出αw=-log2 p(w),其中p(w)表示操作在接收端发送的概率。
S22、根据αip、αport、αt、αc和αw,计算数据包的异常参数ψp,并根据异常参数ψp获得通信数据包的检测标签,所述检测标签包括正常数据包、异常数据包以及风险数据包,具体的:
Figure BDA0002293370960000091
Figure BDA0002293370960000101
若ψp<1,则标记该数据包为正常数据包,若ψp=1,则标记该数据包为异常数据包,若ψp>1,则标记该数据包为风险数据包;
S3、构建异常行为检测模型;
提取电力设备工控有向图中有向边上的历史通信数据包中的操作码的周期序列,并对操作码的周期序列对应的电网运行行为进行人工标记,获得电网运行行为标签;将操作码的周期序列使用长度为L的时间窗口截取周期序列的子操作序列,构造出电网运行行为的操作集合对应的电网运行行为特征,以电网运行行为特征作为输入数据,以对应的电网运行行为标签作为输出数据,构建并训练基于OCSVM的异常行为检测模型,如图3所示,其具体步骤如下:
S31、获取电网历史运行数据中的通信数据包,对数据包进行解析,获取操作码的周期序列。具体的,在正常的工控网络下对使用S12中的方法对收集到的数据包进行深度解析,根据解析的功能码、数据地址提取其在工控系统中对应的操作opera,作为该数据包的特征,进而得到操作序列集合O={opera1,opera2,...,operan}。由于工作流程的循环往复,工控设备之间的网络交互存在着明显的周期性、有限性,通过对操作码序列集合O进行周期性检测,检测出操作码流中的周期序列。
所述操作序列周期性检测具体为,使用两个指针遍历序列O,两个指针的间隔由1,2,3依次增大,判断指针所指示的操作是否相同,相同时,开始记录重复子序列及其长度,并将两个指针同时右移,否则,继续移动指针进行匹配,最后得到序列O中最长的重复子序列,将该重复子序列从序列O中移除,重新执行查找操作,得到操作流中周期性的子操作序列集合。
S32、将操作码的周期序列使用长度为L的时间窗口截取周期序列的子操作序列,构造出电网运行行为的操作集合对应的电网运行行为特征,具体的:
对于电网运行行为的操作集合I={X1,X2,...,Xi,...,Xn},其中Xi是使用大小为L的滑动时间窗口划分周期序列得到的子操作序列;假设滑动窗口L中共包含了t个数据包,Xi表示为{xi},1≤i≤t,其中xi是每个数据包解析出来对应的工控操作;
xi作为Xi的特征且假设符合一定的分布并且分布之间相互独立的;
S33、使用Fisher向量将包含数据包数量长度不定的输入序列Xi进行归一化处理,转换成具有固定长度的梯度向量作为特征,采用Fisher核函数来衡量序列Xi和Xj之间的距离,即不同序列之间的相似度;
相似度采用Fisher核函数来衡量:
Figure BDA0002293370960000111
其中φX是Fisher向量,它由Fisher分数UX归一化得到
Figure BDA0002293370960000112
Figure BDA0002293370960000113
X服从分布p,p的参数是λ,即序列X关于参数λ下模型的对数似然的梯度,Fλ是Fisher信息矩阵,用于实现梯度特征向量的归一化,
Figure BDA0002293370960000114
S34、以电网运行行为特征作为输入数据,以对应的电网运行行为标签作为输出数据,构建并训练基于OCSVM的异常行为检测模型,具体的:
将训练集I输入到OCSVM中进行训练,通过引入拉格朗日函数和Fisher核函数得到OCSVM的决策函数:
Figure BDA0002293370960000115
其中,αi为拉格朗日因子,K(Xi,Xj)表示序列Xi和Xj之间的相似度,ρ是特征空间中所需超平面的补偿量,l为训练集的数据量;
当f(Xj)≥0时,则认为Xj判定为“正常”,即位于训练集一侧,否则,则判定为“异常”。
其中OCSVM对应的二次优化问题等价于:
Figure BDA0002293370960000116
s.t.φ(Xi)ω≥ρ-ξii>0,i=1,...,l
Xi是训练集中的数据,l为训练集的数据量,φ是原始特征空间到高维特征空间的映射,v∈(0,1]是权衡参数,ξi为惩罚因子,ω和ρ分别是特征空间中所需超平面的法向量和补偿;S35、利用K-CV方法和网格参数法对核函数的参数和特征空间中所需超平面的惩罚因子ξi进行参数调优,并调整滑动窗口的长度L进行多次测试,选取出准确率最高的长度L′,完成OCSVM的构建。
准确率是指,采用长度为L的窗口获取到的样本进行训练与测试,被正确分类的样本数和全部样本数的百分比。
S4:从电网运行数据中的通信数据包中选出通信数据包中操作码的周期序列,使用长度为L的时间窗口截取周期序列的子操作序列构造出电网运行行为的操作集合对应的电网运行行为特征,并输入所构建的异常行为检测模型,获得电网运行行为标签;
其中,L≤周期序列长度。
S5、若从电网运行数据中的通信数据包属于风险数据包或者异常数据包时,将风险数据包、异常数据包和获得的带有电网运行行为标签的电网运行行为序列输入到异常行为分析模型进行分析,生成分析报告;如图4所示,其具体步骤如下:
S51、首先通过与知识库中的已知攻击行为的行为序列进行比较进行已知攻击匹配;
若已知攻击行为序列与“异常行为序列”的长度相差较大,则先求出已知攻击行为序列与“异常行为序列”的最长公共子序列,再使用距离算法计算其相似度,若相似度达到某个阈值,则认为发生了对应的攻击行为,并设置该序列的标签为“已知攻击序列”,生成攻击行为报为报告,并将报告上传至监控中心,监控中心根据攻击行为报告做出决策,并将攻击警示给其他接入侧的厂站;否则设置该序列的标签为“非已知攻击异常”。
S52、对于“风险数据包”、“异常数据包”和“非已知攻击异常序列”,通过建立异常风险有向图,对与异常风险根节点进行信息获取的其他节点展开未知异常关联分析:
异常风险有向图定义为G′=<R,S>,是所述电力设备工控有向图G=<V,E>的子图;定义“风险数据包”、“异常数据包”的发起节点为异常风险根节点;设所述“非已知攻击异常序列”发生在有向边s=(r1,r2),其中r1,r2∈V,s∈E;定义“非已知攻击异常序列”第一个数据包的时间戳为T0,定义该“非已知攻击异常序列”的第一个数据包的发起节点r1为异常风险根节点;
设置风险深度为h,将风险根节点在图G=<V,E>的后继节点和有向边添加入异常风险有向图中,再以图中各节点为起点加入它们在图G=<V,E>中的后继节点进行图扩展,共进行h次扩展,则图的最长路径长度为h;
最后得到异常风险有向图G′=<R,S>,其节点集合为R={r1,r2,...,rx,...,rn}和有向边集合S={s1,s2,...,sn},定义I为异常风险节点集合,S为异常风险有向边集合;
S53、收集异常风险有向图上各节点的安全信息,对日志文件进行解析,生成节点的异常矩阵,进而可根据矩阵快速查看主机异常行为发生的时间段、发生的先后顺序安全信息;
对与异常风险有向图G′=<R,S>中的每个节点rx,定义rx{a1,a2,...,ak},其中ak表示在该异常风险节点上可能发生的主机异常行为,包括权限扩大、频繁扫描、越权操作、错误密码尝试、非法连接;
收集异常风险有向图上各个节点的日志信息分析是否发生上述主机异常行为:
定义ak对应的列向量为
Figure BDA0002293370960000131
记录ak在时间点T0后每个时间段的异常情况,初始化为零向量;对日志文件进行解析,当检测到有主机异常行为ak发生时,
Figure BDA0002293370960000132
在对应时间段上的值由0变为1,并且之后都为1,最后生成节点的异常矩阵为
Figure BDA0002293370960000133
进而根据异常矩阵快速查看主机异常行为发生的具体时间点、异常行为之间发生的先后顺序信息;
S54、收集异常风险有向图上各边上的安全信息;
对于每条边sx,定义sx{b1,b2,...,bk},其中bk表示在该异常风险有向边上可能发生的网络异常行为,包括IP异常、端口异常、未知协议、流量增加、行为异常;
通过遍历搜索异常库中收集到的其他网络异常事件进行关联分析:在异常数据库中遍历异常风险有向图中每条有向边上是否存在网络异常事件,进而计算出该条有向边的异常系数
Figure BDA0002293370960000134
并将
Figure BDA0002293370960000135
作为该条有向边的权值;所述异常库中收集到达其他网络异常事件为收集的风险数据包,所述
Figure BDA0002293370960000136
为搜集到的风险数据包的异常参数ψp的和;
S55、根据收集到的安全信息在异常风险有向图模型上进行路径匹配分析;
以异常风险根节点为起点,使用广度优先遍历算法,查看各节点的主机行为异常矩阵,若矩阵有值为1的元素,则认为有异常主机行为发生并进行标记,进而对各异常行为矩阵进行矩阵相似度关联分析,查看各主机异常行为发生的时间关联、顺序关联;
结合有向边的异常系数,对于异常系数值较高的有向边和有向边对应的节点进行连通图分析,判断这些节点和有向边是否互联形成异常生成路径,生成未知异常分析报告,作为判定是否发生攻击的判断依据,并将报告上传至监控中心,监控中心根据异常行为报告做出决策,并将异常行为的分析报告共享给其他接入侧的厂站。
一种基于OCSVM的电网异常行为检测系统,包括:
电网历史运行数据预处理模块:获取待检测区域的电网历史运行数据,构建电力设备工控有向图,并对电网历史运行数据中的通信数据包采用结构化表示;
通信数据包标记模块:按照设定的检测规则,基于电力设备工控有向图中的节点和连接边对采用结构化表示的通信数据包进行检测,获得通信数据包的检测标签,所述检测标签包括正常数据包、异常数据包以及风险数据包;
异常行为检测模型构建模块:提取电力设备工控有向图中有向边上的历史通信数据包中的操作码的周期序列,并对操作码的周期序列对应的电网运行行为进行人工标记,获得电网运行行为标签;将操作码的周期序列使用长度为L的时间窗口截取周期序列的子操作序列,构造出电网运行行为的操作集合对应的电网运行行为特征,以电网运行行为特征作为输入数据,以对应的电网运行行为标签作为输出数据,构建并训练基于OCSVM的异常行为检测模型;
电网运行行为标签实时获取模块:从电网运行数据中的通信数据包中选出通信数据包中操作码的周期序列,使用长度为L的时间窗口截取周期序列的子操作序列构造出电网运行行为的操作集合对应的电网运行行为特征,并输入所构建的异常行为检测模型,获得电网运行行为标签;
其中,L≤周期序列长度。
应当理解,本发明各个实施例中的功能单元模块可以集中在一个处理单元中,也可以是各个单元模块单独物理存在,也可以是两个或两个以上的单元模块集成在一个单元模块中,可以采用硬件或软件的形式来实现。
本发明实施例还提供一种可读存储介质,包括计算机程序指令,所述计算机程序指令被处理终端执行时使所述处理终端执行所述一种基于OCSVM的电网异常行为检测方法,其有益效果参见方法部分的有益效果,在此不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

Claims (9)

1.一种基于OCSVM的电网异常行为检测方法,其特征在于,包括以下步骤:
步骤1:获取待检测区域的电网历史运行数据,构建电力设备工控有向图,并对电网历史运行数据中的通信数据包采用结构化表示;
步骤2:按照设定的检测规则,基于电力设备工控有向图中的节点和连接边对采用结构化表示的通信数据包进行检测,获得通信数据包的检测标签,所述检测标签包括正常数据包、异常数据包以及风险数据包;
步骤3:构建异常行为检测模型;
提取电力设备工控有向图中有向边上的历史通信数据包中的操作码的周期序列,并对操作码的周期序列对应的电网运行行为进行人工标记,获得电网运行行为标签;将操作码的周期序列使用长度为L的时间窗口截取周期序列的子操作序列,构造出电网运行行为的操作集合对应的电网运行行为特征,以电网运行行为特征作为输入数据,以对应的电网运行行为标签作为输出数据,构建并训练基于OCSVM的异常行为检测模型;
步骤4:从电网运行数据中的通信数据包中选出通信数据包中操作码的周期序列,使用长度为L的时间窗口截取周期序列的子操作序列构造出电网运行行为的操作集合对应的电网运行行为特征,并输入所构建的异常行为检测模型,获得电网运行行为标签;
其中,L≤周期序列长度。
2.根据权利要求1所述的方法,其特征在于,所述通信数据包采用结构p表示:
p=<s_ip,d_ip,s_port,d_port,protocol,length,cont,opera>
其中,s_ip表示数据包源地址,d_ip表示数据包目的地址,s_port表示源端口号,d_port表示目的端口号,length表示数据包长度,protocol表示协议标识符,cont表示数据包的关键内容,包括控制命令或传输数据,opera是根据工控协议解析得到的功能码、数据地址映射其在工控系统中对应的操作。
3.根据权利要求2所述的方法,其特征在于,通信数据包的检测标签按照数据包的异常参数ψp确定:
若ψp<1,则标记该数据包为正常数据包,若ψp=1,则标记该数据包为异常数据包,若ψp>1,则标记该数据包为风险数据包;
Figure FDA0002293370950000011
Figure FDA0002293370950000012
其中,αip为IP地址异常参数,αport为端口号异常参数,αt为协议异常参数,αc为内容异常参数和αw为事件异常参数。
4.根据权利要求3所述的方法,其特征在于,所述IP地址异常参数,端口号异常参数,协议异常参数,内容异常参数和事件异常参数分别按照以下规定进行取值:
αip:判断s_ip和目的d_ip是否在数据包发送端和接收端相互的发送/接收IP白名单中,若不在,令αip=1;若都在白名单中,则根据交互频率表计算出αip=-log2 p(d_ip),其中p(d_ip)表示s_ip向d_ip发送数据包发生的概率;
αport:判断s_port和d_port是否为在数据包发送端和接收端相互的开放端口白名单中,若不在,令αport=1,若在,则根据交互频率表计算出αport=-log2 p(d_port),其中p(d_port)表示s_port向d_port发送数据包发生的概率;
αt和αc:判断protocol所表示的协议是否为接收端协议白名单中允许执行的协议,若不是,令αt=1;若是,则进一步检查length是否在该协议正常的阈值范围内、解析cont中的功能码和数据地址是否正常,若异常,αc=1,表示内容异常参数;若正常,根据交互频率表计算αt=-log2 p(protocol),其中p(protocol)表示发送端与接收端通信使用的协议为protocol发生的概率;
αw:判断opera所表示的操作是否存在接收端事件集白名单中,若不在,αw=1;若在,则根据交互频率表计算出αw=-log2 p(w),其中p(w)表示操作在接收端发送的概率。
5.根据权利要求1-4任一项所述的方法,其特征在于,选择基于OCSVM的异常行为检测模型中的OCSVM的核函数并对所述OCSVM的参数进行调优,获得最佳的基于OCSVM的异常行为检测模型,具体步骤如下:
S231、对于电网运行行为的操作集合I={X1,X2,...,Xi,...,Xn},其中Xi是使用大小为L的滑动时间窗口划分周期序列得到的子操作序列;假设滑动窗口L中共包含了t个数据包,Xi表示为{xi},1≤i≤t,其中xi是每个数据包解析出来对应的工控操作;
S232、使用Fisher向量将包含数据包数量长度不定的输入序列Xi进行归一化处理,转换成具有固定长度的梯度向量作为特征,采用Fisher核函数来衡量序列Xi和Xj之间的距离,即不同序列之间的相似度;
相似度采用Fisher核函数来衡量:
Figure FDA0002293370950000031
其中φX是Fisher向量,它由Fisher分数UX归一化得到
Figure FDA0002293370950000032
Figure FDA0002293370950000033
X服从分布p,p的参数是λ,即序列X关于参数λ下模型的对数似然的梯度,Fλ是Fisher信息矩阵,用于实现梯度特征向量的归一化,
Figure FDA0002293370950000034
S233、将训练集I输入到OCSVM中进行训练,通过引入拉格朗日函数和Fisher核函数得到OCSVM的决策函数:
Figure FDA0002293370950000035
其中,αi为拉格朗日因子,K(Xi,Xj)表示序列Xi和Xj之间的相似度,ρ是特征空间中所需超平面的补偿量,l为训练集的数据量;
当f(Xj)≥0时,则认为Xj判定为“正常”,即位于训练集一侧,否则则判定为“异常”。
6.根据权利要求5所述的方法,其特征在于,利用K-CV方法和网格参数法对基于OCSVM的异常行为检测模型中的OCSVM的核函数的参数和特征空间中所需超平面的惩罚因子ξi进行参数调优,并调整滑动窗口的长度L进行多次测试,选取出准确率最高的长度L’,完成所述OCSVM的构建;
准确率是指,采用长度为L的窗口获取到的样本进行训练与测试,被正确分类的样本数和全部样本数的百分比。
7.一种基于OCSVM的电网异常行为分析方法,其特征在于,若从电网运行数据中的通信数据包属于风险数据包或者异常数据包时,将风险数据包、异常数据包和获得的带有电网运行行为标签的电网运行行为序列输入到异常行为分析模型进行分析,生成分析报告;
其中,风险数据包、异常数据包和电网运行行为标签采用权利要求1-6任一项所述方法获得;
若电网运行数据中的通信数据包中操作码的周期序列对应的电网运行行为序列被若判定为“异常”,则开辟一个新的进程,扩大滑动窗口,对选出通信数据包中操作码的周期序列分别从前向、后向和双向重新截取行为序列,依次输入到基于OCSVM的异常行为检测模型中进行重检测,若每个序列都判定为“正常”,则更改标签为“正常行为序列”,若其中任一序列判定仍为“异常”,则标签仍为“异常行为序列”,并将选出通信数据包中操作码的周期序列提交至异常行为分析模型进行分析;
S3、所述异常行为分析模型对标记为“风险数据包”、“异常数据包”的通信数据包和标记为“异常行为序列”的电网运行行为序列进行已知攻击匹配和未知异常关联分析,其具体步骤如下:
S31、首先通过与知识库中的已知攻击行为的行为序列进行比较进行已知攻击匹配;
若已知攻击行为序列与“异常行为序列”的长度相差较大,则先求出已知攻击行为序列与“异常行为序列”的最长公共子序列,再使用距离算法计算其相似度,若相似度达到设定阈值,则认为发生了对应的攻击行为,并设置该序列的标签为“已知攻击序列”,生成攻击行为报为报告,并将报告上传至监控中心,监控中心根据攻击行为报告做出决策,并将攻击警示给其他接入侧的厂站;否则设置该序列的标签为“非已知攻击异常”;
S32、对于“风险数据包”、“异常数据包”和“非已知攻击异常序列”,通过建立异常风险有向图,对与异常风险根节点进行信息获取的其他节点展开未知异常关联分析:
异常风险有向图定义为G′=<R,S>,是所述电力设备工控有向图G=<V,E>的子图;定义“风险数据包”、“异常数据包”的发起节点为异常风险根节点;设所述“非已知攻击异常序列”发生在有向边s=(r1,r2),其中r1,r2∈V,s∈E;定义“非已知攻击异常序列”第一个数据包的时间戳为T0,定义该“非已知攻击异常序列”的第一个数据包的发起节点r1为异常风险根节点;
设置风险深度为h,将风险根节点在图G=<V,E>的后继节点和有向边添加入异常风险有向图中,再以图中各节点为起点加入它们在图G=<V,E>中的后继节点进行图扩展,共进行h次扩展,则图的最长路径长度为h;
最后得到异常风险有向图G′=<R,S>,其节点集合为R={r1,r2,...,rx,...,rn}和有向边集合S={s1,s2,...,sn},定义I为异常风险节点集合,S为异常风险有向边集合;
S33、收集异常风险有向图上各节点的安全信息,对日志文件进行解析,生成节点的异常矩阵,进而可根据矩阵快速查看主机异常行为发生的时间段、发生的先后顺序安全信息;
对与异常风险有向图G′=<R,S>中的每个节点rx,定义rx{a1,a2,...,ak},其中ak表示在该异常风险节点上可能发生的主机异常行为,包括权限扩大、频繁扫描、越权操作、错误密码尝试、非法连接;
收集异常风险有向图上各个节点的日志信息分析是否发生上述主机异常行为:
定义ak对应的列向量为
Figure FDA0002293370950000041
记录ak在时间点T0后每个时间段的异常情况,初始化为零向量;对日志文件进行解析,当检测到有主机异常行为ak发生时,
Figure FDA0002293370950000042
在对应时间段上的值由0变为1,并且之后都为1,最后生成节点的异常矩阵为
Figure FDA0002293370950000051
进而根据异常矩阵快速查看主机异常行为发生的具体时间点、异常行为之间发生的先后顺序信息;
S34、收集异常风险有向图上各边上的安全信息;
对于每条边sx,定义sx{b1,b2,...,bk},其中bk表示在该异常风险有向边上可能发生的网络异常行为,包括IP异常、端口异常、未知协议、流量增加、行为异常;
通过遍历搜索异常库中收集到的其他网络异常事件进行关联分析:在异常数据库中遍历异常风险有向图中每条有向边上是否存在网络异常事件,进而计算出该条有向边的异常系数
Figure FDA0002293370950000052
并将
Figure FDA0002293370950000053
作为该条有向边的权值;所述异常库中收集到达其他网络异常事件为收集的风险数据包,所述
Figure FDA0002293370950000054
为搜集到的风险数据包的异常参数ψp的和;
S35、根据收集到的安全信息在异常风险有向图模型上进行路径匹配分析;
以异常风险根节点为起点,使用广度优先遍历算法,查看各节点的主机行为异常矩阵,若矩阵有值为1的元素,则认为有异常主机行为发生并进行标记,进而对各异常行为矩阵进行矩阵相似度关联分析,查看各主机异常行为发生的时间关联、顺序关联;
结合有向边的异常系数,对于异常系数值较高的有向边和有向边对应的节点进行连通图分析,判断这些节点和有向边是否互联形成异常生成路径,生成未知异常分析报告,作为判定是否发生攻击的判断依据,并将报告上传至监控中心,监控中心根据异常行为报告做出决策,并将异常行为的分析报告共享给其他接入侧的厂站。
8.一种基于OCSVM的电网异常行为检测系统,其特征在于,包括:
电网历史运行数据预处理模块:获取待检测区域的电网历史运行数据,构建电力设备工控有向图,并对电网历史运行数据中的通信数据包采用结构化表示;
通信数据包标记模块:按照设定的检测规则,基于电力设备工控有向图中的节点和连接边对采用结构化表示的通信数据包进行检测,获得通信数据包的检测标签,所述检测标签包括正常数据包、异常数据包以及风险数据包;
异常行为检测模型构建模块:提取电力设备工控有向图中有向边上的历史通信数据包中的操作码的周期序列,并对操作码的周期序列对应的电网运行行为进行人工标记,获得电网运行行为标签;将操作码的周期序列使用长度为L的时间窗口截取周期序列的子操作序列,构造出电网运行行为的操作集合对应的电网运行行为特征,以电网运行行为特征作为输入数据,以对应的电网运行行为标签作为输出数据,构建并训练基于OCSVM的异常行为检测模型;
电网运行行为标签实时获取模块:从电网运行数据中的通信数据包中选出通信数据包中操作码的周期序列,使用长度为L的时间窗口截取周期序列的子操作序列构造出电网运行行为的操作集合对应的电网运行行为特征,并输入所构建的异常行为检测模型,获得电网运行行为标签;
其中,L≤周期序列长度。
9.一种可读存储介质,包括计算机程序,其特征在于,所述计算机程序指令被处理终端执行时使所述处理终端执行权利要求1至6任一项所述的方法。
CN201911190223.8A 2019-11-28 2019-11-28 一种基于ocsvm的电网异常行为检测、分析方法与系统 Active CN110909811B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911190223.8A CN110909811B (zh) 2019-11-28 2019-11-28 一种基于ocsvm的电网异常行为检测、分析方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911190223.8A CN110909811B (zh) 2019-11-28 2019-11-28 一种基于ocsvm的电网异常行为检测、分析方法与系统

Publications (2)

Publication Number Publication Date
CN110909811A true CN110909811A (zh) 2020-03-24
CN110909811B CN110909811B (zh) 2022-10-18

Family

ID=69820130

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911190223.8A Active CN110909811B (zh) 2019-11-28 2019-11-28 一种基于ocsvm的电网异常行为检测、分析方法与系统

Country Status (1)

Country Link
CN (1) CN110909811B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111444189A (zh) * 2020-04-17 2020-07-24 贝壳技术有限公司 数据处理方法、装置、介质和电子设备
CN111612039A (zh) * 2020-04-24 2020-09-01 平安直通咨询有限公司上海分公司 异常用户识别的方法及装置、存储介质、电子设备
CN111723367A (zh) * 2020-06-12 2020-09-29 国家电网有限公司 一种电力监控系统业务场景处置风险评价方法及系统
CN111800312A (zh) * 2020-06-23 2020-10-20 中国核动力研究设计院 一种基于报文内容分析的工控系统异常检测方法及系统
CN112395159A (zh) * 2020-11-17 2021-02-23 华为技术有限公司 一种日志检测方法、系统、设备及介质
CN112688946A (zh) * 2020-12-24 2021-04-20 工业信息安全(四川)创新中心有限公司 异常检测特征的构造方法、模块、存储介质、设备及系统
CN112819386A (zh) * 2021-03-05 2021-05-18 中国人民解放军国防科技大学 带有异常的时间序列数据生成方法、系统及存储介质
CN112887923A (zh) * 2021-01-22 2021-06-01 中国科学院自动化研究所 基于动态通信网络的无监督异常短文本监测方法及系统
CN113132392A (zh) * 2021-04-22 2021-07-16 苏州联电能源发展有限公司 工控网络流量异常检测方法、装置及系统
CN114090406A (zh) * 2021-11-29 2022-02-25 中国电力科学研究院有限公司 电力物联网设备行为安全检测方法、系统、设备及存储介质
CN114189353A (zh) * 2021-11-05 2022-03-15 西安理工大学 一种基于铁路调度集系统的网络安全风险预测方法
CN114254716A (zh) * 2022-03-02 2022-03-29 浙江鹏信信息科技股份有限公司 一种基于用户行为分析的高危操作识别方法及系统
CN114268451A (zh) * 2021-11-15 2022-04-01 中国南方电网有限责任公司 电力监控网络安全缓冲区构建方法、装置、设备和介质
CN114493374A (zh) * 2022-04-01 2022-05-13 广东海洋大学 一种基于操作序列分析的准确率自动计算方法及系统
CN114925039A (zh) * 2022-05-21 2022-08-19 威海海洋职业学院 一种用于储存分布式数据节点异常行为检测历史错误方法
CN115936428A (zh) * 2022-11-17 2023-04-07 江苏东港能源投资有限公司 增量配电网防外破定值优化系统
CN116743502A (zh) * 2023-08-11 2023-09-12 四川新立高科科技有限公司 电力系统网络攻击检测方法、装置、电子设备及存储介质
CN117078048A (zh) * 2023-10-17 2023-11-17 深圳市福山自动化科技有限公司 基于数字孪生的智慧城市资源管理方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105204487A (zh) * 2014-12-26 2015-12-30 北京邮电大学 基于通信模型的工业控制系统的入侵检测方法及系统
CN105703963A (zh) * 2014-11-26 2016-06-22 中国科学院沈阳自动化研究所 基于pso-ocsvm的工业控制系统通信行为异常检测方法
CN106982235A (zh) * 2017-06-08 2017-07-25 江苏省电力试验研究院有限公司 一种基于iec 61850的电力工业控制网络入侵检测方法及系统
CN109949178A (zh) * 2019-02-22 2019-06-28 国网安徽省电力公司 一种基于支持向量机中压配网停电事件判断及补全方法
CN110324316A (zh) * 2019-05-31 2019-10-11 河南恩湃高科集团有限公司 一种基于多种机器学习算法的工控异常行为检测方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105703963A (zh) * 2014-11-26 2016-06-22 中国科学院沈阳自动化研究所 基于pso-ocsvm的工业控制系统通信行为异常检测方法
CN105204487A (zh) * 2014-12-26 2015-12-30 北京邮电大学 基于通信模型的工业控制系统的入侵检测方法及系统
CN106982235A (zh) * 2017-06-08 2017-07-25 江苏省电力试验研究院有限公司 一种基于iec 61850的电力工业控制网络入侵检测方法及系统
CN109949178A (zh) * 2019-02-22 2019-06-28 国网安徽省电力公司 一种基于支持向量机中压配网停电事件判断及补全方法
CN110324316A (zh) * 2019-05-31 2019-10-11 河南恩湃高科集团有限公司 一种基于多种机器学习算法的工控异常行为检测方法

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111444189A (zh) * 2020-04-17 2020-07-24 贝壳技术有限公司 数据处理方法、装置、介质和电子设备
CN111612039A (zh) * 2020-04-24 2020-09-01 平安直通咨询有限公司上海分公司 异常用户识别的方法及装置、存储介质、电子设备
CN111612039B (zh) * 2020-04-24 2023-09-29 平安直通咨询有限公司上海分公司 异常用户识别的方法及装置、存储介质、电子设备
CN111723367A (zh) * 2020-06-12 2020-09-29 国家电网有限公司 一种电力监控系统业务场景处置风险评价方法及系统
CN111723367B (zh) * 2020-06-12 2023-06-23 国家电网有限公司 一种电力监控系统业务场景处置风险评价方法及系统
CN111800312B (zh) * 2020-06-23 2021-08-24 中国核动力研究设计院 一种基于报文内容分析的工控系统异常检测方法及系统
CN111800312A (zh) * 2020-06-23 2020-10-20 中国核动力研究设计院 一种基于报文内容分析的工控系统异常检测方法及系统
CN112395159A (zh) * 2020-11-17 2021-02-23 华为技术有限公司 一种日志检测方法、系统、设备及介质
CN112688946A (zh) * 2020-12-24 2021-04-20 工业信息安全(四川)创新中心有限公司 异常检测特征的构造方法、模块、存储介质、设备及系统
CN112887923A (zh) * 2021-01-22 2021-06-01 中国科学院自动化研究所 基于动态通信网络的无监督异常短文本监测方法及系统
CN112819386A (zh) * 2021-03-05 2021-05-18 中国人民解放军国防科技大学 带有异常的时间序列数据生成方法、系统及存储介质
CN113132392A (zh) * 2021-04-22 2021-07-16 苏州联电能源发展有限公司 工控网络流量异常检测方法、装置及系统
CN113132392B (zh) * 2021-04-22 2022-05-06 苏州联电能源发展有限公司 工控网络流量异常检测方法、装置及系统
CN114189353A (zh) * 2021-11-05 2022-03-15 西安理工大学 一种基于铁路调度集系统的网络安全风险预测方法
CN114268451A (zh) * 2021-11-15 2022-04-01 中国南方电网有限责任公司 电力监控网络安全缓冲区构建方法、装置、设备和介质
CN114268451B (zh) * 2021-11-15 2024-04-16 中国南方电网有限责任公司 电力监控网络安全缓冲区构建方法、装置、设备和介质
CN114090406A (zh) * 2021-11-29 2022-02-25 中国电力科学研究院有限公司 电力物联网设备行为安全检测方法、系统、设备及存储介质
CN114254716A (zh) * 2022-03-02 2022-03-29 浙江鹏信信息科技股份有限公司 一种基于用户行为分析的高危操作识别方法及系统
CN114493374B (zh) * 2022-04-01 2022-07-05 广东海洋大学 一种基于操作序列分析的准确率自动计算方法及系统
CN114493374A (zh) * 2022-04-01 2022-05-13 广东海洋大学 一种基于操作序列分析的准确率自动计算方法及系统
CN114925039B (zh) * 2022-05-21 2023-03-17 威海海洋职业学院 一种用于储存分布式数据节点异常行为检测历史错误方法
CN114925039A (zh) * 2022-05-21 2022-08-19 威海海洋职业学院 一种用于储存分布式数据节点异常行为检测历史错误方法
CN115936428A (zh) * 2022-11-17 2023-04-07 江苏东港能源投资有限公司 增量配电网防外破定值优化系统
CN116743502A (zh) * 2023-08-11 2023-09-12 四川新立高科科技有限公司 电力系统网络攻击检测方法、装置、电子设备及存储介质
CN116743502B (zh) * 2023-08-11 2023-11-14 四川新立高科科技有限公司 电力系统网络攻击检测方法、装置、电子设备及存储介质
CN117078048A (zh) * 2023-10-17 2023-11-17 深圳市福山自动化科技有限公司 基于数字孪生的智慧城市资源管理方法及系统
CN117078048B (zh) * 2023-10-17 2024-01-26 深圳市福山自动化科技有限公司 基于数字孪生的智慧城市资源管理方法及系统

Also Published As

Publication number Publication date
CN110909811B (zh) 2022-10-18

Similar Documents

Publication Publication Date Title
CN110909811B (zh) 一种基于ocsvm的电网异常行为检测、分析方法与系统
Wang et al. Detection of power grid disturbances and cyber-attacks based on machine learning
KR101538709B1 (ko) 산업제어 네트워크를 위한 비정상 행위 탐지 시스템 및 방법
CN110138787A (zh) 一种基于混合神经网络的异常流量检测方法及系统
CN111092862B (zh) 一种用于对电网终端通信流量异常进行检测的方法及系统
JP2019061565A (ja) 異常診断方法および異常診断装置
WO2016082284A1 (zh) 基于OCSVM双轮廓模型的Modbus TCP通信行为异常检测方法
CN105471882A (zh) 一种基于行为特征的网络攻击检测方法及装置
CN111598179B (zh) 电力监控系统用户异常行为分析方法、存储介质和设备
CN105024877A (zh) 一种基于网络行为分析的Hadoop恶意节点检测系统
Nakhodchi et al. Steeleye: An application-layer attack detection and attribution model in industrial control systems using semi-deep learning
CN109150869A (zh) 一种交换机信息采集分析系统及方法
CN114039758A (zh) 一种基于事件检测模式的网络安全威胁识别方法
CN113542275A (zh) 一种发电厂工业控制系统的漏洞发现方法
CN110933083A (zh) 一种基于分词与攻击匹配的漏洞等级评估装置及其方法
CN112333128B (zh) 一种基于自编码器的Web攻击行为检测系统
CN115499185A (zh) 一种电力监控系统网络安全客体异常行为分析方法及系统
Zhang et al. Network traffic anomaly detection based on ML-ESN for power metering system
CN114531283A (zh) 入侵检测模型的鲁棒性测定方法、系统、存储介质及终端
CN113902052A (zh) 一种基于ae-svm模型的分布式拒绝服务攻击网络异常检测方法
CN111784404B (zh) 一种基于行为变量预测的异常资产识别方法
Li et al. Research on intrusion detection based on neural network optimized by genetic algorithm
CN115643108A (zh) 面向工业互联网边缘计算平台安全评估方法、系统及产品
CN115333915A (zh) 一种面向异构主机的网络管控系统
Guibene et al. A data mining-based intrusion detection system for cyber physical power systems

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