CN115328518A - 一种支持状态回退的工控系统软件安全升级方法 - Google Patents

一种支持状态回退的工控系统软件安全升级方法 Download PDF

Info

Publication number
CN115328518A
CN115328518A CN202211007929.8A CN202211007929A CN115328518A CN 115328518 A CN115328518 A CN 115328518A CN 202211007929 A CN202211007929 A CN 202211007929A CN 115328518 A CN115328518 A CN 115328518A
Authority
CN
China
Prior art keywords
partition
upgrading
industrial control
control system
backup
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
Application number
CN202211007929.8A
Other languages
English (en)
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.)
Seatech Beijing Co ltd
Zhongjing Tianyu Technology Hangzhou Co ltd
Original Assignee
Seatech Beijing Co ltd
Zhongjing Tianyu Technology Hangzhou Co ltd
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 Seatech Beijing Co ltd, Zhongjing Tianyu Technology Hangzhou Co ltd filed Critical Seatech Beijing Co ltd
Priority to CN202211007929.8A priority Critical patent/CN115328518A/zh
Publication of CN115328518A publication Critical patent/CN115328518A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明涉及一种支持状态回退的工控系统软件安全升级方法。本发明工控系统包括工作分区和工作分区;接受到来自升级服务器的升级指令,下载对应升级文件,对升级文件进行消息摘要和数字签名验证之后,在备份分区安装升级,并同步当前系统的相关业务数据;然后,修改启动参数,设置备份分区为活动分区;重启工控系统,若新系统成功启动,则下次启动加载备份分区;若不能启动且重启次数未超过规定值,则继续重启;若重启次数超过规定值,则升级失败,系统重启加载工作分区,回退到升级前系统状态。本发明采用双系统分区的方式,在升级失败时支持系统回退到升级前的正常工作状态;能在较短时间内解决工控系统在软件升级过程中可能产生的各类异常问题。

Description

