一种动态度量方法、装置、设备及存储介质制造方法及图纸

技术编号:29401730 阅读:15 留言:0更新日期:2021-07-23 22:39
本发明专利技术公开了一种动态度量方法、装置、设备及存储介质,涉及通信技术领域,以提高进程的安全性。该方法包括:当目标进程被调度器选中并且未被执行前,对所述目标进程的目标可执行代码进行动态度量,得到动态度量结果;根据所述动态度量结果,确定是否执行所述目标进程。本发明专利技术实施例可提高进程的安全性。

【技术实现步骤摘要】
一种动态度量方法、装置、设备及存储介质
本专利技术涉及信息安全
,尤其涉及一种动态度量方法、装置、设备及存储介质。
技术介绍
动态度量是保证程序运行完整性的重要方法。动态度量通过对运行时的程序进行相应的完整性度量,实现程序的可信和安全执行,确保程序的执行结果符合预期。在操作系统中,当程序可执行文件被加载入内存中正在或等待执行时,其可执行代码段应该和预设的可执行文件相同。若发生了变化,则表明可执行代码被异常修改,这将导致程序执行过程的不完整,程序执行结果的不可信。通过度量程序的可执行代码,可以保证可执行代码没有被攻击者篡改,保证程序的完整性。操作系统的内存以内存页为单位进行分配和管理,程序的可执行代码也以内存页为单位加载到内存中。当操作系统调度器进行调度并选定待执行进程时,调度器会将控制指针(PC指针)指向待执行进程的可执行代码的内存地址。现有技术提出了一种动态度量方法。但是,在这种方法中,在某些情况下,攻击者可对可执行代码进行修改并且不触发缺页异常。这种情况会导致现有方案的动态度量触发不及时,导致动态度量机制失效,容易造成安全隐患。
技术实现思路
本专利技术实施例提供一种动态度量方法、装置、设备及存储介质,以提高进程的安全性。第一方面,本专利技术实施例提供了一种动态度量方法,包括:当目标进程被调度器选中并且未被执行前,对所述目标进程的目标可执行代码进行动态度量,得到动态度量结果;根据所述动态度量结果,确定是否执行所述目标进程。其中,所述对所述目标进程的目标可执行代码进行动态度量,得到动态度量结果,包括:确定所述目标可执行代码段所处的内存页标识;确定所述内存页标识对应的内存页的目标度量值;获取所述内存页的基准度量值;将所述目标度量值和所述基准度量值进行比较,得到所述动态度量结果。其中,所述确定所述内存页标识对应的内存页的目标度量值,包括:对所述内存页内的可执行代码段进行哈希运算,得到所述目标度量值。其中,所述获取所述内存页的基准度量值,包括:根据所述目标进程的信息,查找进程度量列表,得到所述目标进程的信息对应的目标进程节点;根据所述目标进程节点的信息和所述内存页标识,查找页面度量列表,得到所述内存页的基准度量值。其中,所述根据所述动态度量结果,确定是否执行所述目标进程,包括:在所述目标度量值和所述基准度量值一致的情况下,继续执行所述目标进程;否则,结束执行所述目标进程。其中,在所述对所述目标进程的目标可执行代码进行动态度量,得到动态度量结果之前,所述方法还包括:创建数据结构界面度量节点,其中,所述界面度量节点中的第一变量用于表示可执行代码所处的内存页的标识,第二变量用于表示所述可执行代码所处的内存页的基准度量值;利用所述界面度量节点形成页面度量列表;利用所述页面度量列表形成进程度量列表。其中,在所述对所述目标进程的目标可执行代码进行动态度量,得到动态度量结果之前,所述方法还包括:设置所述调度器,以使所述调度器在执行完关键语句之后,对所述目标进程的目标可执行代码进行动态度量。第二方面,本专利技术实施例提供了一种动态度量装置,包括:第一处理模块,用于当目标进程被调度器选中并且未被执行前,对所述目标进程的目标可执行代码进行动态度量,得到动态度量结果;第二处理模块,用于根据所述动态度量结果,确定是否执行所述目标进程。其中,所述第一处理模块包括:第一确定子模块,用于确定所述目标可执行代码段所处的内存页标识;第二确定子模块,用于确定所述内存页标识对应的内存页的目标度量值;获取子模块,用于获取所述内存页的基准度量值;比较子模块,用于将所述目标度量值和所述基准度量值进行比较,得到所述动态度量结果。其中,所述第二确定子模块用于,对所述内存页内的可执行代码段进行哈希运算,得到所述目标度量值。其中,所述获取子模块包括:第一查找单元,用于根据所述目标进程的信息,查找进程度量列表,得到所述目标进程的信息对应的目标进程节点;第二查找单元,用于根据所述目标进程节点的信息和所述内存页标识,查找页面度量列表,得到所述内存页的基准度量值。其中,所述第二处理模块具体用于,在所述目标度量值和所述基准度量值一致的情况下,继续执行所述目标进程;否则,结束执行所述目标进程。其中,所述装置还包括:创建模块,用于创建数据结构界面度量节点,其中,所述界面度量节点中的第一变量用于表示可执行代码所处的内存页的标识,第二变量用于表示所述可执行代码所处的内存页的基准度量值;第三处理模块,用于利用所述界面度量节点形成页面度量列表;第四处理模块,用于利用所述页面度量列表形成进程度量列表。其中,所述装置还包括:设置模块,用于设置所述调度器,以使所述调度器在执行完关键语句之后,对所述目标进程的目标可执行代码进行动态度量。第三方面,本专利技术实施例提供了一种动态度量装置,包括:处理器和收发器;其中,所述处理器用于,当目标进程被调度器选中并且未被执行前,对所述目标进程的目标可执行代码进行动态度量,得到动态度量结果;根据所述动态度量结果,确定是否执行所述目标进程。其中,所述处理器还用于:确定所述目标可执行代码段所处的内存页标识;确定所述内存页标识对应的内存页的目标度量值;获取所述内存页的基准度量值;将所述目标度量值和所述基准度量值进行比较,得到所述动态度量结果。其中,所述处理器还用于:对所述内存页内的可执行代码段进行哈希运算,得到所述目标度量值。其中,所述处理器还用于:根据所述目标进程的信息,查找进程度量列表,得到所述目标进程的信息对应的目标进程节点;根据所述目标进程节点的信息和所述内存页标识,查找页面度量列表,得到所述内存页的基准度量值。其中,所述处理器还用于:在所述目标度量值和所述基准度量值一致的情况下,继续执行所述目标进程;否则,结束执行所述目标进程。其中,所述处理器还用于:创建数据结构界面度量节点,其中,所述界面度量节点中的第一变量用于表示可执行代码所处的内存页的标识,第二变量用于表示所述可执行代码所处的内存页的基准度量值;利用所述界面度量节点形成页面度量列表;利用所述页面度量列表形成进程度量列表。其中,所述处理器还用于:设置所述调度器,以使所述调度器在执行完关键语句之后,对所述目标进程的目标可执行代码进行动态度量。第四方面,本专利技术实施例提供了一种电子设备,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;所述处理器,用于读取存储器中的程序实现如第一方面所述的动态度量方法中的步骤。第五方面,本专利技术实施例提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序被处理本文档来自技高网...

