一种基于调用序列的混合粒度动态可信链度量方法及系统技术方案

技术编号:39056252 阅读:23 留言:0更新日期:2023-10-12 19:49
本发明专利技术公开了一种基于调用序列的混合粒度动态可信链度量方法及系统,包括:程序启动前,程序度量值分析预处理,函数调用邻接表生成;程序启动后,运行时函数调用记录,进程可信判定。本发明专利技术在程序启动前,首先通过程序度量值分析预处理对当前文件进行处理,以便于提取程序运行过程中的函数调用序列;其次,生成函数调用邻接表,根据设置的度量粒度值获取函数调用序列并保存作为可信的度量值;接着,在程序启动后,度量代理开始记录运行时函数调用序列并发送到度量模块;最后,由度量模块对运行时函数调用序列与已生成的可信度量值进行比较,完成进程可信判定。本发明专利技术中降低了信任损失以及系统运行时的风险。失以及系统运行时的风险。失以及系统运行时的风险。

【技术实现步骤摘要】
一种基于调用序列的混合粒度动态可信链度量方法及系统


[0001]本专利技术涉及可信计算领域,具体涉及一种基于调用序列的混合粒度动态可信链度量方法及系统。

技术介绍

[0002]近年来国内外网络安全形势日益严峻,如电网遭黑客攻击导致大面积停电,愈加映衬出现有防护能力的缺失。可信度量技术是可信计算技术的重要组成部分,保护计算机或嵌入式系统免受篡改,将会使计算机或嵌入式系统变得更加安全、更加不易被病毒和恶意软件侵害,因此从最终用户角度来看也更加可靠。
[0003]可信度量技术分为动态度量和静态度量两种方式。静态度量从系统启动时对其镜像进行度量,形成贯穿系统运行前后的信任链机制,以对系统进行安全性判断。动态度量则在系统运行期间,动态地获取系统在不同运行时间的特征,通过事先定义的算法或模型计算系统的可靠性。
[0004]但是,静态度量方式存在可信链过长、增大信任损失的风险。在动态度量方法中,借助传统的访问控制模型如BIBA模型(即完整性访问控制模型),更多的是以控制不同应用的行为的方式描述如何保护一个系统的安全性,没有充分反应一个系统可信本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于调用序列的混合粒度动态可信链度量方法,其特征在于,包括:程序启动前,程序度量值分析预处理,基于预处理后的文件生成邻接表,获取函数调用序列;程序启动后,度量代理记录运行时函数调用序列,度量模块根据运行时函数调用序列进行进程可信判定。2.根据权利要求1所述的一种基于调用序列的混合粒度动态可信链度量方法,其特征在于:所述程序度量值分析预处理包括:文件类型判断,生成汇编文件。3.根据权利要求2所述的一种基于调用序列的混合粒度动态可信链度量方法,其特征在于:所述文件类型包括C语言源码文件和库文件;对于C语言源码文件使用工具编译为汇编文件;对于库文件先使用工具读取elf文件中记录的函数名,再使用IDA反编译elf文件获得所有函数的汇编代码。4.根据权利要求1所述的一种基于调用序列的混合粒度动态可信链度量方法,其特征在于:所述函数调用邻接表生成包括:存储当前函数名,函数内部子函数检查,子函数名存储,根据邻接表生成有向无环图。5.根据权利要求4所述的一种基于调用序列的混合粒度动态可信链度量方法,其特征在于:从预处理后的文件中提取程序中所有的函数名,函数名以HASH表的形式存储;逐个检查存在的函数,按行读取函数内容,查找是否存在BL语句以判断该行是否存在调用子函数的行为,如果存在,每一个函数的子函数以链表的方式存储;根据邻接表生成邻接图,调用图剪枝,进行去环,获得一张有向无环图。6.根据权利要求1所述的一种基于调用序列的混合粒度动态可信链度量方法,其特征在于:所述度量代理记录运行时函数调用序列,包括:设置钩子函数,计算函数名与函数调用者,获取度量代理数据。7.根据权利要求6所述的一种基于调用序列的混合粒度动态可信链度量方法,其特征在于:所述设置钩子函数包括:在GCC编译器底层实现中在每个函数起始地方插入mcount函数,重载该weak属性函数,实现在每个函数调用阶段读取LR寄存器值,获取当前子函数中的地址值。8.根据权利要求6所述的一种基于调用序列的混合粒度动态可信链度量方法,其特征在于:所述计算函数名与函数调用者包括:度量代理从编译后的内核二进制文件中读取各个函数的偏移地址,并获取运行中程序的main函数地址,以此计算加载的基地址,再以基地址为基础,...

【专利技术属性】
技术研发人员:刘钰徐超程伟华葛忠宝刘全吉慎缪凯张明远韩亮
申请(专利权)人:江苏电力信息技术有限公司国网江苏省电力有限公司
类型:发明
国别省市:

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

1