CN114237144B - 一种基于嵌入式的plc安全可信的系统和方法 - Google Patents

一种基于嵌入式的plc安全可信的系统和方法 Download PDF

Info

Publication number
CN114237144B
CN114237144B CN202111383025.0A CN202111383025A CN114237144B CN 114237144 B CN114237144 B CN 114237144B CN 202111383025 A CN202111383025 A CN 202111383025A CN 114237144 B CN114237144 B CN 114237144B
Authority
CN
China
Prior art keywords
user
module
plc
key
reputation
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
CN202111383025.0A
Other languages
English (en)
Other versions
CN114237144A (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.)
Ningbo Institute Of Artificial Intelligence Shanghai Jiaotong University
Original Assignee
Ningbo Institute Of Artificial Intelligence Shanghai Jiaotong University
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 Ningbo Institute Of Artificial Intelligence Shanghai Jiaotong University filed Critical Ningbo Institute Of Artificial Intelligence Shanghai Jiaotong University
Priority to CN202111383025.0A priority Critical patent/CN114237144B/zh
Publication of CN114237144A publication Critical patent/CN114237144A/zh
Application granted granted Critical
Publication of CN114237144B publication Critical patent/CN114237144B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • 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/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1103Special, intelligent I-O processor, also plc can only access via processor
    • 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]

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

本发明公开了一种基于嵌入式的PLC安全可信系统,涉及可编程逻辑控制器安全技术技术领域,包括验证用户模块、设置约定模块、程序预编译模块、异常数据分析模块、异常数据集模块和用户反馈模块,本发明还公开了一种基于嵌入式的PLC安全可信方法,包括S100、初始化;S200、建立可信验证通道;S300、设置约定;S400、运行程序代码和预编译代码对比;S500、实时监测;S600、信息绑定。本发明通过满意度和信誉两项指标来验证用户的身份,并在运行过程中监视用户的行为,同时对PLC程序代码运行过程中产生的关键信息进行监测,提高了PLC运行的安全性。

Description

