嵌入式装置可信执行控制方法、装置、介质及嵌入式装置与流程
未命名
07-22
阅读:105
评论:0
1.本发明属于工控安全技术领域,具体涉及一种嵌入式装置可信执行控制方法、装置、介质及嵌入式装置。
背景技术:
2.强制执行控制的含义是对某程序(进程)定义一个可执行的程序文件的集合,并强制性地限制此程序的进程只能执行集合中所包含的程序文件,实现的目标是对进程运行行为进行限制,防止进程在运行过程中因故意或他意造成的非法操作行为的发生。
3.针对嵌入式装置软件的执行控制方法,首先为业务程序配置可执行的程序文件集合,即安全策略。在业务程序(进程)运行过程中调用其他程序时进行安全策略裁决。首先检查被调用的程序文件是否在安全策略中,同时对被调用程序(进程)进行度量。一旦检查发现异常,即刻阻止非法程序的运行。一方面,安全策略存储于主系统中,容易被攻击者发现和篡改,影响执行控制结果的准确性。另一方面,不区分程序类别进行安全策略裁决,属于粗粒度执行控制,容易干扰程序正常运行或对恶意软件行为产生误判。。
技术实现要素:
4.为解决现有技术中的不足,本发明提供一种嵌入式装置可信执行控制方法,解决了变电站嵌入式装置进行执行控制时安全策略易泄露,裁决不精细的技术问题。
5.为达到上述目的,本发明所采用的技术方案是:一种基于tee的变电站嵌入式装置可信执行控制方法,在变电站嵌入式装置上部署可信执行环境,可信执行环境的内核中包含白名单模块、决策执行控制模块、完整性度量模块和哈希值基准库模块,装置富执行环境中包含白名单配置管理模块和smc指令集;白名单模块用于存储与二进制程序、内核模块和动态链接库关联的安全标记,所述安全标记依据设定的安全标记分类方法确定;白名单配置管理模块用于对可信执行环境中的白名单模块进行配置和管理;哈希值基准库模块用于存储根据哈希算法计算的二进制程序、内核模块和动态链接库的哈希值;在二进制程序运行、内核模块加载与卸载、动态链接库加载之前,通过smc指令集切换安全监控模式,启动可信执行环境内核中的决策执行控制模块;所述方法由决策执行控制模块执行,包括:读取完整性度量模块,其中,所述完整性度量模块对读取的当前执行流进行基于哈希值基准库的完整性度量,并返回完整性度量结果;响应于完整性度量结果,对当前执行流区分二进制程序、内核模块和动态链接库进行执行控制,并返回控制结果。
6.结合第一方面,对读取的当前执行流进行基于哈希值基准库的完整性度量,包括:利用哈希算法,计算当前执行流中程序和文件的哈希值,并与存储于硬件可信根的非易失性存储空间中的哈希值基准库中存储的哈希值比对,哈希值相同则完整性度量成功,哈希值不同,则完整性度量失败,并返回完整性度量结果。
7.结合第一方面,所述安全标记分类方法,包括:将随操作系统原始安装的系统程序的安全标记设置为s;将经过软件安装工具安装的已验证合法性的外来程序的安全标记设
置为v;将未经软件安装工具安装的其他外来程序的安全标记设置为u;将安全标记为s或v的程序,添加进防卸载列表中。
8.结合第一方面,完整性度量结果包括完整性度量失败或完整性度量成功;响应于完整性度量结果,对当前执行流区分二进制程序、内核模块和动态链接库进行执行控制,并返回控制结果,包括:在当前执行流为二进制程序时:响应于完整性度量成功,若二进制程序请求执行权限或写权限,则对当前执行流进行基于安全标记分类的安全标记校验,并执行控制,返回控制结果;响应于完整性度量成功,若二进制程序未请求读权限,则允许程序访问,结束流程。
9.结合第一方面,响应于完整性度量结果,对当前执行流区分二进制程序、内核模块和动态链接库进行执行控制,并返回控制结果,还包括:响应于完整性度量失败,禁止二进制程序访问,结束流程。
10.结合第一方面,若二进制程序请求执行权限或写权限,则对当前执行流进行基于安全标记分类的安全标记校验,并执行控制,返回控制结果,具体为:响应于二进制程序请求执行权限,访问白名单模块中二进制程序的安全标记,若安全标记为u,则禁止二进制程序访问,结束流程;否则,允许程序访问,结束流程;响应于二进制程序请求写权限,访问二进制程序的安全标记,若安全标记为s,则禁止二进制程序访问,结束流程;否则,修改文件标记为u,允许程序访问,结束流程。
11.结合第一方面,完整性度量结果包括完整性度量失败或完整性度量成功;响应于完整性度量结果,对当前执行流区分二进制程序、内核模块和动态链接库进行执行控制,并返回控制结果,包括:在当前执行流为内核模块时:响应于完整性度量成功,加载内核模块时,允许加载白名单模块中安全标记不为u的内核模块,禁止加载白名单模块中安全标记为u的内核模块;卸载内核模块时,遍历白名单模块中的防卸载列表,若待卸载模块不在防卸载列表中,允许加载,否则不允许加载。
12.结合第一方面,响应于完整性度量结果,对当前执行流区分二进制程序、内核模块和动态链接库进行执行控制,并返回控制结果,还包括:响应于完整性度量失败,禁止内核模块加载,结束流程。
13.结合第一方面,完整性度量结果包括完整性度量失败或完整性度量成功;响应于完整性度量结果,对当前执行流区分二进制程序、内核模块和动态链接库进行执行控制,并返回控制结果,包括:在当前执行流为加载动态链接库时;响应于完整性度量成功,若需要加载动态链接库的程序请求动态链接库文件提供匿名或共享映射时,允许程序加载动态链接库,结束流程;若需要加载动态链接库的程序未请求执行权限,允许程序加载动态链接库,结束流程;若需要加载动态链接库的程序请求执行权限,则对当前执行流进行基于安全标记分类的安全标记校验,并执行控制,返回控制结果。
14.结合第一方面,若需要加载动态链接库的程序请求执行权限,则对当前执行流进行基于安全标记分类的安全标记校验,并执行控制,返回控制结果,具体为:响应于需要加载动态链接库的程序请求执行权限,访问白名单模块中动态链接库文件的安全标记,若安全标记为u,则禁止程序加载动态链接库,结束流程;否则,允许程序加载动态链接库,结束流程。
15.结合第一方面,响应于完整性度量结果,对当前执行流区分二进制程序、内核模块
和动态链接库进行执行控制,并返回控制结果,还包括:响应于完整性度量失败,禁止程序加载动态链接库,结束流程。
16.第二方面,提供一种基于tee的变电站嵌入式装置可信执行控制装置,在变电站嵌入式装置上部署可信执行环境,可信执行环境的内核中包含白名单模块、决策执行控制模块、完整性度量模块和哈希值基准库模块,装置富执行环境中包含白名单配置管理模块和smc指令集;白名单模块用于存储与二进制程序、内核模块和动态链接库关联的安全标记,所述安全标记依据设定的安全标记分类方法确定;白名单配置管理模块用于对可信执行环境中的白名单模块进行配置和管理;哈希值基准库模块用于存储根据哈希算法计算的二进制程序、内核模块和动态链接库的哈希值;在二进制程序运行、内核模块加载与卸载、动态链接库加载之前,通过smc指令集切换安全监控模式,启动可信执行环境内核中的决策执行控制模块;所述决策执行控制模块,用于读取完整性度量模块,其中,所述完整性度量模块对读取的当前执行流进行基于哈希值基准库的完整性度量,并返回完整性度量结果;还用于响应于完整性度量结果,对当前执行流区分二进制程序、内核模块和动态链接库进行执行控制,并返回控制结果。
17.结合第二方面,所述完整性度量模块利用哈希算法,计算当前执行流中程序和文件的哈希值,并与存储于硬件可信根的非易失性存储空间中的哈希值基准库中存储的哈希值比对,哈希值相同则完整性度量成功,哈希值不同,则完整性度量失败,并返回完整性度量结果。
18.结合第二方面,还包括存储于硬件可信根的非易失性存储空间中的白名单模块,所述白名单模块存储了防卸载列表和程序的安全标记,包括:安全标记设置为s的随操作系统原始安装的系统程序清单;安全标记设置为v的经过软件安装工具安装的已验证合法性的外来程序清单;安全标记设置为u的未经软件安装工具安装的其他外来程序清单;防卸载列表,包括安全标记为s或v的程序清单。
19.第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如第一方面所述的嵌入式装置可信执行控制方法。
20.第四方面,提供一种嵌入式装置,所述嵌入式装置配置有可信执行环境,所述可信执行环境,包括:存储器,用于存储指令;处理器,用于执行所述指令,使得所述设备执行实现如第一方面所述的嵌入式装置可信执行控制方法。
21.与现有技术相比,本发明所达到的有益效果:
22.本发明可通过软件方式在变电站嵌入式装置上实现tee,实施方式便捷;该方法基于安全标记分类方法,将系统内程序文件关联安全标记后加入白名单,为执行控制提供标记支持,分类清晰明确;该方法将哈希值基准库和白名单模块存储于硬件可信根的非易失性存储空间中,保障安全策略的完整性和机密性;该方法实现的决策执行控制模块,区分二进制程序、内核模块和动态链接库进行执行控制,细粒度高。
附图说明
23.图1为本发明实施例提供的一种基于tee的变电站嵌入式装置可信执行控制方法的流程图;
24.图2为本发明实施例提供的一种基于tee的变电站嵌入式装置可信执行控制的系
统结构示意图;
25.图3为本发明实施例中二进制程序执行控制的流程图;
26.图4为本发明实施例中内核模块加载执行控制的流程图;
27.图5为本发明实施例中内核模块卸载执行控制的流程图;
28.图6为本发明实施例中动态链接库加载执行控制的流程图。
具体实施方式
29.下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
30.实施例一:
31.一种基于tee的变电站嵌入式装置可信执行控制方法,在变电站嵌入式装置上部署可信执行环境,可信执行环境的内核中包含白名单模块、决策执行控制模块、完整性度量模块和哈希值基准库模块,装置富执行环境中包含白名单配置管理模块和smc指令集;白名单模块用于存储与二进制程序、内核模块和动态链接库关联的安全标记,所述安全标记依据设定的安全标记分类方法确定;白名单配置管理模块用于对可信执行环境中的白名单模块进行配置和管理;哈希值基准库模块用于存储根据哈希算法计算的二进制程序、内核模块和动态链接库的哈希值;在二进制程序运行、内核模块加载与卸载、动态链接库加载之前,通过smc指令集切换安全监控模式,启动可信执行环境内核中的决策执行控制模块;所述方法由决策执行控制模块执行,包括:读取完整性度量模块,其中,所述完整性度量模块对读取的当前执行流进行基于哈希值基准库的完整性度量,并返回完整性度量结果;响应于完整性度量结果,对当前执行流区分二进制程序、内核模块和动态链接库进行执行控制,并返回控制结果。
32.本实施例以基于tee(trusted execution environment,可信执行环境)的变电站嵌入式装置的可信执行控制方法为例,对本技术技术方案进一步说明。
33.如图1所示,本发明包括如下步骤:
34.s1:使用支持trustzone技术的armv7a芯片构造变电站嵌入式装置rtu,基于开源项目op-tee在变电站嵌入式装置rtu上部署可信执行环境tee,如图2所示,装置富执行环境中包含白名单配置管理模块和smc指令集,可信执行环境的内核中包含白名单、决策执行控制、完整性度量和哈希值基准库四个模块。
35.完整性度量模块的作用具体为:
36.利用国密哈希算法sm3,计算当前执行流中程序和文件的哈希值,与哈希值基准库中存储的哈希值比对,相同则校验成功,不同则校验失败,将结果输出给决策执行控制模块。
37.s2:依据安全标记分类方法,为系统内的二进制程序、内核模块和动态链接库关联安全标记,通过白名单配置管理模块对可信执行环境中的白名单模块进行配置和管理;
38.安全标记分类的方法具体为:
39.s21:将随操作系统原始安装的系统程序标记为s,系统程序包含软件安装工具,安装程序时通过验证程序的摘要和签名来验证程序的来源和完整性;
40.s22:将经过软件安装工具安装的已验证合法性的外来程序标记为v;
41.s23:将未经软件安装工具安装的其他外来程序标记为u,包含经usb设备、光盘复制来的程序和经网络下载的程序;
42.s24:将标记为s或v的必要程序,添加进防卸载列表中,存储于白名单模块中
43.本发明基于安全标记分类方法,将系统内程序文件关联安全标记后加入白名单模块,为执行控制提供标记支持,分类清晰明确;现有技术将安全策略存储于主系统中,容易被攻击者发现和篡改,影响执行控制结果的准确性,该方法将哈希值基准库和白名单模块存储于硬件可信根的非易失性存储空间中,保障安全策略的完整性和机密性。
44.s3:根据国密哈希算法sm3,计算系统内二进制程序、内核模块和动态链接库的哈希值,存储于哈希值基准库中;
45.s4:在二进制程序运行、内核模块加载与卸载、动态链接库加载之前,通过smc指令集切换安全监控模式,启动可信执行环境内核中的决策执行控制模块;
46.s5:决策执行控制模块读取完整性度量模块和白名单模块,区分二进制程序、内核模块和动态链接库进行执行控制,返回控制结果。
47.如图3所示,二进制程序执行控制流程具体为:
48.s51:读取完整性度量模块结果,响应于完整性度量失败(访问对象完整性校验失败),则执行s55;
49.s52:响应于完整性度量成功,若程序未请求读权限,则执行s56;
50.s53:响应于完整性度量成功,若程序请求执行权限,读取白名单模块,访问对象标记为u,则执行s55,否则执行s56;若程序未请求执行权限,则执行s54;
51.s54:响应于完整性度量成功,程序请求写权限,读取白名单模块,访问对象标记为s,则执行s55,否则修改文件标记为u,执行s56;
52.s55:禁止程序访问,结束流程;
53.s56:允许程序访问,结束流程。
54.如图4和图5所示,内核模块加载和卸载执行控制具体为:
55.加载内核模块时,读取完整性度量模块和白名单模块,响应于完整性度量成功,允许加载完整性度量成功且标记不为u的内核模块,禁止加载其他内核模块;卸载内核模块时,遍历白名单模块中的防卸载列表,待卸载模块不在防卸载列表中,允许加载,否则不允许加载。
56.响应于完整性度量失败,禁止内核模块加载,结束流程。
57.如图6所示,动态链接库加载执行控制流程具体为:
58.s61:读取完整性度量模块结果,响应于完整性度量失败(动态链接库完整性校验失败),则执行s65;
59.s62:动态链接库文件提供匿名或共享映射,则执行s66;
60.s63:需要加载动态链接库的程序未请求执行权限,则执行s66;
61.s64:读取白名单模块,动态链接库文件标记为u,则执行s65,否则执行s66;
62.s65:禁止程序加载动态链接库,结束流程;
63.s66:允许程序加载动态链接库,结束流程。
64.本实施例所述的一种基于tee的变电站嵌入式装置可信执行控制方法,基于可信执行环境(trusted execution environment,tee)便于在嵌入式芯片上通过软硬件方式实
现,可以针对嵌入式自动化装置进行部署。该方法基于安全标记分类方法,将系统内程序文件关联安全标记后加入白名单,为执行控制提供标记支持。该方法将哈希值基准库和白名单模块存储于硬件可信根的非易失性存储空间中,保障安全策略的完整性和机密性。该方法实现的决策执行控制模块,区分二进制程序、内核模块和动态链接库进行执行控制,细粒度高。
65.实施例二:
66.基于实施例一所述的基于tee的变电站嵌入式装置的可信执行控制方法,本实施例提供一种基于tee的变电站嵌入式装置的可信执行控制装置,在变电站嵌入式装置上部署可信执行环境,可信执行环境的内核中包含白名单模块、决策执行控制模块、完整性度量模块和哈希值基准库模块,装置富执行环境中包含白名单配置管理模块和smc指令集;白名单模块用于存储与二进制程序、内核模块和动态链接库关联的安全标记,所述安全标记依据设定的安全标记分类方法确定;白名单配置管理模块用于对可信执行环境中的白名单模块进行配置和管理;哈希值基准库模块用于存储根据哈希算法计算的二进制程序、内核模块和动态链接库的哈希值;在二进制程序运行、内核模块加载与卸载、动态链接库加载之前,通过smc指令集切换安全监控模式,启动可信执行环境内核中的决策执行控制模块;所述决策执行控制模块,用于读取完整性度量模块,其中,所述完整性度量模块对读取的当前执行流进行基于哈希值基准库的完整性度量,并返回完整性度量结果;还用于响应于完整性度量结果,对当前执行流区分二进制程序、内核模块和动态链接库进行执行控制,并返回控制结果。
67.完整性度量模块利用哈希算法,计算当前执行流中程序和文件的哈希值,并与存储于硬件可信根的非易失性存储空间中的哈希值基准库中存储的哈希值比对,哈希值相同则完整性度量成功,哈希值不同,则完整性度量失败,并返回完整性度量结果。
68.存储于硬件可信根的非易失性存储空间中的白名单模块,存储了防卸载列表和程序的安全标记,包括:安全标记设置为s的随操作系统原始安装的系统程序清单;安全标记设置为v的经过软件安装工具安装的已验证合法性的外来程序清单;安全标记设置为u的未经软件安装工具安装的其他外来程序清单;防卸载列表,包括安全标记为s或v的程序清单。
69.决策执行控制模块,读取完整性度量模块和白名单模块,区分二进制程序、内核模块和动态链接库进行执行控制,返回控制结果。
70.完整性度量模块利用哈希算法,计算当前执行流中程序和文件的哈希值,并与存储于硬件可信根的非易失性存储空间中的哈希值基准库中存储的哈希值比对,哈希值相同则完整性度量成功,哈希值不同,则完整性度量失败,并返回完整性度量结果。
71.本发明还包括存储于硬件可信根的非易失性存储空间中的白名单模块,白名单模块存储了防卸载列表和程序的安全标记,包括:安全标记设置为s的随操作系统原始安装的系统程序清单;安全标记设置为v的经过软件安装工具安装的已验证合法性的外来程序清单;安全标记设置为u的未经软件安装工具安装的其他外来程序清单;防卸载列表,包括安全标记为s或v的程序清单。
72.完整性度量结果包括完整性度量失败或完整性度量成功;决策执行控制模块响应于完整性度量结果,对当前执行流区分二进制程序、内核模块和动态链接库进行执行控制,并返回控制结果,包括:在当前执行流为二进制程序时:若完整性度量模块返回完整性度量
成功,且二进制程序请求执行权限或写权限,则决策执行控制模块对当前执行流进行基于安全标记分类的安全标记校验,并执行控制,返回控制结果;若完整性度量模块返回完整性度量成功,且二进制程序未请求读权限,则允许程序访问,结束流程。
73.决策执行控制模块响应于完整性度量结果,对当前执行流区分二进制程序、内核模块和动态链接库进行执行控制,并返回控制结果,还包括:若完整性度量模块返回完整性度量失败,则决策执行控制模块禁止二进制程序访问,结束流程。
74.若二进制程序请求执行权限或写权限,则对当前执行流进行基于安全标记分类的安全标记校验,并执行控制,返回控制结果,具体为:决策执行控制模块响应于二进制程序请求执行权限,访问白名单模块中二进制程序的安全标记,若安全标记为u,则禁止二进制程序访问,结束流程;否则,允许程序访问,结束流程;决策执行控制模块响应于二进制程序请求写权限,访问二进制程序的安全标记,若安全标记为s,则禁止二进制程序访问,结束流程;否则,允许程序访问,结束流程。
75.完整性度量结果包括完整性度量失败或完整性度量成功;决策执行控制模块响应于完整性度量结果,对当前执行流区分二进制程序、内核模块和动态链接库进行执行控制,并返回控制结果,包括:在当前执行流为内核模块时:完整性度量模块返回完整性度量成功,决策执行控制模块加载内核模块时,允许加载白名单模块中安全标记不为u的内核模块,禁止加载白名单模块中安全标记为u的内核模块;决策执行控制模块卸载内核模块时,遍历白名单模块中的防卸载列表,若待卸载模块不在防卸载列表中,允许加载,否则不允许加载。
76.决策执行控制模块响应于完整性度量结果,对当前执行流区分二进制程序、内核模块和动态链接库进行执行控制,并返回控制结果,还包括:若完整性度量模块返回完整性度量失败,则决策执行控制模块禁止内核模块加载,结束流程。
77.完整性度量结果包括完整性度量失败或完整性度量成功;决策执行控制模块响应于完整性度量结果,对当前执行流区分二进制程序、内核模块和动态链接库进行执行控制,并返回控制结果,包括:在当前执行流为加载动态链接库时;若完整性度量模块返回完整性度量成功,且需要加载动态链接库的程序请求动态链接库文件提供匿名或共享映射时,决策执行控制模块允许程序加载动态链接库,结束流程;若完整性度量模块返回完整性度量成功,且需要加载动态链接库的程序未请求执行权限,决策执行控制模块允许程序加载动态链接库,结束流程;若完整性度量模块返回完整性度量成功,且需要加载动态链接库的程序请求执行权限,则决策执行控制模块对当前执行流进行基于安全标记分类的安全标记校验,并执行控制,返回控制结果。
78.若需要加载动态链接库的程序请求执行权限,则对当前执行流进行基于安全标记分类的安全标记校验,并执行控制,返回控制结果,具体为:决策执行控制模块响应于需要加载动态链接库的程序请求执行权限,访问白名单模块中动态链接库文件的安全标记,若安全标记为u,则禁止程序加载动态链接库,结束流程;否则,允许程序加载动态链接库,结束流程。
79.完整性度量结果包括完整性度量失败或完整性度量成功;在当前执行流为加载动态链接库时,决策执行控制模块响应于完整性度量结果,对当前执行流区分二进制程序、内核模块和动态链接库进行执行控制,并返回控制结果,还包括:若完整性度量模块返回完整
性度量失败,则决策执行控制模块禁止程序加载动态链接库,结束流程。
80.实施例三:
81.基于实施例一所述的基于tee的变电站嵌入式装置的可信执行控制方法,本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如实施例一所述的嵌入式装置可信执行控制方法。
82.实施例四:
83.基于实施例一所述的基于tee的变电站嵌入式装置的可信执行控制方法,本实施例提供一种嵌入式装置,所述嵌入式装置配置有可信执行环境,所述可信执行环境,包括:存储器,用于存储指令;处理器,用于执行所述指令,使得所述设备执行实现如实施例一所述的嵌入式装置可信执行控制方法。
84.本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本技术实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言java和直译式脚本语言javascript等。
85.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
86.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
87.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
88.尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
89.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
技术特征:
1.一种基于tee的变电站嵌入式装置可信执行控制方法,其特征在于,在变电站嵌入式装置上部署可信执行环境,可信执行环境的内核中包含白名单模块、决策执行控制模块、完整性度量模块和哈希值基准库模块,装置富执行环境中包含白名单配置管理模块和smc指令集;白名单模块用于存储与二进制程序、内核模块和动态链接库关联的安全标记,所述安全标记依据设定的安全标记分类方法确定;白名单配置管理模块用于对可信执行环境中的白名单模块进行配置和管理;哈希值基准库模块用于存储根据哈希算法计算的二进制程序、内核模块和动态链接库的哈希值;在二进制程序运行、内核模块加载与卸载、动态链接库加载之前,通过smc指令集切换安全监控模式,启动可信执行环境内核中的决策执行控制模块;所述方法由决策执行控制模块执行,包括:读取完整性度量模块,其中,所述完整性度量模块对读取的当前执行流进行基于哈希值基准库的完整性度量,并返回完整性度量结果;响应于完整性度量结果,对当前执行流区分二进制程序、内核模块和动态链接库进行执行控制,并返回控制结果。2.根据权利要求1所述的基于tee的变电站嵌入式装置可信执行控制方法,其特征在于,对读取的当前执行流进行基于哈希值基准库的完整性度量,包括:利用哈希算法,计算当前执行流中程序和文件的哈希值,并与存储于硬件可信根的非易失性存储空间中的哈希值基准库中存储的哈希值比对,哈希值相同则完整性度量成功,哈希值不同,则完整性度量失败,并返回完整性度量结果。3.根据权利要求1所述的基于tee的变电站嵌入式装置可信执行控制方法,其特征在于,所述安全标记分类方法,包括:将随操作系统原始安装的系统程序的安全标记设置为s;将经过软件安装工具安装的已验证合法性的外来程序的安全标记设置为v;将未经软件安装工具安装的其他外来程序的安全标记设置为u;将安全标记为s或v的程序,添加进防卸载列表中。4.根据权利要求1或3所述的基于tee的变电站嵌入式装置可信执行控制方法,其特征在于,完整性度量结果包括完整性度量失败或完整性度量成功;响应于完整性度量结果,对当前执行流区分二进制程序、内核模块和动态链接库进行执行控制,并返回控制结果,包括:在当前执行流为二进制程序时:响应于完整性度量成功,若二进制程序请求执行权限或写权限,则对当前执行流进行基于安全标记分类的安全标记校验,并执行控制,返回控制结果;响应于完整性度量成功,若二进制程序未请求读权限,则允许程序访问,结束流程。5.根据权利要求4所述的基于tee的变电站嵌入式装置可信执行控制方法,其特征在于,响应于完整性度量结果,对当前执行流区分二进制程序、内核模块和动态链接库进行执行控制,并返回控制结果,还包括:响应于完整性度量失败,禁止二进制程序访问,结束流程。
6.根据权利要求4所述的基于tee的变电站嵌入式装置可信执行控制方法,其特征在于,若二进制程序请求执行权限或写权限,则对当前执行流进行基于安全标记分类的安全标记校验,并执行控制,返回控制结果,具体为:响应于二进制程序请求执行权限,访问白名单模块中二进制程序的安全标记,若安全标记为u,则禁止二进制程序访问,结束流程;否则,允许程序访问,结束流程;响应于二进制程序请求写权限,访问二进制程序的安全标记,若安全标记为s,则禁止二进制程序访问,结束流程;否则,修改文件标记为u,允许程序访问,结束流程。7.根据权利要求1或3所述的基于tee的变电站嵌入式装置可信执行控制方法,其特征在于,完整性度量结果包括完整性度量失败或完整性度量成功;响应于完整性度量结果,对当前执行流区分二进制程序、内核模块和动态链接库进行执行控制,并返回控制结果,包括:在当前执行流为内核模块时:响应于完整性度量成功,加载内核模块时,允许加载白名单模块中安全标记不为u的内核模块,禁止加载白名单模块中安全标记为u的内核模块;卸载内核模块时,遍历白名单模块中的防卸载列表,若待卸载模块不在防卸载列表中,允许加载,否则不允许加载。8.根据权利要求7所述的基于tee的变电站嵌入式装置可信执行控制方法,其特征在于,响应于完整性度量结果,对当前执行流区分二进制程序、内核模块和动态链接库进行执行控制,并返回控制结果,还包括:响应于完整性度量失败,禁止内核模块加载,结束流程。9.根据权利要求1或3所述的基于tee的变电站嵌入式装置可信执行控制方法,其特征在于,完整性度量结果包括完整性度量失败或完整性度量成功;响应于完整性度量结果,对当前执行流区分二进制程序、内核模块和动态链接库进行执行控制,并返回控制结果,包括:在当前执行流为加载动态链接库时;响应于完整性度量成功,若需要加载动态链接库的程序请求动态链接库文件提供匿名或共享映射时,允许程序加载动态链接库,结束流程;若需要加载动态链接库的程序未请求执行权限,允许程序加载动态链接库,结束流程;若需要加载动态链接库的程序请求执行权限,则对当前执行流进行基于安全标记分类的安全标记校验,并执行控制,返回控制结果。10.根据权利要求9所述的基于tee的变电站嵌入式装置可信执行控制方法,其特征在于,若需要加载动态链接库的程序请求执行权限,则对当前执行流进行基于安全标记分类的安全标记校验,并执行控制,返回控制结果,具体为:响应于需要加载动态链接库的程序请求执行权限,访问白名单模块中动态链接库文件的安全标记,若安全标记为u,则禁止程序加载动态链接库,结束流程;否则,允许程序加载动态链接库,结束流程。11.根据权利要求9所述的基于tee的变电站嵌入式装置可信执行控制方法,其特征在
于,响应于完整性度量结果,对当前执行流区分二进制程序、内核模块和动态链接库进行执行控制,并返回控制结果,还包括:响应于完整性度量失败,禁止程序加载动态链接库,结束流程。12.一种基于tee的变电站嵌入式装置可信执行控制装置,其特征在于,在变电站嵌入式装置上部署可信执行环境,可信执行环境的内核中包含白名单模块、决策执行控制模块、完整性度量模块和哈希值基准库模块,装置富执行环境中包含白名单配置管理模块和smc指令集;白名单模块用于存储与二进制程序、内核模块和动态链接库关联的安全标记,所述安全标记依据设定的安全标记分类方法确定;白名单配置管理模块用于对可信执行环境中的白名单模块进行配置和管理;哈希值基准库模块用于存储根据哈希算法计算的二进制程序、内核模块和动态链接库的哈希值;在二进制程序运行、内核模块加载与卸载、动态链接库加载之前,通过smc指令集切换安全监控模式,启动可信执行环境内核中的决策执行控制模块;所述决策执行控制模块,用于读取完整性度量模块,其中,所述完整性度量模块对读取的当前执行流进行基于哈希值基准库的完整性度量,并返回完整性度量结果;还用于响应于完整性度量结果,对当前执行流区分二进制程序、内核模块和动态链接库进行执行控制,并返回控制结果。13.根据权利要求12所述的嵌入式装置可信执行控制装置,其特征在于,所述完整性度量模块利用哈希算法,计算当前执行流中程序和文件的哈希值,并与存储于硬件可信根的非易失性存储空间中的哈希值基准库中存储的哈希值比对,哈希值相同则完整性度量成功,哈希值不同,则完整性度量失败,并返回完整性度量结果。14.根据权利要求12所述的嵌入式装置可信执行控制装置,其特征在于,还包括存储于硬件可信根的非易失性存储空间中的白名单模块,所述白名单模块存储了防卸载列表和程序的安全标记,包括:安全标记设置为s的随操作系统原始安装的系统程序清单;安全标记设置为v的经过软件安装工具安装的已验证合法性的外来程序清单;安全标记设置为u的未经软件安装工具安装的其他外来程序清单;防卸载列表,包括安全标记为s或v的程序清单。15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现如权利要求1~11中任一项所述的嵌入式装置可信执行控制方法。16.一种嵌入式装置,其特征在于,所述嵌入式装置配置有可信执行环境,所述可信执行环境,包括:存储器,用于存储指令;处理器,用于执行所述指令,使得所述设备执行实现如权利要求1~11任一项所述的嵌入式装置可信执行控制方法。
技术总结
本发明公开了工控安全技术领域的一种嵌入式装置可信执行控制方法,该方法基于可信执行环境便于在嵌入式芯片上通过软硬件方式实现,可以针对嵌入式自动化装置进行部署,实施方式便捷。该方法基于安全标记分类方法,将系统内程序文件关联安全标记后加入白名单,为执行控制提供标记支持。该方法将哈希值基准库和白名单模块存储于硬件可信根的非易失性存储空间中,保障安全策略的完整性和机密性。该方法实现的决策执行控制模块,区分二进制程序、内核模块和动态链接库进行执行控制,细粒度高。高。高。
技术研发人员:刘苇 祁龙云 孙柏颜 犹锋 焦建林 李向南 张晓 魏兴慎 杨维永 刘寅 孙连文 杨康乐 徐志超 于希娟
受保护的技术使用者:国网电力科学研究院有限公司 国网北京市电力公司 国家电网有限公司
技术研发日:2023.04.23
技术公布日:2023/7/20
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:活体检测方法及系统与流程 下一篇:一种人脸识别方法及系统与流程
