发明内容
本发明的主要目的在于提供一种工业物联网入侵检测网络架构构建方法、装置、设备及存储介质,旨在解决现有技术中存在的传统的入侵检测模型不能对运行环境和结构持续变化的工业物联网提供自适应的入侵检测的技术问题。
为实现上述目的,本发明提出一种工业物联网入侵检测网络架构构建方法,所述工业物联网入侵检测网络架构构建方法包括以下步骤:
基于历史物联网数据,获得环境状态数据,所述历史物联网数据为网络交互和***状态的文本数据;
基于所述环境状态数据,获取入侵检测网络构架的奖励累积函数;
根据所述奖励累积函数获得所述入侵检测网络构架的价值函数,并根据所述价值函数获得所述入侵检测网络构架的训练策略;
利用所述奖励累积函数,获得所述入侵检测网络架构的损失函数,以得到入侵检测网络构架。
可选的,基于历史物联网数据,获得环境状态数据步骤,具体包括:
根据历史物联网数据中的网络用户数据,获得所述环境状态数据中的普通网络用户;
根据历史物联网数据中的攻击入侵数据,获得所述环境状态数据中的恶意攻击者;
根据历史物联网数据中的入侵检测数据,获得所述环境状态数据中的检测管理员。
可选的,基于所述环境状态数据,获取入侵检测网络构架的奖励累积函数步骤,具体包括:
基于所述环境状态数据,获取每一时间步t的反馈信号rt;
根据所述每一时间步t的反馈信号rt,获取所述入侵检测网络构架的奖励累积函数。
可选的,基于所述环境状态数据,获取每一时间步t的反馈信号rt步骤,具体包括:
当所述入侵检测网络构架检测到攻击入侵数据,并且成功分类所述攻击入侵数据的类型,获取正反馈信号rt+1;或
当所述入侵检测网络构架未检测到攻击入侵数据或检测到攻击入侵数据未成功分类所述攻击入侵数据的类型,获取负反馈信号rt-1;或
当所述入侵检测网络构架检测到网络用户数据,并且没有发出入侵检测数据,不反馈信号。
可选的,根据所述每一时间步t的反馈信号rt,获取所述入侵检测网络构架的奖励累积函数步骤之后,还包括:
利用折扣因子处理所述入侵检测网络构架获得的奖励累积函数,获得处理后的奖励累积函数;其中,所述处理后的奖励累积函数表达式为:
式中,γ∈[0,1]为折扣系数,t为环境状态中的时间步,Rt+k+1为时间步t到时间步t+k+1的奖励累积和。
可选的,根据所述奖励累积函数获得所述入侵检测网络构架的价值函数,并根据所述价值函数获得所述入侵检测网络构架的训练策略步骤,具体包括:
根据所述奖励累积函数获得所述入侵检测网络构架的价值函数;
基于所述价值函数,获得所述入侵检测网络构架的状态值函数和动作值函数;
根据所述入侵检测网络构架的状态值函数和动作值函数,获取每个环境状态数据的价值和每个环境状态数据下分别做出不同动作的值;
选取当前环境状态数据下使得状态值函数和动作值函数最大值的动作,获得所述入侵检测网络构架的训练策略;其中:
所述状态值函数的表达式为:
所述动作值函数的表达式为:
式中,
为状态转化概率,
为状态空间集,
为动作空间集,R为奖励函数,s为状态,a为动作,s′为状态s转移的下一状态,a′为动作a执行的下一动作。
可选的,利用所述奖励累积函数,获得所述入侵检测网络架构的损失函数,以得到入侵检测网络构架步骤,具体包括:
基于所述奖励累积函数,处理所述训练策略的策略网络和价值网络,获得所述训练策略的优势函数值和更新新旧策略的比值;
根据所述优势函数值和所述更新新旧策略的比值构建所述训练策略的损失函数;
根据所述训练策略和所述损失函数,获得入侵检测网络构架。
此外,为实现上述目的,本发明还提出一种工业物联网入侵检测网络架构构建装置,所述工业物联网入侵检测网络架构构建装置包括:
状态获取模块,用于基于历史物联网数据,获得环境状态数据,所述历史物联网数据为网络交互和***状态的文本数据;
奖励获取模块,用于基于所述环境状态数据,获取入侵检测网络构架的奖励累积函数;
策略获取模块,用于根据所述奖励累积函数获得所述入侵检测网络构架的价值函数,并根据所述价值函数获得所述入侵检测网络构架的训练策略;
构架获取模块,用于利用所述奖励累积函数,获得所述入侵检测网络架构的损失函数,以得到入侵检测网络构架。
此外,为实现上述目的,本发明还提出一种工业物联网入侵检测网络架构构建设备,所述工业物联网入侵检测网络架构构建设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的工业物联网入侵检测网络架构构建程序,所述工业物联网入侵检测网络架构构建程序被所述处理器执行时实现所述的工业物联网入侵检测网络架构构建方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有工业物联网入侵检测网络架构构建程序,所述工业物联网入侵检测网络架构构建程序被处理器执行时实现所述的工业物联网入侵检测网络架构构建方法的步骤。
本发明中,基于历史物联网数据,获得环境状态数据;基于所述环境状态数据,获取入侵检测网络构架的奖励累积函数;根据所述入侵检测网络构架的价值函数,获得所述入侵检测网络构架的训练策略;利用所述奖励累积函数,获得所述入侵检测网络架构的损失函数,以得到入侵检测网络构架。本发明通过入侵检测网络构架与环境状态的奖励累积函数,根据训练策略和损失函数,获得了用于检测环境和结构持续变化的工业物联网的入侵检测网络构架,利用该入侵检测网络架构进行训练、验证与检测,能够提高入侵检测适应性。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
工业物联网是一个复杂的网络,***一部分的任何故障或异常都可能在短时间内对整个***造成巨大损害。因此,尽早发现网络攻击对于及时有效的网络响应至关重要。入侵检测***(Intrusion Detection System,IDS)是网络安全防护的重要组成部分,能够帮助***有效发现网络入侵行为。然而,近年来,由于工业物联网运行环境和结构持续变化,传统的入侵检测模型(如基于简单机器学习的入侵检测模型等)往往不具备对网络威胁的自适应调整能力,不能在工业物联网网络风险环境发生变化时动态地调整自身的辨识策略,进而无法针对复杂网络攻击提供自适应的检测、相应和防御等。
为了解决这一问题,提出本发明的工业物联网入侵检测网络架构构建方法的各个实施例。本发明提供的工业物联网入侵检测网络架构构建方法通过入侵检测网络构架与环境状态的奖励累积函数,根据训练策略和损失函数,获得了用于检测环境和结构持续变化的工业物联网的入侵检测网络构架,对该入侵检测网络架构进行训练和检测,即可判断当前工业物联网是否具有入侵行为。
参照图1,图1为本发明实施例方案涉及的硬件运行环境和工业物联网入侵检测方法的推荐设备结构示意图。
设备可以是移动电话、智能电话、笔记本电脑、数字广播接收器、个人数字助理(PDA)、平板电脑(PAD)等用户设备(User Equipment,UE)、手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备、移动台(Mobile station,MS)等。设备可能被称为用户终端、便携式终端、台式终端等。
通常,设备包括:至少一个处理器301、存储器302以及存储在所述存储器上并可在所述处理器上运行的工业物联网入侵检测网络架构构建程序,所述工业物联网入侵检测网络架构构建程序配置为实现如前所述的工业物联网入侵检测网络架构构建方法的步骤。
处理器301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(CentralProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器301可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。处理器301还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关工业物联网入侵检测网络架构构建操作,使得工业物联网入侵检测网络架构构建模型可以自主训练学习,提高效率和准确度。
存储器302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器801所执行以实现本申请中方法实施例提供的工业物联网入侵检测网络架构构建方法。
在一些实施例中,终端还可选包括有:通信接口303和至少一个***设备。处理器301、存储器302和通信接口303之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与通信接口303相连。具体地,***设备包括:射频电路304、显示屏305和电源306中的至少一种。
通信接口303可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器301和存储器302。通信接口303通过***设备用于接收用户上传的多个移动终端的移动轨迹以及其他数据。在一些实施例中,处理器301、存储器302和通信接口303被集成在同一芯片或电路板上;在一些其他实施例中,处理器301、存储器302和通信接口303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路304通过电磁信号与通信网络以及其他通信设备进行通信,从而可获取多个移动终端的移动轨迹以及其他数据。射频电路304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路304包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(WirelessFidelity,无线保真)网络。在一些实施例中,射频电路304还可以包括NFC(Near FieldCommunication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏305用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏305是触摸显示屏时,显示屏305还具有采集在显示屏305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器301进行处理。此时,显示屏305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏305可以为一个,电子设备的前面板;在另一些实施例中,显示屏305可以为至少两个,分别设置在电子设备的不同表面或呈折叠设计;在再一些实施例中,显示屏305可以是柔性显示屏,设置在电子设备的弯曲表面上或折叠面上。甚至,显示屏305还可以设置成非矩形的不规则图形,也即异形屏。显示屏305可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
电源306用于为电子设备中的各个组件进行供电。电源306可以是交流电、直流电、一次性电池或可充电电池。当电源306包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
本领域技术人员可以理解,图1中示出的结构并不构成对工业物联网入侵检测设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
为了便于理解本发明实施例,下面对本发明的工业物联网入侵检测设备所基于的通信网络***进行描述。
请参阅图2,图2为本发明实施例提供的一种通信网络***架构图,该通信网络***为通用移动通信技术的LTE***,该LTE***包括依次通讯连接的UE(User Equipment,用户设备)201,E-UTRAN(Evolved UMTS Terrestrial Radio Access Network,演进式UMTS陆地无线接入网)202,EPC(Evolved Packet Core,演进式分组核心网)203和运营商的IP业务204。
具体地,UE201可以是上述终端100,此处不再赘述。
E-UTRAN202包括eNodeB2021和其它eNodeB2022等。其中,eNodeB2021可以通过回程(backhaul)(例如X2接口)与其它eNodeB2022连接,eNodeB2021连接到EPC203,eNodeB2021可以提供UE201到EPC203的接入。
EPC203可以包括MME(Mobility Management Entity,移动性管理实体)2031,HSS(Home Subscriber Server,归属用户服务器)2032,其它MME2033,SGW(Serving Gate Way,服务网关)2034,PGW(PDN Gate Way,分组数据网络网关)2035和PCRF(Policy andCharging Rules Function,政策和资费功能实体)2036等。其中,MME2031是处理UE201和EPC203之间信令的控制节点,提供承载和连接管理。HSS2032用于提供一些寄存器来管理诸如归属位置寄存器(图中未示)之类的功能,并且保存有一些有关服务特征、数据速率等用户专用的信息。所有用户数据都可以通过SGW2034进行发送,PGW2035可以提供UE 201的IP地址分配以及其它功能,PCRF2036是业务数据流和IP承载资源的策略与计费控制策略决策点,它为策略与计费执行功能单元(图中未示)选择及提供可用的策略和计费控制决策。
IP业务204可以包括因特网、内联网、IMS(IP Multimedia Subsystem,IP多媒体子***)或其它IP业务等。
虽然上述以LTE***为例进行了介绍,但本领域技术人员应当知晓,本发明不仅仅适用于LTE***,也可以适用于其他无线通信***,例如GSM、CDMA2000、WCDMA、TD-SCDMA以及未来新的网络***等,此处不做限定。
基于上述工业物联网入侵检测网络架构构建设备硬件结构以及通信网络***,提出本发明工业物联网入侵检测网络架构构建方法的实施例。
本发明实施例提供了一种工业物联网入侵检测网络架构构建方法,参照图3,图3为本发明工业物联网入侵检测网络架构构建方法第一实施例的流程示意图。
在本实施例中,实施工业物联网入侵检测网络架构构建方法包括以下步骤:
步骤S100:基于历史物联网数据,获得环境状态数据。
具体而言,在实际应用中,本实施例的方法的执行主体为工业物联网入侵检测网络架构构建设备,工业物联网入侵检测网络架构构建设备可以为手机、平板、电脑或可穿戴式设备等各种类型的电子设备。当然,还可以为其他具有相似功能的设备,本实施方式对此不加以限制。
需要说明的是,环境状态数据使用真实的工业物联网数据集来模拟,构成本实施例入侵检测网络架构构造所需的环境状态。在本实施例中,工业物联网历史数据集包括网络交互数据和***状态数据;其中,所述网络交互数据包括设备地址、功能码、报文长度、报文错误检查信息以及报文间隔等;所述***状态数据包括传感器测量、监控输入以及分布式控制状态等。
具体而言,基于历史物联网数据,获得环境状态数据包括:
步骤S101:根据历史物联网数据中的网络用户数据,获得所述环境状态数据中的普通网络用户。
步骤S102:根据历史物联网数据中的攻击入侵数据,获得所述环境状态数据中的恶意攻击者.
步骤S103:根据历史物联网数据中的入侵检测数据,获得所述环境状态数据中的检测管理员。
容易理解的是,基于获得的环境状态数据,入侵检测网络架构能够感知环境状态,并根据环境提供的反馈信号来获得入侵检测网络构架的奖励累积函数。其中入侵检测网络架构感知环境状态,根据环境提供的反馈信号rr,选择最大化未来奖励的动作,即从当前时间步t开始,直到最终状态的奖励rt,n的累积和为Rt=rt,1+rt,2+…+rt,n。
步骤S200:基于所述环境状态数据,获取入侵检测网络构架的奖励累积函数。
具体而言,基于所述环境状态数据,获取入侵检测网络构架的奖励累积函数步骤包括:
基于所述环境状态数据,获取每一时间步t的反馈信号rt;根据所述每一时间步t的反馈信号rt,获取所述入侵检测网络构架的奖励累积函数。
其中,根据所述每一时间步t的反馈信号rt,获取所述入侵检测网络构架的奖励累积函数步骤,具体包括:
当所述入侵检测网络构架检测到攻击入侵数据,并且成功分类所述攻击入侵数据的类型,获取正反馈信号rt+1;或当所述入侵检测网络构架未检测到攻击入侵数据或检测到攻击入侵数据未成功分类所述攻击入侵数据的类型,获取负反馈信号rt-1;或当所述入侵检测网络构架检测到网络用户数据,并且没有发出入侵检测数据,不反馈信号。
进一步的,为了降低不确定性和随机性,本实施例使用折扣因子来减少步骤之间的强关联性,用折扣未来累积奖励Gt来代替未来奖励。
具体而言,当根据所述每一时间步t的反馈信号rt,获取所述入侵检测网络构架的奖励累积函数步骤之后,还包括:
利用折扣因子处理所述入侵检测网络构架获得的奖励累积函数,获得处理后的奖励累积函数;其中,所述处理后的奖励累积函数表达式为:
式中,γ∈[0,1]为折扣系数,t为环境状态中的时间步,Rt+k+1为时间步t到时间步t+k+1的奖励累积和。
步骤S300:根据所述奖励累积函数获得所述入侵检测网络构架的价值函数,并根据所述价值函数获得所述入侵检测网络构架的训练策略。
需要说明的是,在获得奖励累积函数后,可根据奖励累积函数获得入侵检测网络架构的价值函数,进而得到入侵检测网络架构的训练策略及损失函数,以获得用于入侵检测的入侵监测网络架构。
具体而言,根据所述奖励累积函数获得所述入侵检测网络构架的价值函数,并根据所述价值函数获得所述入侵检测网络构架的训练策略步骤,包括:
步骤S301:根据所述奖励累积函数获得所述入侵检测网络构架的价值函数。
步骤S302:基于所述价值函数,获得所述入侵检测网络构架的状态值函数和动作值函数。
步骤S303:根据所述入侵检测网络构架的状态值函数和动作值函数,获取每个环境状态数据的价值和每个环境状态数据下分别做出不同动作的值。
步骤S304:选取当前环境状态数据下使得状态值函数和动作值函数最大值的动作,获得所述入侵检测网络构架的训练策略。
需要理解的是,获取用于评价不同状态的好坏,指导智能体动作的选择,可影响入侵检测网络架构做出下一动作决策的数据,可通过价值函数评估入侵检测智能体在某时间t,状态s的好坏程度。在本实施例中,定义Q
π(s,a)为动作值函数,V
π(s)为状态值函数。前者用于评估当前智能体从状态s开始,执行动作a,且服从策略π的期望返回,后者表示状态s下,执行动作a得到的奖励期望,其中,
在本实施例中,入侵检测网络构架中动作空间为正数离散值,“0”表示预判为正常流量,“1,2,…,n”表示n种类型的攻击。具体的,采用马尔可夫决策过程定义入侵检测智能体在进行动作决策的过程中的状态值函数和动作值函数,之后,通过贝尔曼方程对状态值函数或动作值函数进行形式化表示,完成入侵检测网络构架的动作决策过程。
具体而言,马尔科夫决策过程具有马尔可夫性质,即:在时间步t+1时,环境的反馈仅取决于上一时间步t的状态和动作a,与时间步t-1以及t-1步之前的时间没有相关性。***的下一个状态只与当前状态有关。因此,可以简化入侵检测网络构架的决策过程。该***的马尔可夫决策过程由一个五元组成,S为状态空间集,A为动作空间集,Psa表示状态转移概率(在状态S下执行动作a后,转移到另一个状态s’的概率分布并带有动作奖励记作P(s’,r|s,a)),R为奖励函数,γ为折扣因子。贝尔曼方程将及时奖励Rt和未来状态的折扣值γ、时间步t+1的状态值V(St+1)相加,反映当前状态下的状态值函数V(St)和下一时刻状态值函数V(St+1)之间的关系。
马尔科夫决策表达式为:
MDP=(S,A,Psa,R,γ);其中,S={S1,S2,…,Sn};A={A1,A2,…,An}。
贝尔曼方程表达式为:
同理,可以得出动作值的表达式为:
考虑贝尔曼方程的递归更新,将贝尔曼方程表达式分为动作值函数和状态值函数。当进行下一个动作时,两个值函数分别遵循策略π更新值函数,其中
代表状态转换概率。
所述状态值函数的表达式为:
所述动作值函数的表达式为:
式中,
为状态转化概率,
为状态空间集,
为动作空间集,R为奖励函数,s为状态,a为动作,s′为状态s转移的下一状态,a′为动作a执行的下一动作。
步骤S400:利用所述奖励累积函数,获得所述入侵检测网络架构的损失函数,以得到入侵检测网络构架。
需要说明的是,在获得入侵检测网络构架的训练策略后,可同样根据奖励累积函数获得入侵检测网络架构的损失函数,进而通过训练策略和损失函数获得用于入侵检测的入侵监测网络架构。
具体而言,利用所述奖励累积函数,获得所述入侵检测网络架构的损失函数,以得到入侵检测网络构架步骤,包括:
步骤S401:基于所述奖励累积函数,处理所述训练策略的策略网络和价值网络,获得所述训练策略的优势函数值和更新新旧策略的比值。
步骤S402:根据所述优势函数值和所述更新新旧策略的比值构建所述训练策略的损失函数。
步骤S403:根据所述训练策略和所述损失函数,获得入侵检测网络构架。
具体而言,在根据优势函数值和更新新旧策略的比值构建训练策略的损失函数时,在本实施例中,采用PPO2策略梯度算法处理所述优势函数值和所述更新新旧策略的比值,获得所述训练策略的梯度值;再利用随机梯度上升算法处理所述训练策略的梯度值,获得策略梯度的损失函数。
容易理解的是,PPO2策略梯度算法是计算策略梯度的估计量,并将其***到随机梯度提升算法中,通过对策略参数θ进行随机梯度上升,计算策略梯度损失来更新策略网络的参数。
具体而言,策略梯度算法的表达式为:
更新策略网络的表达式为:A
π(s,a)=Q
π(s,a)-V
π(s)。其中,
是时间步长t的优势函数估计量。当
是正数,梯度为正,此时应当增加这些动作的概率,反之,应当降低这些动作的概率。期望
表明了有限批次样本的经验平均,当采用策略π
θ时,一般来说,神经网络把从环境中观察到的状态作为输入,采取的行动作为输出,logπ
θ是策略网络输出的概率对数,a
t为时间步长t的动作,s
t为时间步长t的状态,Q
π(s,a)为动作值函数,V
π(s)为状态值函数。
在本实施例中,为了防止入侵检测模型训练时震荡幅度过大,PPO2引入了目标函数(Clipped Surrogate Function)来约束新旧策略的更新比例,实现在多个步骤中小批量更新。定义
为新旧策略比例,保守政策迭代(CPI)损失的表达式为:
需要说明的是,如果没有约束,CPI的最大化会导致梯度***,使用剪切函数可以惩罚那些比例远离1的改变,获得约束后的策略梯度表达式为:
通过
对策略进行更新,获得更新后的策略梯度表达式为:
其中ε=0.2是超参数,最小值内的第一项是CPI,第二项通过剪切比例来修改替代目标,这将保证rt在对应刺激区间(1-ε,1+ε)。Clip为剪切函数,min函数使得最终目标是CPI的下界。当且仅当目标改善时忽略比例,当使得目标变差时考虑比例。
进一步的,基于本发明上述工业物联网入侵检测网络架构构建方法第一实施例,提出本发明工业物联网入侵检测网络架构构建方法的第二实施例。参照图4,图4为本发明工业物联网入侵检测网络架构构建方法的第二实施例的流程示意图。
在实际应用中,进行工业物联网入侵检测时,在获得待检测数据后,采用基于深度强化学习训练的入侵检测智能体对待检测数据进行入侵行为与动作的判断,以获得入侵检测结果,其中,获得入侵检测结果的入侵检测智能体通过环境状态模拟的奖励累积函数获得的训练策略和损失函数训练得到。
本实施例给出一种通过环境状态模拟的奖励累积函数获得的训练策略和损失函数训练得到入侵检测智能体的具体实现方案,具体如下:
步骤A100:获取目标物联网的网络样本数据。
步骤A200:将所述网络样本数据输入入侵检测模型,获得预期入侵检测结果。
步骤A300:根据所述预期入侵检测结果,判断所述入侵检测模型是否满足收敛条件。
步骤A400:若不满足,利用奖励累积函数调整所述入侵检测模型的训练策略,并返回所述将所述网络样本数据输入入侵检测模型的步骤,循环至所述预期入侵检测结果满足所述收敛条件,以获得入侵检测智能体。
具体而言,在本实施例中,入侵检测模型即为上述实施例构建的入侵检测网络架构,通过对该入侵检测网络架构进行循环训练直到获得模型收敛的入侵检测智能体。
需要说明的是,网络样本数据为获取的目标物联网历史数据,该目标物联网历史数据用以对获取的入侵检测模型进行训练,其训练所需的数据类型为目标物联网历史网络数据进行特征筛选和预处理获得的网络样本特征数据。在本实施例中,所述网络样本数据为记录目标物联网交互和运行的文本数据。
为了便于理解,参照图5,图5为本发明工业物联网入侵检测网络架构构建方法的步骤A100的一种具体实现方案的流程示意图。本实施例给出一种对所述网络样本数据进行特征筛选,以获得网络特征数据的具体实现方案,具体如下:
A101:对所述网络样本数据进行特征提取,以获取初始网络特征数据。
A102:采用LightGBM算法,对所述初始网络特征数据进行特征筛选,以获得所述网络特征数据。
具体而言,该步骤中对网络样本数据进行特征筛选,以获得网络特征数据包括网络样本数据的特征提取和网络特征数据的筛选。
需要说明的是,网络样本数据的特征提取用于将网络样本数据中的特征数据进行提取,获得用于检测模型进行训练的初始网络特征数据。其中,特征提取可采用主成分分析(PCA),独立成分分析(ICA),线性判别分析(LDA)等特征提取算法来对网络样本数据进行处理,当然,还可以为其他具有特征提取的算法,本实施方式对此不加以限制。
对记录目标物联网交互和运行的文本数据的网络样本数据进行提取后,获得目标物联网交互特征数据和目标物联网运行特征数据;其中,目标物联网交互特征数据包括相邻报文时间间隔、命令报文中的设备ID、响应报文中的设备ID以及命令/响应中子功能代码的值等;目标物联网运行特征数据包括传感器测量值、响应函数、设定值、命令功能代码的值以及设备状态值等。
需要说明的是,在对网络样本数据进行特征提取后,还包括对初始网络特征数据进行特征筛选,以获得处理后的网络特征数据。其中,在本实施例中,初始网络特征数据的特征筛选采用LightGBM算法,来对初始网络特征数据中进行处理,以删除初始网络特征数据中的目标网络特征数据,进而获得用于检测模型训练的网络特征数据。
具体而言,在本实施例中,目标网络特征数据包括缺失值大于第一预设值的网络特征数据、唯一值的网络特征数据、强相关网络特征数据对中的任意一个网络特征数据和根据LightGBM算法获得的特征重要性排名低于第二预设值的网络特征数据,需要说明的是,本实施例中强相关网络特征数据对为Pearson相关系数不低于0.99的网络特征数据对。
其中,在本实施例中,当一个特征的缺失率大于60%,定义该特征对于入侵检测的准确率影响较大,需要删除该特征,则将第一预设值设置为60%;当一个特征的重要性排名低于所有特征数量的70%,定义该特征对于入侵检测的检测结果影响较小,需要删除该特征,则将第二预设值设置为70%。需要说明的是,在不同工业物联网对不同特征数据进行处理时,可设置不同的第一预设值和第二预设值来使得入侵检测的特征数据适用性得以提高,本实施例对此不加以限制。
且容易理解的是,本实施例为了减少网络样本数据的噪声冗余,提高模型的多分类检测精度,对网络样本数据首先进行特征选择,在保证入侵检测性能之下有效降低数据的冗余维度。在获得目标物联网样本数据后,对网络样本数据进行特征提取和特征筛选,以获得用于训练检测模型的网络特征数据。
为了便于理解,参照图6,图6为本发明工业物联网入侵检测网络架构构建方法的步骤A100的另一种具体实现方案的流程示意图。本实施例给出一种对所述网络特征数据进行预处理的具体实现方案,具体如下:
A111:将所述网络特征数据做归一化处理,获得归一化特征数据。
A112:对所述归一化特征数据进行特征向量化,获得特征向量数据。
A113:对所述特征向量数据进行独热编码,获得待检测数据。
具体而言,该步骤中对网络样本数据进行预处理,以获得网络特征数据包括网络样本数据的归一化、特征向量化和独热编码。
需要说明的是,数据归一化,也称为数据标准化,就是将需要处理的数据在通过某种算法经过处理后,限制将其限定在需要的一定的范围内。数据标准化处理时数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要对数据进行归一化处理,解决数据指标之间的可比性问题。
具体而言,在本实施例中,数据标准化使用min-max函数缩放范围特征值到[0,1]区间,进而将所有在不同区间的变量归一化,标准化公式为:
其中,x为原始值,x′为规范化值。
需要说明的是,特征向量化用以对网络特征数据中的属性进行提取与组合,对于每一条网络特征数据,都有其属性,不同的属性用不同的属性值代表,通过将多个属性值进行组合来得到特征向量。
需要说明的是,独热编码,即One-Hot编码,通过使用N为状态寄存器来对N个状态进行编码,每个状态都有独立的寄存器位,并且在任意时候,其中只有一位有效。本实施例通过独热编码将特征向量数据进行处理,仅对特征向量中的一个特征进行激活,获得稀疏的特征向量数据,进而得到可由检测模型直接检测的待检测数据。
且容易理解的是,本实施例为了获得检测模型可直接使用的待检测数据。在获得目标物联网原始网络数据提取的网络特征数据后,对网络特征数据预处理,以获得能够直接输入检测模型的待检测数据,该待检测数据为考虑了获得的不同维度、不同量级的网络特征数据,将属于不同维度、不同数量级的网络特征数据统一在同一维度、同一量级。
需要说明的是,在入侵检测模型根据网络样本数据进行训练时,需要对每次训练后的入侵检测模型进行判断,因此需要获取每次训练后经入侵检测模型处理网络样本数据的预期入侵检测结果。根据预期入侵检测结果判断入侵检测模型是否满足收敛条件;若入侵检测模型满足收敛条件,则获得用于入侵检测的入侵检测智能体;若入侵检测模型不满足收敛条件,则利用奖励累积函数调整所述入侵检测模型的训练策略,并返回所述将所述网络样本数据输入入侵检测模型的步骤。
具体而言,本实施例中,判断入侵检测模型是否满足收敛条件,此时入侵检测模型的收敛条件为入侵检测模型收敛或者入侵检测模型训练完成预设步长。
需要说明的是,在本实施例中,步骤利用奖励累积函数调整所述入侵检测模型的训练策略,具体包括:
A401:基于所述奖励累积函数,处理所述训练策略的策略网络和价值网络,获得所述训练策略的优势函数值和更新新旧策略的比值。
A402:根据所述优势函数值和所述更新新旧策略的比值构建训练策略的损失函数。
A403:利用所述损失函数更新所述训练策略的策略参数,以调整所述入侵检测模型的训练策略。
具体而言,在根据优势函数值和更新新旧策略的比值构建训练策略的损失函数时,在本实施例中,采用PPO2策略梯度算法处理所述优势函数值和所述更新新旧策略的比值,获得所述训练策略的梯度值;再利用随机梯度上升算法处理所述训练策略的梯度值,获得策略梯度的损失函数。
需要说明的是,PPO2策略梯度算法在前述实施例以详细说明,此处不再赘述。
进一步的,如图7所示,在本实施例中,为了使得神经网络更新及时,融合策略网络和价值网络,让两个网络的权重进行共享,同时进行更新。PPO2使用一组状态和动作的历史记录形式化表示的定长轨迹段。在每次迭代中,N个并行智能体收集T个步长的数据。在NT步上构造损失,并使用小批量梯度下降或者Adam优化器对其优化,使用在策略网络和价值网络之间共享3个隐含层的MLP网络,第1层128个神经元,第2层64个神经元,第3层64个神经元,并在每个隐含层后增加一个线性单元ReLU激活函数。
且容易理解的是,本实施例提供了对用于检测待检测数据的入侵检测智能体的训练过程,在训练过程中,通过入侵检测模型处理网络样本数据,在入侵检测模型满足收敛条件之前,利用奖励累积函数调整所述入侵检测模型的训练策略并返回所述将所述网络样本数据输入入侵检测模型的步骤,循环至所述预期入侵检测结果满足所述收敛条件,以获得入侵检测智能体。能够针对工业物联网环境和结构持续变化的特性,动态地调整自身的辨识策略,获得准确的入侵检测结果。
进一步的,基于本发明上述工业物联网入侵检测网络架构构建方法第一实施例和第二实施例,提出本发明工业物联网入侵检测网络架构构建方法的第三实施例。参照图8,图8为本发明工业物联网入侵检测网络架构构建方法的第三实施例的流程示意图。
在本实施例中,利用入侵检测网络架构训练后的入侵检测智能体,实施工业物联网入侵检测方法包括以下步骤:
步骤B100:获取目标物联网的原始网络数据。
其中,目标物联网为待进行入侵检测的工业物联网,包括但不限于电力物联网***、石油天然气物联网***、城市轨道交通物联网***等高自动化的工业领域的物联网***。工业物联网的原始网络数据为记录目标物联网交互和运行的文本数据的原始网络数据等。
此外,值得一提的是,在本实施例中,上述获取目标物联网的原始网络数据的动作可以是用户指定。例如对于实时性要求高、入侵动作响应快的工业物联网,获取原始网络数据可以为每天、每时或者每分,甚至于可以是无间隔获取;对于实时性要求低,入侵动作响应慢的工业物联网,获取原始网络数据可以为每三天、每周或者每月,甚至于可以是用户在入侵检测需求时手动获取。
且容易理解的是,本实施例可以根据用户的需求,每预设时间间隔或无时间间隔或手动获取目标物联网中的原始网络数据,通过对原始网络数据进行处理,判断该原始网络数据访问工业物联网是否具有入侵动作与行为。
步骤B200:对所述原始网络数据进行特征筛选,以获得网络特征数据。
需要说明的是,在根据原始网络数据判断入侵动作与行为时,依据的是流量信息的特征数据,而不是流量信息数据本身,本实施例在获得目标物联网原始网络数据后,需要对原始网络数据进行特征提取和特征筛选,以获得用于检测入侵行为的网络特征数据。
具体而言,对记录目标物联网交互和运行的文本数据的原始网络数据进行提取和筛选后,获得目标物联网交互特征数据和目标物联网运行特征数据;其中,目标物联网交互特征数据包括相邻报文时间间隔、命令报文中的设备ID、响应报文中的设备ID以及命令/响应中子功能代码的值等;目标物联网运行特征数据包括传感器测量值、响应函数、设定值、命令功能代码的值以及设备状态值等。当然,还可以为其他具有记录目标物联网交互和运行的文本数据的网络特征数据,本实施方式对此不加以限制。
且容易理解的是,本实施例在获得目标物联网原始数据后,对原始网络数据进行特征提取和特征筛选,以获得用于检测入侵行为的网络特征数据,进而根据网络特征数据判断目标物联网此次访问是否为入侵动作与行为。
步骤B300:对所述网络特征数据进行预处理,以获得待检测数据。
容易理解的是,获取的网络特征数据可能基于不同的终端设备、不同的通信网络,其获得的数据维度、数据量级将会不同,因此,在将网络特征数据输入检测模型进行入侵动作与行为判断之前,需要对获取的网络特征数据进行预处理,以获得待检测数据。
具体而言,在获得目标物联网原始网络数据提取的网络特征数据后,为了将不同维度、不同量级的网络特征数据作为同一检测模型的检测数据,需要对网络特征数据做适应性的预处理,以使经预处理得到的待检测数据可直接输入检测模型获得入侵检测结果,减少检测模型在检测过程中特征工程耗费的时间,以及未经处理的网络特征数据对检测模型检测率的影响。
且容易理解的是,本实施例在获得目标物联网原始网络数据提取的网络特征数据后,对网络特征数据预处理,以获得能够直接输入检测模型的待检测数据,该待检测数据为考虑了获得的不同维度、不同量级的网络特征数据,将属于不同维度、不同数量级的网络特征数据统一在同一维度、同一量级。
需要说明的是,原始网络数据用以输入入侵检测智能体进行检测,其所需的数据类型与前述实施例中通过对目标物联网网络样本数据进行特征筛选和预处理获得的待检测数据相同,本实施例不再赘述。
步骤B400:将所述待检测数据输入训练获得的入侵检测智能体,以获得入侵检测结果。
需要说明的是,本实施例在获得待检测数据后,采用基于深度强化学习训练的入侵检测智能体对待检测数据进行入侵行为与动作的判断,以获得入侵检测结果。
具体而言,本实施例对待检测数据进行入侵行为与动作的判断,以获得入侵检测结果,其中,获得入侵检测结果的入侵检测智能体通过环境状态模拟的奖励累积函数获得的训练策略和损失函数训练得到,其中,环境状态根据历史工业物联网数据获得。
在本实施例中,通过处理原始网络数据获得待检测数据,利用所述待检测数据输入经损失函数持续更新的训练策略的成熟入侵检测智能体,对待检测数据进行入侵检测,能够针对工业物联网环境和结构持续变化的特性,动态地调整自身的辨识策略,获得准确的入侵检测结果,具有较强的适应性。
参照图9,图9为本发明工业物联网入侵检测网络架构构建装置的结构框图。
如图9所示,本发明实施例提出的工业物联网入侵检测网络架构构建装置包括:
状态获取模块10,用于基于历史物联网数据,获得环境状态数据;
奖励获取模块20,用于基于所述环境状态数据,获取入侵检测网络构架的奖励累积函数;
策略获取模块30,用于根据所述奖励累积函数获得所述入侵检测网络构架的价值函数,并根据所述价值函数获得所述入侵检测网络构架的训练策略;
构架获取模块40,用于利用所述奖励累积函数,获得所述入侵检测网络架构的损失函数,以得到入侵检测网络构架。
本发明所述的工业物联网入侵检测网络架构构建装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括....个限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若千个可以是通过同一个硬件项来具体体现。词语第一、第二等的使用不表示任何顺序,可将这些词语解释为名称。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器镜像(ReadOnlyMemoryimage,ROM)/随机存取存储器(RandomAccessMemory,RAM)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。