一种基于嵌入式的PLC安全可信的系统和方法
技术领域
本发明涉及可编程逻辑控制器安全技术领域,尤其涉及一种基于嵌入式的PLC安全可信系统和方法。
背景技术
随着科技的进步和社会的发展,PLC(即Programmable Logic Controller,可编程逻辑控制器)在工业上的应用越来越广泛,逐渐成为自动化制造工厂里无可替代的部分。安全可信技术应用在PLC领域,为工业及其他PLC 应用场景的工作提供了保障。现有的KEIA协议通过建立基于用户认证和可信平台模块(Trusted Platform Module)认证的可信验证通道解决基于TLS 协议存在的重放攻击问题,但其仅仅从协议的角度出发,很难将实际项目中对PLC的攻击问题解决。现有的通过调整一次性密码的方法来加强保护机密硬件和软件系统设备及组件之间的数据交换,但未防止攻击者从软件系统设备本身的攻击。现有的动态水印的方法,可以用来追踪恶意信号,以寻找到恶意传感器的位置,但其假设了存在“诚实”节点,即无法判定该节点是否已经被恶意代码操纵。现有的基于数据流分析的PLC恶意代码监测技术,通过对PLC程序中关键变量的取值范围进行度量,判断其范围是否超出正常范围来确定是否有恶意代码篡改了数据,但是当恶意代码操纵变量达到任意值但仍处于正常范围内时,此方法将失效。
因此,本领域的技术人员致力于开发一种基于嵌入式的PLC安全可信系统和方法。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是保证在 PLC运行过程中不会被攻击者操纵,同时不会被注入恶意代码,提高PLC 运行的安全性。
嵌入式即嵌入式系统,IEEE(美国电气和电子工程师协会)对其定义是用于控制、监视或者辅助操作机器和设备的装置。发明人经过研究,在用户和嵌入式之间使用安全可信通道建立连接,嵌入式和PLC之间使用TCP/IP进行连接,在用户和PLC之间以嵌入式为桥梁。在用户接入PLC 之前验证相应的指标来判定该用户是否有权限去连接该PLC,在PLC运行过程中实时监视关键变量数据,并在最后对用户判定指标进行更新。利用安全可信技术,可以对PLC进行安全保护,可通过计算用户的可信度,并根据其不同的结果进行不同的授权,同时能够对用户在使用过程中的操作进行评估,以保证过程的安全可信,这对于涉及到PLC的应用场景来说是非常重要的技术。
对PLC攻击的手段和方式非常多,发明人把PLC受到攻击的情况分为一下三种:
第一种,恶意代码的注入,即在PLC启动主程序之前或运行过程中将本不属于该程序的恶意代码注入。恶意代码被注入后,一方面会使原本正常的主程序出现异常,另一方面会恶意的调用模块对运行过程进行破坏,甚至会造成设备的损坏以造成难以估量的损失。
第二种,篡改数据,即将PLC运行过程中获取到的数据或需要发送的下位机的数据进行篡改。数据被篡改后,一方面会使得操作人员或监视者得到错误的数据,从而对运行过程中的具体情况做出错误的判断,另一方面会使得终端设备得到错误的信息,从而做出错误的应答。
第三种,利用互连进行攻击,即在工业互联网中运行的多个PLC,通过攻击并操纵某个PLC来完成对其余PLC的攻击。互连攻击后,不仅首先被攻击的PLC会产生错误,而且会影响连接在整个工业互联网中的PLC 受到安全威胁。
发明人发现,针对第一种攻击来说,若在PLC执行程序代码之前监测出原程序代码的逻辑关系已经被更改,则停止执行后续的程序代码,将有效的解决恶意代码注入的问题;针对第二种攻击来说,若在PLC执行程序的过程中不断的对其所产生的重要数据进行判断,确定其是否在一个正常的范围或是否为某一个唯一确定变量数据,将有效的解决PLC运行过程中篡改数据的问题。针对第三种攻击来说,如果将某一PLC与另一PLC之间互连过程中监测前一个PLC是否被恶意代码注入过,或者监测该PLC 是否仍然可信,将有效的解决利用互连进行攻击问题。
发明人通过深入研究,在用户运行PLC程序代码之前通过满意度和信誉两项指标来验证该用户的身份,并在运行过程中监视用户的行为,同时对PLC程序代码运行过程中产生的关键变量数据进行监视,提高了PLC 运行的安全性。
本发明的一个实施例中,提供了一种基于嵌入式的PLC安全可信系统,包括:
验证用户模块,根据验证指标对用户身份进行验证;
设置约定模块,向用户提出约定,并在用户同意约定后获取用户关键身份信息;
程序预编译模块,对首次在PLC上运行的程序代码进行预编译,获取程序代码的关键信息;
异常数据分析模块,对采集到的数据进行分析,判断是否为异常关键变量数据;
异常数据集模块,存储异常关键变量数据;
用户反馈模块,对用户身份进行重新评估,用于下次用户身份验证;
响应于用户接入PLC的请求,验证用户模块对用户进行验证,如通过验证,程序预编译模块对首次在PLC上执行的程序代码进行预编译,否则,设置约定模块向用户提出约定,用户同意约定后,程序预编译模块对首次在PLC上执行的程序代码进行预编译;异常数据分析模块对采集到的数据进行分析,产生的异常关键变量数据在异常数据集模块进行存储;用户反馈模块根据预编译的结果和异常关键变量数据,对用户身份进行重新评估,修改验证用户模块中的验证指标。
可选地,在上述实施例中的基于嵌入式的PLC安全可信系统中,验证指标包括满意度和信誉。
可选地,在上述任一实施例中的基于嵌入式的PLC安全可信系统中,约定的内容为获取用户的关键身份信息。
可选地,在上述任一实施例中的基于嵌入式的PLC安全可信系统中,程序代码的关键信息生成哈希值,存储在嵌入式,生成程度代码的预编译库。
可选地,在上述任一实施例中的基于嵌入式的PLC安全可信系统中,程序代码的关键信息包括关键逻辑关系、模块调用顺序关系、范围变量数据和唯一确定变量数据。
可选地,在上述任一实施例中的基于嵌入式的PLC安全可信系统中,异常数据分析模块的功能包括把异常关键变量数据存储到异常数据集;把即将执行的程序代码的关键逻辑关系和模块调用顺序关系同预编译库进行对比,对比结果不一致时,用户的信誉置为零,即Tuser=0,终止用户访问;把即将执行的程序代码产生的范围变量数据和唯一确定变量数据同预编译库进行对比,根据对比结果通过函数对满意度进行修改。
进一步地,在上述实施例中的基于嵌入式的PLC安全可信系统中,满意度进行修改的函数为S’user=Suser+a*ebx,其中,Suser为当前用户的对满意度,x为程序代码从运行开始到当前时刻产生的异常关键变量数据个数,即超出正常范围的范围变量数据或不正确的唯一确定变量数据, S’user为更新后的满意度,a,b为拟定函数参数。
进一步地,在上述实施例中的基于嵌入式的PLC安全可信系统中,a,b分别优选为-2.432和0.3684。
可选地,在上述任一实施例中的基于嵌入式的PLC安全可信系统中,异常数据集具有固定的预设长度。
可选地,在上述任一实施例中的基于嵌入式的PLC安全可信系统中,在设置约定模块,若用户同意约定,设置该用户的初始满意度 Suserinit=100,初始信誉Tuserinit=1。
基于上述任一实施例,本发明的另一个实施例中,提供了一种基于嵌入式的PLC安全可信方法,包括如下步骤:
S100、初始化,包括程序代码预编译和异常数据集初始化;
S200、建立可信验证通道;
S300、设置约定;
S400、运行程序代码和预编译代码对比;
S500、实时监测,对于运行程序代码在运行过程中产生的关键信息进行监测;
S600、信息绑定,程序代码运行结束后,把用户最终的满意度和信誉与其关键身份信息绑定。
可选地,在上述实施例中的基于嵌入式的PLC安全可信方法中,步骤 S100中包括:
S110、程序代码预编译,响应于PLC第一次运行程序代码,调用程序预编译模块将该程序代码进行预编译,并提取关键信息,包括关键逻辑关系、模块调用顺序关系、范围变量数据和唯一确定变量数据,并生成哈希值存储在嵌入式中,生成该程序代码的预编译库;
S120、异常数据集初始化,异常数据集模块设置异常数据集的长度,即异常数据集最多存放异常关键变量数据的数量。
可选地,在上述任一实施例中的基于嵌入式的PLC安全可信方法中,步骤S200中包括:
S210、找到可信验证通道的两个端点,验证用户模块对用户进行端点验证,验证是否符合建立可信验证通道的标准;
S220、如果所述用户与PLC产生过交互,存在满意度和信誉两项指标的值,且符合预设的标准,则在嵌入式里查找所述用户的满意度和信誉,作为数据段添加在所述用户关键身份信息之后,生成哈希值,与上一次交互结束所述用户存储在所述嵌入式的哈希值进行对比,若哈希值一致则使用满意度和信誉作为本次交互的初始满意度和信誉,允许所述用户与PLC 进行交互,所述嵌入式建立会话密钥,使用RSA公开密钥密码来建立可信验证通道,然后执行步骤S400;
S230、如果满意度和信誉至少有一个不符合预设的标准,则所述嵌入式不创建会话密钥,不建立所可信验证通道,拒绝所述用户的访问;
S240、如果所述用户不包含满意度和信誉,则建立可信验证通道,并进入设置约定模块,执行步骤S300。
进一步地,在上述实施例中的基于嵌入式的PLC安全可信方法中,预设的标准为满意度大于零且信誉为1。
进一步地,在上述实施例中的基于嵌入式的PLC安全可信方法中,建立可信验证通道的方法使用RSA公开密钥密码。
可选地,在上述任一实施例中的基于嵌入式的PLC安全可信方法中,步骤S300中包括:
S310、设置约定模块发送给该用户获取关键身份信息的请求;
S320、如果该用户不同意约定,摧毁会话密钥,拒绝该用户的访问;若该用户同意约定,允许该用户与PLC进行交互,执行步骤S400。
可选地,在上述任一实施例中的基于嵌入式的PLC安全可信方法中,步骤S400中包括:
S410、程序代码在PLC运行前,程序预编译模块对该程序代码进行编译,提取其关键信息,与程序预编译模块中的预编译库代码的关键信息进行对比,如果完全一致,继续运行程序代码,执行步骤S500;
S420、如果不一致,则调用用户反馈模块标记该用户的信誉Tuser=0,并中断该用户的访问。
可选地,在上述任一实施例中的基于嵌入式的PLC安全可信方法中,步骤S500中包括:
S510、异常数据分析模块对于运行程序代码在运行过程中产生的关键信息实时监测,并与预编译库中的关键信息进行对比,如果不一致,将运行过程中PLC产生的关键信息复制至异常数据集,并将其修改为正常数据,用户反馈模块对该用户的满意度进行修改,继续运行程序代码的运行;
S520、如果运行程序代码在运行过程中,产生并修改的关键信息的数量超过了异常数据集的预设长度,用户反馈模块中断该用户的访问,并中止运行程序代码,标记该用户的信誉Tuser=0;
S530、若在运行程序代码结束时运行过程中PLC产生的关键信息的数量没有超过异常数据集的预设长度,执行步骤S600。
可选地,在上述任一实施例中的基于嵌入式的PLC安全可信方法中,步骤S600中包括:
S610、运行程序代码运行结束后,把该用户的关键信息以数据段的形式表示,在数据段末尾添加满意度和信誉的数据信息,并将其通过哈希算法生成的哈希值存储在嵌入式中,同时将生成哈希值的原始数据存储进去;
S620、响应于该用户与PLC再次交互,若该用户关键身份信息已存在,验证用户模块对该身份的满意度和信誉再次生成哈希值,同以前存储在嵌入式的哈希值进行对比,若一致,则使用存储在嵌入式的满意度和信誉进行验证;若不一致,则删除该用户存储在嵌入式的哈希值和满意度、信誉数据,并以无相关信息的情况调用嵌入式中的验证用户模块。
本发明解决了PLC攻击的三种情况,对于第一种攻击,本发明在用户执行程序代码之前对该用户所要运行程序代码的关键逻辑关系和模块调用顺序关系与该用户与此PLC交互之前的程序预编译模块中的预编译库进行对比,当关键逻辑关系和模块调用顺序关系均一致时才会允许用户运行程序代码,有效的解决了恶意代码的注入造成的问题;对于第二种攻击,程序执行过程中产生的异常关键变量数据被捕获并复制至异常数据集中,同时对异常关键变量数据进行修正,并修改该用户的满意度,当异常关键变量数据的个数超过异常数据集的预设长度时,中止该用户与PLC进行交互,并标记信誉为零,实时监测满意度与信誉指标是否仍符合预设的标准,有效地解决了PLC运行过程中对正常数据的篡改问题;对于第三种攻击,本发明搭建在PLC的接入口,以零信任的方式去防护互连的PLC,解决了利用互连进行的攻击。
本发明通过满意度和信誉两项指标来验证用户的身份,并在运行过程中监视用户的行为,同时对PLC程序代码运行过程中产生的关键信息进行监测,提高了PLC运行的安全性。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是图示根据示例性实施例的嵌入式的PLC安全可信系统的结构示意图;
图2是图示根据示例性实施例的嵌入式的PLC安全可信方法的流程图。
具体实施方式
以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
在附图中,结构相同的部件以相同数字标号表示,各处结构或功能相似的组件以相似数字标号表示。附图所示的每一组件的尺寸和厚度是任意示出的,本发明并没有限定每个组件的尺寸和厚度。为了使图示更清晰,附图中有些地方示意性地适当夸大了部件的厚度。
发明人设计了一种基于嵌入式的PLC安全可信系统,如图1所示,包括:
验证用户模块,根据验证指标对用户身份进行验证,验证指标包括满意度和信誉;
设置约定模块,向用户提出约定,约定的内容为获取用户的关键身份信息,并在用户同意约定后获取用户关键身份信息,若用户同意约定,设置该用户的初始满意度Suserinit=100,初始信誉Tuserinit=1;
程序预编译模块,对首次在PLC上运行的程序代码进行预编译,获取程序代码的关键信息,包括关键逻辑关系、模块调用顺序关系、范围变量数据和唯一确定变量数据,程序代码的关键信息生成哈希值,存储在嵌入式,生成为程度代码的预编译库;
异常数据分析模块,对采集到的数据进行分析,判断是否为异常关键变量数据,包括把异常关键变量数据存储到异常数据集;把即将执行的程序代码的关键逻辑关系和模块调用顺序关系同预编译库进行对比,对比结果不一致时,用户的信誉置为零,即Tuser=0,终止用户访问;把即将执行的程序代码产生的范围变量数据和唯一确定变量数据同预编译库进行对比,根据对比结果通过函数对满意度进行修改,函数为 S’user=Suser+a*ebx,其中,Suser为当前用户的满意度,x为程序代码从运行开始到当前时刻产生的异常关键变量数据个数,即超出正常范围的范围变量数据或不正确的唯一确定变量数据,S’user为更新后的满意度, a,b为拟定函数参数,分别优选为-2.432和0.3684;
异常数据集模块,存储异常关键变量数据,异常数据集具有预设的长度;
用户反馈模块,对用户身份进行重新评估,用于下次用户身份验证;
响应于用户接入PLC的请求,验证用户模块对用户进行验证,如通过验证,程序预编译模块对首次在PLC上执行的程序代码进行预编译,否则,设置约定模块向用户提出约定,用户同意约定后,程序预编译模块对首次在PLC上执行的程序代码进行预编译;异常数据分析模块对采集到的数据进行分析,产生的异常关键变量数据在异常数据集模块进行存储;用户反馈模块根据预编译的结果和异常关键变量数据,对用户身份进行重新评估,修改验证用户模块中的验证指标。
基于上述实施例,发明人提供了一种基于嵌入式的PLC安全可信方法,如图2所示,包括如下步骤:
S100、初始化,包括程序代码预编译和异常数据集初始化;具体包括:
S110、程序代码预编译,响应于PLC第一次运行程序代码,调用程序预编译模块将该程序代码进行预编译,并提取关键信息,包括关键逻辑关系、模块调用顺序关系、范围变量数据和唯一确定变量数据,并生成哈希值存储在嵌入式中,生成该程序代码的预编译库;
S120、异常数据集初始化,异常数据集模块设置异常数据集的长度,即异常数据集最多存放异常关键变量数据的数量。
S200、建立可信验证通道;具体包括:
S210、找到可信验证通道的两个端点,验证用户模块对用户进行端点验证,验证是否符合建立可信验证通道的标准;
S220、如果所述用户与PLC产生过交互,存在满意度和信誉两项指标的值,且符合预设的标准,则在嵌入式里查找所述用户的满意度和信誉,作为数据段添加在所述用户关键身份信息之后,生成哈希值,与上一次交互结束所述用户存储在所述嵌入式的哈希值进行对比,若哈希值一致则使用满意度和信誉作为本次交互的初始满意度和信誉,允许所述用户与PLC进行交互,所述嵌入式建立会话密钥,使用 RSA公开密钥密码来建立可信验证通道,然后执行步骤S400;
S230、如果满意度和信誉至少有一个不符合预设的标准,则所述嵌入式不创建会话密钥,不建立所述可信验证通道,拒绝所述用户的访问;
S240、如果所述用户不包含满意度和信誉,使用RSA公开密钥密码建立可信验证通道,并进入设置约定模块,执行步骤S300。
S300、设置约定;具体包括:
S310、设置约定模块发送给该用户获取关键身份信息的请求;
S320、如果该用户不同意约定,摧毁会话密钥,拒绝该用户的访问;若该用户同意约定,允许该用户与PLC进行交互,执行步骤S400。
步骤S400、运行程序代码和预编译代码对比;具体包括:
S410、程序代码在PLC运行前,程序预编译模块对该程序代码进行编译,提取其关键信息,与程序预编译模块中的预编译库代码的关键信息进行对比,如果完全一致,继续运行程序代码,执行步骤S500;
S420、如果不一致,则调用用户反馈模块标记该用户的信誉 Tuser=0,并中断该用户的访问。
S500、实时监测,对于运行程序代码在运行过程中产生的关键信息进行监测;具体包括:
S510、异常数据分析模块对于运行程序代码在运行过程中产生的关键信息实时监测,并与预编译库中的关键信息进行对比,如果不一致,将关键信息复制至异常数据集,并将其修改为正常数据,用户反馈模块对该用户的满意度进行修改,继续运行程序代码的运行;
S520、如果运行程序代码在运行过程中,产生并修改的关键信息的数量超过了异常数据集的预设长度,用户反馈模块中断该用户的访问,并中止运行程序代码,标记该用户的信誉Tuser=0;
S530、若在运行程序代码结束时异常数据集的长度没有超过异常数据集的预设长度,执行步骤S600。
S600、信息绑定,程序代码运行结束后,把用户最终的满意度和信誉与其关键身份信息绑定;具体包括:
S610、程序代码运行结束后,把该用户的关键信息以数据段的形式表示,在数据段末尾添加满意度和信誉的数据信息,并将其通过哈希算法生成的哈希值存储在嵌入式,同时将生成哈希值的原始数据存储进去;
S620、响应于该用户与PLC再次交互,若该用户关键身份信息已存在,验证用户模块对该身份的满意度和信誉再次生成哈希值,同以前存储在嵌入式的哈希值进行对比,若一致,则使用该满意度和信誉进行验证;若不一致,则删除该用户的哈希值和满意度、信誉数据,
并以无相关信息的情况调用嵌入式中的验证用户模块。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (6)