【技术保护点】
1.一种动态度量方法,其特征在于,包括:/n当目标进程被调度器选中并且未被执行前,对所述目标进程的目标可执行代码进行动态度量,得到动态度量结果;/n根据所述动态度量结果,确定是否执行所述目标进程。/n

【技术特征摘要】
1.一种动态度量方法,其特征在于,包括:
当目标进程被调度器选中并且未被执行前,对所述目标进程的目标可执行代码进行动态度量,得到动态度量结果;
根据所述动态度量结果,确定是否执行所述目标进程。


2.根据权利要求1所述的方法,其特征在于,所述对所述目标进程的目标可执行代码进行动态度量,得到动态度量结果,包括:
确定所述目标可执行代码段所处的内存页标识;
确定所述内存页标识对应的内存页的目标度量值;
获取所述内存页的基准度量值;
将所述目标度量值和所述基准度量值进行比较,得到所述动态度量结果。


3.根据权利要求2所述的方法,其特征在于,所述确定所述内存页标识对应的内存页的目标度量值,包括:
对所述内存页内的可执行代码段进行哈希运算,得到所述目标度量值。


4.根据权利要求2所述的方法,其特征在于,所述获取所述内存页的基准度量值,包括:
根据所述目标进程的信息,查找进程度量列表,得到所述目标进程的信息对应的目标进程节点;
根据所述目标进程节点的信息和所述内存页标识,查找页面度量列表,得到所述内存页的基准度量值。


5.根据权利要求2所述的方法,其特征在于,所述根据所述动态度量结果,确定是否执行所述目标进程,包括:
在所述目标度量值和所述基准度量值一致的情况下,继续执行所述目标进程;否则,结束执行所述目标进程。


6.根据权利要求1所述的方法,其特征在于,在所述对所述目标进程的目标可执行代码进行动态度量,得到动态度量结果之前,所述方法还包括:
...

【专利技术属性】
技术研发人员:杨朋霖赵海燕黄静何申
申请(专利权)人:中国移动通信有限公司研究院中国移动通信集团有限公司
类型:发明
国别省市:北京;11

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

1