[发明专利]一种多安全环境下敏感应用动态度量的方法及系统有效
申请号: | 201810459608.9 | 申请日: | 2018-05-15 |
公开(公告)号: | CN108694320B | 公开(公告)日: | 2020-09-15 |
发明(设计)人: | 代蕊蕊;霍冬冬;王雅哲;李宇;胡铭铭;王瑜 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F21/51 |
代理公司: | 北京科迪生专利代理有限责任公司 11251 | 代理人: | 安丽;成金玉 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 安全 环境 敏感 应用 动态 度量 方法 系统 | ||
1.一种多安全环境下敏感应用动态度量的方法,其特征在于,包括如下步骤:
步骤1、对程序的源代码进行静态分析,生成函数调用图和函数控制流图,从而构建可信路径特征集;所述可信路径特征集由安全域在程序启动阶段进行静态度量,保证可信路径特征集的安全性;所述安全域指TrustICE,由TrustZone硬件隔离环境保证,即多安全环境;
步骤2、对程序源代码进行插桩预处理,在程序启动过程中,利用安全域执行静态度量,保证程序的源代码中的插桩点未被篡改;在程序运行过程中,根据程序的源代码中的插桩点获取动态路径;所述动态路径包括实际函数调用关系和函数内分支调用关系;
步骤3、在安全域,对步骤2获取的动态路径进行分离,得到函数调用子图和函数控制流子图;
步骤4、利用安全域将步骤3中的函数调用子图与步骤1中生成的函数调用图进行匹配,确保步骤3中的函数调用子图是步骤1中函数调用图的子图;然后利用安全域将步骤3中的函数控制流子图与步骤1中的函数控制流图进行匹配,确保步骤3中的函数控制流子图是步骤1中每个函数控制流图的子图,函数调用子图和函数控制流子图匹配成功,则说明敏感应用的执行顺序未被篡改,即实现了可信实时计算进行动态度量未发现异常;所述敏感应用是指需要保证执行顺序未被篡改的应用程序。
2.根据权利要求1所述的多安全环境下敏感应用动态度量的方法,其特征在于:所述步骤1中,构建可信路径特征集包含如下步骤:
步骤1.1、对敏感应用和系统框架层进行静态分析,分别生成敏感应用的函数调用图和系统框架层的函数调用图,然后连接生成一个完整的函数调用图;
步骤1.2、对敏感应用和系统框架层进行静态分析,对每个函数生成函数控制流图;
步骤1.3、计算函数调用图和函数控制流图的哈希值,并存储在TrustICE安全环境,保证可信路径特征集的完整性。
3.根据权利要求1所述的多安全环境下敏感应用动态度量的方法,其特征在于:所述步骤2中,获取动态路径包含如下步骤:
步骤2.1、以程序源代码中的每个函数作为一个插桩单元,针对每个插桩单元,将函数的起始点、控制逻辑关键代码段、函数结束点作为插桩点;设计桩函数,并将桩函数插入到选择的插桩点中;
步骤2.2、对完成插桩的敏感应用和系统框架层计算哈希值并存储在TrustICE安全环境,在敏感应用所依赖的操作系统启动阶段,对系统框架层进行静态度量;在敏感应用启动阶段,对敏感应用进行静态度量;
步骤2.3、在敏感应用所依赖的操作系统和敏感应用运行过程中,根据插桩点信息记录度量时间片内的动态路径,所述动态路径包含函数执行信息及函数内部控制逻辑的执行信息。
4.根据权利要求1所述的多安全环境下敏感应用动态度量的方法,其特征在于:所述步骤3中,动态路径分离包含如下步骤:
步骤3.1、根据函数起始点和结束点的插桩点信息,从动态路径中提取函数执行流,生成度量时间片内的函数调用子图;
步骤3.2、根据函数控制逻辑关键代码段的插桩点信息,从动态路径中提取函数内部执行控制流,生成度量时间片内的函数控制流子图。
5.根据权利要求1所述的多安全环境下敏感应用动态度量的方法,其特征在于:所述步骤4中,可信实时计算包含如下步骤:
步骤4.1、将步骤3中的函数调用子图与步骤1中的函数调用图进行匹配,若函数调用子图是函数调用图的子图,则继续进行步骤4;否则,报告程序执行顺序问题,结束敏感应用;
步骤4.2、将步骤3中动态函数控制流子图与步骤1中的函数控制流图进行匹配,若函数控制流子图是函数控制流图的子图,则程序在可信路径上执行;否则,报告程序内部执行问题,结束敏感应用。
6.根据权利要求5所述的多安全环境下敏感应用动态度量的方法,其特征在于:所述步骤4.1和步骤4.2中,匹配的方法通过TrustICE安全环境中的实时计算引擎实现。
7.一种多安全环境下敏感应用动态度量的系统,其特征在于,包括:可信路径特征集构建模块、动态路径采集模块、动态路径分离模块、可信实时计算路径匹配模块;
可信路径特征集构建模块,在敏感应用发布及使用之前,对敏感应用及系统框架层源代码进行静态分析,分别生成函数调用图和函数控制流图,他们共同构成了可信路径特征集,该特征集的安全性和完整性由TrustICE保证;
动态路径采集模块,在敏感应用发布及使用之前,对敏感应用和系统框架层的源代码进行插桩预处理;在敏感应用运行过程中,根据插桩信息记录敏感应用内部及系统框架层函数的动态执行信息;
动态路径分离模块,根据动态路径采集模块获取的动态路径中保存的桩函数信息,提取运行时的函数调用子图及函数控制流子图,函数控制流子图针对循环、递归和分支进行拆分;动态路径分离的具体实现过程在TrustICE中执行,以保证生成的函数调用子图和函数控制流子图的完整性和安全性;
可信实时计算路径匹配模块,可信路径特征集包括由静态分析获取的函数调用图和函数控制流图,动态路径采集模块和动态路径分离模块记录并分离了实际执行过程中敏感应用和系统框架层的执行顺序,生成了函数调用子图和函数控制流子图,该模块首先判断函数调用子图是否是函数调用图的子集,若不是,则敏感应用的实际执行过程发生了异常调用;若是,则继续判断函数控制流子图是否是函数控制流图的子集,如果不是,则敏感应用的实际执行过程发生了异常调用;如果是,则敏感应用的实际执行过程正常。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810459608.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种恶意代码家族判定方法及装置
- 下一篇:一种钓鱼网站的识别方法及装置