本发明涉及可信仲裁领域,具体提供一种可信仲裁防御方法及装置。
背景技术:
1、随着大数据时代的来临,数据信息安全愈发得到人们的重视,保障隐私数据的安全是当前计算机领域的重要话题。可信执行环境(tee,trusted executation enviroment)是当前主流的隐私数据保护方法之一。可信执行环境指一个安全的、不受外界干扰或攻击的程序运行环境,当外部系统需要调用可信执行环境的资源时,可以通过触发相应中断,通过可信仲裁器获取相应资源。
2、在可信仲裁的上下文切换过程中,可能因不安全语言编写的中断处理程序引入受到缓冲区溢出攻击的风险。
技术实现思路
1、本发明是针对上述现有技术的不足,提供一种实用性强的可信仲裁防御方法。
2、本发明进一步的技术任务是提供一种设计合理,安全适用的可信仲裁防御装置。
3、本发明解决其技术问题所采用的技术方案是:
4、一种可信仲裁防御方法,基于risc-v与canary机制,具有如下步骤:
5、s1、在可信仲裁中断处理程序源代码中插入用于可信仲裁防御的canary机制扩展指令;
6、s2、执行涉及到可信仲裁的中断处理程序时,用于可信仲裁防御的canary机制扩展指令将特殊数据的canary值写入当前栈帧底部;
7、s3、中断处理程序执行结束并切换回栈帧保存的上下文环境时,通过用于检验特殊数据canary值的扩展指令对比特殊数据canary值是否被篡改;
8、s4、若检测到canary值被篡改,则进入异常处理进行防御;
9、s5、若未检测到canary值被篡改,则正差处理程序流程。
10、进一步的,在步骤s1中,插入操作在编写中断处理程序时手动插入或通过编译器识别中断处理程序自动插入。
11、进一步的,生成特殊数据的canary值时,具有如下方式:
12、(1)根据涉及可信仲裁的中断处理程序入口节点,获取程序起始地址;
13、(2)采用集成的随机数发生器生成,基于硬件安全原语,根据输入的电磁振荡信号作为种子,生成特定的随机数;
14、(3)根据中断处理程序起始地址和生成的随机数生成特殊数据canary。
15、进一步的,基于risc-v指令集定义可信仲裁防御的canary机制扩展指令,和用于检验特殊数据canary值的扩展指令。
16、进一步的,用于可信仲裁防御的canary机制扩展指令的指令格式包括opcode字段、src字段、canary字段和res字段。
17、进一步的,所述opcode字段用于表示所定义的扩展指令操作码编码;
18、所述src字段用于存储当前写入特殊数据canary值的栈帧地址;
19、所述canary字段用于存储作为canary来源的专用可信寄存器的地址;
20、所述res字段用于存储指令执行结果的寄存器的地址。
21、进一步的,用于检验特殊数据canary值的扩展指令的指令格式包括opcode字段、src字段、canary字段和res字段;
22、所述opcode字段用于表示所定义的扩展指令的指令操作码编码;
23、所述src字段用于存储当前所保护的代码片段的起始地址;
24、所述canary字段用于存储特殊数据canary值;
25、所述res字段用于存储指令执行结果的寄存器的地址。
26、一种可信仲裁防御装置,包括:至少一个存储器和至少一个处理器;
27、所述至少一个存储器,用于存储机器可读程序;
28、所述至少一个处理器,用于调用所述机器可读程序,执行一种可信仲裁防御方法。
29、本发明的一种可信仲裁防御方法及装置和现有技术相比,具有以下突出的有益效果:
30、本发明可以用于防御在可信仲裁的上下文切换过程中受到的缓冲区溢出攻击,通过在缓冲区边界设置特定的数据,监视中断处理过程中是否有越过缓冲区边界的写入行为,阻止程序执行恶意的指令和数据,进而提高基于risc-v操作系统可信仲裁的安全性。
1.一种可信仲裁防御方法,其特征在于,基于risc-v与canary机制,具有如下步骤:
2.根据权利要求1所述一种可信仲裁防御方法,其特征在于,在步骤s1中,插入操作在编写中断处理程序时手动插入或通过编译器识别中断处理程序自动插入。
3.根据权利要求1或2所述的一种可信仲裁防御方法,其特征在于,生成特殊数据的canary值时,具有如下方式:
4.根据权利要求3所述的一种可信仲裁防御方法,其特征在于,基于risc-v指令集定义可信仲裁防御的canary机制扩展指令,和用于检验特殊数据canary值的扩展指令。
5.根据权利要求4所述的一种可信仲裁防御方法,其特征在于,用于可信仲裁防御的canary机制扩展指令的指令格式包括opcode字段、src字段、canary字段和res字段。
6.根据权利要求5所述的一种可信仲裁防御方法,其特征在于,所述opcode字段用于表示所定义的扩展指令操作码编码;
7.根据权利要求6所述的一种可信仲裁防御方法,其特征在于,用于检验特殊数据canary值的扩展指令的指令格式包括opcode字段、src字段、canary字段和res字段;
8.一种可信仲裁防御装置,其特征在于,包括:至少一个存储器和至少一个处理器;