编者按
7月27日,由InForSec主办、复旦大学系统软件与安全实验室、 中国科学院软件研究所可信计算与信息保障实验室、百度安全、奇安信集团、蚂蚁集团、阿里安全协办的“软件供应链安全”的学术交流会在线上成功召开。复旦大学计算机科学与技术学院谈心博士、复旦大学软件学院戴嘉润博士、清华大学(网络研究院)-奇安信联合研究中心谷雅聪、浙江大学&蚂蚁集团潘高宁博士、浙江大学计算机科学与技术学院付丽嫆博士、香港中文大学计算机科学与工程学系李卓华博在会上作了精彩的报告。本次会议由清华大学(网络研究院)-奇安信联合研究中心应凌云主持。北京大学、上海交通大学、中国科学技术大学、浙江大学、北京理工大学、四川大学、华中科技大学、信息工程大学、上海大学、西安邮电大学、中科院软件所、中科院信工所等高校和科研院所以及企业界7900余人在线参与了论坛,并通过视频会议与演讲嘉宾互动。
InForSec将对会议精彩报告进行内容回顾,本文分享的是戴嘉润博士的报告——《基于PoC移植的漏洞影响范围评估》。
安全运维人员通常依赖于公开的漏洞报告进行供应链安全问题的应急响应与故障修复。然而现有研究表明,公开漏洞报告中披露的漏洞影响范围通常存在漏报和误报现象。其中,广泛存在的漏报现象会导致大量软件在已知漏洞影响范围内而不自知,极大降低了软件产品的安全性。因此,准确地检测漏洞实际影响的版本范围至关重要。
针对这一问题,戴博士团队通过调研现有相关研究,评估了诸如补丁存在性检测,代码克隆检测技术在该问题上的效果。评估结果表明这些静态分析技术存在非常高的误报,而高误报会导致安全应急人员无法精准确认实际受影响的软件版本,须消耗大量人力进行结果的筛查。为了实现精准定位漏洞影响版本范围这一目标,戴博士团队提出了基于PoC移植的漏洞影响范围评估方案。
戴博士介绍到,直观来说,可以使用公开的PoC去测试一个开源软件各个版本是否会触发漏洞来确定具体影响范围。但因为一些版本间代码更新/变动,使得实际存在的漏洞无法被触发。因此,仅用一份PoC来确定漏洞影响范围并不可靠。戴博士团队针对这一问题,提出了PoC移植技术,即自适应地为每个版本生成特定PoC来触发同一个漏洞。在30份CVE报告中,该技术总计发现了330个漏报的漏洞影响版本。
戴博士总结了该方案的核心思想,即在不同版本软件上触发同一个漏洞,其漏洞触发路径是相似的。因此,使PoC在参考版本和目标测试版本上的代码执行路径越来越接近,则有更高的概率触发不同版本上的同一漏洞。
随后,戴博士介绍了该方案的主要工作流程:
(1)使用公开的PoC在参考版本和目标测试版本上做攻击复现,得到两个执行路径;
(2)基于跨版本的路径比对,定位两执行路径之间的不一致点;
(3)使用基于fuzzing的PoC调整方案来消除路径的不一致点,从而使两版本执行路径越来越接近。
戴博士团队在30个real-world CVE上评估了PoC移植技术的效果。在实验中,戴博士团队通过人工验证,发现该方案在数据集上具有0误报的出色效果。同时,该方案成功检测出330个未被CVE披露的漏洞影响版本。最后,戴博士团队向CVE官方提交了检测出的330个遗漏版本和相关PoC,并已全部被接收,再次印证了该PoC移植工作的有效性和必要性。
演讲者简介
戴嘉润,复旦大学2020级网络空间安全方向博士,师从杨珉教授与张源副教授。主要的研究方向为二进制安全与无人驾驶系统安全,目前以第一作者在CCS和Usenix Security发表相关论文两篇。在CTF竞赛方面,作为复旦大学白泽战队主力之一,曾获多项赛事荣誉,如XNUCA 2019/2020决赛冠军,CISCN 2020决赛冠军,XCTF 2021总决赛冠军等。
报告内容详情视频请点击上方的小程序观看。欢迎小伙伴们在哔哩哔哩关注「InForSec学术社区」解锁更多精彩视频。
我们会定期邀请国内外安全领域知名专家学者开展报告,交流相关领域最新技术以及进展。