一种工业控制器控制逻辑攻击取证方法技术

技术编号:37364022 阅读:24 留言:0更新日期:2023-04-27 07:11
本发明专利技术公开了一种工业控制器控制逻辑攻击取证方法,该方法主要包括:通过模拟PLC的上传功能,以提取PLC二进制控制应用程序文件;对提取的二进制文件进行逆向分析,包括PLC二进制文件的汇编指令集体系结构识别、反汇编分析、PLC编程语言识别和汇编日志文件生成;基于生成的汇编日志文件,进行攻击检测、攻击定位、攻击分析和攻击恢复。本发明专利技术能够有效地进行工业控制器中控制逻辑攻击的取证,而无需PLC源程序、工厂行为模型和任何网络流量,本发明专利技术方法可以在可接受的时间和内存开销内自动执行整个过程。整个过程。整个过程。

【技术实现步骤摘要】
一种工业控制器控制逻辑攻击取证方法


[0001]本专利技术属于工业控制系统安全领域,涉及一种工业控制器控制逻辑攻击取证方法。

技术介绍

[0002]工业控制系统(ICS)为工业生成过程提供控制和监控功能,并在关键基础设施行业中发挥关键作用,如天然气、电力、水处理、化学、制药和食品。然而,对这些关键系统的网络攻击将对社会产生广泛和重大的影响。特别是,可编程逻辑控制器(PLC)容易受到控制逻辑攻击。攻击者可以通过篡改PLC的控制逻辑程序来破坏物理生成过程。攻击者通过插入、删除和篡改控制程序的源代码或编译的二进制控制应用程序文件,操纵目标PLC执行恶意功能。这些控制逻辑攻击损害了PLC中二进制控制逻辑程序的完整性。

技术实现思路