1.一种基于嵌入式的PLC安全可信系统,其特征在于,包括:
验证用户模块,根据验证指标对用户身份进行验证,所述验证指标包括满意度和信誉;
设置约定模块,向用户提出约定,并在所述用户同意约定后获取用户关键身份信息;
程序预编译模块,对首次在PLC上运行的程序代码进行预编译,获取所述程序代码的关键信息,所述程序代码的关键信息生成哈希值,存储在嵌入式,生成程度代码的预编译库,所述程序代码的关键信息包括关键逻辑关系、模块调用顺序关系、范围变量数据和唯一确定变量数据;
异常数据分析模块,对采集到的数据进行分析,判断是否为异常关键变量数据;所述异常数据分析模块的功能包括把所述异常关键变量数据存储到所述异常数据集;把即将执行的程序代码的关键逻辑关系和模块调用顺序关系同所述预编译库进行对比,对比结果不一致时,用户的信誉置为零,终止用户访问;把即将执行的程序代码产生的范围变量数据和唯一确定变量数据同所述预编译库进行对比,根据对比结果通过函数对满意度进行修改;
异常数据集模块,存储所述异常关键变量数据;
用户反馈模块,对用户身份进行重新评估,用于下次用户身份验证;
响应于所述用户接入PLC的请求,所述验证用户模块对所述用户进行验证,如通过验证,所述程序预编译模块对首次在PLC上执行的程序代码进行预编译,否则,所述设置约定模块向所述用户提出约定,所述用户同意约定后,所述程序预编译模块对首次在PLC上执行的程序代码进行预编译;所述异常数据分析模块对采集到的数据进行分析,产生的异常关键变量数据在所述异常数据集模块进行存储;所述用户反馈模块根据预编译的结果和所述异常关键变量数据,对所述用户身份进行重新评估,修改所述验证用户模块中的所述验证指标。
2.如权利要求1所述的基于嵌入式的PLC安全可信系统,其特征在于,所述函数为
3.一种使用如权利要求1所述的基于嵌入式的PLC安全可信系统的基于嵌入式的PLC安全可信方法,其特征在于,包括如下步骤:
S100、初始化,包括程序代码预编译和异常数据集初始化;
S200、建立可信验证通道;
S300、设置约定;
S400、运行程序代码和预编译代码对比;
S500、实时监测,对于所述运行程序代码在运行过程中产生的关键信息进行监测;
S600、信息绑定,所述运行程序代码运行结束后,把用户最终的满意度和信誉与其关键身份信息绑定。
4.如权利要求3所述的基于嵌入式的PLC安全可信方法,其特征在于,所述步骤S200包括:
S210、找到可信验证通道的两个端点,所述验证用户模块对用户进行端点验证,验证是否符合建立所述可信验证通道的标准;
S220、如果所述用户与PLC产生过交互,存在满意度和信誉两项指标的值,且符合预设的标准,则在嵌入式里查找所述用户的满意度和信誉,作为数据段添加在所述用户关键身份信息之后,生成哈希值,与上一次交互结束所述用户存储在所述嵌入式的哈希值进行对比,若哈希值一致则使用满意度和信誉作为本次交互的初始满意度和信誉,允许所述用户与PLC进行交互,所述嵌入式建立会话密钥,使用RSA公开密钥密码来建立所述可信验证通道,然后执行步骤S400;
S230、如果满意度和信誉至少有一个不符合所述预设的标准,则所述嵌入式不创建会话密钥,不建立所述可信验证通道,拒绝所述用户的访问;
S240、如果所述用户不包含满意度和信誉,则建立所述可信验证通道,并进入所述设置约定模块,执行步骤S300。
5.如权利要求3或4所述的基于嵌入式的PLC安全可信方法,其特征在于,所述步骤S500包括:
S510、所述异常数据分析模块对于所述运行程序代码在运行过程中产生的关键信息实时监测,并与所述预编译库中的关键信息进行对比,如果不一致,将关键信息复制至所述异常数据集,并将其修改为正常数据,所述用户反馈模块对所述用户的满意度进行修改,继续所述运行程序代码的运行;
S520、如果所述运行程序代码在运行过程中,产生并修改的所述关键信息的数量超过了所述异常数据集的预设长度,所述用户反馈模块中断所述用户的访问,并中止所述运行程序代码的运行,标记所述用户的信誉
S530、若在所述运行程序代码结束时异常数据集的长度没有超过异常数据集的预设长度,执行步骤S600。
6.如权利要求5所述的基于嵌入式的PLC安全可信方法,其特征在于,所述步骤S600包括:
S610、所述运行程序代码运行结束后,把所述用户的关键信息以数据段的形式表示,在所述数据段末尾添加满意度和信誉的数据信息,并把通过哈希算法生成的哈希值存储在所述嵌入式,同时将生成哈希值的原始数据存储进去;
S620、响应于所述用户与PLC再次交互,如果所述用户的关键身份信息已存在,所述验证用户模块对所述用户的满意度和信誉再次生成哈希值,同以前存储在所述嵌入式的哈希值进行对比,若一致,则使用该满意度和信誉进行验证;若不一致,则删除所述用户的哈希值和满意度、信誉数据,并以无相关信息的情况调用所述验证用户模块。
CN202111383025.0A 2021-11-22 2021-11-22 一种基于嵌入式的plc安全可信的系统和方法 Active CN114237144B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111383025.0A CN114237144B (zh) 2021-11-22 2021-11-22 一种基于嵌入式的plc安全可信的系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111383025.0A CN114237144B (zh) 2021-11-22 2021-11-22 一种基于嵌入式的plc安全可信的系统和方法

