CN110825040B - 一种工业控制系统的过程控制攻击检测方法及装置 - Google Patents

一种工业控制系统的过程控制攻击检测方法及装置 Download PDF

Info

Publication number
CN110825040B
CN110825040B CN201911007297.3A CN201911007297A CN110825040B CN 110825040 B CN110825040 B CN 110825040B CN 201911007297 A CN201911007297 A CN 201911007297A CN 110825040 B CN110825040 B CN 110825040B
Authority
CN
China
Prior art keywords
white list
information
detection
process control
attack
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.)
Active
Application number
CN201911007297.3A
Other languages
English (en)
Other versions
CN110825040A (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.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
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 Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN201911007297.3A priority Critical patent/CN110825040B/zh
Publication of CN110825040A publication Critical patent/CN110825040A/zh
Application granted granted Critical
Publication of CN110825040B publication Critical patent/CN110825040B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/4184Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by fault tolerance, reliability of production system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31088Network communication between supervisor and cell, machine group
    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

本发明实施例提供一种工业控制系统的过程控制攻击检测方法及装置,该方法包括:获取PLC控制逻辑网络流量信息,并根据所述PLC控制逻辑网络流量信息获取机器码;将所述机器码通过预设映射数据库进行反编译处理,得到步进指令代码信息;对所述步进指令代码信息进行程序流分析得到检测白名单信息;根据所述检测白名单信息实现过程控制攻击检测。步进指令代码信息,然后进行程序流分析,提取有效地址、有效值范围、控制逻辑规则作为评估攻击的依据,并通过主动发送读取请求数据和被动读取网络流量信息实现主动方式和被动方式同时进行检测攻击行为,有效实现对于工业控制系统的过程控制攻击检测。

Description

一种工业控制系统的过程控制攻击检测方法及装置
技术领域
本发明涉及工业控制技术领域,尤其涉及一种工业控制系统的过程控制攻击检测方法及装置。
背景技术
工业控制系统(Industrial Control System,ICS)是工业生产中使用的一类控制系统的总称,它包括监控和数据采集系统、分布式控制系统和其他工业部门常见的控制系统,以及用于基础设施的关键小型控制系统。随着工业的发展,ICS在提高信息化水平的同时,将原本位于串行链路上的通信协议转移到了TCP/IP上,但是,这种转变也为黑客实施攻击提供了便利。
在工业控制领域,PLC控制技术的应用已经成为行业不可或缺的一部分,甚至是当今工业自动化的支柱。ICS通过PLC控制物理过程。PLC对传感器数据执行逻辑操作,将结果输出到执行器,最后作用到物理设备。这种闭环级联反馈使工业过程能够根据所需规则或预定程序自动化进行,而无需人为直接参与。ICS攻击的目的是攻击实际的物理设备。基本手段是破坏ICS的正常控制过程。对于攻击者而言,PLC提供最有效的渗透点,因为它们控制着目标进程。因此,对PLC控制器的过程控制攻击是最常见,最有效的攻击方法。
因此如何实现工业控制系统的过程控制攻击检测,已经成为业界亟待解决的技术问题。
发明内容
本发明实施例提供一种工业控制系统的过程控制攻击检测方法及装置,用以解决上述背景技术中提出的技术问题,或至少部分解决上述背景技术中提出的技术问题。
第一方面,本发明实施例提供一种工业控制系统的过程控制攻击检测方法,包括:
获取PLC控制逻辑网络流量信息,并根据所述PLC控制逻辑网络流量信息获取机器码;
将所述机器码通过预设映射数据库进行反编译处理,得到步进指令代码信息;
对所述步进指令代码信息进行程序流分析得到检测白名单信息;
根据所述检测白名单信息实现过程控制攻击检测。
更具体的,在所述将所述机器码通过预设映射数据库进行反编译处理,得到步进指令代码信息的步骤之前,所述方法还包括:
对步进指令代码信息转换为机器码的过程进行分析,得到步进指令代码信息与机器码的对应关系;
根据所述步进指令代码信息与机器码的对应关系构建预设映射数据库。
更具体的,所述对所述步进指令代码信息进行程序流分析得到检测白名单信息的步骤,具体包括:
对所述步进指令代码信息进行词法分析和语法分析,得到有效地址白名单和有效值域范围白名单;
对所述步进指令代码信息进行语义分析,得到逻辑控制白名单;
根据所述逻辑控制白名单、有效地址白名单和有效值域范围白名单得到检测白名单信息。
更具体的,在所述对所述步进指令代码信息进行词法分析和语法分析的步骤之前,所述方法还包括:
对所述步进指令代码信息进行预处理;
其中所述预处理包括代码段切割和程序压缩处理。
更具体的,所述根据所述检测白名单信息实现过程控制攻击检测的步骤,具体包括:
根据所述检测白名单信息中的有效值域范围白名单和有效地址白名单来实现过程控制攻击被动检测;
根据所述检测白名单信息中的逻辑控制白名单来实现过程控制攻击主动检测。
更具体的,所述根据所述检测白名单信息中的有效值域范围白名单和有效地址白名单来实现过程控制攻击被动检测的步骤,具体包括:
获取PLC控制逻辑网络流量信息中的地址信息和数值信息;
根据所述有效地址白名单对所述地址信息进行分析,得到地址分析结果;
根据所述有效值域范围白名单对所述数值信息进行分析,得到数值分析结果;
根据地址分析结果和数值分析结果实现过程控制攻击被动检测。
更具体的,所述根据所述检测白名单信息实现过程控制攻击检测的步骤,具体还包括:
发送读取请求数据,以根据所述读取请求数据获取寄存器数据;
根据所述逻辑控制白名单对所述寄存器数据进行分析,得到逻辑控制分析结果,以根据所述逻辑控制分析结果实现过程控制攻击主动检测。
第二方面,本发明实施例提供一种工业控制系统的过程控制攻击检测装置,包括:
获取模块,用于获取PLC控制逻辑网络流量信息,并根据所述PLC控制逻辑网络流量信息获取机器码;
反编译模块,用于将所述机器码通过预设映射数据库进行反编译处理,得到步进指令代码信息;
分析模块,用于对所述步进指令代码信息进行程序流分析得到检测白名单信息;
检测模块,用于根据所述检测白名单信息实现过程控制攻击检测。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所工业控制系统的过程控制攻击检测方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述工业控制系统的过程控制攻击检测方法的步骤。
本发明实施例提供的一种工业控制系统的过程控制攻击检测方法及装置,通过对机器码格式的PLC控制逻辑网络流量信息进行反编译,得到步进指令代码信息,然后进行程序流分析,提取有效地址、有效值范围、控制逻辑规则作为评估攻击的依据,并通过主动发送读取请求数据和被动读取网络流量信息实现主动方式和被动方式同时进行检测攻击行为,有效实现对于工业控制系统的过程控制攻击检测。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例所描述的工业控制系统的过程控制攻击检测方法流程示意图;
图2为本发明一实施例所描述的工业控制系统的过程控制攻击检测装置结构示意图;
图3为本发明一实施例所描述的电子设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一实施例所描述的工业控制系统的过程控制攻击检测方法流程示意图,如图1所示,包括:
步骤S1,获取PLC控制逻辑网络流量信息,并根据所述PLC控制逻辑网络流量信息获取机器码;
步骤S2,将所述机器码通过预设映射数据库进行反编译处理,得到步进指令代码信息;
步骤S3,对所述步进指令代码信息进行程序流分析得到检测白名单信息;
步骤S4,根据所述检测白名单信息实现过程控制攻击检测。
具体的,本发明实施例中所描述的PLC控制逻辑网络流量信息是指PLC和控制中心之间的网络传输流量信息。
本发明实施例中所描述的机器码是指二进制的机器码,可以是指MC7代码。
本发明实施例中的预设映射数据库具体是指,对步进指令代码转换为机器码的过程进行分析,根据其转换过程中指令代码与机器码的映射关系生成预设映射数据库。
本发明实施例中所描述的检测白名单信息包括逻辑控制白名单、有效地址白名单和有效值域范围白名单;有效值域范围白名单和有效地址白名单来实现过程控制攻击被动检测;逻辑控制白名单来实现过程控制攻击主动检测。
本发明实施例中所描述的程序流分析具体是指,通过词法分析和语法分析,对操作类型、地址类型、比较条件进行分析,得到了最可能的过程变量数据类型和值范围,得到有效地址白名单和有效值域范围白名单,通过语义分析,可以准确地分析过程变量之间的相关性并得到逻辑控制白名单。
本发明实施例中所描述的根据检测白名单信息实现过程控制攻击检测具体是指,将有效地址白名单和有效值域范围白名单植入被动检测引擎,并将逻辑控制白名单植入主动检测引擎,两个检测引擎同时运行并协同工作,从不同角度检测过程控制攻击行为。
本发明实施例提供的一种工业控制系统的过程控制攻击检测方法及装置,通过对机器码格式的PLC控制逻辑网络流量信息进行反编译,得到步进指令代码信息,然后进行程序流分析,提取有效地址、有效值范围、控制逻辑规则作为评估攻击的依据,并通过主动发送读取请求数据和被动读取网络流量信息实现主动方式和被动方式同时进行检测攻击行为,有效实现对于工业控制系统的过程控制攻击检测。
在上述实施例的基础上,在所述将所述机器码通过预设映射数据库进行反编译处理,得到步进指令代码信息的步骤之前,所述方法还包括:
对步进指令代码信息转换为机器码的过程进行分析,得到步进指令代码信息与机器码的对应关系;
根据所述步进指令代码信息与机器码的对应关系构建预设映射数据库。
具体的,本发明实施例中对步进指令代码转换为机器码的过程进行分析具体是指,根据其转换过程中指令代码与机器码的映射关系生成预设映射数据库。
例如,若机器码为MC7代码,则对STL指令如何转换为MC7代码进行分析,从而生成预设映射数据库,然后根据预设映射数据库对PLC控制逻辑网络流量信息的获取的MC7代码进行反编译,可以反编译1853个不同的指令和地址,反编译精度可以达到100%。
具体的,本发明实施例通过构建预设映射数据库,以实现对机器码的反编译处理,得到步进指令代码信息,便于后续进行程序流分析,实现过程控制攻击检测方法。
在上述实施例的基础上,所述对所述步进指令代码信息进行程序流分析得到检测白名单信息的步骤,具体包括:
对所述步进指令代码信息进行词法分析和语法分析,得到有效地址白名单和有效值域范围白名单;
对所述步进指令代码信息进行语义分析,得到逻辑控制白名单;
根据所述逻辑控制白名单、有效地址白名单和有效值域范围白名单得到检测白名单信息。
对所述步进指令代码信息进行预处理;其中所述预处理包括代码段切割和程序压缩处理。
具体的,本发明实施例中所描述的代码段切割可以划分指令代码主程序段,而程序压缩可以消除不影响控制逻辑的不必要指令,并减轻程序自动分析和白名单规则提取的负担。
在上述实施例的基础上,所述根据所述检测白名单信息实现过程控制攻击检测的步骤,具体包括:
根据所述检测白名单信息中的有效值域范围白名单和有效地址白名单来实现过程控制攻击被动检测;
根据所述检测白名单信息中的逻辑控制白名单来实现过程控制攻击主动检测。
本发明实施例中所描述的过程控制攻击主动检测是主动发送读取请求数据,以获取寄存器数据来主动实现检测的方式。
本发明实施例中所描述的过程控制攻击被动检测是通过检测PLC控制逻辑网络流量信息,从而实现的被动检测的方式。
本发明实施例通过描述了主动检测和被动检测结合的方式,从而实现了更精准高效的过程控制攻击检测方法。
在上述实施例的基础上,所述根据所述检测白名单信息中的有效值域范围白名单和有效地址白名单来实现过程控制攻击被动检测的步骤,具体包括:
获取PLC控制逻辑网络流量信息中的地址信息和数值信息;
根据所述有效地址白名单对所述地址信息进行分析,得到地址分析结果;
根据所述有效值域范围白名单对所述数值信息进行分析,得到数值分析结果;
根据地址分析结果和数值分析结果实现过程控制攻击被动检测。
由于PLC内部的有效地址空间是固定的。在正常情况下,控制中心只会访问有效地址空间的这一部分。某些地址的值范围也被PLC程序限制在一定范围内。
因此,本发明实施例中所描述的被动检测主要通过监视PLC控制逻辑网络流量信息来检测非法地址上是否存在恶意的读/写操作,并检测变量是否超出范围以及设定点是否已被篡改,如果有PLC控制逻辑网络流量信息的请求或响应超出有效地址范围或者访问超过有效值范围,则视为异常。
在上述实施例的基础上,所述根据所述检测白名单信息实现过程控制攻击检测的步骤,具体还包括:
发送读取请求数据,以根据所述读取请求数据获取寄存器数据;
根据所述逻辑控制白名单对所述寄存器数据进行分析,得到逻辑控制分析结果,以根据所述逻辑控制分析结果实现过程控制攻击主动检测。
本发明实施例中的过程控制攻击主动检测可以是通过低打扰、切片、轮询和主动数据包发送的方式来读取寄存器数据,然后根据逻辑控制白名单对所述寄存器数据进行分析,若其不符合逻辑控制白名单则说明异常。
本发明实施例通过主动发送读取请求数据和被动读取网络流量信息实现主动方式和被动方式同时进行检测攻击行为,有效实现对于工业控制系统的过程控制攻击检测。
在本发明另一实施例中,根据部署在天然气管网实验平台上的两台西门子S7-300PLC进行了实验。该天然气管网实验平台模拟天然气从门站到住宅楼的转移,其物理环境包括模拟门站的气泵,一段压力管道,三个压力传感器,四个阀门和多个传感器,用于监控压力,流速和温度。其中,气泵向物理环境供应高压气体;天然气管道分为高压管道,中压管道和低压管道三部分,管道的每个部分通过一对压力转换器和开关控制气体的压降。多个传感器负责收集诸如温度、流速和管道压力的测量值。此外,现场还使用了两个西门子S7-300PLC和一个控制中心。
在攻击检测之前,捕获PLC控制程序并执行检测白名单信息的自动提取。提取检测白名单信息后,PLC的被动检测引擎和主动检测引擎开始工作,并从不同的角度检测过程控制攻击。
攻击者精确攻击目标的最有效方法是破坏PLC的控制逻辑。将过程控制攻击分为两大类:1)恶意数据注入攻击和2)控制逻辑注入攻击。在实验中,通过实施两种过程控制攻击来评估本发明的检测效果。针对恶意数据注入攻击,实现了三个具有代表性的子攻击;针对控制逻辑注入攻击,实现了两个具有代表性的子攻击,具体如下:
攻击1-1,非法地址的读/写。这种攻击模拟黑客对未使用的PLC寄存器的任意读写操作,而不知道物理过程。这种类型的攻击对物理过程没有实际影响,但在正常情况下是不允许的。
攻击1-2,合法地址强制数据注入。强制数据注入有效地址使得工业流程与预期不一致。如打开泄漏阀、关闭气泵、在气体传输过程中关闭管道阀门等。
攻击1-3,远程篡改值域范围。恶意篡改指定范围的有效值域或设定值。如改变定时器定时、高压、中压或低压范围等。
攻击2-1,控制程序篡改。篡改控制程序和破坏实际工业流程。如改变阀门开启顺序、篡改过程变量的逻辑关系等。
攻击2-2,控制程序更换。攻击者可以通过替换真正的控制程序来实现他们想要的任何目标这种攻击具有隐蔽性强、破坏力大、易于发动等特点。
表1为针对过程控制攻击的攻击检测结果表:
表1
Figure BDA0002243155450000091
“√”表示成功检测到攻击 “×”表示未检测到攻击
被动检测引擎可以通过被动监控网络流量准确检测到攻击1-1和攻击1-3,但未能检测到攻击1-2、攻击2-1和攻击2-2。主动检测引擎通过主动与PLC通信来监视PLC内部存储的实际状态,并能成功检测到攻击1-2、攻击1-3、攻击2-1、和攻击2-2,但无法检测到攻击1-1。“混合检测引擎是通过被动检测引擎和主动检测引擎的组合,可检测所有类型的过程控制攻击。
图2为本发明一实施例所描述的工业控制系统的过程控制攻击检测装置结构示意图,如图2所示,包括:获取模块210、反编译模块220、分析模块230和检测模块240;其中,获取模块210用于获取PLC控制逻辑网络流量信息,并根据所述PLC控制逻辑网络流量信息获取机器码;其中,反编译模块220用于将所述机器码通过预设映射数据库进行反编译处理,得到步进指令代码信息;其中,分析模块230用于对所述步进指令代码信息进行程序流分析得到检测白名单信息;其中,检测模块240用于根据所述检测白名单信息实现过程控制攻击检测。
本发明实施例提供的装置是用于执行上述各方法实施例的,具体流程和详细内容请参照上述实施例,此处不再赘述。
本发明实施例通过对机器码格式的PLC控制逻辑网络流量信息进行反编译,得到步进指令代码信息,然后进行程序流分析,提取有效地址、有效值范围、控制逻辑规则作为评估攻击的依据,并通过主动发送读取请求数据和被动读取网络流量信息实现主动方式和被动方式同时进行检测攻击行为,有效实现对于工业控制系统的过程控制攻击检测。
图3为本发明一实施例所描述的电子设备结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行如下方法:获取PLC控制逻辑网络流量信息,并根据所述PLC控制逻辑网络流量信息获取机器码;将所述机器码通过预设映射数据库进行反编译处理,得到步进指令代码信息;对所述步进指令代码信息进行程序流分析得到检测白名单信息;根据所述检测白名单信息实现过程控制攻击检测。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取PLC控制逻辑网络流量信息,并根据所述PLC控制逻辑网络流量信息获取机器码;将所述机器码通过预设映射数据库进行反编译处理,得到步进指令代码信息;对所述步进指令代码信息进行程序流分析得到检测白名单信息;根据所述检测白名单信息实现过程控制攻击检测。
本发明实施例提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储服务器指令,该计算机指令使计算机执行上述各实施例提供的方法,例如包括:获取PLC控制逻辑网络流量信息,并根据所述PLC控制逻辑网络流量信息获取机器码;将所述机器码通过预设映射数据库进行反编译处理,得到步进指令代码信息;对所述步进指令代码信息进行程序流分析得到检测白名单信息;根据所述检测白名单信息实现过程控制攻击检测。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种工业控制系统的过程控制攻击检测方法,其特征在于,包括:
获取PLC控制逻辑网络流量信息,并根据所述PLC控制逻辑网络流量信息获取机器码;
将所述机器码通过预设映射数据库进行反编译处理,得到步进指令代码信息;
对所述步进指令代码信息进行程序流分析得到检测白名单信息;
根据所述检测白名单信息实现过程控制攻击检测;
其中,根据所述检测白名单信息实现过程控制攻击检测的步骤,具体包括:
根据所述检测白名单信息中的有效值域范围白名单和有效地址白名单来实现过程控制攻击被动检测;
根据所述检测白名单信息中的逻辑控制白名单来实现过程控制攻击主动检测。
2.根据权利要求1所述工业控制系统的过程控制攻击检测方法,其特征在于,在所述将所述机器码通过预设映射数据库进行反编译处理,得到步进指令代码信息的步骤之前,所述方法还包括:
对步进指令代码信息转换为机器码的过程进行分析,得到步进指令代码信息与机器码的对应关系;
根据所述步进指令代码信息与机器码的对应关系构建预设映射数据库。
3.根据权利要求1所述工业控制系统的过程控制攻击检测方法,其特征在于,所述对所述步进指令代码信息进行程序流分析得到检测白名单信息的步骤,具体包括:
对所述步进指令代码信息进行词法分析和语法分析,得到有效地址白名单和有效值域范围白名单;
对所述步进指令代码信息进行语义分析,得到逻辑控制白名单;
根据所述逻辑控制白名单、有效地址白名单和有效值域范围白名单得到检测白名单信息。
4.根据权利要求3所述工业控制系统的过程控制攻击检测方法,其特征在于,在所述对所述步进指令代码信息进行词法分析和语法分析的步骤之前,所述方法还包括:
对所述步进指令代码信息进行预处理;
其中所述预处理包括代码段切割和程序压缩处理。
5.根据权利要求4所述工业控制系统的过程控制攻击检测方法,其特征在于,所述根据所述检测白名单信息中的有效值域范围白名单和有效地址白名单来实现过程控制攻击被动检测的步骤,具体包括:
获取PLC控制逻辑网络流量信息中的地址信息和数值信息;
根据所述有效地址白名单对所述地址信息进行分析,得到地址分析结果;
根据所述有效值域范围白名单对所述数值信息进行分析,得到数值分析结果;
根据地址分析结果和数值分析结果实现过程控制攻击被动检测。
6.根据权利要求1所述工业控制系统的过程控制攻击检测方法,其特征在于,所述根据所述检测白名单信息实现过程控制攻击检测的步骤,具体还包括:
发送读取请求数据,以根据所述读取请求数据获取寄存器数据;
根据所述逻辑控制白名单对所述寄存器数据进行分析,得到逻辑控制分析结果,以根据所述逻辑控制分析结果实现过程控制攻击主动检测。
7.一种工业控制系统的过程控制攻击检测装置,其特征在于,包括:
获取模块,用于获取PLC控制逻辑网络流量信息,并根据所述PLC控制逻辑网络流量信息获取机器码;
反编译模块,用于将所述机器码通过预设映射数据库进行反编译处理,得到步进指令代码信息;
分析模块,用于对所述步进指令代码信息进行程序流分析得到检测白名单信息;
检测模块,用于根据所述检测白名单信息实现过程控制攻击检测;
其中,所述检测模块具体用于:
根据所述检测白名单信息中的有效值域范围白名单和有效地址白名单来实现过程控制攻击被动检测;
根据所述检测白名单信息中的逻辑控制白名单来实现过程控制攻击主动检测。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述工业控制系统的过程控制攻击检测方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述工业控制系统的过程控制攻击检测方法的步骤。
CN201911007297.3A 2019-10-22 2019-10-22 一种工业控制系统的过程控制攻击检测方法及装置 Active CN110825040B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911007297.3A CN110825040B (zh) 2019-10-22 2019-10-22 一种工业控制系统的过程控制攻击检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911007297.3A CN110825040B (zh) 2019-10-22 2019-10-22 一种工业控制系统的过程控制攻击检测方法及装置

