发明名称 基于可信计算的软件混合度量方法
摘要 本发明涉及一种基于可信计算的软件混合度量方法,包含如下步骤:软件预处理,对程序源代码进行分析、插桩,提取软件的行为特征,生成软件行为特征库,嵌入软件完整性度量策略,并生成待度量可执行程序;软件度量,依据完整性度量策略和软件行为特征库,对待度量可执行程序启动时,通过并行优化算法进行完整性度量,并在运行过程中对该可执行程序进行实时的动态度量。本发明能够同时支持软件静态度量和动态度量,并且采用并行优化、策略嵌入、插桩、系统调用划分等技术,对软件实现完整性度量和行为实时动态度量相结合,具有良好的度量效率和较低的度量开销。
申请公布号 CN104517057A 申请公布日期 2015.04.15
申请号 CN201410800734.8 申请日期 2014.12.22
申请人 中国人民解放军信息工程大学 发明人 单征;赵荣彩;庞建民;范超;蔡洪波;赵炳麟;王银浩;龚雪容;蔡国明;薛飞;闫丽景;贾珣;徐晓燕
分类号 G06F21/57(2013.01)I 主分类号 G06F21/57(2013.01)I
代理机构 郑州大通专利商标代理有限公司 41111 代理人 陈勇
主权项 一种基于可信计算的软件混合度量方法,其特征在于:包含如下步骤:步骤1、 软件预处理,对程序源代码进行分析、插桩,提取软件的行为特征,生成软件行为特征库,嵌入软件完整性度量策略,并生成待度量可执行程序;步骤2、 软件度量,依据完整性度量策略和软件行为特征库,对待度量可执行程序启动时,通过并行优化算法进行完整性度量,并在运行过程中对该可执行程序进行实时的动态度量。2.  根据权利要求1所述的基于可信计算的软件混合度量系统,其特征在于:软件预处理具体包含如下步骤:步骤1.1.    静态分析,对程序源代码进行静态分析,扫描程序源代码,分析关键调用参数,并构造作用域子图,程序中所有作用域子图构成作用域图;步骤1.2.    结构分析,对程序进行结构分析,扫描作用域图,根据作用域子图将程序分成不同的程序块作为关键块,并生成程序的关键序列图;步骤1.3.    冗余化简,程序源代码被分成若干关键块,合并邻接、交叉、嵌套关键块;步骤1.4.    插桩,根据关键序列图,调用动态度量桩函数库中的桩函数,对每个关键块的启示和结束位置进行插桩;步骤1.5.    编译,对插桩后的程序源代码进行编译,向可执行文件嵌入完整性度量策略,生成待度量可执行程序。3.  根据权利要求1所述的基于可信计算的软件混合度量系统,其特征在于:软件度量具体包含如下步骤:步骤2.1.                  完整性度量,待度量可执行程序启动时依据嵌入的完整性度量策略对该可执行程序进行完整性检测,若通过,则进入下一步骤,否则,结束该可执行程序;步骤2.2.                  动态度量,待度量可执行程序通过完整性度量后,依据软件行为特征库对软件行为进行实时的动态度量,若通过动态度量,则继续该可执行程序,否则,结束待度量可执行程序。4.  根据权利要求2所述的基于可信计算的软件混合度量方法,其特征在于:所述步骤1.4中动态度量桩函数库提供桩函数,插桩根据插桩位置调用不同的桩函数。5.  根据权利要求2所述的基于可信计算的软件混合度量方法,其特征在于:所述插桩具体包含如下步骤:步骤1.4.1.           扫描程序源代码,根据关键序列图判断源代码关键块是否存在关键调用,若某关键块中存在关键调用,则进行步骤1.4.2,否则,继续执行该步骤;步骤1.4.2.           判断关键块中是否出现新的参数及关键调用,若是,则进行步骤1.4.3,否则,进行步骤1.4.4;步骤1.4.3.           建立新队列,执行后,进行步骤1.4.5;步骤1.4.4.           判断关键块是否有包含参数的自定义函数,若有,则进行步骤1.4.7,否则进行步骤1.4.5;步骤1.4.5.           将关键调用及参数存入队列,执行后进行步骤1.4.6;步骤1.4.6.           判断源代码是否读入结束,若是,则进行步骤1.4.8,否则,返回执行步骤1.4.1;步骤1.4.7.           建立子队列,执行后进入步骤1.4.5;步骤1.4.8.           进行插桩。6.  根据权利要求3所述的基于可信计算的软件混合度量方法,其特征在于:所述步骤2.1中的完整性度量策略库提供完整性度量策略,将完整性度量策略作为表项嵌入到待度量可执行程序。7.  根据权利要求6所述的基于可信计算的软件混合度量方法,其特征在于:所述完整性度量策略包含度量点、度量检查项、度量算法及度量哈希值。8.  根据权利要求2或4或5任一项所述的基于可信计算的软件混合度量方法,其特征在于:所述关键调用为对操作系统的文件、进程、内存、用户权限、网络、通讯进行操作的系统调用。
地址 450052 河南省郑州市高新区科学大道62号解放军信息工程大学