Publications (2)

Publication Number Publication Date
CN114237144A CN114237144A (zh) 2022-03-25
CN114237144B true CN114237144B (zh) 2024-04-02

Family

ID=80750244

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111383025.0A Active CN114237144B (zh) 2021-11-22 2021-11-22 一种基于嵌入式的plc安全可信的系统和方法

Country Status (1)

Country Link
CN (1) CN114237144B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116521784B (zh) * 2023-05-06 2023-10-10 广州银汉科技有限公司 基于u3d的可视化工作流框架生成方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330910A (zh) * 2016-08-25 2017-01-11 重庆邮电大学 车联网中基于节点身份和信誉的强隐私保护双重认证方法
CN106911814A (zh) * 2017-05-11 2017-06-30 成都四象联创科技有限公司 大规模数据分布式存储方法
US9811321B1 (en) * 2015-09-22 2017-11-07 Amazon Technologies, Inc. Script compilation
CN107665301A (zh) * 2016-07-28 2018-02-06 腾讯科技(深圳)有限公司 验证方法及装置
CN108292209A (zh) * 2016-01-20 2018-07-17 谷歌有限责任公司 选择性地提供缓存和当前编译的应用的方法和装置
CN108416212A (zh) * 2018-03-01 2018-08-17 腾讯科技(深圳)有限公司 应用程序识别方法和装置
CN112988508A (zh) * 2021-03-04 2021-06-18 浙江中控研究院有限公司 一种基于内存隔离的可信plc嵌入式系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8230406B2 (en) * 2006-09-11 2012-07-24 International Business Machines Corporation Compiler option consistency checking during incremental hardware design language compilation
DE102007062692A1 (de) * 2007-12-20 2009-07-02 Karl Hehl Verfahren zur interaktiven Steuerung einer Maschine
US20100281059A1 (en) * 2009-05-01 2010-11-04 Ebay Inc. Enhanced user profile
JP5942446B2 (ja) * 2012-02-01 2016-06-29 オムロン株式会社 サポート装置およびサポートプログラム
US9721086B2 (en) * 2013-03-15 2017-08-01 Advanced Elemental Technologies, Inc. Methods and systems for secure and reliable identity-based computing
US20150278824A1 (en) * 2014-04-01 2015-10-01 Verif-Y, Inc. Verification System
US10192043B2 (en) * 2016-04-19 2019-01-29 ProctorU Inc. Identity verification
US10459889B2 (en) * 2017-06-06 2019-10-29 Sap Se Multi-user database execution plan caching

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9811321B1 (en) * 2015-09-22 2017-11-07 Amazon Technologies, Inc. Script compilation
CN108292209A (zh) * 2016-01-20 2018-07-17 谷歌有限责任公司 选择性地提供缓存和当前编译的应用的方法和装置
CN107665301A (zh) * 2016-07-28 2018-02-06 腾讯科技(深圳)有限公司 验证方法及装置
CN106330910A (zh) * 2016-08-25 2017-01-11 重庆邮电大学 车联网中基于节点身份和信誉的强隐私保护双重认证方法
CN106911814A (zh) * 2017-05-11 2017-06-30 成都四象联创科技有限公司 大规模数据分布式存储方法
CN108416212A (zh) * 2018-03-01 2018-08-17 腾讯科技(深圳)有限公司 应用程序识别方法和装置
CN112988508A (zh) * 2021-03-04 2021-06-18 浙江中控研究院有限公司 一种基于内存隔离的可信plc嵌入式系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王玉标.基于动态信任建模的云服务可信性评估与选择研究.《中国博士学位论文电子期刊网》.2019,I139-6. *
面向源代码的软件漏洞静态检测综述;李珍 等;《网络与信息安全学报》;20190215;1-14 *