一种支持状态回退的工控系统软件安全升级方法
技术领域
本发明属于工控系统软件保护技术领域,涉及一种支持状态回退的工控系统软件安全升级方法。
背景技术
工控系统的软件升级,是修复系统漏洞、实现系统功能更新的重要手段,也关系到工业生产能否正常进行,所以工控系统软件升级的安全问题是一个广泛受到关注的问题。
由于工控系统运行的软硬件环境比较复杂,在升级过程中,往往会遇到不同原因导致升级失败,进而导致软件崩溃、工控系统无法正常运行的现象,在面对大量工控系统的升级维护时,排查不同的原因并修复是一项费时费力的工作,往往会影响到用户的生产时效。为了保障以较短时间恢复正常生产,工控系统在软件升级之后出现各类异常时,需要提供可回退到升级之前正常工作状态的功能。
发明内容
本发明的目的就是提供一种支持状态回退的工控系统软件安全升级方法,采用双系统分区的方式避免了因升级造成的系统无法工作问题,同时通过对升级文件包中的消息摘要、消息摘要的数字签名进行验证,以保证升级文件传输过程中的完整性、升级文件的来源可靠性。将工控系统工作分区的设备端配置数据、设备端缓存数据、待处理数据等相关业务数据同步至备份区的对应目录,再将工控系统切换到备份分区,以保证工控系统业务的连续性。用于解决工控系统在软件升级过程中可能产生的升级不成功、或者因升级带来的各类异常问题,使得工控系统能在较短时间内恢复正常工作。
本发明具体包括如下步骤:
步骤1、工控系统设置两个系统分区,选取其中一个作为工作分区,另一个为备份分区;每个系统分区包括一套系统内核和根文件系统,由启动参数决定bootloader启动之后加载哪个系统分区。系统出厂时,两个系统分区的系统内核和根文件系统相同,选取其中一个作为正常运行的工作分区,则另一个为备份分区。
步骤2、工控系统接受到来自升级服务器推送的升级指令,到指定位置下载对应的升级文件;
步骤3、对下载到的升级文件进行安全验证,若升级文件通过安全验证,则使用该升级文件在备份分区升级;
步骤4、将工作分区的相关业务数据同步至备份区;
步骤5、修改启动参数,设置备份分区为活动分区;
步骤6、重启工控系统,若新系统成功启动,则下次启动加载备份分区;若不能启动且重启次数未超过规定值,则再次重启工控系统,重启次数加1;若重启次数超过规定值,则升级失败,系统重启加载工作分区,回退到升级前系统状态。
所述的步骤2工控系统接受到来自升级服务器推送的升级指令,根据升级策略,升级服务器向工控系统定期(常规升级)或者不定期(紧急升级)地推送升级指令。根据升级指令工控系统到升级服务器下载指定的升级文件。将下载到的升级文件,写入备份分区,并完成升级工作。
所述步骤3对下载到的升级文件包进行安全验证,对升级文件包中的消息摘要、消息摘要的数字签名进行验证。对消息摘要验证保证升级文件传输过程中的完整性,对数字签名验证保证升级文件来源的可靠性。如果通过安全验证,在备份分区安装该升级文件。
所述步骤4将工作分区的相关业务数据同步至备份区,在备份分区安装该升级文件之后,将工控系统工作分区的设备端配置数据、设备端缓存数据、待处理数据等相关业务数据同步至备份区的对应目录,并停止工作分区当前业务的运行。
所述步骤5设置工控系统在不同工作场景下的启动参数设置,active、bootable、successful参数分别代表当前是否为活动分区、是否可启动、是否可成功启动。此时工作场景进入升级重启,将备份分区的active、bootable、successful参数设置为“是、是、否”,工作分区的active、bootable、successful参数设置为“否、是、是”。
根据参数设置重新启动,bootloader将加载备份分区的系统内核和根文件系统。
若新系统成功启动,则下次启动加载备份分区。工控系统成功启动,将备份分区的active、bootable、successful参数设置为“是、是、是”,工作分区的active、bootable、successful参数设置为“否、是、是”。系统启动参数中还包括标记系统启动次数的rebootcount和当前启动次数rebootno两个参数,系统启动成功后将rebootno置为0,并将原备份分区作为工作分区,原工作分区作为备份分区,后续系统再启动,将从新的工作分区加载系统内核和根文件系统。
若不能启动且重启次数未超过规定值,则返回步骤6。系统加载备份分区启动时,设置若干次(记为N,如3次)重启的机会,系统启动不成功但重启次数不超过N时,重启备份分区。
若重启次数超过规定值,则升级失败,系统重启加载工作分区,回退到升级前系统状态。系统加载备份分区启动时,若系统启动不成功并且重启次数已超过N时,此次系统升级失败,将备份分区的active、bootable、successful参数设置为“否、否、否”,工作分区的active、bootable、successful参数设置为“是、是、是”,重启加载工作分区,工控系统回退到升级前的正常工作状态。
本发明通过上述基于linux的工控系统双系统保护升级方法,在升级失败时支持系统回退到升级前的正常工作状态。能够在系统升级出现各种异常情况时,做到快速恢复,无需等待维修人员到现场排查解决、或者设备返厂维修的时间,降低工控系统因软件升级失败对生产时效带来的不利影响。
附图说明
图1为本发明双系统分区结构图;
图2为本发明整体流程图;
图3为本发明升级包结构图;
图4为本发明工控系统在不同工作场景下的关键启动参数设置。
具体实施方式
下面根据附图举例对本发明做进一步解释,本发明基于linux系统实现。
如图1所示,linux系统包括bootloader、linux内核(linux kernel)、根文件系统(rootfile)、,为了支持状态回退,在工控系统增加了一个系统分区。
支持状态回退的工控系统设置有系统分区1和系统分区2两个系统分区,两个系统分区均包括一套系统内核和根文件系统,由启动参数决定bootloader启动之后加载哪个系统分区。系统出厂时,两个系统分区的系统内核和根文件系统相同。
如图2所示,一种支持状态回退的工控系统软件安全升级方法,具体包括如下步骤:
步骤1、设置两个系统分区,选取其中一个作为工作分区,另一个为备份分区;本实施例中,以系统分区1作为工作分区为例,另一个系统分区2为备份分区,正常工作时系统在工作分区运行。
步骤2、系统接受到来自升级服务器推送的升级指令;工控系统的升级服务器出于方便可直接部署在公网上,出于安全考虑,也可以将升级服务器部署在隔离网络的内部,为便于描述,这里不加区分,统称为升级服务器。根据升级策略,升级服务器向工控系统定期(如常规例行升级)或者不定期(如紧急升级)地推送升级指令。
到指定位置下载对应的升级文件;工控系统按照收到的升级指令的紧急程度和升级策略,如立即下载、或者空闲时下载,下载部分补丁文件、还是下载全部更新文件,到升级服务器指定的位置下载相应的升级文件。
步骤3、对下载到的升级文件包进行安全验证。如图3所示,升级文件包由升级文件F、对升级文件F的国密算法SM3消息摘要H(256位)、利用升级服务端国密SM2私钥对H生成的数字签名S(512位)组成。对升级文件包中的消息摘要H、消息摘要的数字签名S进行验证,对消息摘要验证保证升级文件传输过程中的完整性,对数字签名验证保证升级文件来源的可靠性。如果通过安全验证,在备份分区安装该升级文件。本实施例中,当前活动分区为系统分区1,作为工作分区,那么系统分区2作为备份分区。并完成相应的安装配置等升级工作。
步骤4、将工作分区的相关业务数据同步至备份区,在备份分区安装该升级文件之后,将工控系统工作分区的设备端配置数据、设备端缓存数据、待处理数据等相关业务数据同步至备份区的对应目录,并停止工作分区当前业务的运行。
步骤5、修改启动参数,设置备份分区为活动分区;如图4所示,工控系统在不同工作场景下的关键启动参数设置,active、bootable、successful参数分别代表当前分区是否为活动分区、是否可启动、是否可成功启动。此时对应图4中的工作场景为“升级重启”,将备份分区的active、bootable、successful参数分别设置为“是、是、否”,工作分区的active、bootable、successful参数分别设置为“否、是、是”。
步骤6、重启工控系统;工控系统根据“升级重启”工作场景的参数设置重新启动,此时备份分区为活动分区(active参数设置为“是”),bootloader启动后将加载备份分区的系统内核和根文件系统。
若新系统成功启动,则修改系统启动参数(下次启动原备份分区,将原备份分区2作为下次启动的“工作分区”);工控系统成功启动,根据图4中的参数设置,将当前活动分区(原为备份分区,系统分区2)标记为工作分区,并将其active、bootable、successful参数设置为“是、是、是”,当前非活动分区(原为工作分区,系统分区1)标记为备份分区,并将其active、bootable、successful参数设置为“否、是、是”。后续系统启动将从设置为活动分区的系统分区2(已标记为新的工作分区),加载系统内核和根文件系统。系统启动参数中还包括标记系统启动失败后允许尝试重启次数的rebootcount,和标记当前为启动失败后第几次重启的rebootno两个参数,参数rebootcount的值N代表加载备份分区启动失败后,允许尝试重启的最大次数(如N=3,代表重启失败后允许最多3次尝试重启),rebootno代表当前为第几次重启。系统启动失败一次,则rebootno的值加1,系统启动成功后将rebootno置为0。
若不能启动且重启次数未超过规定值,则继续尝试重启升级系统,重启次数加1;系统加载备份分区(系统分区2)启动时,如果当前重启次数rebootno的值,小于参数rebootcount设置的启动失败后允许尝试重启的最大次数值N,那么尝试重启备份分区(系统分区2)。
若重启次数超过规定值,则升级失败,系统重启加载工作分区,回退到升级前系统状态。
系统加载备份分区(系统分区2)启动时,若系统启动不成功并且重启次数rebootno的值已超过参数rebootcount设置的启动失败后允许尝试重启的最大次数值N,将不再允许重启尝试,代表此次系统升级失败,将备份分区(系统分区2)的active、bootable、successful参数设置为“否、否、否”,工作分区(系统分区1)的active、bootable、successful参数设置为“是、是、是”,系统重启将加载工作分区(系统分区1),工控系统回退到升级前的正常工作状态。