Publications (2)

Publication Number Publication Date
CN110825040A CN110825040A (zh) 2020-02-21
CN110825040B true CN110825040B (zh) 2021-02-19

Family

ID=69550003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911007297.3A Active CN110825040B (zh) 2019-10-22 2019-10-22 一种工业控制系统的过程控制攻击检测方法及装置

Country Status (1)

Country Link
CN (1) CN110825040B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112651213A (zh) * 2020-12-25 2021-04-13 军工保密资格审查认证中心 数控程序的安全审查方法及装置
CN112804204B (zh) * 2020-12-30 2022-10-21 上海磐御网络科技有限公司 一种基于大数据分析的智能网络安全系统
CN114371682B (zh) * 2021-11-05 2024-04-05 中国科学院信息工程研究所 Plc控制逻辑攻击检测方法及装置
CN114363018B (zh) * 2021-12-20 2023-09-22 北京六方云信息技术有限公司 工业数据传输方法、装置、设备与存储介质
CN114579967B (zh) * 2022-03-16 2022-09-23 北京珞安科技有限责任公司 一种程序白名单的快速构建方法
CN114726656A (zh) * 2022-06-08 2022-07-08 浙江国利网安科技有限公司 一种网络安全防护的方法及装置
CN115033881B (zh) * 2022-08-12 2022-12-09 中国电子科技集团公司第三十研究所 Plc控制器病毒检测方法、装置、设备及存储介质
CN115795488B (zh) * 2023-02-08 2023-06-02 深圳开源互联网安全技术有限公司 代码检测系统及代码检测方法
CN117118981A (zh) * 2023-10-19 2023-11-24 广州翼辉信息技术有限公司 一种基于codesys编程环境的工业云平台通信方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103036886A (zh) * 2012-12-19 2013-04-10 珠海市鸿瑞软件技术有限公司 工业控制网络安全防护方法
CN105204487A (zh) * 2014-12-26 2015-12-30 北京邮电大学 基于通信模型的工业控制系统的入侵检测方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814545B2 (en) * 2003-07-22 2010-10-12 Sonicwall, Inc. Message classification using classifiers
CN105072025B (zh) * 2015-08-05 2018-03-13 北京科技大学 针对现代工业控制系统网络通信的安全防护网关及系统
US20180183818A1 (en) * 2016-12-23 2018-06-28 CIX Software Inc. Real-time application state monitoring, white list profile instantiation, behavioral detection and automatic cyber attack defense (bushido)
CN109474607A (zh) * 2018-12-06 2019-03-15 连云港杰瑞深软科技有限公司 一种工业控制网络安全保护监测系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103036886A (zh) * 2012-12-19 2013-04-10 珠海市鸿瑞软件技术有限公司 工业控制网络安全防护方法
CN105204487A (zh) * 2014-12-26 2015-12-30 北京邮电大学 基于通信模型的工业控制系统的入侵检测方法及系统

