摘要

程序控制错误可能会导致严重的程序执行错误。在安全苛求系统中,由于在恶劣环境中,处理器易受到电磁干扰等影响,可能导致处理器运算错误,存在安全隐患。目前对程序控制错误检测的研究主要基于基本块-签名和编码两种方法,基于基本块-签名的方法对程序性能影响较小,能检测程序控制错误,但检测分支跳转错误的漏检率较高;基于编码的算法能检测程序控制错误,但性能下降较大。为达到性能和漏检率的折中,本文基于基本块-签名和数据差异化编码思想,提出了分支签名的方法,从而保证分支跳转的正确性。本文采用故障注入及性能测试实验验证算法的漏检率和性能,结果表明:本算法漏检率可达,程序性能平均下降了10.2倍,相较于ANBD编码分支检测算法性能提高9.3倍。