【技术实现步骤摘要】
一种基于多目标粒子群算法的程序控制流证明方法
[0001]本专利技术涉及一种基于多目标粒子群算法的程序控制流证明方法,属于计算机信息远程证明
技术介绍
[0002]随着物联网技术的不断发展,嵌入式设备广泛应用在家庭、办公、汽车、城市管理、医疗、电力和工业控制等重要领域,这些领域的嵌入式设备一旦被攻击者攻击,不仅会威胁到个人的隐私和安全,而且会对企业信息安全造成威胁,甚至会对国家关键基础设施造成威胁,从而威胁国家安全。攻击者通过各种手段对嵌入式设备上的软件进行攻击,其中最为常见且危害最大的就是控制流劫持攻击。
[0003]控制流劫持攻击是一种常见的针对计算机软件的攻击方法,其通常通过缓冲区溢出漏洞等二进制漏洞改变进程的控制流,从而执行特定的恶意代码,达到攻击的目的。
[0004]远程证明技术让一个资源丰富的验证者(执行认证的实体)得到资源受限的证明者(需要证明的设备)上的软件的运行状态,从而确定证明者是否受到攻击。远程证明是一种有效保障设备安全的方法,并且可以减少资源嵌入式设备的证明开销。
[ ...
【技术保护点】
【技术特征摘要】
1.一种基于多目标粒子群算法的程序控制流证明方法,其特征在于:Step1:对目标程序的函数进行分析,获取目标程序的各个函数调用次数和控制流事件总数,将其输入到多目标粒子群算法中,进行安全性和性能开销优化,得到最优函数插桩方案;Step2:根据最优函数插桩方案,对目标程序进行粗细粒度结合的插桩处理,然后分析目标程序,确定函数的输入范围,根据所确定的输入范围,在设备运行处理后的目标程序,得到所有的控制流数据,对控制流数据进行累积哈希运算,得到预期哈希值,将预期哈希值和输入范围以键值对的形式存储到服务器的数据库中;Step3:服务器向设备发起认证请求,设备收到认证请求后,根据认证请求中的程序输入运行处理后的目标程序,得到动态程序控制流数据,输入到可信执行环境中进行累积哈希运算,得到哈希值,并对哈希值和认证请求进行签名生成认证报告,最后将报告发送给服务器;Step4:服务器收到认证报告后,首先对报告进行验签,确定报告的提交者是合法的,然后检查报告中的认证请求是否合法的,最后将哈希值和认证请求中的输入的预期哈希值进行对比,得到认证结果,如果认证成功,说明设备上的目标程序并没有被攻击,反之,则说明目标程序受到了控制流劫持攻击。2.根据权利要求1所述的基于多目标粒子群算法的程序控制流证明方法,其特征在于:所述目标程序的各个函数调用次数和控制流事件总数均是多条运行路径的平均值,控制流事件即是程序汇编代码中的跳转指令。3.根据权利要求1所述的基于多目标粒子群算法的程序控制流证明方法,其特征在于,所述多目标粒子群算法具体为:优化目标:max{safety(Y)}min{spending(Y)}约束条件:safety(Y)>Safety
threshold
s...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。