[发明专利]一种基于概率预测的嵌入式可变粒度控制流验证方法及系统有效
申请号: | 201910513155.8 | 申请日: | 2019-06-14 |
公开(公告)号: | CN110276198B | 公开(公告)日: | 2021-04-20 |
发明(设计)人: | 霍冬冬;胡建行;李宇;田琛;王瑜;王雅哲 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 北京科迪生专利代理有限责任公司 11251 | 代理人: | 安丽;邓治平 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 概率 预测 嵌入式 可变 粒度 控制 验证 方法 系统 | ||
本发明涉及一种基于概率预测的嵌入式可变粒度控制流验证方法及系统,分为验证端和证明端。可信路径特征集构建,对目标源程序中的每个函数进行漏洞概率预测,然后对函数进行粗细粒度的插桩预处理,再在验证端中用不同的输入获取目标程序所有可能的动态控制流图,这些控制流图使用哈希值代替并存储在数据库中;动态路径的收集,证明端在接收到验证端发送的请求后运行处理过的目标程序,并在安全世界中计算此次控制流图的哈希值并签名;动态路径的检验,证明端发送签名给验证端,验证端将解密签名得到的哈希值在数据库中进行匹配,如果能够匹配上说明此次运行的控制流是完整的,否则控制流完整性遭到了破坏。
技术领域
本发明涉及一种在嵌入式平台上验证软件控制流完整性的方法系统及方法,属于嵌入式终端关键应用的动态度量领域。
背景技术
随着嵌入式设备的快速发展,特别是物联网(Internet of Things,IoT)的出现,嵌入式终端关键应用的完整性保护日益受到重视,各种完整性保护的模型和实施方法相应的被提出。在系统和应用运行的过程中,攻击者可以通过各种各样的手段来对系统或者应用进行攻击,破坏这些软件的完整性。例如,控制流攻击(Control-Flow Attack)就是其中一种攻击手段,这种攻击手段非常常见而且能够造成比较大的威胁。控制流攻击会影响程序的运行时行为,表现在于它会劫持程序的控制流到任意的地址空间,从而破坏程序的完整性。对于资源有限的嵌入式设备而言,实时的保护会造成过大的开销,所以远程的验证手段是常用的一种方法。
当前针对嵌入式平台的控制流完整性验证要么是细粒度的验证或者是粗粒度的验证。前者的验证方案会检查程序中所有的控制流转移指令,包括分支指令,函数的调用和返回事件,这种粒度的验证能够保证安全但是会造成较大的开销。而后者的运行开销较小,它只检查函数之间的调用关系(即函数的调用和返回事件),但是它不够安全。
发明内容
本发明的技术解决问题为:克服现有技术的不足,一种基于概率预测的嵌入式可变粒度控制流验证方法及系统,利用机器学习的概率模型来结合这两种不同粒度的验证方法,能够在运行时性能和安全保障之间达到相对的平衡。
本发明的技术解决方案为:一种在嵌入式平台中使用远程证明架构对软件完整性的验证方法和系统,利用TrustZone硬件隔离来对应用的执行进行动态完整性度量,包括粗粒度的函数级别验证以及细粒度的控制流指令级别验证。该发明在提高了验证效率的同时,也保障了一定的安全性。
按照本发明所提供的设计方案,本发明的主要目的是针对当前嵌入式平台上软件的控制流完整性验证手段要么是开销过大的细粒度或者不够安全的粗粒度问题,利用机器学习的概率模型来有效结合这两种粒度的验证方法,从而在嵌入式平台上进行完整性验证时能够达到在运行时性能和安全保障之间的相对平衡。控制流完整性(Control-FlowIntegrity,CFI)是一种保护或者验证控制流完整性的有效方案,它的思想是利用控制流图(Control-Flow Graph,CFG)来限制程序的运行目标范围。本方案提出了基于概率预测的嵌入式可变粒度控制流验证系统,该系统利用远程证明的架构对嵌入式平台的控制流完整性进行验证,该验证需要嵌入式平台带有一个可信的隔离环境,比如ARM的TrustZone,这样才能够实现可信的动态完整性度量。
控制流攻击,是一种能够劫持原有程序控制流的技术,包括代码注入攻击,代码复用攻击,还有近些年来提出的非控制数据攻击。这些攻击的方法能够改变原有的控制流,从而实现攻击者的攻击意图。
远程证明,是一种有效验证嵌入式平台完整性的系统方案。它包括两个部分:验证端和证明端。验证端通常是一个资源丰富的第三方可信平台(如PC),它主要向证明端发起验证并且对最后的验证报告进行有效性检查。而证明端是一个资源有限的平台,在本方案中指的就是嵌入式平台。它们之间通过一定的协议进行通信,从而达到验证证明端完整性的目的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910513155.8/2.html,转载请声明来源钻瓜专利网。