CN114462023A - 一种用于发电厂控制系统的蜜罐防御控制方法及装置 - Google Patents
一种用于发电厂控制系统的蜜罐防御控制方法及装置 Download PDFInfo
- Publication number
- CN114462023A CN114462023A CN202210069594.6A CN202210069594A CN114462023A CN 114462023 A CN114462023 A CN 114462023A CN 202210069594 A CN202210069594 A CN 202210069594A CN 114462023 A CN114462023 A CN 114462023A
- Authority
- CN
- China
- Prior art keywords
- data
- abnormal
- power plant
- control system
- honeypot
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 230000007123 defense Effects 0.000 title claims abstract description 42
- 230000002159 abnormal effect Effects 0.000 claims abstract description 152
- 238000012545 processing Methods 0.000 claims abstract description 46
- 238000007405 data analysis Methods 0.000 claims abstract description 35
- 244000035744 Hura crepitans Species 0.000 claims abstract description 33
- 230000009286 beneficial effect Effects 0.000 claims abstract description 14
- 238000004088 simulation Methods 0.000 claims abstract description 12
- 230000002452 interceptive effect Effects 0.000 claims abstract description 11
- 235000012907 honey Nutrition 0.000 claims abstract description 9
- 230000008569 process Effects 0.000 claims description 58
- 238000007637 random forest analysis Methods 0.000 claims description 38
- 238000010801 machine learning Methods 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 claims description 14
- 238000012549 training Methods 0.000 claims description 12
- 238000012360 testing method Methods 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 238000011156 evaluation Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 7
- 230000000903 blocking effect Effects 0.000 claims description 6
- 230000009467 reduction Effects 0.000 claims description 6
- 230000002411 adverse Effects 0.000 claims description 3
- 230000006399 behavior Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000003066 decision tree Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000009776 industrial production Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 102100039207 Exportin-T Human genes 0.000 description 1
- 101000745703 Homo sapiens Exportin-T Proteins 0.000 description 1
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012847 principal component analysis method Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
本发明涉及工业控制系统技术领域,并提供一种用于发电厂控制系统的蜜罐防御控制方法及装置,蜜罐防御控制方法包括如下步骤:将发电厂控制系统置于沙盒中营造高仿真的交互场景,以形成工控蜜罐,并通过所述工控蜜罐捕获不利于所述发电厂控制系统的异常数据;针对所述异常数据,进行数据分析,以识别出来源于攻击者发起的攻击数据;针对所述攻击数据,进行数据处理;本发明将发电厂控制系统置于沙盒内以形成工控蜜罐,营造出高仿真的交互场景,以提高蜜罐的“甜度”,换言之,提高工控蜜罐的诱捕能力,对存在不利于发电厂控制系统的异常数据进行分析后判定识别出来源于攻击者的攻击数据,进行数据处理,从而有效的提高发电厂控制系统的防御能力。
Description
技术领域
本发明涉及工业控制系统技术领域,具体而言,涉及一种用于发电厂控制系统的蜜罐防御控制方法及装置。
背景技术
随着互联网、物联网、5G等网络技术的发展,工业控制系统网络逐步由独立封闭的网络向通用互联网转化。大量的工业控制设备逐渐接入互联网,不仅节省人力资源成本提高工业生产效率,还实现了工业生产、控制、管理的智能化;当前,工业控制系统结合多种新型信息技术的发展与应用,给工业控制系统信息安全保障工作提出了新任务、新挑战,工业控制系统的安全问题不容忽视;电力行业作为工业控制领域的重要组成部分,正面临着严峻的信息安全风险,亟需对目前的电力工业控制系统网络安全方面进行深入的研究分析;顺应时代响应,当前发电厂控制系统结合多种新型信息技术已经成为近年来的发展趋势;同时也为工业控制系统网络安全防护工作带来了新任务、新挑战。
由于早年工控网络环境以物理防护为主,设计研发的工控协议并没有考虑通用互联网威胁,很多工控协议缺乏安全机制;在智能电网的大环境下,发电厂系统将不再完全物理隔离,很多数据流通向企业内网,甚至完全暴露在互联网中;由于电力系统具有实时性、可靠性、分布性等特殊性,针对当前面临的电力系统威胁情况,结合主动防御技术,以陷阱的方式来保护电力系统不受威胁,例如,采用蜜罐技术结合发电厂控制系统而成的工控蜜罐,一直是近几年的研究热点;工控蜜罐在受到黑客攻击后不会对电力系统造成损失,同时还可以捕获黑客的攻击数据用来后续的分析和研究,将研究成果应用于维护整个电力控制系统。
目前现有的工控蜜罐中在工控协议实现方面大多是西门子、施耐德相关通讯设备的工控协议,其他工控设备领域通讯协议比较匮乏;目前流行的工控蜜罐主要是高交互蜜罐,比如XPOT 、HoneyPLC蜜罐系统,但是上述高交互蜜罐系统不仅成本高,而且一旦受到攻击恢复困难,导致维护成本更高。
发明内容
本发明解决的问题是如何有效提高发电厂控制系统的防御能力。
为解决上述问题,本发明提供一种用于发电厂控制系统的蜜罐防御控制方法,包括如下步骤:
将发电厂控制系统置于沙盒中营造高仿真的交互场景,以形成工控蜜罐,并通过所述工控蜜罐捕获不利于所述发电厂控制系统的异常数据;
针对所述异常数据,进行数据分析,以识别出来源于攻击者发起的攻击数据;
针对所述攻击数据,进行数据处理。
可选地,所述工控蜜罐包括核心库psutil和scapy库;所述异常数据包括进程数据、文件数据和网络数据包;所述并通过所述工控蜜罐捕获不利于所述发电厂控制系统的异常数据包括:通过所述核心库psutil捕获所述进程数据和所述文件数据;以及通过所述scapy库捕获所述网络数据包。
可选地,所述攻击数据包括异常进程、异常文件和异常数据包;所述针对所述异常数据,进行数据分析,以识别出来源于攻击者发起的攻击数据包括:通过随机森林模型,对所述异常数据中的所述进程数据和所述文件数据分别进行数据分析,以分别识别出异常进程和异常文件。
可选地,所述针对所述异常数据,进行数据分析,以识别出来源于攻击者发起的攻击数据还包括:采用机器学习算法对比的方式,评估所述随机森林模型的识别性能。
可选地,所述采用机器学习算法对比的方式,评估所述随机森林模型的识别性能包括:获取发电厂控制系统在正常运行时的正常数据,以及攻击样本数据;其中,所述正常数据包括正常进程和正常文件;对所述正常数据和所述攻击样本数据进行数据降维处理,以形成样本数据集;其中,所述样本数据集包括训练数据集和测试数据集;采用同样的所述训练数据集分别对所述随机森林模型和多种不同的参照机器学习模型进行参数学习;其中,所述随机森林模型和所述参照机器学习模型分别包括模型判别函数;通过所述测试数据集,以及所述随机森林模型和所述参照机器学习模型中的所述模型判别函数,分别生成第一预测结果和第二预测结果;从多个评价指标,根据所述第一预测结果和所述第二预测结果比对结果,以评估所述随机森林模型的识别性能。
可选地,所述针对所述攻击数据,进行数据处理包括:
对识别出的所述异常进程进行转存并告警;
和/或,对所述异常进程进行阻断。
可选地,所述针对所述攻击数据,进行数据处理包括:
对识别出的所述异常文件进行转存并告警;
和/或,对所述异常文件进行提交至所述沙盒的分析工具进行分析或进行删除处理。
可选地,所述针对所述异常数据,进行数据分析,以识别出来源于攻击者发起的攻击数据包括:根据所述异常数据中的网络数据包,通过端口号方式来判断是否为EGD协议;若是,则通过EGD协议,对所述异常数据中网络数据包进行数据分析,以从所述网络数据包中识别出异常数据包;其中,所述异常数据包是指不符合通讯规约的异常网络数据。
可选地,所述针对所述攻击数据,进行数据处理包括:
对识别出的所述异常数据包进行转存并告警;
发送默认响应包,以响应所述异常数据包。
与现有技术相比,本发明通过将发电厂控制系统置于沙盒内以形成工控蜜罐,从而营造出高仿真的交互场景,以提高蜜罐的“甜度”,换言之,提高工控蜜罐的诱捕能力,并且还可以通过工控蜜罐捕获不利于发电厂控制系统的异常数据,随后在针对所述异常数据进行数据分析,以从异常数据中识别出攻击者发起的攻击数据,换言之,对存在不利于发电厂控制系统的异常数据进行分析后以判定识别出来源于攻击者发起的攻击数据;最后针对攻击数据,进行数据处理,例如可以告知网络安全管理员及时阻断,从而有效的提高发电厂控制系统的防御能力。另外,沙盒的恢复功能使得攻击者对沙盒内的发电厂控制系统遭受攻击破坏后更容易恢复,从而大大降低工控蜜罐的维护成本,以及沙盒的防逃逸功能防止攻击者识别工控蜜罐后借助为跳板转而攻击其他设备。
第二方面,本发明提供一种用于发电厂控制系统的蜜罐防御控制装置,包括:数据捕获模块,用于在将发电厂控制系统置于沙盒中营造高仿真的交互场景,以形成工控蜜罐之后,通过所述工控蜜罐捕获不利于所述发电厂控制系统的异常数据;数据分析模块,用于针对所述异常数据,进行数据分析,以识别出来源于攻击者发起的攻击数据;数据处理模块,用于针对所述攻击数据,进行数据处理。
由于,一种用于发电厂控制系统的蜜罐防御控制装置,用于实现上述用于发电厂控制系统的蜜罐防御控制方法,因此,用于发电厂控制系统的蜜罐防御控制装置至少具有用于发电厂控制系统的蜜罐防御控制方法的全部有益效果,在此不再赘述。
附图说明
图1为本发明实施例中蜜罐防御控制方法的步骤示意图;
图2为本发明实施例中对异常进程和异常文件的处理步骤示意图;
图3为本发明实施例中对网络数据包的处理步骤示意图;
图4为本发明实施例中蜜罐防御控制装置的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序;应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通;对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本说明书的描述中,参考术语“实施例”、“一个实施例”和“一个实施方式”等的描述意指结合该实施例或实施方式描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示实施方式中;在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实施方式;而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或实施方式以合适的方式结合。
结合图1所示,本发明实施例提供一种用于发电厂控制系统的蜜罐防御控制方法,包括如下步骤:
S1、将发电厂控制系统置于沙盒中营造高仿真的交互场景,以形成工控蜜罐,并通过所述工控蜜罐捕获不利于所述发电厂控制系统的异常数据;
S2、针对所述异常数据,进行数据分析,以识别出来源于攻击者发起的攻击数据;
S3、针对所述攻击数据,进行数据处理。
需要说明的是,沙盒(英语:sandbox,又译为沙箱),计算机术语,在计算机安全领域中是一种安全机制,为运行中的程序提供隔离环境。沙盒通常严格控制其中的程序发电厂控制系统所能访问的资源,比如,沙盒可以提供用后即回收的磁盘及内存空间;在沙盒中,网络访问、对真实系统的访问、对输入设备的读取通常被禁止或是严格限制,例如,沙盒中的所有改动对操作系统不会造成任何损失。通常,这种技术被计算机技术人员广泛用于测试可能带毒的程序或是其他的恶意代码;另外,蜜罐最基本的功能是在于使攻击者毫无察觉的情况下,捕获攻击者对发电厂控制系统发起整个攻击过程的全部信息。在步骤S1中,而将发电厂控制系统置于沙盒,以形成工控蜜罐,利用营造出的高仿真的交互场景,不仅可以提高蜜罐的诱捕能力,降低高交互蜜罐的使用成本,而且还可以在捕获不利于发电厂控制系统的异常数据;在步骤S2中,针对异常数据进行数据分析,从而可以从异常数据中识别出来源于攻击者发起的攻击数据,以判断出是否是攻击者的攻击行为。其中,异常数据中的攻击数据来源于攻击者;在步骤S3中,针对识别出来的攻击数据,进行数据处理,例如对判定为的攻击数据进行转存并输出,告知网络安全管理员并及时阻断,从而有效防止攻击数据持续影响发电厂控制系统的正常运行,进而实现发电厂控制系统的防御能力。
本实施例中通过将发电厂控制系统置于沙盒内以形成工控蜜罐,从而营造出高仿真的交互场景,以提高蜜罐的“甜度”,换言之,提高工控蜜罐的诱捕能力,并且还可以通过工控蜜罐捕获不利于发电厂控制系统的异常数据,随后在针对所述异常数据进行数据分析,以从异常数据中识别出攻击者发起的攻击数据,换言之,对存在不利于发电厂控制系统的异常数据进行分析后以判定识别出来源于攻击者发起的攻击数据;最后针对攻击数据,进行数据处理,例如可以告知网络安全管理员及时阻断,从而有效的提高发电厂控制系统的防御能力;另外,沙盒的恢复功能使得攻击者对沙盒内的发电厂控制系统遭受攻击破坏后更容易恢复,从而大大降低工控蜜罐的维护成本,以及沙盒的防逃逸功能防止攻击者识别工控蜜罐后借助为跳板转而攻击其他设备。
在本发明的一个实施例中,所述工控蜜罐包括核心库psutil和scapy库;所述异常数据包括进程数据、文件数据和网络数据包;所述并通过所述工控蜜罐捕获不利于所述发电厂控制系统的异常数据包括:通过所述核心库psutil捕获所述进程数据和所述文件数据;以及通过所述scapy库捕获所述网络数据包。
需要说明的是,发电厂控制系统可采用python3语言编写来完成工控蜜罐的捕获工作;核心库psutil 是一个 Python模块用来获取正在运行的进程信息、系统的CPU和内存的利用率的第三方库,是现有技术,在此不再赘述;因此,可以通过所述核心库psutil快速准确捕获异常数据中的进程数据和文件数据。scapy库是一个基于python的交互式数据包操作程序和库,它能够伪造或者解码多种协议的数据包,通过使用pcap文件对他们进行发送、收集、存储和读取,匹配请求和响应等;因此,可以通过scapy库捕获快速准确捕获异常数据中的网络数据包,换言之,通过核心库psutil捕获进程数据和文件数据,以及通过scapy库来捕获网络数据包,为后续步骤中判断是否是攻击行为提供了参数基础。
在本发明的一个实施例中,所述攻击数据包括异常进程、异常文件和异常数据包;所述针对所述异常数据,进行数据分析,以识别出来源于攻击者发起的攻击数据包括:通过随机森林模型,对所述异常数据中的所述进程数据和所述文件数据分别进行数据分析,以分别识别出异常进程和异常文件。
需要说明的是,通常情况下,在计算机领域,在面对攻击者的攻击行为时,通常会造成进程和文件的操作异常,比如对关键文件的读、写、打开等,同时攻击时也常伴有高CPU利用率占用资源以及对内存资源占用、磁盘空间占用、文件的操作时长等异常;结合图1和图2所示,故通过训练后的随机森林模型对捕获到的进程数据和文件数据进行识别,以分别识别出异常进程和异常文件,从而为后续步骤对异常进程和异常文件的数据处理提供基础;其中,随机森林模型是利用多棵树对样本进行训练并预测的一种分类器;其中,在随机森林模型的决策树构建过程中,可以按照一定的次序从全部的特征中选取特征,因此,通过随机森林模型可以分别从进程数据和文件数据中识别出异常进程和异常文件。
在本发明的一个实施例中,所述针对所述异常数据,进行数据分析,以识别出来源于攻击者发起的攻击数据还包括:采用机器学习算法对比的方式,评估所述随机森林模型的识别性能。
需要说明的是,采用多种不同机器学习算法进行对比的方式,可以进一步验证或评估通过随机森林模型对于攻击数据具有高效的识别能力。
在本发明的一个实施例中,所述采用机器学习算法对比的方式,评估所述随机森林模型的识别性能包括:获取发电厂控制系统在正常运行时的正常数据,以及攻击样本数据;其中,所述正常数据包括正常进程和正常文件;对所述正常数据和所述攻击样本数据进行数据降维处理,以形成样本数据集;其中,所述样本数据集包括训练数据集和测试数据集;采用同样的所述训练数据集分别对所述随机森林模型和多种不同的参照机器学习模型进行参数学习;其中,所述随机森林模型和所述参照机器学习模型分别包括模型判别函数;通过所述测试数据集,以及所述随机森林模型和所述参照机器学习模型中的所述模型判别函数,分别生成第一预测结果和第二预测结果;从多个评价指标,根据所述第一预测结果和所述第二预测结果比对结果,以评估所述随机森林模型的识别性能。
需要说明的是,通过获取发电厂控制系统在正常运行时的正常数据和攻击样本数据,以便于为后续步骤中对多种机器学习算法模型的训练提供基础数据,换言之,正常数据和攻击样本数据用于训练随机森林模型以及其他多种不同的参照机器学习模型;其中,可以通过进程捕获工具和工控蜜罐的进程文件模块,获取发电厂控制系统在正常运行时的正常数据,正常数据包括正常进程和正常文件;对于攻击数据的获取方式,一种是主要从网站中下载永恒之蓝病毒和震网病毒样本,另一种是从Honeynet Project(蜜网项目)网站中下载真实攻击恶意软件样本,分开独立运行在电厂仿真环境中通过进程捕获工具将其分析并转存为csv格式;其中,csv格式是最通用的一种文件格式,它可以非常容易地被导入各种PC表格及数据库中;csv格式的文件,一行即为数据表的一行,生成数据表字段用半角逗号隔开。由于csv格式的文件用记事本和excel都能打开,以便于在后续步骤中对csv格式的攻击样本数据进行整理。
通过对正常数据和攻击样本数据进行数据降维处理,以形成样本数据集,从而便于通过样本数据集对随机森林模型和参照机器学习模型进行快速高效的训练;其中,通过正常数据和攻击样本数据进行数据降维处理的方式如下:将正常数据和攻击样本数据中涉及到时间领域的内容将持续时间、文件操作时长、磁盘响应时间进行归一化处理,将时间范围通过Sklearn中的preproccessing库的Normalizer库对时间数据转换到0,1区间上,然后采用主成分分析法降维处理,从而将三维数据的所述正常数据和所述攻击样本数据降为一维,并提取出一类的时间数据;同理将正常数据和攻击样本数据中专用内存量、共享内存量、内存使用量进行上述处理方法同样处理为一维;其中,选取的所述样本数据集如下表1所示;采用的正常数据和攻击样本数据情况如下表2所示。
表1 样本数据集 Table 1 Characteristics of sample data
表2 Table 2 Sample data overview
数据类型 | 样本数量 |
正常数据 | 3710 |
攻击样本数据 | 2490 |
总数据 | 6200 |
通过,采用同样的所述训练数据集分别对所述随机森林模型和多种不同的参照机器学习模型进行参数学习,从而保证训练完成的随机森林模型和其他多种不同的参照机器学习模型上可以呈现同样的数据集,以使随机森林模型和其他多种不同的参照机器学习模型的性能比对结果更加准确;其中,参照机器学习模型的数量为至少两个,例如可以为4个,例如KNN、逻辑回归、KVM、决策树。其中,可以使用网格搜索函数对所述训练数据集进行超参数调优,从而可以提高对异常进程和异常文件的判别准确度。
通过输入所述测试数据集,以及随机森林模型和参照机器学习模型中的所述模型判别函数,可以分别生成第一预测结果和第二预测结果,换言之, 采用上一步骤上处理后的样本数据集中的训练数据集来训练模型,采用监督学习进行标识,0定义为正常数据,1定义为异常数据;使用训练好的模型来判别异常进程和异常文件,例如,将处理后的测试数据集输入到训练后的各模型中,通过模型判别函数predict输出预测结果,结果为1的认定为异常数据,结构为0的为正常数据;示例性说明,将处理好的测试数据集分布输入至训练好的随机森林模型和参照机器学习模型中,并通过各模型对应的模型判别函数,进行计算,以分别获得第一预测结果和第二预测结果,从而可以将第一预测结果和第二预测结果作为判断各模型对于异常数据的识别判断数据。
可以从多个评价指标维度,根据所述第一预测结果和所述第二预测结果比对结果,以判断所述随机森林模型的识别性能更好;其中,主要的评价指标分别有精确率(precision)、召回率(recall)、F1度量(F1-score)、准确率,且各模型的评价指标公式见如下公式(1)-(4)。
另外,将分类算法的评价结果展示下表3中。
表3 模型评价结果对比
Table 6 Comparison of model evaluation results
上述5个模型即分类器均采用同样的训练数据集进行训练学习,通过上述表3可知,5种模型算法中决策树和随机森林分类器的精确率较高,且都达到了1,但是在召回率等其他度量上,并没有随机森林高,因此采用随机森林模型即分类器对进程数据、文件数据进行分析并分别判定出异常进程和异常文件的识别性能最好。
在本发明的一个实施例中,所述针对所述攻击数据,进行数据处理包括:对识别出的所述异常进程进行转存并告警;和/或,对所述异常进程进行阻断。
需要说明的是,结合图1和图2所示,在识别出异常进程是攻击数据之后,换言之判断是攻击行为,此时进行如下数据处理,第一种处理方式,对识别出异常进程进行转存并告警,索引到所述异常进程;第二种处理方式,对所述异常进程进行阻断,以防止异常进程影响到发电厂控制系统的其他设备的运行;第三种处理方式,对异常进程先进行转存并告警,此时网络安全员可以通过告警页面采用是否对异常进程进行阻断处理。
在本发明的一个实施例中,所述针对所述攻击数据,进行数据处理包括:对识别出的所述异常文件进行转存并告警;和/或,对所述异常文件进行提交至所述沙盒的分析工具进行分析或进行删除处理。
需要说明的是,结合图1和图2所示,在识别出异常文件是攻击数据之后,换言之判断是攻击行为,此时进行如下数据处理,第一种处理方式,对识别出异常文件进行转存并告警。第二种处理方式,网络安全员将所述异常文件进行提交至所述沙盒的分析工具进行分析或进行删除处理,以防止异常进程影响到发电厂控制系统的其他设备的运行;其中,网络安全员可以通过工控蜜罐选择将异常文件提交至沙盒的分析工具再次进行分析,或者进行删除处理;第三种处理方式,对异常文件先进行转存并告警,然后网络安全员将所述异常文件进行提交至所述沙盒的分析工具进行分析或进行删除处理。
在本发明的一个实施例中,所述针对所述异常数据,进行数据分析,以识别出来源于攻击者发起的攻击数据包括:根据所述异常数据中的网络数据包,通过端口号方式来判断是否为EGD协议;若是,则通过EGD协议,对所述异常数据中网络数据包进行数据分析,以从所述网络数据包中识别出异常数据包;其中,所述异常数据包是指不符合通讯规约的异常网络数据。
需要说明的是,通常情况下,发电厂控制系统用来控制相应的工业设备,发电厂控制系统的通讯协议主要采用EGD协议;EGD协议是大多数GE带以太网接口的CPU都支持的协议,适用于设备之间的简单,高速,定周期的数据通信,且EGD协议是基于UDP/IP的协议,占用UDP端口18246,且还可以支持单播(Unicast)和多播(Multicast)的模式,可以以点对点或点对多点的方式进行数据交互;因此,结合图1和图3所示,在捕获到异常数据中的网络数据包之后,可以通过端口号的方式来判断是否为EGD协议,从而围后续步骤中从网络数据包中识别出异常数据包提供便利;其中,端口号为18426。若是EGD协议,则通过EGD协议对网络数据包进行数据解析,对网络数据包的数据解析是指:可分析工控协议的报文长度,以及通过工控协议报文的数据单元标识信息是否完整且正确,然后再通过协议规约检测例如协议规约集进行判断,从而便于从网络数据包中识别出异常数据包,进而判断网络数据包中是否存在非规约协议; 在判断网络数据包不是EGD协议,则停止数据分析。
在本发明的一个实施例中,所述针对所述攻击数据,进行数据处理包括:对识别出的所述异常数据包进行转存并告警;发送默认响应包,以响应所述异常数据包。
需要说明的是,结合图1和图3所示,在从网络数据包中识别出异常数据包之后,换言之,判断是攻击行为,此时对识别出的异常数据包进行转存并告警,以提示网络安全员,由网络安全员采取非暴露真实的发电厂控制系统的信息拟定好的默认响应包,以响应所述异常数据包,换言之,将默认响应包来响应识别出来的异常数据包,从而可以混淆攻击者认定他的攻击是成立的(即攻击的是真实的发电厂控制系统或工控设备,而不是蜜罐或其他);另外还可以继续诱导攻击者的下一步攻击,以及查看攻击者接下来的作为攻击行为的攻击数据,从而有效防止异常数据包影响发电厂控制系统的正常运行,实现对真实的发电厂控制系统的安全防护。
本发明另一实施例提供一种用于发电厂控制系统的蜜罐防御控制装置,包括:数据捕获模块,用于在将发电厂控制系统置于沙盒中营造高仿真的交互场景,以形成工控蜜罐之后,通过所述工控蜜罐捕获不利于所述发电厂控制系统的异常数据;数据分析模块,用于针对所述异常数据,进行数据分析,以识别出来源于攻击者发起的攻击数据;数据处理模块,用于针对所述攻击数据,进行数据处理。
需要说明的是,结合图1至图4所示,可以通过数据分析模块中的随机森林模型以从进程数据中识别出异常进程,从文件数据中识别出异常文件;通过数据分析模块中的沙盒的分析工具对异常文件进行分析或删除处理;通过数据分析模块中的协议规约检测从网络数据包中识别出异常数据包;通过数据处理模块中的沙盒对从异常数据中识别出的异常进程和异常文件进行数据转存,并告警相应,以及对异常进程进行阻断处理,对异常文件提交至沙盒的分析工具进行分析或进行删除处理;通过数据处理模块对数据分析模块识别出的异常数据包进行转存并告警,随后对异常数据包判断是否要进行处置,若不进行处置,则结束,若进行处置,则发送默认响应包来响应异常数据包,从而可以有效混淆攻击者的判断,使其认定自己的攻击的是真实的发电厂控制系统或工控设备。
其中,用于发电厂控制系统的蜜罐防御控制装置用于实现上述用于发电厂控制系统的蜜罐防御控制方法,因此至少具有上述用于发电厂控制系统的蜜罐防御控制方法的全部技术效果,在此不再赘述。
本发明另一实施例提供一种用于发电厂控制系统的蜜罐防御控制装置,包括存储有计算机程序的计算机可读存储介质和处理器,当所述计算机程序被所述处理器读取并运行时,实现如上述所述的用于发电厂控制系统的蜜罐防御控制方法。
本发明另一实施例提供一种工控蜜罐,包括如上述实施例中用于发电厂控制系统的蜜罐防御控制装置以及沙盒。
其中,工控蜜罐包括上述用于发电厂控制系统的蜜罐防御控制方法,因此至少具有上述用于发电厂控制系统的蜜罐防御控制方法的全部技术效果,在此不再赘述。
在本发明的另一个实施例中,一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器读取并运行时,实现如上述所述的用于发电厂控制系统的蜜罐防御控制方法。
虽然本公开披露如上,但本公开的保护范围并非仅限于此。本领域技术人员在不脱离本公开的精神和范围的前提下,可进行各种变更与修改,这些变更与修改均将落入本发明的保护范围。
Claims (10)
1.一种用于发电厂控制系统的蜜罐防御控制方法,其特征在于,包括如下步骤:将发电厂控制系统置于沙盒中营造高仿真的交互场景,以形成工控蜜罐,并通过所述工控蜜罐捕获不利于所述发电厂控制系统的异常数据; 针对所述异常数据,进行数据分析,以识别出来源于攻击者发起的攻击数据;针对所述攻击数据,进行数据处理。
2.根据权利要求1所述的用于发电厂控制系统的蜜罐防御控制方法,其特征在于,所述工控蜜罐包括核心库psutil和scapy库;所述异常数据包括进程数据、文件数据和网络数据包;所述并通过所述工控蜜罐捕获不利于所述发电厂控制系统的异常数据包括:通过所述核心库psutil捕获所述进程数据和所述文件数据;以及通过所述scapy库捕获所述网络数据包。
3.根据权利要求2所述的用于发电厂控制系统的蜜罐防御控制方法,其特征在于,所述攻击数据包括异常进程、异常文件和异常数据包;所述针对所述异常数据,进行数据分析,以识别出来源于攻击者发起的攻击数据包括:通过随机森林模型,对所述异常数据中的所述进程数据和所述文件数据分别进行数据分析,以分别识别出异常进程和异常文件。
4.根据权利要求3所述的用于发电厂控制系统的蜜罐防御控制方法,其特征在于,所述针对所述异常数据,进行数据分析,以识别出来源于攻击者发起的攻击数据还包括:采用机器学习算法对比的方式,评估所述随机森林模型的识别性能。
5.根据权利要求4所述的用于发电厂控制系统的蜜罐防御控制方法,其特征在于,所述采用机器学习算法对比的方式,评估所述随机森林模型的识别性能包括:获取发电厂控制系统在正常运行时的正常数据,以及攻击样本数据;其中,所述正常数据包括正常进程和正常文件;对所述正常数据和所述攻击样本数据进行数据降维处理,以形成样本数据集;其中,所述样本数据集包括训练数据集和测试数据集;采用同样的所述训练数据集分别对所述随机森林模型和多种不同的参照机器学习模型进行参数学习;其中,所述随机森林模型和所述参照机器学习模型分别包括模型判别函数;通过所述测试数据集,以及所述随机森林模型和所述参照机器学习模型中的所述模型判别函数,分别生成第一预测结果和第二预测结果;从多个评价指标,根据所述第一预测结果和所述第二预测结果比对结果,以评估所述随机森林模型的识别性能。
6.根据权利要求3所述的用于发电厂控制系统的蜜罐防御控制方法,其特征在于,所述针对所述攻击数据,进行数据处理包括:对识别出的所述异常进程进行转存并告警;和/或,对所述异常进程进行阻断。
7.根据权利要求3所述的用于发电厂控制系统的蜜罐防御控制方法,其特征在于,所述针对所述攻击数据,进行数据处理包括:对识别出的所述异常文件进行转存并告警;和/或,对所述异常文件进行提交至所述沙盒的分析工具进行分析或进行删除处理。
8.根据权利要求2所述的用于发电厂控制系统的蜜罐防御控制方法,其特征在于,所述针对所述异常数据,进行数据分析,以识别出来源于攻击者发起的攻击数据包括:根据所述异常数据中的网络数据包,通过端口号方式来判断是否为EGD协议;若是,则通过EGD协议,对所述异常数据中网络数据包进行数据分析,以从所述网络数据包中识别出异常数据包;其中,所述异常数据包是指不符合通讯规约的异常网络数据。
9.根据权利要求8所述的用于发电厂控制系统的蜜罐防御控制方法,其特征在于,所述针对所述攻击数据,进行数据处理包括:对识别出的所述异常数据包进行转存并告警;发送默认响应包,以响应所述异常数据包。
10.一种用于发电厂控制系统的蜜罐防御控制装置,其特征在于,包括:数据捕获模块,用于在将发电厂控制系统置于沙盒中营造高仿真的交互场景,以形成工控蜜罐之后,通过所述工控蜜罐捕获不利于所述发电厂控制系统的异常数据;数据分析模块,用于针对所述异常数据,进行数据分析,以识别出来源于攻击者发起的攻击数据;数据处理模块,用于针对所述攻击数据,进行数据处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210069594.6A CN114462023A (zh) | 2022-01-21 | 2022-01-21 | 一种用于发电厂控制系统的蜜罐防御控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210069594.6A CN114462023A (zh) | 2022-01-21 | 2022-01-21 | 一种用于发电厂控制系统的蜜罐防御控制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114462023A true CN114462023A (zh) | 2022-05-10 |
Family
ID=81409759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210069594.6A Pending CN114462023A (zh) | 2022-01-21 | 2022-01-21 | 一种用于发电厂控制系统的蜜罐防御控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114462023A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750788A (zh) * | 2019-10-16 | 2020-02-04 | 杭州安恒信息技术股份有限公司 | 一种基于高交互蜜罐技术的病毒文件检测方法 |
CN110784476A (zh) * | 2019-10-31 | 2020-02-11 | 国网河南省电力公司电力科学研究院 | 一种基于虚拟化动态部署的电力监控主动防御方法及系统 |
CN111600863A (zh) * | 2020-05-08 | 2020-08-28 | 杭州安恒信息技术股份有限公司 | 网络入侵检测方法、装置、系统和存储介质 |
CN111800419A (zh) * | 2020-07-06 | 2020-10-20 | 东北大学 | 一种SDN环境下DDoS攻击检测系统及方法 |
CN112182564A (zh) * | 2020-08-20 | 2021-01-05 | 东北大学 | 一种基于时间序列预测的工控蜜罐交互系统 |
CN112288191A (zh) * | 2020-11-19 | 2021-01-29 | 国家海洋信息中心 | 一种基于多类机器学习方法的海洋浮标寿命预测方法 |
CN112383538A (zh) * | 2020-11-11 | 2021-02-19 | 西安热工研究院有限公司 | 一种混合式高交互工业蜜罐系统及方法 |
CN112788008A (zh) * | 2020-12-30 | 2021-05-11 | 上海磐御网络科技有限公司 | 一种基于大数据的网络安全动态防御系统及方法 |
CN113256066A (zh) * | 2021-04-23 | 2021-08-13 | 新疆大学 | 基于PCA-XGBoost-IRF的作业车间实时调度方法 |
-
2022
- 2022-01-21 CN CN202210069594.6A patent/CN114462023A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750788A (zh) * | 2019-10-16 | 2020-02-04 | 杭州安恒信息技术股份有限公司 | 一种基于高交互蜜罐技术的病毒文件检测方法 |
CN110784476A (zh) * | 2019-10-31 | 2020-02-11 | 国网河南省电力公司电力科学研究院 | 一种基于虚拟化动态部署的电力监控主动防御方法及系统 |
CN111600863A (zh) * | 2020-05-08 | 2020-08-28 | 杭州安恒信息技术股份有限公司 | 网络入侵检测方法、装置、系统和存储介质 |
CN111800419A (zh) * | 2020-07-06 | 2020-10-20 | 东北大学 | 一种SDN环境下DDoS攻击检测系统及方法 |
CN112182564A (zh) * | 2020-08-20 | 2021-01-05 | 东北大学 | 一种基于时间序列预测的工控蜜罐交互系统 |
CN112383538A (zh) * | 2020-11-11 | 2021-02-19 | 西安热工研究院有限公司 | 一种混合式高交互工业蜜罐系统及方法 |
CN112288191A (zh) * | 2020-11-19 | 2021-01-29 | 国家海洋信息中心 | 一种基于多类机器学习方法的海洋浮标寿命预测方法 |
CN112788008A (zh) * | 2020-12-30 | 2021-05-11 | 上海磐御网络科技有限公司 | 一种基于大数据的网络安全动态防御系统及方法 |
CN113256066A (zh) * | 2021-04-23 | 2021-08-13 | 新疆大学 | 基于PCA-XGBoost-IRF的作业车间实时调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zolanvari et al. | Effect of imbalanced datasets on security of industrial IoT using machine learning | |
CN103368979B (zh) | 一种基于改进K-means算法的网络安全性验证装置 | |
Lee et al. | Deep learning enabled intrusion detection and prevention system over SDN networks | |
Tabash et al. | Intrusion detection model using naive bayes and deep learning technique. | |
Abdullah et al. | Performance evaluation of a genetic algorithm based approach to network intrusion detection system | |
Bolzoni et al. | Panacea: Automating attack classification for anomaly-based network intrusion detection systems | |
Vargas-Muñoz et al. | Classification of network anomalies in flow level network traffic using Bayesian networks | |
Beaver et al. | A learning system for discriminating variants of malicious network traffic | |
CN113079150B (zh) | 一种电力终端设备入侵检测方法 | |
WO2018071356A1 (en) | Graph-based attack chain discovery in enterprise security systems | |
CN115021997A (zh) | 一种基于机器学习的网络入侵检测系统 | |
CN117220920A (zh) | 基于人工智能的防火墙策略管理方法 | |
Al-Shabi | Design of a network intrusion detection system using complex deep neuronal networks | |
Alsumaidaie et al. | Intelligent Detection System for a Distributed Denial-of-Service (DDoS) Attack Based on Time Series | |
Harbola et al. | Improved intrusion detection in DDoS applying feature selection using rank & score of attributes in KDD-99 data set | |
Hussein | Performance analysis of different machine learning models for intrusion detection systems | |
Baich et al. | Machine Learning for IoT based networks intrusion detection: a comparative study | |
Havlena et al. | Accurate Automata-Based Detection of Cyber Threats in Smart Grid Communication | |
CN112073396A (zh) | 一种内网横向移动攻击行为的检测方法及装置 | |
CN113656800B (zh) | 一种基于加密流量分析的恶意软件行为识别方法 | |
CN115333915B (zh) | 一种面向异构主机的网络管控系统 | |
CN114462023A (zh) | 一种用于发电厂控制系统的蜜罐防御控制方法及装置 | |
CN112968891B (zh) | 网络攻击防御方法、装置及计算机可读存储介质 | |
CN113726810A (zh) | 入侵检测系统 | |
Yu et al. | Mining anomaly communication patterns for industrial control 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 |