Claims (8)

1.一种支持状态回退的工控系统软件安全升级方法,其特征在于:具体包括如下步骤:
步骤1、工控系统设置两个系统分区,选取其中一个作为工作分区,另一个为备份分区;每个系统分区包括一套系统内核和根文件系统;
步骤2、工控系统接受到来自升级服务器推送的升级指令,通过到指定位置下载对应的升级文件;
步骤3、对下载到的升级文件进行安全验证,若升级文件通过安全验证,则使用该升级文件在备份分区升级;
步骤4、将工作分区的相关业务数据同步至备份区;
步骤5、修改启动参数,设置备份分区为活动分区;
步骤6、重启工控系统,若新系统成功启动,则下次启动加载备份分区;若不能启动且重启次数未超过规定值,则再次重启工控系统,重启次数加1;若重启次数超过规定值,则升级失败,系统重启加载工作分区,回退到升级前系统状态。
2.如权利要求1所述的一种支持状态回退的工控系统软件安全升级方法,其特征在于:步骤2所述升级服务器向工控系统定期或者不定期地推送升级指令。
3.如权利要求1所述的一种支持状态回退的工控系统软件安全升级方法,其特征在于:所述步骤3对下载到的升级文件包进行安全验证,对升级文件包中的消息摘要、消息摘要的数字签名进行验证;对消息摘要验证保证升级文件传输过程中的完整性,对数字签名验证保证升级文件的来源可靠性;如果通过安全验证,在备份分区安装该升级文件。
4.如权利要求1所述的一种支持状态回退的工控系统软件安全升级方法,其特征在于:所述步骤4将工作分区的相关业务数据同步至备份区,在备份分区安装该升级文件之后,将工控系统工作分区的相关业务数据同步至备份区的对应目录,并停止工作分区当前业务的运行。
5.如权利要求1所述的一种支持状态回退的工控系统软件安全升级方法,其特征在于:所述步骤5设置工控系统在不同工作场景下的启动参数设置,active、bootable、successful参数分别代表当前是否为活动分区、是否可启动、是否可成功启动。
6.如权利要求1所述的一种支持状态回退的工控系统软件安全升级方法,其特征在于:所述步骤6若新系统成功启动,则下次启动加载备份分区;工控系统成功启动,将备份分区的active、bootable、successful参数设置为“是、是、是”,工作分区的active、bootable、successful参数设置为“否、是、是”;系统启动成功后将当前启动次数rebootno置为0,并将原备份分区作为工作分区,原工作分区作为备份分区,后续系统再启动,将从新的工作分区加载系统内核和根文件系统。
7.如权利要求1所述的一种支持状态回退的工控系统软件安全升级方法,其特征在于:所述步骤6若不能启动且重启次数未超过规定值,则再次重启工控系统,重启次数加1;系统加载备份分区启动时,设置N次重启的机会,系统启动不成功但重启次数不超过N时,重启备份分区。
8.如权利要求1所述的一种支持状态回退的工控系统软件安全升级方法,其特征在于:所述的步骤6若系统启动不成功并且重启次数已超过设定值,此次系统升级失败,将备份分区的active、bootable、successful参数设置为“否、否、否”,工作分区的active、bootable、successful参数设置为“是、是、是”,重启加载工作分区,工控系统回退到升级前的正常工作状态。
CN202211007929.8A 2022-08-22 2022-08-22 一种支持状态回退的工控系统软件安全升级方法 Pending CN115328518A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211007929.8A CN115328518A (zh) 2022-08-22 2022-08-22 一种支持状态回退的工控系统软件安全升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211007929.8A CN115328518A (zh) 2022-08-22 2022-08-22 一种支持状态回退的工控系统软件安全升级方法

