【技术实现步骤摘要】
一种基于概率预测的嵌入式可变粒度控制流验证方法及系统
本专利技术涉及一种在嵌入式平台上验证软件控制流完整性的方法系统及方法,属于嵌入式终端关键应用的动态度量领域。
技术介绍
随着嵌入式设备的快速发展,特别是物联网(InternetofThings,IoT)的出现,嵌入式终端关键应用的完整性保护日益受到重视,各种完整性保护的模型和实施方法相应的被提出。在系统和应用运行的过程中,攻击者可以通过各种各样的手段来对系统或者应用进行攻击,破坏这些软件的完整性。例如,控制流攻击(Control-FlowAttack)就是其中一种攻击手段,这种攻击手段非常常见而且能够造成比较大的威胁。控制流攻击会影响程序的运行时行为,表现在于它会劫持程序的控制流到任意的地址空间,从而破坏程序的完整性。对于资源有限的嵌入式设备而言,实时的保护会造成过大的开销,所以远程的验证手段是常用的一种方法。当前针对嵌入式平台的控制流完整性验证要么是细粒度的验证或者是粗粒度的验证。前者的验证方案会检查程序中所有的控制流转移指令,包括分支指令,函数的调用和返回事件,这种粒度的验证能够保证安全但是会造成较大的开销。而后者的运行开销较小,它只检查函数之间的调用关系(即函数的调用和返回事件),但是它不够安全。
技术实现思路
本专利技术的技术解决问题为:克服现有技术的不足,一种基于概率预测的嵌入式可变粒度控制流验证方法及系统,利用机器学习的概率模型来结合这两种不同粒度的验证方法,能够在运行时性能和安全保障之间达到相对的平衡。本专利技术的技术解决方案为:一种在嵌入式平台中使用远程证明架构对软件完整性的验证方法和系统, ...
【技术保护点】
1.一种基于概率预测的嵌入式可变粒度控制流验证方法,其特征在于,包括如下步骤:步骤1、可信路径特征集构建,对目标源程序中的函数进行概率预测,然后对不同概率的函数进行粗细粒度的插桩预处理,再在验证端中利用不同的输入Ip获取目标程序所有可能的可信动态控制流图,这些动态的控制流图使用BLAKE2哈希算法计算,不同的控制流图对应不同的哈希值,这些可信控制流图哈希值hs被存储在数据库中,构成了可信路径特征集;步骤2、动态路径收集,验证端发送指令请求给证明端,证明端在接受请求c后在正常世界中的一定输入下Is运行处理过的目标程序,并在安全世界中收集程序运行过程中的相应控制流转移指令,利用这些控制流转移指令的信息计算此次控制流图的哈希值h,最后将这个哈希值h用密钥k进行签名发送给验证端进行验证;步骤3、动态路径检验,证明端将步骤2得到的签名发送给验证端,验证端在接收到签名后利用已知的密钥k对签名进行解密,获取哈希值h,该哈希值h与步骤1中数据库中存储的哈希值hs进行匹配,如果能够匹配上,则说明此次运行正常,否则的话说明此次运行的控制流完整性遭到了破坏。
【技术特征摘要】
1.一种基于概率预测的嵌入式可变粒度控制流验证方法,其特征在于,包括如下步骤:步骤1、可信路径特征集构建,对目标源程序中的函数进行概率预测,然后对不同概率的函数进行粗细粒度的插桩预处理,再在验证端中利用不同的输入Ip获取目标程序所有可能的可信动态控制流图,这些动态的控制流图使用BLAKE2哈希算法计算,不同的控制流图对应不同的哈希值,这些可信控制流图哈希值hs被存储在数据库中,构成了可信路径特征集;步骤2、动态路径收集,验证端发送指令请求给证明端,证明端在接受请求c后在正常世界中的一定输入下Is运行处理过的目标程序,并在安全世界中收集程序运行过程中的相应控制流转移指令,利用这些控制流转移指令的信息计算此次控制流图的哈希值h,最后将这个哈希值h用密钥k进行签名发送给验证端进行验证;步骤3、动态路径检验,证明端将步骤2得到的签名发送给验证端,验证端在接收到签名后利用已知的密钥k对签名进行解密,获取哈希值h,该哈希值h与步骤1中数据库中存储的哈希值hs进行匹配,如果能够匹配上,则说明此次运行正常,否则的话说明此次运行的控制流完整性遭到了破坏。2.根据权利要求1所述的基于概率预测的嵌入式可变粒度控制流验证方法,其特征在于:所述步骤1中,对目标源程序中的每个函数进行概率预测,然后对不同概率的函数进行粗细粒度的插桩预处理具体包含如下步骤:步骤1.1、概率预测,使用有漏洞的函数和正常函数作为数据,函数特征作为特征训练得到一个机器学习模型,该机器学习模型会对目标程序中的所有函数进行漏洞的概率预测,得到目标程序中所有函数的漏洞概率;步骤1.2、粗细粒度插桩,基于步骤1.1中得到的目标程序中所有函数的漏洞概率,在验证端指定一个概率阈值p,利用这个概率阈值p对函数进行分类,对于一个函数,如果在步骤1.1中得到的漏洞概率pf≥p,则这个函数就会被认为是有漏洞的,这一类的函数会被细粒度插桩从而更好的保证它的完整性不被破坏,而如果函数的漏洞概率pf<p,则它被认为是正常的函数而被粗粒度插桩;步骤1.3、可信路径特征集安全存储,经过处理的目标程序在所可能的输入Ip下运行,计算其合法的控制流图的哈希值,并将这些哈希值存储在数据库中来构建可信路径特征集。3.根据权利要求1所述的基于概率预测的嵌入式可变粒度控制流验证...
【专利技术属性】
技术研发人员:霍冬冬,胡建行,李宇,田琛,王瑜,王雅哲,
申请(专利权)人:中国科学院信息工程研究所,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。