针对影子栈难以兼顾安全性和性能,软件实现的前向CFI(control-flow integrity)技术性能开销过大、难以进行实际部署,提出基于软硬件结合的CFI(control-flow integrity based on the combination of software and hardware,SHCFI)技术。...针对影子栈难以兼顾安全性和性能,软件实现的前向CFI(control-flow integrity)技术性能开销过大、难以进行实际部署,提出基于软硬件结合的CFI(control-flow integrity based on the combination of software and hardware,SHCFI)技术。通过二进制重写器对程序反编译,生成中间语言,并判断转移指令类型。对于后向控制流的保护,提出基于返回地址加密的平行影子栈方案,使用随机数对栈上的返回地址进行异或加密,将加密结果备份到原始栈固定偏移处的影子栈中,在函数返回时对影子栈中的地址异或解密,将解密结果作为实际的返回地址。对于前向控制流的保护,使用硬件ENDBRANCH状态机指令标记间接转移指令的目标地址,在运行时对目标地址进行合法性检查,以降低性能开销。实验结果表明,SHCFI加固后的程序能够有效地防御代码重用攻击,且具有良好的运行开销。展开更多
介绍了在虚拟仪器课程中进行"软硬结合"实验教学的实施方法、时间安排建议和选用的综合项目。并以两个系统综合项目的设计实现为例,阐述了如何借助NI my DAQ和声卡两种不同设备实现数据采集,完成"软硬结合"实验的...介绍了在虚拟仪器课程中进行"软硬结合"实验教学的实施方法、时间安排建议和选用的综合项目。并以两个系统综合项目的设计实现为例,阐述了如何借助NI my DAQ和声卡两种不同设备实现数据采集,完成"软硬结合"实验的方法。最后介绍了如何对虚拟仪器课程综合设计项目进行扩展,引入到硬件课程设计中的具体实现方法。展开更多
文摘针对影子栈难以兼顾安全性和性能,软件实现的前向CFI(control-flow integrity)技术性能开销过大、难以进行实际部署,提出基于软硬件结合的CFI(control-flow integrity based on the combination of software and hardware,SHCFI)技术。通过二进制重写器对程序反编译,生成中间语言,并判断转移指令类型。对于后向控制流的保护,提出基于返回地址加密的平行影子栈方案,使用随机数对栈上的返回地址进行异或加密,将加密结果备份到原始栈固定偏移处的影子栈中,在函数返回时对影子栈中的地址异或解密,将解密结果作为实际的返回地址。对于前向控制流的保护,使用硬件ENDBRANCH状态机指令标记间接转移指令的目标地址,在运行时对目标地址进行合法性检查,以降低性能开销。实验结果表明,SHCFI加固后的程序能够有效地防御代码重用攻击,且具有良好的运行开销。
文摘介绍了在虚拟仪器课程中进行"软硬结合"实验教学的实施方法、时间安排建议和选用的综合项目。并以两个系统综合项目的设计实现为例,阐述了如何借助NI my DAQ和声卡两种不同设备实现数据采集,完成"软硬结合"实验的方法。最后介绍了如何对虚拟仪器课程综合设计项目进行扩展,引入到硬件课程设计中的具体实现方法。