Also Published As

Publication number Publication date
CN114237144A (zh) 2022-03-25

Similar Documents

Publication Publication Date Title
EP1414215A2 (en) System and methodology providing automation security protocols and intrusion detection in an industrial controller environment
CN114237144B (zh) 一种基于嵌入式的plc安全可信的系统和方法
US20150067342A1 (en) Systems and methods for executing compliance verification or remediation scripts
CN111400723A (zh) 基于tee扩展的操作系统内核强制访问控制方法及系统
KR101089157B1 (ko) 클라이언트 가상화를 이용한 서버의 논리적 망분리 시스템 및 방법
CN112015111B (zh) 基于主动免疫机理的工业控制设备安全防护系统和方法
CN114281068A (zh) 无人设备远程接管系统、方法、装置、设备及存储介质
CN114095228A (zh) 基于区块链和边缘计算的物联网数据安全存取方法、系统、装置及存储介质
CN111104655B (zh) 一种bmc登录方法及相关装置
CN111353150B (zh) 一种可信启动方法、装置、电子设备及可读存储介质
CN117032831A (zh) 一种可信dcs上位机系统、其启动方法及软件启动方法
CN115086081B (zh) 一种蜜罐防逃逸方法及系统
CN114297659B (zh) 一种基于形式化验证的嵌入式设备安全启动方案设计方法
CN115981274A (zh) 一种工业控制系统的安全保护系统
CN113162936B (zh) 一种防止异常动态分析的方法和系统
KR20190038018A (ko) 프로그램 변조 방어 장치 및 방법
KR20090081200A (ko) 인터넷 사이트 보안 시스템 및 그 방법
CN115102731A (zh) 一种基于工业物联网设备身份认证的安全交互方法
CN114764347A (zh) 一种多核控制器的程序校验系统、校验方法及存储介质
CN113259376A (zh) 一种基于区块链的物联网设备的控制方法
CN112733091A (zh) 一种应用程序访问外接设备的控制方法及装置
CN117240611B (zh) 一种基于人工智能的plc信息安全保护系统和方法
WO2024060696A1 (zh) 一种基于tee的智能家居远程控制方法及相关装置
WO2020210983A1 (zh) 一种软件程序运行检查方法、电子设备及存储介质
KR100421874B1 (ko) 차세대 단말기 보안 방법

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