CN110222485A - 基于sgx软件防护扩展指令的工控白名单管理系统及方法 - Google Patents

基于sgx软件防护扩展指令的工控白名单管理系统及方法 Download PDF

Info

Publication number
CN110222485A
CN110222485A CN201910400840.XA CN201910400840A CN110222485A CN 110222485 A CN110222485 A CN 110222485A CN 201910400840 A CN201910400840 A CN 201910400840A CN 110222485 A CN110222485 A CN 110222485A
Authority
CN
China
Prior art keywords
white list
module
industry control
sgx
authentication
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
Application number
CN201910400840.XA
Other languages
English (en)
Other versions
CN110222485B (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201910400840.XA priority Critical patent/CN110222485B/zh
Publication of CN110222485A publication Critical patent/CN110222485A/zh
Application granted granted Critical
Publication of CN110222485B publication Critical patent/CN110222485B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于SGX软件防护扩展指令的工控白名单管理系统及方法,系统包括:SGX加密模块,基于SGX生成可信空间和可信空间的访问密钥;可信空间用于存储白名单数据及运行白名单管理模块、身份认证模块;查询处理模块,对工控监测系统发出的白名单数据查询请求消息发送给白名单管理模块;更新处理模块,对系统管理员发出的白名单更新请求消息发送给身份认证模块;身份认证模块,运行于可信空间内,对系统管理员进行身份信息验证;白名单管理模块,运行于可信空间内,维护可信空间内的白名单数据,并执行相应的查询与更新操作。本发明的工控白名单管理系统可避免工控白名单数据不被恶意篡改。

Description

基于SGX软件防护扩展指令的工控白名单管理系统及方法
技术领域
本发明涉及工业控制信息安全技术领域,尤其涉及一种基于SGX软件防护扩展指令的工控白名单管理系统及方法。
背景技术
随着信息技术的发展,工业企业信息化的趋势日益明显。一方面,信息技术提升了工业控制水平和工业企业的生产管理效率;另一方面,工业企业也面临着各类信息安全隐患与威胁。工控网络所包含的设备可达成百上千,攻击面十分庞大。而计算机病毒、系统与程序漏洞,以及恶意软件等层出不穷,防不胜防,令诸多工业企业蒙受了巨大财产损失甚至人员伤亡。
白名单技术是保障工控系统安全的重要技术之一。顾名思义,白名单即为一系列受信任对象的集合,与黑名单相对。工控系统中的白名单中指定了可信的设备列表、软件列表与内部网络通信地址等信息,确保只有安全可信的设备才允许与工控系统交互;安全可信的软件才允许在系统中运行;来自可信消息源的信息才允许在系统中传输。由于在工业控制系统中,一般而言设备与软件均不需要频繁更换更新,为白名单的维护提供了方便;同时白名单技术拥有更快的响应速度,对工控系统的运行影响更小,故而白名单技术相比黑名单更加适合此类场景。目前白名单技术已经广泛应用于工业防火墙、工业安全防护软件和工业控制系统之中。
尽管白名单机制为工控安全提供了有效的防护手段,但目前仍缺乏完备的机制保障白名单内容的不可篡改性。恶意软件仍有机会通过篡改系统或程序白名单的方式而脱离监控。即便其在更改白名单的过程中触发系统报警或其他异常,如果系统管理员没有引起重视或因疏忽而忽略,恶意软件便可跻身于信任列表而长期危害系统安全。另一方面,白名单内容一般不进行加密,攻击者可以根据白名单内的可信程序发起有针对性的利用或绕过攻击。除此之外,各类工控软件或安全软件常常独立维护各自的白名单,造成了一部分管理上的不便。
英特尔SGX(Software Guard Extensions,软件防护扩展指令)是一套CPU指令,可支持应用创建安全区(enclave):应用地址空间中受保护的区域。安全区可确保终端操作系统环境上信息内容的机密性和完整性。试图从软件角度访问enclave的内存内容是不被允许的,安全区内的数据同样无法从被篡改。enclave的安全边界只包含CPU和它自身。SGX创建的enclave也可以理解为一个可信执行环境TEE。SGX技术中一个CPU可以运行多个安全enclaves,支持并发执行。
发明内容
针对现有技术存在的不足,本发明提供了一种基于SGX软件防护扩展指令的工控白名单管理系统及方法,通过引入Intel SGX的硬件安全机制,构建安全而无法被恶意篡改的白名单管理系统。同时该系统与工控监测系统,如工业防火墙或工业安全防护软件等协同运作,保障整个工控系统的安全。
具体技术方案如下:
一种基于SGX软件防护扩展指令的工控白名单管理系统,包括:
SGX软件防护扩展指令加密模块,基于SGX软件防护扩展指令生成可信空间,并生成用于验证所述可信空间访问权限的访问密钥;所述可信空间用于存储白名单数据及运行白名单管理模块、身份认证模块;
查询处理模块,运行于可信空间外,对工控监测系统发出的白名单数据查询请求消息进行解析并发送给白名单管理模块;接收查询结果并返回给工控监测系统;
更新处理模块,运行于可信空间外,对系统管理员发出的白名单更新请求消息进行解析并发送给身份认证模块;接收更新结果并返回给系统管理员;
身份认证模块,运行于可信空间内,对发出白名单更新请求消息的系统管理员进行身份信息验证,并将验证结果和白名单更新请求发送给白名单管理模块;
白名单管理模块,运行于可信空间内,维护可信空间内的白名单数据,并执行相应的查询与更新操作。
所述的工控监测系统用于监测工控系统的安全,如防火墙等。
本发明的工控白名单管理系统支持作为第三方可信服务运行,为工控系统中的其他检测系统(如防火墙等),提供白名单管理服务,避免白名单数据被恶意篡改。
所述的SGX软件防护扩展指令加密模块包括:
用户空间,包括处理空间和可信空间;所述处理空间用于加载生成白名单管理模块、身份认证模块以及二者的证书信息;所述可信空间用于存储白名单数据及运行白名单管理模块、身份认证模块;
SGX驱动器,通过对名单管理模块、身份认证模块以及二者的证书信息进行测量,为名单管理模块、身份认证模块以及二者的证书信息分配可信空间,并将二者的证书信息传递给SGX硬件处理器;
SGX硬件处理器,对名单管理模块和身份认证模块的证书信息、可信空间的完整性进行验证,根据名单管理模块和身份认证模块证书的哈希值以及SGX硬件处理器特征数据的哈希值生成可信空间的访问密钥,通过访问密钥对可信空间进行加密。
所述的SGX驱动器属于操作系统;SGX硬件处理器属于硬件构架。
基于工控白名单管理系统的工控白名单管理方法包括:
(1)对工控白名单管理系统进行初始化;
(2)系统管理员根据工控系统中的可信设备名单生成白名单数据并导入可信空间中;
(3)工控监测系统通过工控白名单管理系统对白名单数据进行查询操作;系统管理员根据需要通过工控白名单管理系统对白名单数据进行更新操作。
步骤(1)包括:
(1-1)启动各个需要运行白名单管理系统的工控设备,执行自检程序;
(1-2)完成自检后关闭各个工控设备的网络功能;
(1-3)运行工控白名单管理系统,通过SGX软件防护扩展指令加密模块创建可信空间;
(1-4)运行与工控白名单管理系统进行交互的工控监测系统;
(1-5)运行其他工控软件,打开工控设备的网络功能,完成工控白名单管理系统的初始化。
步骤(1-1)中,执行白检程序包括;
(1-1a)检查工控设备的硬件状况,若工控设备不支持SGX软件防护扩展指令,则终止后续程序;
(1-1b)检查工控设备是否存在内部错误,若无内部错误则进入下一步,否自执行自动修复;若自动修复无效则发出警报并请求人工处理。
步骤(1-3)中,通过SGX软件防护扩展指令加密模块创建可信空间,包括:
(1-3a)生成白名单管理模块、身份认证模块的证书,将白名单管理模块、身份认证模块以及二者的证书信息一起上载到处理空间中;
(1-3b)通过SGX驱动器对上载的白名单管理模块、身份认证模块以及二者的证书信息进行参数测量,为可信空间分配地址空间和内存页,同时获取白名单管理模块和身份认证模块的证书信息并传递给SGX硬件处理器;
(1-3c)SGX驱动器根据测量的参数创建可信空间,并将白名单管理模块、身份认证模块复制到可信空间中,之后删除处理空间中的数据;
(1-3d)SGX硬件处理器根据名单管理模块和身份认证模块证书的哈希值以及SGX硬件处理器特征数据的哈希值生成可信空间的访问密钥,通过访问密钥对可信空间进行加密。
对工控白名单管理系统进行初始化后,系统管理员将白名单数据导入可信空间中。
步骤(2)包括:
(2-1)系统管理员根据工控系统中的可信设备名单生成白名单数据,并进行备份;
(2-2)在系统管理员操作的客户端与工控白名单管理系统之间建立加密信道;
(2-3)系统管理员根据白名单数据和系统管理员的身份认证信息生成白名单更新请求消息,通过加密信道发送给更新处理模块;
(2-4)更新处理模块对更新请求消息进行解析,分离出白名单数据以及系统管理员的身份认证信息,发送给身份认证模块;
(2-5)身份认证模块对系统管理员的身份认证信息进行检查匹配,确认系统管理员的身份认证信息有效后将白名单数据发送给白名单管理模块,否则终止后续流程并返回异常;
(2-6)白名单管理模块将白名单数据导入可信空间内,并向更新处理模块返回导入结果;
(2-7)更新处理模块根据导入结果生成导入反馈消息,并发送给系统管理员。
工控系统中的可信设备名单是指定了的可信设备列表、软件列表与内部网络通信地址等信息,确保只有安全可信的设备才允许与工控系统交互。
将白名单数据导入可信空间后,工控监测系统可通过白名单数据的查询请求处理实时查询可信空间内的白名单数据,并且系统管理员可根据需要随时对可信空间内的白名单数据进行更新。
步骤(3)中,工控监测系统通过工控白名单管理系统对白名单数据进行查询操作,包括:
(i)工控监测系统根据监测内容生成白名单查询请求消息,并传递给查询处理模块;
(ii)查询处理模块接收查询请求消息并对其内容进行解析,分离出查询内容并发送给白名单管理模块;
(iii)白名单管理模块接收查询内容后,对可信空间内的白名单数据进行查询,并向查询处理模块返回查询结果;
(iv)查询处理模块根据查询结果生成查询反馈消息,并发送给工控监测系统。
步骤(3)中,系统管理员通过工控白名单管理系统对白名单数据进行更新操作,包括:
(I)系统管理员根据工控系统中可信设备名单的变动情况生成白名单更新信息,并进行备份;
(II)在系统管理员操作的客户端与工控白名单管理系统之间建立加密信道;
(III)系统管理员根据白名单更新信息和系统管理员的身份认证信息生成白名单更新请求消息,通过加密信道发送给更新处理模块;
(IV)更新处理模块对更新请求消息进行解析,分离出白名单更新数据以及系统管理员的身份认证信息,发送给身份认证模块;
(V)身份认证模块对系统管理员的身份认证信息进行检查匹配,确认系统管理员的身份认证信息有效后将白名单更新数据发送给白名单管理模块,否则终止后续流程并返回异常;
(VI)白名单管理模块根据白名单更新数据对可信空间内的白名单数据进行更新,并向更新处理模块返回更新结果;
(VII)更新处理模块根据更新结果生成更新反馈消息,并发送给系统管理员。
优选的,以安全套接层(SSL)为基础建立加密信道。
与现有技术相比,本发明的有益效果为:
(1)本发明的工控白名单管理系统中的白名单数据受SGX软件防护扩展指令保护,攻击者无法对白名单信息直接访问,从而无法根据白名单内容发起有针对性的绕过或利用攻击;
(2)本发明的工控白名单管理方法将相关的白名单管理操作与身份认证均实现在SGX安全区内,安全区内的白名单信息本身则无法被恶意篡改,保证了白名单信息内容的安全;
(3)本发明的工控白名单管理方法将白名单管理作为模块分离出来,可与各种具备白名单机制的工控系统或程序适配,具备高通用性,简化了繁杂的白名单管理任务。
附图说明
图1为工控白名单管理系统的结构示意图;
图2为工控白名单管理系统的初始化的流程示意图;
图3为工控白名单管理系统处理白名单更新操作的流程示意图;
图4为工控白名单管理系统处理白名单查询操作的流程示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细描述,需要指出的是,以下所述实施例旨在便于对本发明的理解,而对其不起任何限定作用。
如图1所示,本发明的工控白名单管理系统包括:
SGX软件防护扩展指令加密模块,基于SGX软件防护扩展指令生成SGX Enclave(可信空间),并生成用于验证所述可信空间访问权限的访问密钥;所述可信空间用于存储白名单数据及运行白名单管理模块、身份认证模块;
查询处理模块,运行于工控白名单管理系统的SGX Enclave外,对工控监测系统的白名单查询请求进行解析并发送给白名单管理模块,接收查询结果,最后返回给工控监测系统;
更新处理模块,运行于工控白名单管理系统的SGX Enclave外,对系统管理员的白名单更新请求进行解析并发送给身份认证模块,接收更新结果,最后返回给系统管理员;
身份认证模块,运行于工控白名单管理系统的SGX Enclave内,在可信空间内验证系统管理员的身份信息;
白名单管理模块,运行于工控白名单管理系统的SGX Enclave内,维护可信空间内的白名单数据,并执行相应的查询与更新操作。
本发明中的工控白名单管理系统支持作为第三方可信服务运行,为工控系统中的其他检测系统,如防火墙等,提供白名单管理服务。系统实现采用Intel提供的SGX SDK进行编程,便于根据实际生产环境对实现细节进行更改,灵活性强。
基于工控白名单管理系统的工控白名单管理方法包括三部分:系统初始化、查询请求处理、更新请求处理。
(一)系统初始化
该部分完成工控白名单管理系统的初始化,其流程如图2所示。其中白名单数据在SGX Enclave中保存与维护,目的是基于SGX硬件功能为白名单数据提供机密性和可靠性的支持。通过以下步骤完成系统初始化:
(1)启动各个需要运行白名单管理系统的工控设备,执行自检程序,检查系统内部错误与硬件状况,并检测系统对SGX的支持。检查无误后进入下一步,否则执行自动修复,若修复无效则发出警报并请求人工处理。如若检查结果显示系统不支持SGX硬件则终止流程;
启动各个需要运行白名单管理系统的工控设备,执行自检程序,包括:
a、检查需要运行白名单管理系统的工控设备的硬件状况,若系统不支持SGX硬件,则终止后续流程;
b、检查需要运行白名单管理系统的工控设备的内部错误,检查无误后进入下一步,否则执行自动修复,若自动修复无效则发出警报并请求人工处理。
(2)完成自检后关闭工控设备的网络功能和其他所有无关程序,保证此时系统运行环境的安全,并排除来自网络的恶意攻击;
(3)运行白名单管理系统,工控设备通过SGX软件防护扩展指令创建可信空间,包括:生成白名单管理模块、身份认证模块的证书,将白名单管理模块、身份认证模块与证书一起上载到处理空间中;通过SGX驱动器对上载的白名单管理模块、身份认证模块及证书进行参数测量,为可信空间分配地址空间和内存页,同时获取证书信息并传递给SGX硬件处理器;SGX驱动器根据测量的参数创建可信空间,并将白名单管理模块、身份认证模块复制到可信空间中,之后删除处理空间中的数据;SGX硬件处理器根据白名单管理模块、身份认证模块的证书信息的哈希值及SGX硬件处理器自身的数据生成可信空间的访问密钥,并通过访问密钥对可信空间加密。
(4)运行与工控白名单管理系统进行交互的工控监测系统;
(5)运行其他工控软件,并根据程序或业务需要选择性打开工控设备的网络功能,完成工控白名单管理系统的初始化。
完成工控白名单管理系统的初始化后,系统管理员通过白名单数据更新请求处理向可信空间内导入白名单数据,之后工控监测系统可通过白名单数据的查询请求处理实时查询可信空间内的白名单数据,并且系统管理员可根据需要随时对可信空间内的白名单数据进行更新。
白名单数据的查询请求处理和更新请求处理在SGX软件防护扩展指令的防护下进行白,防止白名单数据被恶意篡改。
(二)白名单数据的更新请求处理
白名单数据的更新请求处理完成工控白名单管理系统执行白名单更新的操作。
工控白名单管理系统的初始化后,通过第一次白名单数据的更新请求处理将白名单数据导入可信空间中,之后系统管理员可根据需求对白名单数据进行实时更新。
白名单更新请求由系统管理员发出,并由更新处理模块接收。二者通信前建立加密信道进行通信。请求传入后更新处理模块完成对更新请求信息的解析,分离出更新和发送者的身份信息。解析后的信息传入SGX Enclave内的身份认证模块,完成身份认证,确认白名单更新请求来自合法的系统管理员。认证失败则返回异常。认证通过后,更新信息传入白名单管理模块,白名单管理模块根据传入的更新信息对白名单数据进行更新,并将更新操作执行的结果返回给更新处理模块。更新处理模块根据更新的结果构造返回消息,反馈给发出更新请求的系统管理员。
其流程如图3所示,包括以下步骤:
(1)系统管理员首先确定工控系统中可信的软件、设备、端口等的变动情况,据此生成适用于本工业控制系统的的白名单更新信息,完成白名单更新信息的初始化,并进行备份;
(2)在系统管理员操作的客户端与工控白名单管理系统之间建立加密信道。优选以安全套接层(SSL)为基础建立加密信道,不排除使用其他的加密通信技术建立信息传输网络;
(3)系统管理员根据白名单更新信息以及管理员的身份认证信息生成适合传输的更新请求信息,并通过加密信道传给工控白名单管理系统的更新处理模块;
(4)更新处理模块收来自系统管理员的数据请求消息,对消息内容进行解析,分离出白名单更新数据以及管理员身份认证信息,并传入SGX Enclave内的身份认证模块,对管理员进行身份认证;
(5)SGX Enclave内的身份认证模块对传入的认证信息进行检查匹配,确认信息有效后将白名单更新数据传给白名单管理模块,否则终止流程返回异常;
(6)SGX Enclave内的白名单管理模块根据白名单数据更新数据对SGX Enclave内的白名单数据执行更新,并将更新结果返回给更新处理模块;
(7)更新处理模块对SGX Enclave内的白名单管理模块返回的更新结果信息进行处理,生成更新数据反馈消息并发送给工控监测系统。
(三)白名单数据的查询请求处理
白名单数据的查询请求处理完成工控白名单管理系统执行白名单查询的操作。白名单查询请求来自工控系统中的其他监测程序,如防火墙等;请求传入后由查询处理模块完成对查询请求消息的解析,分离出具体的查询条件,并作为参数传入SGX Enclave内的白名单管理模块。白名单管理模块根据传入的查询条件对SGX Enclave内的白名单数据进行查询,返回查询结果给SGX Enclave外的查询处理模块。查询处理模块根据查询结果构造返回消息,反馈给发出查询请求的工控监测程序。
其流程如图4所示,包括以下步骤:
(1)工控监测系统(如防火墙等)根据检测的内容生成白名单数据查询请求消息,用于检测目标是否在白名单数据之中,并传递给工控白名单管理系统的查询处理模块;
(2)查询处理模块接收工控监测系统的查询请求消息,对查询请求消息内容进行解析,分离出需要查询的内容信息,并传入SGX Enclave内的白名单管理模块;
(3)白名单管理模块接收需要查询的内容信息后,基于SGX Enclave内的白名单数据对传入待查询信息进行查询,并返回查询结果;
(4)查询处理模块对SGX Enclave内的白名单管理模块返回的查询结果信息进行处理,生成查询数据反馈消息并发送给工控监测系统。
以上所述的实施例对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的具体实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于SGX软件防护扩展指令的工控白名单管理系统,其特征在于,包括:
SGX软件防护扩展指令加密模块,基于SGX软件防护扩展指令生成可信空间,并生成用于验证所述可信空间访问权限的访问密钥;所述可信空间用于存储白名单数据及运行白名单管理模块、身份认证模块;
查询处理模块,运行于可信空间外,对工控监测系统发出的白名单数据查询请求消息进行解析并发送给白名单管理模块;接收查询结果并返回给工控监测系统;
更新处理模块,运行于可信空间外,对系统管理员发出的白名单更新请求消息进行解析并发送给身份认证模块;接收更新结果并返回给系统管理员;
身份认证模块,运行于可信空间内,对发出白名单更新请求消息的系统管理员进行身份信息验证,并将验证结果和白名单更新请求发送给白名单管理模块;
白名单管理模块,运行于可信空间内,维护可信空间内的白名单数据,并执行相应的查询与更新操作。
2.根据权利要求1所述的基于SGX软件防护扩展指令的工控白名单管理系统,其特征在于,所述的SGX软件防护扩展指令加密模块包括:
用户空间,包括处理空间和可信空间;所述处理空间用于加载生成白名单管理模块、身份认证模块以及二者的证书信息;所述可信空间用于存储白名单数据及运行白名单管理模块、身份认证模块;
SGX驱动器,通过对名单管理模块、身份认证模块以及二者的证书信息进行测量,为名单管理模块、身份认证模块以及二者的证书信息分配可信空间,并将二者的证书信息传递给SGX硬件处理器;
SGX硬件处理器,对名单管理模块和身份认证模块的证书信息、可信空间的完整性进行验证,根据名单管理模块和身份认证模块证书的哈希值以及SGX硬件处理器特征数据的哈希值生成可信空间的访问密钥,通过访问密钥对可信空间进行加密。
3.一种基于SGX软件防护扩展指令的工控白名单管理方法,其特征在于,包括:
(1)对工控白名单管理系统进行初始化;
(2)系统管理员根据工控系统中的可信设备名单生成白名单数据并导入可信空间中;
(3)工控监测系统通过工控白名单管理系统对白名单数据进行查询操作;系统管理员根据需要通过工控白名单管理系统对白名单数据进行更新操作。
4.根据权利要求3所述的基于SGX软件防护扩展指令的工控白名单管理方法,其特征在于,步骤(1)包括:
(1-1)启动各个需要运行白名单管理系统的工控设备,执行自检程序;
(1-2)完成自检后关闭各个工控设备的网络功能;
(1-3)运行工控白名单管理系统,通过SGX软件防护扩展指令加密模块创建可信空间;
(1-4)运行与工控白名单管理系统进行交互的公开监测系统;
(1-5)运行其他工控软件,打开工控设备的网络功能,完成工控白名单管理系统的初始化。
5.根据权利要求4所述的基于SGX软件防护扩展指令的工控白名单管理方法,其特征在于,步骤(1-1)中,执行自检程序包括:
(1-1a)检查工控设备的硬件状况,若工控设备不支持SGX软件防护扩展指令,则终止后续程序;
(1-1b)检查工控设备是否存在内部错误,若无内部错误则进入下一步,否自执行自动修复;若自动修复无效则发出警报并请求人工处理。
6.根据权利要求4所述的基于SGX软件防护扩展指令的工控白名单管理方法,其特征在于,步骤(1-3)中,通过SGX软件防护扩展指令加密模块创建可信空间,包括:
(1-3a)生成白名单管理模块、身份认证模块的证书,将白名单管理模块、身份认证模块以及二者的证书信息一起上载到处理空间中;
(1-3b)通过SGX驱动器对上载的白名单管理模块、身份认证模块以及二者的证书信息进行参数测量,为可信空间分配地址空间和内存页,同时获取白名单管理模块和身份认证模块的证书信息并传递给SGX硬件处理器;
(1-3c)SGX驱动器根据测量的参数创建可信空间,并将白名单管理模块、身份认证模块复制到可信空间中,之后删除处理空间中的数据;
(1-3d)SGX硬件处理器根据名单管理模块和身份认证模块证书的哈希值以及SGX硬件处理器特征数据的哈希值生成可信空间的访问密钥,通过访问密钥对可信空间进行加密。
7.根据权利要求3所述的基于SGX软件防护扩展指令的工控白名单管理方法,其特征在于,步骤(2)包括:
(2-1)系统管理员根据工控系统中的可信设备名单生成白名单数据,并进行备份;
(2-2)在系统管理员操作的客户端与工控白名单管理系统之间建立加密信道;
(2-3)系统管理员根据白名单数据和系统管理员的身份认证信息生成白名单更新请求消息,通过加密信道发送给更新处理模块;
(2-4)更新处理模块对更新请求消息进行解析,分离出白名单数据以及系统管理员的身份认证信息,发送给身份认证模块;
(2-5)身份认证模块对系统管理员的身份认证信息进行检查匹配,确认系统管理员的身份认证信息有效后将白名单数据发送给白名单管理模块,否则终止后续流程并返回异常;
(2-6)白名单管理模块将白名单数据导入可信空间内,并向更新处理模块返回导入结果;
(2-7)更新处理模块根据导入结果生成导入反馈消息,并发送给系统管理员。
8.根据权利要求3所述的基于SGX软件防护扩展指令的工控白名单管理方法,其特征在于,步骤(3)中,工控监测系统通过工控白名单管理系统对白名单数据进行查询操作,包括:
(i)工控监测系统根据监测内容生成白名单查询请求消息,并传递给查询处理模块;
(ii)查询处理模块接收查询请求消息并对其内容进行解析,分离出查询内容并发送给白名单管理模块;
(iii)白名单管理模块接收查询内容后,对可信空间内的白名单数据进行查询,并向查询处理模块返回查询结果;
(iv)查询处理模块根据查询结果生成查询反馈消息,并发送给工控监测系统。
9.根据权利要求3所述的基于SGX软件防护扩展指令的工控白名单管理方法,其特征在于,步骤(3)中,系统管理员通过工控白名单管理系统对白名单数据进行更新操作,包括:
(I)系统管理员根据工控系统中可信设备名单的变动情况生成白名单更新信息,并进行备份;
(II)在系统管理员操作的客户端与工控白名单管理系统之间建立加密信道;
(III)系统管理员根据白名单更新信息和系统管理员的身份认证信息生成白名单更新请求消息,通过加密信道发送给更新处理模块;
(IV)更新处理模块对更新请求消息进行解析,分离出白名单更新数据以及系统管理员的身份认证信息,发送给身份认证模块;
(V)身份认证模块对系统管理员的身份认证信息进行检查匹配,确认系统管理员的身份认证信息有效后将白名单更新数据发送给白名单管理模块,否则终止后续流程并返回异常;
(VI)白名单管理模块根据白名单更新数据对可信空间内的白名单数据进行更新,并向更新处理模块返回更新结果;
(VII)更新处理模块根据更新结果生成更新反馈消息,并发送给系统管理员。
10.根据权利要求7或9所述的基于SGX软件防护扩展指令的工控白名单管理方法,其特征在于,以安全套接层为基础建立加密信道。
CN201910400840.XA 2019-05-14 2019-05-14 基于sgx软件防护扩展指令的工控白名单管理系统及方法 Active CN110222485B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910400840.XA CN110222485B (zh) 2019-05-14 2019-05-14 基于sgx软件防护扩展指令的工控白名单管理系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910400840.XA CN110222485B (zh) 2019-05-14 2019-05-14 基于sgx软件防护扩展指令的工控白名单管理系统及方法

Publications (2)

Publication Number Publication Date
CN110222485A true CN110222485A (zh) 2019-09-10
CN110222485B CN110222485B (zh) 2021-01-12

Family

ID=67821021

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910400840.XA Active CN110222485B (zh) 2019-05-14 2019-05-14 基于sgx软件防护扩展指令的工控白名单管理系统及方法

Country Status (1)

Country Link
CN (1) CN110222485B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159018A (zh) * 2019-12-17 2020-05-15 浙江大学 基于软件防护扩展指令sgx的在线模糊测试系统和方法
CN112417493A (zh) * 2020-10-15 2021-02-26 北京八分量信息科技有限公司 一种基于可信执行环境tee的存储调用速度提升方法
CN112600805A (zh) * 2020-12-03 2021-04-02 国家计算机网络与信息安全管理中心 一种网络安全监管平台
CN115085973A (zh) * 2022-05-17 2022-09-20 度小满科技(北京)有限公司 白名单处理方法、装置、存储介质、计算机终端
CN117131492A (zh) * 2023-04-13 2023-11-28 杨杭杭 一种具有反馈提醒功能的计算机安全防护管理系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070107059A1 (en) * 2004-12-21 2007-05-10 Mxtn, Inc. Trusted Communication Network
CN104573516A (zh) * 2014-12-25 2015-04-29 中国科学院软件研究所 一种基于安全芯片的工控系统可信环境管控方法和平台
US20160110269A1 (en) * 2014-10-20 2016-04-21 Intel Corporation Providing Supervisor Control Of Control Transfer Execution Profiling
CN105656945A (zh) * 2016-03-28 2016-06-08 北京天地和兴科技有限公司 一种工控主机安全存储验证方法及系统
CN107111715A (zh) * 2014-12-16 2017-08-29 英特尔公司 将可信执行环境用于代码和数据的安全性
CN107533609A (zh) * 2015-05-29 2018-01-02 英特尔公司 用于对系统中的多个可信执行环境进行控制的系统、设备和方法
US20180094953A1 (en) * 2016-10-01 2018-04-05 Shay C. Colson Distributed Manufacturing
CN107919954A (zh) * 2017-10-20 2018-04-17 浙江大学 一种基于sgx的区块链用户密钥保护方法和装置
US20180145836A1 (en) * 2016-11-18 2018-05-24 Intel Corporation Technology for secure partitioning and updating of a distributed digital ledger
CN108615154A (zh) * 2018-05-01 2018-10-02 王锐 一种基于硬件加密保护的区块链数字签名系统及使用流程

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070107059A1 (en) * 2004-12-21 2007-05-10 Mxtn, Inc. Trusted Communication Network
US20160110269A1 (en) * 2014-10-20 2016-04-21 Intel Corporation Providing Supervisor Control Of Control Transfer Execution Profiling
CN107111715A (zh) * 2014-12-16 2017-08-29 英特尔公司 将可信执行环境用于代码和数据的安全性
CN104573516A (zh) * 2014-12-25 2015-04-29 中国科学院软件研究所 一种基于安全芯片的工控系统可信环境管控方法和平台
CN107533609A (zh) * 2015-05-29 2018-01-02 英特尔公司 用于对系统中的多个可信执行环境进行控制的系统、设备和方法
CN105656945A (zh) * 2016-03-28 2016-06-08 北京天地和兴科技有限公司 一种工控主机安全存储验证方法及系统
US20180094953A1 (en) * 2016-10-01 2018-04-05 Shay C. Colson Distributed Manufacturing
US20180145836A1 (en) * 2016-11-18 2018-05-24 Intel Corporation Technology for secure partitioning and updating of a distributed digital ledger
CN107919954A (zh) * 2017-10-20 2018-04-17 浙江大学 一种基于sgx的区块链用户密钥保护方法和装置
CN108615154A (zh) * 2018-05-01 2018-10-02 王锐 一种基于硬件加密保护的区块链数字签名系统及使用流程

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张英骏 等: ""基于Trustzone的强安全需求环境下可信代码执行方案"", 《计算机研究与发展》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159018A (zh) * 2019-12-17 2020-05-15 浙江大学 基于软件防护扩展指令sgx的在线模糊测试系统和方法
CN111159018B (zh) * 2019-12-17 2021-06-22 浙江大学 基于软件防护扩展指令sgx的在线模糊测试系统和方法
CN112417493A (zh) * 2020-10-15 2021-02-26 北京八分量信息科技有限公司 一种基于可信执行环境tee的存储调用速度提升方法
CN112600805A (zh) * 2020-12-03 2021-04-02 国家计算机网络与信息安全管理中心 一种网络安全监管平台
CN112600805B (zh) * 2020-12-03 2023-04-07 国家计算机网络与信息安全管理中心 一种网络安全监管平台
CN115085973A (zh) * 2022-05-17 2022-09-20 度小满科技(北京)有限公司 白名单处理方法、装置、存储介质、计算机终端
CN115085973B (zh) * 2022-05-17 2024-03-12 度小满科技(北京)有限公司 白名单处理方法、装置、存储介质、计算机终端
CN117131492A (zh) * 2023-04-13 2023-11-28 杨杭杭 一种具有反馈提醒功能的计算机安全防护管理系统

Also Published As

Publication number Publication date
CN110222485B (zh) 2021-01-12

Similar Documents

Publication Publication Date Title
CN110222485A (zh) 基于sgx软件防护扩展指令的工控白名单管理系统及方法
US10367834B2 (en) Systems and methods for implementing intrusion prevention
US10454916B2 (en) Systems and methods for implementing security
CN111082940B (zh) 物联网设备控制方法、装置及计算设备、存储介质
Rubin Security considerations for remote electronic voting
US7571474B2 (en) System security event notification aggregation and non-repudiation
CN104615947B (zh) 一种可信的数据库完整性保护方法及系统
CN110598434A (zh) 基于区块链网络的房屋信息处理方法、装置、电子设备及存储介质
CN110889130A (zh) 基于数据库的细粒度数据加密方法、系统及装置
CN109936555A (zh) 一种基于云平台的数据存储方法、装置及系统
US20230091179A1 (en) System and method for building a trusted network of devices
WO2021051591A1 (zh) 安全键盘实现方法、装置、计算机设备及存储介质
US20170357801A1 (en) Isolation system for cybersecurity
JP6403803B2 (ja) コンピュータシステムの間のタスク命令を転送するルーティング方法、コンピュータネットワーク基盤、及びコンピュータプログラム
Fan et al. Ruledger: Ensuring execution integrity in trigger-action IoT platforms
CN111131303A (zh) 一种请求数据的校验系统和方法
KR101265474B1 (ko) 모바일 가상화 서비스를 위한 보안 서비스 제공 방법
CN109413111B (zh) 一种基于智慧数据中心的安全访问系统及方法
CN116881936A (zh) 可信计算方法及相关设备
US20130311385A1 (en) Third Party Security Monitoring & Audit
CN110851837A (zh) 一种基于可信计算的自助设备、其安全管理系统及方法
CA3131208A1 (en) System and method for building a trusted network of devices
Rose et al. System hardening for infrastructure as a service (IaaS)
Novakovic et al. Detection of URL-based Phishing Attacks Using Neural Networks
US20190306168A1 (en) Protecting critical data and application execution from brute force attacks

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