软件学报

北大核心,INSPEC,JST,Pж(AJ),EI

国内刊号:11-2560/TP

国际刊号:1000-9825

软件学报杂志2020年第6期:垂悬指针检测与防御方法

发布日期:

作者:王豫,高凤娟,马可欣,司徒凌云,王林章,陈碧欢,刘杨,赵建华,李宣东

单位:王豫,计算机软件新技术国家重点实验室(南京大学), 江苏 南京 21002311,高凤娟,计算机软件新技术国家重点实验室(南京大学), 江苏 南京 21002302,马可欣,计算机软件新技术国家重点实验室(南京大学), 江苏 南京 21002303,司徒凌云,计算机软件新技术国家重点实验室(南京大学), 江苏 南京 21002304,王林章,计算机软件新技术国家重点实验室(南京大学), 江苏 南京 21002305,陈碧欢,复旦大学 计算机科学技术学院, 上海 200433;上海市数据科学重点实验室(复旦大学), 上海 200433;上海智能电子系统研究所(复旦大学), 上海 20043306,刘杨,School of Computer Science and Engineering, Nanyang Technological University, Singapore07,赵建华,计算机软件新技术国家重点实验室(南京大学), 江苏 南京 21002308,李宣东,计算机软件新技术国家重点实验室(南京大学), 江苏 南京 21002309

关键词:垂悬指针|程序转换|程序漏洞|静态分析

基金:国家重点研发计划(2017YFA0700604);南京大学优秀博士研究生创新能力提升计划B

随着技术的发展,信息物理融合系统(cyber-physical system,简称CPS)在生活中扮演着越来越重要的角色,例如电力系统、铁路系统.如果CPS遭到攻击,将对现实世界的正常运转造成巨大影响,甚至威胁生命安全.垂悬指针是指向的区域被释放后未被置为空的指针,它是一种会导致攻击的软件缺陷.由垂悬指针导致的use-after-free和double-free漏洞能够执行任意恶意代码.迄今为止,只有少量工作针对垂悬指针进行检测、防御.其中多数都会导致过高的额外运行时开销.提出DangDone用于检测和防御垂悬指针.首先,通过静态分析检测潜在垂悬指针;然后,基于检测到的垂悬指针信息和一系列预定义的指针变换规则,依据指针传播信息变换指针,使得指针及其别名都指向同一个新引入的指针.基于该方法,实现了DangDone的原型工具.基于11个开源项目和SPEC CPU benchmark的实验结果表明:DangDone的静态分析部分只有33%的误报率,指针变换部分只引入了1%左右的额外开销.同时,DangDone成功防护了11个开源项目中的use-after-free和double-free漏洞.实验结果体现了DangDone的高效率及有效性.

来源:2020年第6期

《软件学报》期刊编辑部

查看软件学报杂志2020年第6期

联系我们

  • 地址:北京8718信箱
  • 电话:010-62562563
  • E-mail:jos (a) iscas. ac. cn

咨询工作人员