Also Published As

Publication number Publication date
CN110825040A (zh) 2020-02-21

Similar Documents

Publication Publication Date Title
CN110825040B (zh) 一种工业控制系统的过程控制攻击检测方法及装置
Caselli et al. Sequence-aware intrusion detection in industrial control systems
CN108600193B (zh) 一种基于机器学习的工控蜜罐识别方法
Adepu et al. Generalized attacker and attack models for cyber physical systems
Robles-Durazno et al. PLC memory attack detection and response in a clean water supply system
Senthivel et al. Denial of engineering operations attacks in industrial control systems
CN112054996B (zh) 一种蜜罐系统的攻击数据获取方法、装置
CN109711171A (zh) 软件漏洞的定位方法及装置、系统、存储介质、电子装置
CN114371682B (zh) Plc控制逻辑攻击检测方法及装置
CN110602041A (zh) 基于白名单的物联网设备识别方法、装置及网络架构
CN107634931A (zh) 异常数据的处理方法、云端服务器、网关及终端
CN101902438A (zh) 一种自动识别网页爬虫的方法和装置
CN113259392B (zh) 一种网络安全攻防方法、装置及存储介质
Rodofile et al. Process control cyber-attacks and labelled datasets on S7Comm critical infrastructure
KR101972825B1 (ko) 하이브리드 분석 기술을 이용한 임베디드 기기 취약점 자동 분석 방법, 장치 및 그 방법을 실행하는 컴퓨터 프로그램
CN107330311A (zh) 一种人机识别的方法和设备
CN111308958A (zh) 一种基于蜜罐技术的cnc设备仿真方法、系统和工控蜜罐
CN112559005A (zh) 基于区块链与分布式存储的物联网设备固件更新方法及系统
CN113190839A (zh) 一种基于SQL注入的web攻击防护方法及系统
CN111092912B (zh) 安全防御方法及装置
CN111049784A (zh) 一种网络攻击的检测方法、装置、设备及存储介质
Alsabbagh et al. A control injection attack against S7 PLCs-manipulating the decompiled code
CN115097807A (zh) 面向可编程逻辑控制器的内存攻击检测方法及系统
CN114095228A (zh) 基于区块链和边缘计算的物联网数据安全存取方法、系统、装置及存储介质
CN113726825A (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