[0003]本专利技术提出了一种工业控制器控制逻辑攻击取证方法,以有效地进行控制逻辑攻击的取证,而无需PLC源程序、工厂行为模型和任何网络流量。本专利技术将通过应用程序级指令比较来定位PLC控制应用程序中的被篡改指令,并执行后续事件响应动作。控制逻辑攻击将破坏二进制控制应用程序的完整性,并修改特定函数及其汇编指令。因此,可以通过验证PLC运行时控制应用程序来检测控制逻辑攻击,并通过比较不同函数中的汇编指令来定位攻击。
[0004]本专利技术的目的是通过以下技术方案实现的:一种工业控制器控制逻辑攻击取证方法,该方法包括以下步骤:
[0005]S1,控制逻辑提取:通过模拟PLC的上传功能,以提取PLC二进制控制应用程序文件;
[0006]S2,对提取的二进制文件进行逆向分析,包括PLC二进制文件的汇编指令集体系结构识别、反汇编分析、PLC编程语言识别和汇编日志文件生成;
[0007]S3,基于生成的汇编日志文件,进行攻击检测、攻击定位、攻击分析和攻击恢复,具体为:首先通过计算提取的控制应用程序文件的哈希值并验证其完整性来检测控制逻辑攻击,再在控制逻辑中定位被篡改的运算符和汇编指令,评估攻击对物理过程的影响,最后在定位篡改后的控制应用程序后,将原始控制应用程序写入PLC并恢复正常操作。
[0008]进一步地,所述S1中包括以下子步骤:
[0009]S101,捕获上传功能流量:利用工业控制器配套的编程软件进行n次上传操作,并捕获包含上传功能数据包的流量;
[0010]S102,流量分析:根据程序开发逻辑,编程软件进行n次上传操作会产生n次上传功能数据包,凭借此统计特征,在流量中筛选出重复出现且顺序相同的n次的数据包序列;
[0011]S103,流量验证:与工业控制器建立通信并重放S102筛选出的数据包序列,验证是否为上传功能数据包;
[0012]S104,上传控制应用程序脚本开发:开发相应脚本程序模拟上传操作并存储上传的二进制控制应用程序;
[0013]S105,二进制文件提取:编程软件在编译过程中将源程序编译生成二进制机器代码;为了提取PLC中的运行时二进制文件,在执行上传控制应用程序脚本时,从响应报文中提取出二进制控制应用程序,包含PLC控制程序、变量数据和配置数据。
[0014]进一步地,所述S2中包括以下子步骤:
[0015]S201,识别专有PLC二进制文件的汇编指令集;利用汇编指令对应的机器码确定二进制文件的汇编架构;
[0016]S202,对二进制文件进行反汇编和分析;通过反汇编工具将二进制文件的机器码反汇编成汇编指令,并依据汇编指令集的函数序言特征建立函数;
[0017]S203,在汇编层面对不同PLC编程语言进行识别;针对功能模块图语言,每个功能模块已经定义好所需输入、固定运算逻辑和输出,通过分析不同功能模块的汇编指令组成,以形成功能模块与汇编指令的对应关系,构建编程语言功能模块特征库,从而完成功能模块图及功能模块的识别;
[0018]S204,生成汇编日志文件;依据前两步的分析结果,将汇编指令、汇编指令地址、函数起始地址、函数结束地址记录到汇编日志文件中。
[0019]进一步地,所述S3中包括以下子步骤:
[0020]S301,攻击检测:工程师执行配置和下载操作后,将备份控制应用程序,并计算其哈希值作为原始哈希值;在检测阶段,将定期验证控制应用程序的完整性;首先执行上传操作以提取PLC控制应用程序文件;随后计算提取出的控制应用程序文件哈希值;最后将计算的哈希值与原始哈希值进行比较,如果哈希值不一致,则表明控制应用程序被篡改;
[0021]S302,样本文件分析:当检测到控制应用程序被篡改后,分别对样本控制应用程序与备份控制应用程序通过步骤S2进行分析并生成汇编日志文件;
[0022]S303,攻击定位:通过汇编日志文件中每个函数汇编指令数量的变化来确定控制逻辑攻击的类型;具体为:
[0023]如果每个函数的汇编指令数不变,则认为攻击者可能篡改了控制应用程序中的运算符;依次比较汇编日志文件中每个汇编指令以定位被篡改的运算符;
[0024]如果各函数的汇编指令数不同于原文件汇编指令数,则表明攻击者插入了恶意指令或删除了正常指令;随后将定位被篡改的汇编指令;
[0025]S304,攻击分析:在S203中已识别出了编程语言,对于识别为功能模块图语言的情况,结合编程语言功能模块特征库和S303中攻击定位的结果,判断具体哪个功能模块被攻击者篡改;
[0026]S305,日志记录:将被篡改的运算符和汇编指令记录到日志文件作为取证证据;基于取证证据评估攻击对被篡改的控制应用程序相关的物理过程的影响;
[0027]S306,灾后恢复:通过使用开发的下载程序脚本,将被篡改的控制应用程序替换为原始的正常控制应用程序
[0028]本专利技术的有益效果是:本专利技术通过应用程序级指令比较来定位PLC控制应用程序中的被篡改指令,并执行后续事件响应动作;控制逻辑攻击将破坏二进制控制应用程序的完整性,并修改特定函数及其汇编指令,因此,通过验证PLC运行时控制应用程序来检测控
制逻辑攻击,并通过比较不同函数中的汇编指令来定位攻击。本专利技术能够有效地进行工业控制器中控制逻辑攻击的取证,而无需PLC源程序、工厂行为模型和任何网络流量,本专利技术方法可以在可接受的时间和内存开销内自动执行整个过程。
附图说明
[0029]图1是本专利技术一示例性实施例提供的方法架构图。
具体实施方式
[0030]下面结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术的实施例,本领域的普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术的保护范围。
[0031]本专利技术提出了一种工业控制器控制逻辑攻击取证方法,以有效地进行控制逻辑攻击的取证,而无需PLC源程序、工厂行为模型和任何网络流量。以针对施耐德M340PLC进行攻击取证为例,如图1所示,主要包括以下步骤:
[0032]S1,开发一个施耐德M340 PLC协议通信客户本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种工业控制器控制逻辑攻击取证方法,其特征在于,包括以下步骤:S1,控制逻辑提取:通过模拟PLC的上传功能,以提取PLC二进制控制应用程序文件;S2,对提取的二进制文件进行逆向分析,包括PLC二进制文件的汇编指令集体系结构识别、反汇编分析、PLC编程语言识别和汇编日志文件生成;S3,基于生成的汇编日志文件,进行攻击检测、攻击定位、攻击分析和攻击恢复,具体为:首先通过计算提取的控制应用程序文件的哈希值并验证其完整性来检测控制逻辑攻击,再在控制逻辑中定位被篡改的运算符和汇编指令,评估攻击对物理过程的影响,最后在定位篡改后的控制应用程序后,将原始控制应用程序写入PLC并恢复正常操作。2.根据权利要求1所述的一种工业控制器控制逻辑攻击取证方法,其特征在于,所述S1中包括以下子步骤:S101,捕获上传功能流量:利用工业控制器配套的编程软件进行n次上传操作,并捕获包含上传功能数据包的流量;S102,流量分析:根据程序开发逻辑,编程软件进行n次上传操作会产生n次上传功能数据包,凭借此统计特征,在流量中筛选出重复出现且顺序相同的n次的数据包序列;S103,流量验证:与工业控制器建立通信并重放S102筛选出的数据包序列,验证是否为上传功能数据包;S104,上传控制应用程序脚本开发:开发相应脚本程序模拟上传操作并存储上传的二进制控制应用程序;S105,二进制文件提取:编程软件在编译过程中将源程序编译生成二进制机器代码;为了提取PLC中的运行时二进制文件,在执行上传控制应用程序脚本时,从响应报文中提取出二进制控制应用程序,包含PLC控制程序、变量数据和配置数据。3.根据权利要求1所述的一种工业控制器控制逻辑攻击取证方法,其特征在于,所述S2中包括以下子步骤:S201,识别专有PLC二进制文件的汇编指令集;利用汇编指令对应的机器码确定二进制文件的汇编架构;S202,对二进制文件进行反汇编和分析;通过反汇编工具将二进制文件的机器码反汇编成汇编指令,并依据汇编指令集的函数序言特征建立函数;S203...

【专利技术属性】
技术研发人员:车欣耿洋洋赵成成邓瑞龙孙铭阳程鹏陈积明王鹏陈博赵玉伟魏一丁
申请(专利权)人:山东临工工程机械有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1