院况简介
1949年,伴随着新中国的诞生,中国科学院成立。
作为国家在科学技术方面的最高学术机构和全国自然科学与高新技术的综合研究与发展中心,建院以来,中国科学院时刻牢记使命,与科学共进,与祖国同行,以国家富强、人民幸福为己任,人才辈出,硕果累累,为我国科技进步、经济社会发展和国家安全做出了不可替代的重要贡献。 更多简介 +
院领导集体
创新单元
科技奖励
科技期刊
工作动态/ 更多
中国科学院学部
中国科学院院部
语音播报
近日,中国科学院软件研究所可信计算与信息保障实验室研究人员在二进制软件漏洞机理的自动化分析方面取得研究进展。该研究提出了基于错误引用计数检测的释放后重用漏洞根因分析与定位方法,不仅可以帮助软件开发人员快速定位漏洞位置,还可以提供有效的补丁建议,为提高大规模软件漏洞的修复能力起到重要支撑作用。
开发人员在进行大规模软件开发时,经常使用引用计数机制来自动管理内存对象的生命周期。同时,在实际开发过程中,开发人员会进行大量的引用计数优化操作,即通过忽略对某些引用的计数,从而提高软件的整体性能。但这些优化操作往往会带来内存安全问题,即不正确的优化会导致某些对象的引用成为悬空指针,从而引发释放后重用内存安全漏洞。更为严重的是,这些释放后重用漏洞最终会导致系统崩溃或者任意代码执行。
针对该问题,研究团队首先提出了一种引用计数优化模型,并给出了多种合理的优化策略。在此基础上,通过完整重现并监控释放后重用漏洞的整个触发过程,自动识别出释放后重用对象,并借助启发式规则筛选出所有通过引用计数来进行内存管理的对象;进一步将对象引用的创建、销毁行为和实际的引用计数行为进行关联,并将关联结果和引用计数优化模型进行匹配;通过检测不匹配的优化操作,将其作为导致释放后重用漏洞的根本成因。
基于上述方法,团队实现了面向大规模二进制软件中的释放后重用漏洞根因自动分析原型系统FreeWill。团队利用该系统已经对2种操作系统内核(Linux和MacOS)、3种浏览器(Chrome、Firefox和IE)以及2种脚本解析引擎(Python和PHP)中的76个释放后重用漏洞进行了实验。实验结果表明,FreeWill不仅可以在较短时间内准确定位各类释放后重用漏洞发生的位置,同时还自动给出了56个有效的补丁修补建议。
相关成果以FreeWill: Automatically Diagnosing Use-after-free Bugs via Reference Miscounting Detection on Binaries为题被网络安全领域学术会议USENIX Security 2022接收。该研究获国家重点研发计划等项目支持。
二进制软件中的释放后重用漏洞自动化分析框架FreeWill
© 1996 - 中国科学院 版权所有 京ICP备05002857号-1 京公网安备110402500047号 网站标识码bm48000002
地址:北京市西城区三里河路52号 邮编:100864
电话: 86 10 68597114(总机) 86 10 68597289(总值班室)
编辑部邮箱:casweb@cashq.ac.cn
© 1996 - 中国科学院 版权所有 京ICP备05002857号-1 京公网安备110402500047号 网站标识码bm48000002
地址:北京市西城区三里河路52号 邮编:100864
电话: 86 10 68597114(总机) 86 10 68597289(总值班室)
编辑部邮箱:casweb@cashq.ac.cn
© 1996 - 中国科学院 版权所有
京ICP备05002857号-1
京公网安备110402500047号
网站标识码bm48000002
地址:北京市西城区三里河路52号 邮编:100864
电话:86 10 68597114(总机)
86 10 68597289(总值班室)
编辑部邮箱:casweb@cashq.ac.cn