CN108965340A - 一种工业控制系统入侵检测方法及系统 - Google Patents
一种工业控制系统入侵检测方法及系统 Download PDFInfo
- Publication number
- CN108965340A CN108965340A CN201811114018.9A CN201811114018A CN108965340A CN 108965340 A CN108965340 A CN 108965340A CN 201811114018 A CN201811114018 A CN 201811114018A CN 108965340 A CN108965340 A CN 108965340A
- Authority
- CN
- China
- Prior art keywords
- control system
- industrial control
- behavioural information
- characteristic sequence
- rogue program
- 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
Links
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- 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/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Virology (AREA)
- Debugging And Monitoring (AREA)
- Programmable Controllers (AREA)
Abstract
本发明公开了一种工业控制系统入侵检测方法及系统,所述方法包括:记录工业控制系统环境中需要的运行的全部软件及操作系统,配置工业控制系统,并采集和存储运行时的工业控制系统的行为信息;运行恶意程序,采集和存储恶意程序运行的行为信息,将采集的工业控制系统的行为信息和恶意程序运行的行为信息进行处理,生成特征序列;分类标注特征序列并训练神经网络模型,采集和存储实际运行的工业控制系统的行为信息;处理实际运行的工业控制系统的行为信息,生成特征序列,并通过训练后的神经网络模型判别特征序列,如果判别结果认定特征序列属于恶意程序行为,则暂停工业控制系统运行。本发明提高了工业控制系统对恶意程序攻击的感知能力。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种工业控制系统入侵检测方法及系统。
背景技术
随着网络攻击的不断增多,入侵检测系统已经成为组建安全网络系统的重要组成部分。工业控制系统是工业部门的重要基础设施,工业控制系统是对诸如图像、语音信号等大数据量、高速率传输的要求,当前在商业领域风靡的以太网与控制网络的结合;检测入侵事件,保护工业控制网络安全,维护工业控制系统的正常运转,是当前网络安全建设的核心内容之一。
然而,目前工业控制系统入侵检测主要有以下两大类方法:一是基于规则的入侵检测方法,主要实现方式是通过匹配规则码或特征码来检测出入侵行为;这种方式准确率较高,误报率低,但是检测效果完全取决与规则库,而且无法发现未知的攻击行为,有较大的局限性。二是基于机器学习的检测方法,主要实现方式是通过训练神经网络模型,判别系统是否具有属于恶意程序的行为特征。这种方法的优点是具备一定的泛化能力,可以检测出未知的攻击行为;但由于基于机器学习的方法需要预先采集正常系统行为和恶意程序行为特征来对判决模型进行训练,而当前应用程序、恶意程序众多,系统行为复杂多变,导致行为空间特征集十分庞大,很难对正常的系统行为及恶意程序的行为进行准确建模,从而影响检测的准确率。
因此,现有技术还有待于改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术缺陷,本发明提供一种工业控制系统入侵检测方法及系统,将被保护的工业控制系统中的每个应用程序及系统服务对应进程单独视为一类,或是将多个行为相似的应用程序及系统服务视为一类进行建模,增强模型训练的针对性,解决行为空间庞大导致的建模不够准确的问题,相较于个人计算机使用环境,工业控制系统软硬件环境比较稳定、变化较小,因此本发明公开的方法非常适用于工业控制系统的网络环境,可以提高工业控制系统的网络环境对恶意程序攻击的感知能力。
本发明解决技术问题所采用的技术方案如下:
一种工业控制系统入侵检测方法,其中,所述工业控制系统入侵检测方法包括:
记录工业控制系统环境中需要的运行的全部软件及操作系统,配置工业控制系统,并采集和存储运行时的工业控制系统的行为信息;
运行恶意程序,采集和存储恶意程序运行的行为信息,将采集的工业控制系统的行为信息和恶意程序运行的行为信息进行处理,生成特征序列;
分类标注特征序列并训练神经网络模型,采集和存储实际运行的工业控制系统的行为信息;
处理实际运行的工业控制系统的行为信息,生成特征序列,并通过训练后的神经网络模型判别特征序列,如果判别结果认定特征序列属于恶意程序行为,则暂停工业控制系统运行。
所述的工业控制系统入侵检测方法,其中,所述记录工业控制系统环境中需要的运行的全部软件及操作系统,配置工业控制系统,并采集和存储运行时的工业控制系统的行为信息具体包括:
遍历需要检测的工控系统环境,记录工业控制系统环境中需要的运行的全部软件及操作系统;
在安全环境下,根据记录的软件及操作系统环境来配置工业控制系统,并采集和存储运行时的工业控制系统的行为信息。
所述的工业控制系统入侵检测方法,其中,所述工业控制系统的行为信息包括:工业控制系统全部运行进程的API调用、注册表操作、文件操作、网络访问的行为信息及对应的时间戳信息;所述恶意程序运行的行为信息包括:工业控制系统全部运行进程的API调用、注册表操作、文件操作、网络访问的行为信息及对应的时间戳信息。
所述的工业控制系统入侵检测方法,其中,所述记录工业控制系统环境中需要的运行的全部软件及操作系统,配置工业控制系统,并采集和存储运行时的工业控制系统的行为信息还包括:
提取工业控制系统每个进程的API调用序列作为特征序列,进行前处理,得到符合用于训练神经网络模型输入格式的训练数据。
所述的工业控制系统入侵检测方法,其中,所述运行恶意程序,采集和存储恶意程序运行的行为信息,将采集的工业控制系统的行为信息和恶意程序运行的行为信息进行处理,生成特征序列具体包括:
在相同的环境中运行恶意程序,并采集和存储恶意程序运行的行为信息,运行下一个恶意程序前,将环境恢复至未运行恶意程序前的状态;
将采集的工业控制系统的行为信息和每个恶意程序运行的行为信息进行处理;
提取所述工业控制系统的行为信息中每个进程的API调用序列和所述恶意程序运行的行为信息中每个恶意程序对应进程的API调用序列;
依照预定的API函数名称与数字标号的对应关系将每个API调用转换为数字标号,分属于每个进程的数字标号按时间排列并进行独热编码后,作为特征序列;
提取每个恶意程序的API调用序列作为特征序列,进行前处理,得到符合用于训练神经网络模型输入格式的训练数据。
所述的工业控制系统入侵检测方法,其中,所述分类标注特征序列并训练神经网络模型,采集和存储实际运行的工业控制系统的行为信息具体包括:
将n个应用程序及系统服务对应进程的n个特征序列标识为n类,或将进程特征序列依照进程对应应用程序或系统服务的类型归类,标识为1至n-1类;
将所有恶意程序进程的特征序列标识为一类,或将m个恶意程序特征序列依照恶意程序类型归类,标识为1至m-1类;
利用得到的符合用于训练神经网络模型输入格式的训练数据对神经网络模型进行训练;
采集和存储实际运行的工业控制系统的行为信息;
所述实际运行的工业控制系统的行为信息包括:工业控制系统全部运行进程的API调用、注册表操作、文件操作、网络访问的行为信息及对应的时间戳信息。
所述的工业控制系统入侵检测方法,其中,所述处理实际运行的工业控制系统的行为信息,生成特征序列,并通过训练后的神经网络模型判别特征序列,如果判别结果认定特征序列属于恶意程序行为,则暂停工业控制系统运行具体包括:
提取所述实际运行的工业控制系统的行为信息中每个进程的API调用序列,依照预定的API函数名称与数字标号的对应关系将每个API调用转换为数字标号,分属于每个进程的数字标号按时间排列并进行独热编码后,作为特征序列;
判别结果认定特征序列属于恶意程序行为的认定依据为神经网络模型将特征序列判别为属于恶意程序特征序列中所标识的1至m-1类;
如果判别结果认定特征序列属于恶意程序行为,则暂停工业控制系统运行。
所述的工业控制系统入侵检测方法,其中,所述处理实际运行的工业控制系统的行为信息,生成特征序列,并通过训练后的神经网络模型判别特征序列,如果判别结果认定特征序列属于恶意程序行为,则暂停工业控制系统运行之后还包括:
提取所述实际运行的工业控制系统的行为信息中被判别为恶意行为的进程对应的所有API调用、注册表操作、文件操作、网络访问以及时间戳的行为信息;
将文件操作信息中记录的文件样本提交至病毒性平台和多种杀毒软件引擎,根据获得的分析报告判别文件样本是否属于已知恶意程序;
如果不属于已知恶意程序,则人工分析注册表操作、文件操作以及网络访问的行为信息,判别进程是否具有恶意行为。
所述的工业控制系统入侵检测方法,其中,所述前处理包括:
按预先设置的API函数名称与数字标号的对应关系,将API调用序列中的函数名用数字标号替换,经独热编码生成数字化的特征序列。
一种工业控制系统入侵检测系统,其中,所述工业控制系统入侵检测系统包括:
记录配置模块,用于记录工业控制系统环境中需要的运行的全部软件及操作系统,配置工业控制系统,并采集和存储运行时的工业控制系统的行为信息;
入侵测试模块,用于运行恶意程序,采集和存储恶意程序运行的行为信息,将采集的工业控制系统的行为信息和恶意程序运行的行为信息进行处理,生成特征序列;
分类训练模块,用于分类标注特征序列并训练神经网络模型,采集和存储实际运行的工业控制系统的行为信息;
处理判别模块,用于处理实际运行的工业控制系统的行为信息,生成特征序列,并通过训练后的神经网络模型判别特征序列,如果判别结果认定特征序列属于恶意程序行为,则暂停工业控制系统运行。
本发明公开了一种工业控制系统入侵检测方法及系统,所述方法包括:记录工业控制系统环境中需要的运行的全部软件及操作系统,配置工业控制系统,并采集和存储运行时的工业控制系统的行为信息;运行恶意程序,采集和存储恶意程序运行的行为信息,将采集的工业控制系统的行为信息和恶意程序运行的行为信息进行处理,生成特征序列;分类标注特征序列并训练神经网络模型,采集和存储实际运行的工业控制系统的行为信息;处理实际运行的工业控制系统的行为信息,生成特征序列,并通过训练后的神经网络模型判别特征序列,如果判别结果认定特征序列属于恶意程序行为,则暂停工业控制系统运行。本发明将工业控制系统中的每个应用程序及系统服务对应进程单独视为一类,或是将多个行为相似的应用程序及系统服务视为一类,针对性的训练神经网络,提升入侵检测的准确率,保障工业控制系统网络环境的安全,提高工业控制系统对恶意程序攻击的感知能力。
附图说明
图1是本发明工业控制系统入侵检测方法的较佳实施例的流程图;
图2是本发明工业控制系统入侵检测方法的较佳实施例中步骤S10的流程图;
图3是本发明工业控制系统入侵检测方法的较佳实施例中步骤S20的流程图;
图4是本发明工业控制系统入侵检测方法的较佳实施例中步骤S30的流程图;
图5是本发明工业控制系统入侵检测方法的较佳实施例中步骤S30的流程图;
图6是本发明工业控制系统入侵检测系统的较佳实施例的结构原理图;
图7是本发明工业控制系统入侵检测系统的较佳实施例中具体组成结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明较佳实施例所述的工业控制系统入侵检测方法,如图1所示,所述工业控制系统入侵检测方法包括以下步骤:
步骤S10、记录工业控制系统环境中需要的运行的全部软件及操作系统,配置工业控制系统,并采集和存储运行时的工业控制系统的行为信息。
具体过程请参阅图2,其为本发明提供的工业控制系统入侵检测方法中步骤S10的流程图。
如图2所示,所述步骤S10包括:
S11、遍历需要检测的工控系统环境,记录工业控制系统环境中需要的运行的全部软件及操作系统;
S12、在安全环境下,根据记录的软件及操作系统环境来配置工业控制系统,并采集和存储运行时的工业控制系统的行为信息。
其中,所述工业控制系统的行为信息包括:工业控制系统全部运行进程的API调用、注册表操作、文件操作、网络访问的行为信息及对应的时间戳信息;所述恶意程序运行的行为信息包括:工业控制系统全部运行进程的API调用、注册表操作、文件操作、网络访问的行为信息及对应的时间戳信息。
进一步地,提取工业控制系统每个进程的API调用序列作为特征序列,进行前处理,得到符合用于训练神经网络模型输入格式的训练数据。
步骤S20、运行恶意程序,采集和存储恶意程序运行的行为信息,将采集的工业控制系统的行为信息和恶意程序运行的行为信息进行处理,生成特征序列。
具体过程请参阅图3,其为本发明提供的工业控制系统入侵检测方法中步骤S20的流程图。
如图3所示,所述步骤S20包括:
S21、在相同的环境中运行恶意程序,并采集和存储恶意程序运行的行为信息,运行下一个恶意程序前,将环境恢复至未运行恶意程序前的状态;
S22、将采集的工业控制系统的行为信息和每个恶意程序运行的行为信息进行处理;
S23、提取所述工业控制系统的行为信息中每个进程的API调用序列和所述恶意程序运行的行为信息中每个恶意程序对应进程的API调用序列;
S24、依照预定的API函数名称与数字标号的对应关系将每个API调用转换为数字标号,分属于每个进程的数字标号按时间排列并进行独热编码后,作为特征序列;
S25、提取每个恶意程序的API调用序列作为特征序列,进行前处理,得到符合用于训练神经网络模型输入格式的训练数据。
其中,所述前处理包括:按预先设置的API函数名称与数字标号的对应关系,将API调用序列中的函数名用数字标号替换,经独热编码(独热编码即 One-Hot 编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,其中只有一位有效)生成数字化的特征序列。
步骤S30、分类标注特征序列并训练神经网络模型,采集和存储实际运行的工业控制系统的行为信息。
具体过程请参阅图4,其为本发明提供的工业控制系统入侵检测方法中步骤S30的流程图。
如图4所示,所述步骤S30包括:
S31、将n个应用程序及系统服务对应进程的n个特征序列标识为n类,或将进程特征序列依照进程对应应用程序或系统服务的类型(例如文档处理类、数据处理类、网络管理类等)归类,标识为1至n-1类;
S32、将所有恶意程序进程的特征序列标识为一类,或将m个恶意程序特征序列依照恶意程序类型(例如蠕虫、勒索软件、后门等)归类,标识为1至m-1类;
S33、利用得到的符合用于训练神经网络模型输入格式的训练数据对神经网络模型进行训练;
S34、采集和存储实际运行的工业控制系统的行为信息。
其中,所述实际运行的工业控制系统的行为信息包括:工业控制系统全部运行进程的API调用、注册表操作、文件操作、网络访问的行为信息及对应的时间戳信息。
步骤S40、处理实际运行的工业控制系统的行为信息,生成特征序列,并通过训练后的神经网络模型判别特征序列,如果判别结果认定特征序列属于恶意程序行为,则暂停工业控制系统运行。
具体过程请参阅图5,其为本发明提供的工业控制系统入侵检测方法中步骤S40的流程图。
如图5所示,所述步骤S40包括:
S41、提取所述实际运行的工业控制系统的行为信息中每个进程的API调用序列,依照预定的API函数名称与数字标号的对应关系将每个API调用转换为数字标号,分属于每个进程的数字标号按时间排列并进行独热编码后,作为特征序列;
S42、判别结果认定特征序列属于恶意程序行为的认定依据为神经网络模型将特征序列判别为属于恶意程序特征序列中所标识的1至m-1类;
S43、如果判别结果认定特征序列属于恶意程序行为,则暂停工业控制系统运行。
所述步骤S40之后还包括:提取所述实际运行的工业控制系统的行为信息中被判别为恶意行为的进程对应的所有API调用、注册表操作、文件操作、网络访问以及时间戳的行为信息;将文件操作信息中记录的文件样本提交至病毒性平台和多种杀毒软件引擎,根据获得的分析报告判别文件样本是否属于已知恶意程序;如果不属于已知恶意程序,则人工分析注册表操作、文件操作以及网络访问的行为信息,判别进程是否具有恶意行为。
进一步说明,本发明所述的工业控制系统入侵检测方法,整个实现流程如下:
步骤S0,遍历需要检测的工业控制系统环境,记录各个系统环境中需要的运行的全部软件及操作系统;
步骤S1,在安全环境下,按照步骤S0中记录的软件及操作系统环境配置工业控制系统,并采集、存储(包括但不限于)系统全部运行进程的API调用、注册表操作、文件操作、网络访问等行为信息及对应的时间戳信息;
步骤S2,提取每个进程的API调用序列作为特征序列,进行前处理,得到符合用于训练神经网络模型输入格式的训练数据;
步骤S3,在与步骤S1相同的环境中运行恶意程序样本,采集、存储(包括但不限于)恶意样本进程的API调用、注册表操作、文件操作、网络访问等行为信息;运行下一个恶意程序样本前,将环境恢复至未运行恶意程序前的状态;
步骤S4,提取每个恶意程序样本的API调用序列作为特征序列,进行前处理,得到符合用于训练神经网络模型输入格式的训练数据;
步骤S5,利用步骤S2和步骤S4中生成的训练数据对神经网络模型进行训练;
步骤S6,采集实际运行环境中工业控制系统全部运行进程的API调用、注册表操作、文件操作、网络访问等行为信息及对应的时间戳信息;
步骤S7,提取步骤S6中每个进程的API调用序列作为特征序列,进行前处理,得到符合步骤S5训练后神经网络模型的输入数据,输入神经网络模型进行判别;
步骤S8,如果判别结果属于某一类系统进程,则继续执行步骤S6;如果判别结果属于恶意程序,则暂时停止运行工业控制系统,并执行步骤S9;
步骤S9,提取判别结果属于恶意程序的进程的API调用、注册表操作、文件操作、网络访问等行为信息及对应的时间戳信息,做进一步判别,如果判别结果正常,则恢复工业控制系统运行;如果依然判决为恶意程序,则中止运行工业控制系统,并更新训练数据且重新训练神经网络模型。
本发明中,记录工业控制系统环境中需要的运行的全部软件及操作系统;在安全环境下,根据记录的软件及操作系统环境来配置工业控制系统,并采集和存储运行时的工业控制系统的行为信息;在相同的环境中运行恶意程序,采集和存储恶意程序运行的行为信息;将采集的工业控制系统的行为信息和恶意程序运行的行为信息进行处理,生成特征序列;分类标注特征序列并训练神经网络模型;采集和存储实际运行的工业控制系统的行为信息;处理实际运行的工业控制系统的行为信息,生成特征序列,并通过训练后的神经网络模型判别特征序列,如果判别结果认定特征序列属于恶意程序行为,则暂停工业控制系统运行;结合其它行为信息进行进一步判别,如判定结果保持不变,则中止工业控制系统运行,否则恢复工业控制系统运行。
如图6所示,基于上述工业控制系统入侵检测方法,本发明还相应提供了一种工业控制系统入侵检测系统,所述工业控制系统入侵检测系统包括:记录配置模块101,用于记录工业控制系统环境中需要的运行的全部软件及操作系统,配置工业控制系统,并采集和存储运行时的工业控制系统的行为信息;入侵测试模块102,用于运行恶意程序,采集和存储恶意程序运行的行为信息,将采集的工业控制系统的行为信息和恶意程序运行的行为信息进行处理,生成特征序列;分类训练模块103,用于分类标注特征序列并训练神经网络模型,采集和存储实际运行的工业控制系统的行为信息;处理判别模块104,用于处理实际运行的工业控制系统的行为信息,生成特征序列,并通过训练后的神经网络模型判别特征序列,如果判别结果认定特征序列属于恶意程序行为,则暂停工业控制系统运行。
具体地,如图7所示,所述工业控制系统入侵检测系统具体包括:行为信息采集单元10、审计单元20、训练单元30、第一入侵行为判别单元40以及第二入侵行为判别单元50。
其中,行为信息采集单元10,用于采集工业控制系统行为信息;采集全部运行进程包括API调用、注册表操作、文件操作、网络访问等行为信息及对应的时间戳信息;所述行为信息采集单元10具体包括:API调用监控模块11,用于记录工业控制系统各进程调用操作系统API的函数名称、参数及调用事件发生的时间信息;注册表监控模块12,用于记录进程访问及更改注册表信息及对应操作发生的时间信息;文件操作监控模块13,用于记录进程读取及修改文件的文件路径信息及对应操作发生的时间信息;网络访问监控模块14,用于记录进程访问网络的网址信息、操作指令及对应操作发生的时间信息。
审计单元20,用于处理、存储、查询行为采集单元采集到的信息;所述审计单元20包括:前处理模块21,用于清除重复调用,调整数据格式;存储模块22,用于存储前处理模块处理后数据以及检索、返回需要提取的行为信息。
训练单元30,用于生成、更新训练数据及训练神经网络模型;所述训练单元30包括:训练数据采集模块31,用于生成第一判别模型训练数据;第一判别模型训练模块32,用于训练得到神经网络模型。
第一入侵行为判别单元40,用于根据进程API调用特征判别是否遭受入侵;所述第一入侵行为判别单元40将进程API函数调用特征序列输入通过训练得到的神经网络模型,判断进程是否属于恶意程序,如果进程行为正常,则系统继续运行;如果进程被判定为恶意,则暂停系统运行,并从审计单元20的存储模块22中检索该进程相关的全部信息,发送至第二入侵行为判别单元50。第二入侵行为判别单元50,用于根据进程所有特征进一步判别是否遭受入侵;所述第二入侵行为判别单元50利用不同杀毒软件引擎、virustotal平台及人工检测等多种方法进行判别,如果最终确定为遭遇入侵,则停止系统运行,报告入侵行为;如果最终确定为正常,则重新恢复系统运行。
具体实施过程如下:
行为信息采集单元10通过虚拟机监控器由软件方式实现,工业控制系统运行于虚拟机环境中,可利用包括Openstack、Xen等虚拟机监控器监控虚拟机状态,在虚拟机监控器中用软件方式实现API调用监控模块、注册表监控模块、文件操作监控模块、网络访问监控模块等,以采集虚拟机中运行的工业控制系统中各个进程的API调用、注册表操作、文件操作、网络访问等行为信息及对应的时间信息,输出至审计单元20。
审计单元20对接收自行为信息采集单元10的输入进行前处理,包括:重复项处理,若出现同一进程连续重复相同API调用达三次以上的情况,则只保存该重复调用时间区间内的首次及最后一次调用情况;特征序列生成,分别将重复项处理后各个进程的API调用按时间顺序排列,按事先约定的API函数名称与数字标号的对应关系,将API调用序列中的函数名用数字标号替换,经独热编码生成数字化的特征序列,若有n个进程,则生成n个特征序列;格式化存储,设置进程名称、PID、函数名、函数参数、调用时间等字段,将全部API调用、注册表操作、文件操作、网络访问等行为信息及对应的时间信息存入数据库。
训练单元30主要完成数据采集及第一判别模型训练,训练数据采集模块31实施过程中,选取各种典型工业控制系统运行于安全虚拟机环境中,在虚拟机监控器中记录各虚拟机运行的工业控制系统各进程的API调用信息,用与审计单元中相同的前处理方法生成特征序列。梳理特征序列,将各种工业控制软件对应进程生成的特征序列标注为R1至Rn,将操作系统运行的各类服务对应进程生成的特征序列标注为S1至Sm;选取恶意程序集,将其中恶意程序分为蠕虫、勒索软件、木马、后门等k类,逐一运行于工业控制系统相同的虚拟机环境中,在虚拟机监控器中记录各虚拟机运行的恶意程序对应进程的API调用信息,用与审计单元中相同的前处理方法生成特征序列。梳理特征序列,将各特征序列依其对应的恶意程序类型标注为V1至Vk;第一判别模型训练模块32主要利用标注好的n+m+k类数据集,选取适合的神经网络模型,训练得到可用于第一入侵行为判别单元40的神经网络模型。
第一入侵行为判别单元40,利用训练单元30得到的神经网络模型对特征序列进行分类,如果判别结果认定特征序列对应进程属于标签R1至Rn或S1至Sm所属类别,则系统继续运行;如果判别结果认定特征序列对应进程属于标签V1至Vk所属类别,则暂停系统运行,并将判别结果告知第二入侵行为判别单元50。
第二入侵行为判别单元50部署于专门的计算机平台上,通过网络与第一入侵行为判别单元40及审计单元20连接,在收到第一入侵行为判别单,40的判别结果后,从审计单元20中获取判别结果对应进程全部API调用、注册表操作、文件操作、网络访问等行为信息及对应的时间信息;将进程启动及操作的文件样本提交至virustotal和多种杀毒软件引擎,获取分析报告,判别文件样本是否属于已知恶意程序;如果不是,则人工分析注册表操作、文件操作、网络访问等行为信息,进而判断进程是否具有恶意行为,若无恶意行为,恢复工业控制系统虚拟机运行;若发现恶意行为,则报告恶意行为并中止工业控制系统虚拟机运行。
综上所述,本发明提供一种工业控制系统入侵检测方法及系统,所述方法包括:记录工业控制系统环境中需要的运行的全部软件及操作系统,配置工业控制系统,并采集和存储运行时的工业控制系统的行为信息;运行恶意程序,采集和存储恶意程序运行的行为信息,将采集的工业控制系统的行为信息和恶意程序运行的行为信息进行处理,生成特征序列;分类标注特征序列并训练神经网络模型,采集和存储实际运行的工业控制系统的行为信息;处理实际运行的工业控制系统的行为信息,生成特征序列,并通过训练后的神经网络模型判别特征序列,如果判别结果认定特征序列属于恶意程序行为,则暂停工业控制系统运行。本发明将工业控制系统中的每个应用程序及系统服务对应进程单独视为一类,或是将多个行为相似的应用程序及系统服务视为一类,针对性的训练神经网络,提升入侵检测的准确率,保障工业控制系统网络环境的安全,提高工业控制系统对恶意程序攻击的感知能力。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种工业控制系统入侵检测方法,其特征在于,所述工业控制系统入侵检测方法包括:
记录工业控制系统环境中需要的运行的全部软件及操作系统,配置工业控制系统,并采集和存储运行时的工业控制系统的行为信息;
运行恶意程序,采集和存储恶意程序运行的行为信息,将采集的工业控制系统的行为信息和恶意程序运行的行为信息进行处理,生成特征序列;
分类标注特征序列并训练神经网络模型,采集和存储实际运行的工业控制系统的行为信息;
处理实际运行的工业控制系统的行为信息,生成特征序列,并通过训练后的神经网络模型判别特征序列,如果判别结果认定特征序列属于恶意程序行为,则暂停工业控制系统运行。
2.根据权利要求1所述的工业控制系统入侵检测方法,其特征在于,所述记录工业控制系统环境中需要的运行的全部软件及操作系统,配置工业控制系统,并采集和存储运行时的工业控制系统的行为信息具体包括:
遍历需要检测的工控系统环境,记录工业控制系统环境中需要的运行的全部软件及操作系统;
在安全环境下,根据记录的软件及操作系统环境来配置工业控制系统,并采集和存储运行时的工业控制系统的行为信息。
3.根据权利要求2所述的工业控制系统入侵检测方法,其特征在于,所述工业控制系统的行为信息包括:工业控制系统全部运行进程的API调用、注册表操作、文件操作、网络访问的行为信息及对应的时间戳信息;所述恶意程序运行的行为信息包括:工业控制系统全部运行进程的API调用、注册表操作、文件操作、网络访问的行为信息及对应的时间戳信息。
4.根据权利要求3所述的工业控制系统入侵检测方法,其特征在于,所述记录工业控制系统环境中需要的运行的全部软件及操作系统,配置工业控制系统,并采集和存储运行时的工业控制系统的行为信息还包括:
提取工业控制系统每个进程的API调用序列作为特征序列,进行前处理,得到符合用于训练神经网络模型输入格式的训练数据。
5.根据权利要求4所述的工业控制系统入侵检测方法,其特征在于,所述运行恶意程序,采集和存储恶意程序运行的行为信息,将采集的工业控制系统的行为信息和恶意程序运行的行为信息进行处理,生成特征序列具体包括:
在相同的环境中运行恶意程序,并采集和存储恶意程序运行的行为信息,运行下一个恶意程序前,将环境恢复至未运行恶意程序前的状态;
将采集的工业控制系统的行为信息和每个恶意程序运行的行为信息进行处理;
提取所述工业控制系统的行为信息中每个进程的API调用序列和所述恶意程序运行的行为信息中每个恶意程序对应进程的API调用序列;
依照预定的API函数名称与数字标号的对应关系将每个API调用转换为数字标号,分属于每个进程的数字标号按时间排列并进行独热编码后,作为特征序列;
提取每个恶意程序的API调用序列作为特征序列,进行前处理,得到符合用于训练神经网络模型输入格式的训练数据。
6.根据权利要求5所述的工业控制系统入侵检测方法,其特征在于,所述分类标注特征序列并训练神经网络模型,采集和存储实际运行的工业控制系统的行为信息具体包括:
将n个应用程序及系统服务对应进程的n个特征序列标识为n类,或将进程特征序列依照进程对应应用程序或系统服务的类型归类,标识为1至n-1类;
将所有恶意程序进程的特征序列标识为一类,或将m个恶意程序特征序列依照恶意程序类型归类,标识为1至m-1类;
利用得到的符合用于训练神经网络模型输入格式的训练数据对神经网络模型进行训练;
采集和存储实际运行的工业控制系统的行为信息;
所述实际运行的工业控制系统的行为信息包括:工业控制系统全部运行进程的API调用、注册表操作、文件操作、网络访问的行为信息及对应的时间戳信息。
7.根据权利要求6所述的工业控制系统入侵检测方法,其特征在于,所述处理实际运行的工业控制系统的行为信息,生成特征序列,并通过训练后的神经网络模型判别特征序列,如果判别结果认定特征序列属于恶意程序行为,则暂停工业控制系统运行具体包括:
提取所述实际运行的工业控制系统的行为信息中每个进程的API调用序列,依照预定的API函数名称与数字标号的对应关系将每个API调用转换为数字标号,分属于每个进程的数字标号按时间排列并进行独热编码后,作为特征序列;
判别结果认定特征序列属于恶意程序行为的认定依据为神经网络模型将特征序列判别为属于恶意程序特征序列中所标识的1至m-1类;
如果判别结果认定特征序列属于恶意程序行为,则暂停工业控制系统运行。
8.根据权利要求7所述的工业控制系统入侵检测方法,其特征在于,所述处理实际运行的工业控制系统的行为信息,生成特征序列,并通过训练后的神经网络模型判别特征序列,如果判别结果认定特征序列属于恶意程序行为,则暂停工业控制系统运行之后还包括:
提取所述实际运行的工业控制系统的行为信息中被判别为恶意行为的进程对应的所有API调用、注册表操作、文件操作、网络访问以及时间戳的行为信息;
将文件操作信息中记录的文件样本提交至病毒性平台和多种杀毒软件引擎,根据获得的分析报告判别文件样本是否属于已知恶意程序;
如果不属于已知恶意程序,则人工分析注册表操作、文件操作以及网络访问的行为信息,判别进程是否具有恶意行为。
9.根据权利要求5所述的工业控制系统入侵检测方法,其特征在于,所述前处理包括:
按预先设置的API函数名称与数字标号的对应关系,将API调用序列中的函数名用数字标号替换,经独热编码生成数字化的特征序列。
10.一种工业控制系统入侵检测系统,其特征在于,所述工业控制系统入侵检测系统包括:
记录配置模块,用于记录工业控制系统环境中需要的运行的全部软件及操作系统,配置工业控制系统,并采集和存储运行时的工业控制系统的行为信息;
入侵测试模块,用于运行恶意程序,采集和存储恶意程序运行的行为信息,将采集的工业控制系统的行为信息和恶意程序运行的行为信息进行处理,生成特征序列;
分类训练模块,用于分类标注特征序列并训练神经网络模型,采集和存储实际运行的工业控制系统的行为信息;
处理判别模块,用于处理实际运行的工业控制系统的行为信息,生成特征序列,并通过训练后的神经网络模型判别特征序列,如果判别结果认定特征序列属于恶意程序行为,则暂停工业控制系统运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811114018.9A CN108965340B (zh) | 2018-09-25 | 2018-09-25 | 一种工业控制系统入侵检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811114018.9A CN108965340B (zh) | 2018-09-25 | 2018-09-25 | 一种工业控制系统入侵检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108965340A true CN108965340A (zh) | 2018-12-07 |
CN108965340B CN108965340B (zh) | 2020-05-05 |
Family
ID=64471843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811114018.9A Active CN108965340B (zh) | 2018-09-25 | 2018-09-25 | 一种工业控制系统入侵检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108965340B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110119621A (zh) * | 2019-05-05 | 2019-08-13 | 网御安全技术(深圳)有限公司 | 异常系统调用的攻击防御方法、系统及防御装置 |
CN110390357A (zh) * | 2019-07-17 | 2019-10-29 | 国网浙江省电力有限公司电力科学研究院 | 一种基于边信道的dtu安全监测方法 |
CN110535854A (zh) * | 2019-08-28 | 2019-12-03 | 南京市晨枭软件技术有限公司 | 一种用于工业控制系统入侵检测方法及系统 |
CN111680296A (zh) * | 2020-06-15 | 2020-09-18 | 杭州安恒信息技术股份有限公司 | 一种工业控制系统中恶意程序的识别方法、装置及设备 |
CN111738467A (zh) * | 2020-08-25 | 2020-10-02 | 杭州海康威视数字技术股份有限公司 | 一种运行状态异常检测方法、装置及设备 |
CN111786986A (zh) * | 2020-06-29 | 2020-10-16 | 华中科技大学 | 一种数控系统网络入侵防范系统及方法 |
CN113568836A (zh) * | 2021-07-30 | 2021-10-29 | 江苏易安联网络技术有限公司 | 多时间序列的样本特征提取方法以应用其的软件检测方法 |
CN113748656A (zh) * | 2019-04-29 | 2021-12-03 | 谷歌有限责任公司 | 网络异常检测 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479298A (zh) * | 2010-11-29 | 2012-05-30 | 北京奇虎科技有限公司 | 基于机器学习的程序识别方法及装置 |
CN103177215A (zh) * | 2013-03-05 | 2013-06-26 | 四川电力科学研究院 | 基于软件控制流特征的计算机恶意软件检测新方法 |
CN103839006A (zh) * | 2010-11-29 | 2014-06-04 | 北京奇虎科技有限公司 | 基于机器学习的程序识别方法及装置 |
CN106534114A (zh) * | 2016-11-10 | 2017-03-22 | 北京红马传媒文化发展有限公司 | 基于大数据分析的防恶意攻击系统 |
CN108040073A (zh) * | 2018-01-23 | 2018-05-15 | 杭州电子科技大学 | 信息物理交通系统中基于深度学习的恶意攻击检测方法 |
US20180165597A1 (en) * | 2016-12-08 | 2018-06-14 | Resurgo, Llc | Machine Learning Model Evaluation in Cyber Defense |
CN108304720A (zh) * | 2018-02-06 | 2018-07-20 | 恒安嘉新(北京)科技股份公司 | 一种基于机器学习的安卓恶意程序检测方法 |
CN108347430A (zh) * | 2018-01-05 | 2018-07-31 | 国网山东省电力公司济宁供电公司 | 基于深度学习的网络入侵检测和漏洞扫描方法及装置 |
US20180219894A1 (en) * | 2015-10-28 | 2018-08-02 | Fractal Industries, Inc. | User and entity behavioral analysis using an advanced cyber decision platform |
CN108449342A (zh) * | 2018-03-20 | 2018-08-24 | 北京搜狐互联网信息服务有限公司 | 恶意请求检测方法及装置 |
CN108512841A (zh) * | 2018-03-23 | 2018-09-07 | 四川长虹电器股份有限公司 | 一种基于机器学习的智能防御系统及防御方法 |
CN108549814A (zh) * | 2018-03-24 | 2018-09-18 | 西安电子科技大学 | 一种基于机器学习的sql注入检测方法、数据库安全系统 |
-
2018
- 2018-09-25 CN CN201811114018.9A patent/CN108965340B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479298A (zh) * | 2010-11-29 | 2012-05-30 | 北京奇虎科技有限公司 | 基于机器学习的程序识别方法及装置 |
CN103839006A (zh) * | 2010-11-29 | 2014-06-04 | 北京奇虎科技有限公司 | 基于机器学习的程序识别方法及装置 |
CN103177215A (zh) * | 2013-03-05 | 2013-06-26 | 四川电力科学研究院 | 基于软件控制流特征的计算机恶意软件检测新方法 |
US20180219894A1 (en) * | 2015-10-28 | 2018-08-02 | Fractal Industries, Inc. | User and entity behavioral analysis using an advanced cyber decision platform |
CN106534114A (zh) * | 2016-11-10 | 2017-03-22 | 北京红马传媒文化发展有限公司 | 基于大数据分析的防恶意攻击系统 |
US20180165597A1 (en) * | 2016-12-08 | 2018-06-14 | Resurgo, Llc | Machine Learning Model Evaluation in Cyber Defense |
CN108347430A (zh) * | 2018-01-05 | 2018-07-31 | 国网山东省电力公司济宁供电公司 | 基于深度学习的网络入侵检测和漏洞扫描方法及装置 |
CN108040073A (zh) * | 2018-01-23 | 2018-05-15 | 杭州电子科技大学 | 信息物理交通系统中基于深度学习的恶意攻击检测方法 |
CN108304720A (zh) * | 2018-02-06 | 2018-07-20 | 恒安嘉新(北京)科技股份公司 | 一种基于机器学习的安卓恶意程序检测方法 |
CN108449342A (zh) * | 2018-03-20 | 2018-08-24 | 北京搜狐互联网信息服务有限公司 | 恶意请求检测方法及装置 |
CN108512841A (zh) * | 2018-03-23 | 2018-09-07 | 四川长虹电器股份有限公司 | 一种基于机器学习的智能防御系统及防御方法 |
CN108549814A (zh) * | 2018-03-24 | 2018-09-18 | 西安电子科技大学 | 一种基于机器学习的sql注入检测方法、数据库安全系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113748656A (zh) * | 2019-04-29 | 2021-12-03 | 谷歌有限责任公司 | 网络异常检测 |
CN113748656B (zh) * | 2019-04-29 | 2023-04-21 | 谷歌有限责任公司 | 网络异常检测 |
CN110119621A (zh) * | 2019-05-05 | 2019-08-13 | 网御安全技术(深圳)有限公司 | 异常系统调用的攻击防御方法、系统及防御装置 |
CN110390357A (zh) * | 2019-07-17 | 2019-10-29 | 国网浙江省电力有限公司电力科学研究院 | 一种基于边信道的dtu安全监测方法 |
CN110535854A (zh) * | 2019-08-28 | 2019-12-03 | 南京市晨枭软件技术有限公司 | 一种用于工业控制系统入侵检测方法及系统 |
CN111680296A (zh) * | 2020-06-15 | 2020-09-18 | 杭州安恒信息技术股份有限公司 | 一种工业控制系统中恶意程序的识别方法、装置及设备 |
CN111786986A (zh) * | 2020-06-29 | 2020-10-16 | 华中科技大学 | 一种数控系统网络入侵防范系统及方法 |
CN111738467A (zh) * | 2020-08-25 | 2020-10-02 | 杭州海康威视数字技术股份有限公司 | 一种运行状态异常检测方法、装置及设备 |
CN113568836A (zh) * | 2021-07-30 | 2021-10-29 | 江苏易安联网络技术有限公司 | 多时间序列的样本特征提取方法以应用其的软件检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108965340B (zh) | 2020-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108965340A (zh) | 一种工业控制系统入侵检测方法及系统 | |
CN111475804B (zh) | 一种告警预测方法及系统 | |
Sun et al. | Detecting anomalous user behavior using an extended isolation forest algorithm: an enterprise case study | |
CN104598367B (zh) | 数据中心故障事件管理自动化系统及方法 | |
Pusara et al. | User re-authentication via mouse movements | |
CN107147639A (zh) | 一种基于复杂事件处理的实时安全预警方法 | |
Nguyen Thi et al. | One-class collective anomaly detection based on LSTM-RNNs | |
Iqbal et al. | Advancing automation in digital forensic investigations using machine learning forensics | |
CN109639662A (zh) | 基于深度学习的机载网络入侵检测方法 | |
CN112200196A (zh) | 钓鱼网站检测方法、装置、设备及计算机可读存储介质 | |
CN115269438A (zh) | 针对图像处理算法的自动化测试方法及装置 | |
Craddock et al. | Generic Pattern of Life and behaviour analysis | |
CN112948897B (zh) | 一种基于drae与svm相结合的网页防篡改检测方法 | |
CN111988294B (zh) | 基于人工智能的用户身份识别方法、装置、终端及介质 | |
Saaudi et al. | Insider threats detection using CNN-LSTM model | |
CN109254827A (zh) | 一种基于大数据与机器学习的虚拟机安全防护方法及系统 | |
Thi et al. | One-class collective anomaly detection based on long short-term memory recurrent neural networks | |
CN110705597B (zh) | 基于事件因果关系抽取的网络苗头事件检测方法及系统 | |
Nyhuis et al. | Automated video analysis for social science research 1 | |
CN110674269A (zh) | 一种线索信息管控方法及系统 | |
Halboob et al. | Crowd Management Intelligence Framework: Umrah Use Case | |
Sharanya et al. | Predicting Abnormal User Behaviour Patterns in Social Media Platforms based on Process Mining | |
Julian et al. | Crime rate prediction using K-means algorithm | |
KR102661221B1 (ko) | 로그인 진행시 발생하는 텍스트를 활용하여 로그인시 발생되는 이상징후 탐지방법 | |
CN113256180B (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 |