国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:李威威,马越,王俊杰,高伟毅,杨秋松,李明树
单位:李威威,中国科学院 软件研究所 基础软件国家工程研究中心, 北京 100190;中国科学院大学, 北京 10004911,马越,中国科学院 软件研究所 基础软件国家工程研究中心, 北京 10019002,王俊杰,中国科学院 软件研究所 基础软件国家工程研究中心, 北京 10019003,高伟毅,中国科学院 软件研究所 基础软件国家工程研究中心, 北京 100190;中国科学院大学, 北京 10004904,杨秋松,中国科学院 软件研究所 基础软件国家工程研究中心, 北京 10019005,李明树,中国科学院 软件研究所 基础软件国家工程研究中心, 北京 10019006
关键词:面向返回编程;控制流完整性;历史刷新攻击;规避攻击
基金:“核高基”国家科技重大专项(2014ZX01029101-002);中国科学院战略性先导科技专项(XDA-Y01-01)
控制流完整性保护技术(control flow integrity,简称CFI)是防御面向返回编程攻击(return-oriented programming,简称ROP)的一种有效途径.针对现有CFI中存在的四大问题:性能开销大、依赖程序代码信息、容易遭受历史刷新攻击以及规避攻击,提出了基于硬件分支信息的ROP攻击检测方法——MIBChecker (mispredicted indirect branch checker).该方法实时地利用硬件性能管理单元(performance monitor unit,简称PMU)的事件触发机制,针对每个预测失败的间接分支进行ROP攻击检测,规避了历史刷新攻击的可能,同时提出基于敏感系统调用参数的新型检测方法来检测短攻击链(称为gadgets-chain) ROP攻击.实验结果表明,MIBChecker能够不受历史刷新攻击的影响进行ROP短指令片段(称为gadget)检测,可有效地检测出常规ROP攻击和规避攻击,并仅引入5.7%的性能开销.
来源:2020年第11期
《软件学报》期刊编辑部