买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于多目标粒子群算法的程序控制流证明方法_昆明理工大学_202210240839.7 

申请/专利权人:昆明理工大学

申请日:2022-03-10

公开(公告)日:2024-04-09

公开(公告)号:CN114611106B

主分类号:G06F21/56

分类号:G06F21/56;G06F21/52;G06F21/44;G06F21/64;G06N3/006

优先权:

专利状态码:有效-授权

法律状态:2024.04.09#授权;2022.06.28#实质审查的生效;2022.06.10#公开

摘要:本发明涉及一种基于多目标粒子群算法的程序控制流证明方法,属于计算机信息远程证明技术领域。本发明通过多目标粒子群算法得到最优插桩方案,根据该方案获取目标程序所有可能的控制流数据,将每种输入范围下的控制流数据的哈希值和输入范围存储到服务器。设备收到服务器发起的请求后,根据请求中的输入运行目标程序,在可信执行环境中对动态控制流数据进行哈希运算得到哈希值,对哈希值和请求进行签名生成报告,发送给服务器。服务器收到报告后先验签,再检查请求是否正确,最后将哈希值和预期哈希值进行对比。本发明可以使得资源受限的设备能够以较低的性能开销获得极高的安全性。

主权项:1.一种基于多目标粒子群算法的程序控制流证明方法,其特征在于:Step1:对目标程序的函数进行分析,获取目标程序的各个函数调用次数和控制流事件总数,将其输入到多目标粒子群算法中,进行安全性和性能开销优化,得到最优函数插桩方案;Step2:根据最优函数插桩方案,对目标程序进行粗细粒度结合的插桩处理,然后分析目标程序,确定函数的输入范围,根据所确定的输入范围,在设备运行处理后的目标程序,得到所有的控制流数据,对控制流数据进行累积哈希运算,得到预期哈希值,将预期哈希值和输入范围以键值对的形式存储到服务器的数据库中;Step3:服务器向设备发起认证请求,设备收到认证请求后,根据认证请求中的程序输入运行处理后的目标程序,得到动态程序控制流数据,输入到可信执行环境中进行累积哈希运算,得到哈希值,并对哈希值和认证请求进行签名生成认证报告,最后将报告发送给服务器;Step4:服务器收到认证报告后,首先对报告进行验签,确定报告的提交者是合法的,然后检查报告中的认证请求是否合法的,最后将哈希值和认证请求中的输入的预期哈希值进行对比,得到认证结果,如果认证成功,说明设备上的目标程序并没有被攻击,反之,则说明目标程序受到了控制流劫持攻击;所述目标程序的各个函数调用次数和控制流事件总数均是多条运行路径的平均值,控制流事件是程序汇编代码中的跳转指令;所述多目标粒子群算法具体为:优化目标:max{safetyY}min{spendingY}约束条件:safetyYSafetythresholdspendingYSpendingthreshold控制变量:Y={y1,y2,y3,...,yn}参数意义:SafetyY指在函数插桩方案Y下的安全性;spendingY指在函数插桩方案Y下的性能开销;Safetythreshold指函数插桩方案全是边缘函数时的安全性;Spendingthreshold指函数插桩方案全是核心函数时的性能开销; 所述的控制流数据是由多个跳转节点组成,每一个跳转节点都是唯一的,如果在运行过程中出现多次同样的跳转节点,插桩得到的控制流数据中仅会记录一次,后续再次出现只会在跳转节点数据中的跳转指令执行次数中进行记录,跳转节点的数据包括跳转指令的源地址、跳转目的地址和跳转指令执行的次数,其中跳转指令包括直接跳转指令、间接跳转指令、条件跳转指令、函数调用指令、函数返回指令。

全文数据:

权利要求:

百度查询: 昆明理工大学 一种基于多目标粒子群算法的程序控制流证明方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。