Publications (1)

Publication Number Publication Date
CN115328518A true CN115328518A (zh) 2022-11-11

Family

ID=83926397

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211007929.8A Pending CN115328518A (zh) 2022-08-22 2022-08-22 一种支持状态回退的工控系统软件安全升级方法

Country Status (1)

Country Link
CN (1) CN115328518A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106020865A (zh) * 2016-05-10 2016-10-12 百度在线网络技术(北京)有限公司 一种系统升级方法和装置
CN107168734A (zh) * 2017-04-27 2017-09-15 纳瓦电子(上海)有限公司 一种嵌入式系统升级备份方法
CN107967141A (zh) * 2017-11-27 2018-04-27 北京小米移动软件有限公司 操作系统升级方法、装置及终端

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106020865A (zh) * 2016-05-10 2016-10-12 百度在线网络技术(北京)有限公司 一种系统升级方法和装置
CN107168734A (zh) * 2017-04-27 2017-09-15 纳瓦电子(上海)有限公司 一种嵌入式系统升级备份方法
CN107967141A (zh) * 2017-11-27 2018-04-27 北京小米移动软件有限公司 操作系统升级方法、装置及终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
中国支付清算协会: "《支付清算理论与实务》", 中国金融出版社 *

Similar Documents

Publication Publication Date Title
US5901320A (en) Communication system configured to enhance system reliability using special program version management
US7174547B2 (en) Method for updating and restoring operating software in an active region of a network element
CN111625249B (zh) 用于物联网设备的自动升级和回滚方法和装置
CN109491698B (zh) 基于热补丁的系统更新方法及装置
CN110083374B (zh) 一种升级回滚方法、系统及终端设备
US5905896A (en) Method of changing software version in a computer system comprising a plurality of stations, and a computer system for implementing the method
CN105260209A (zh) 一种程序热更新解决方法
CN111147272A (zh) 一种单服务器及多服务器运营平台升级方法
CN111182033A (zh) 一种交换机还原的方法和设备
CN113626059B (zh) 系统升级方法、摄像机及计算机可读存储介质
CN115202680A (zh) 在线远程自动升级本地客户端的系统及方法
CN108737153B (zh) 区块链灾备系统、方法、服务器和计算机可读存储介质
US8689048B1 (en) Non-logging resumable distributed cluster
CN111273928B (zh) 一种自升级的bootloader设计方法
CN115328518A (zh) 一种支持状态回退的工控系统软件安全升级方法
CN115827046A (zh) 实现spl分区ota升级的方法及装置、终端设备、芯片
JP2005284902A (ja) 端末装置、その制御方法及び制御プログラム、ホスト装置、その制御方法及び制御プログラム、遠隔更新システム、方法及びプログラム
CN111949290B (zh) 一种热补丁管理方法、装置、电子设备及存储介质
CN108958757A (zh) 复杂嵌入式设备的升级方法及复杂嵌入式设备
CN112214249B (zh) 一种基于usb设备的跨平台自启动程序的方法
CN110427286B (zh) 网关服务器主备系统恢复方法
CN114115945A (zh) 一种嵌入式系统防宕机的远程升级方法
US6721882B1 (en) Method and apparatus for warm starting a system where the system includes region(s) of software code incapable of warm starting
CN107967160B (zh) 一种通过Boot Loader更新操作系统文件的方法及装置
CN114430565B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20221111

RJ01 Rejection of invention patent application after publication