编者按
7月27日,由InForSec主办、复旦大学系统软件与安全实验室、 中国科学院软件研究所可信计算与信息保障实验室、百度安全、奇安信集团、蚂蚁集团、阿里安全协办的“软件供应链安全”的学术交流会在线上成功召开。复旦大学计算机科学与技术学院谈心博士、复旦大学软件学院戴嘉润博士、清华大学(网络研究院)-奇安信联合研究中心谷雅聪、浙江大学&蚂蚁集团潘高宁博士、浙江大学计算机科学与技术学院付丽嫆博士、香港中文大学计算机科学与工程学系李卓华博在会上作了精彩的报告。本次会议由清华大学(网络研究院)-奇安信联合研究中心应凌云主持。北京大学、上海交通大学、中国科学技术大学、浙江大学、北京理工大学、四川大学、华中科技大学、信息工程大学、上海大学、西安邮电大学、中科院软件所、中科院信工所等高校和科研院所以及企业界7900余人在线参与了论坛,并通过视频会议与演讲嘉宾互动。
InForSec将对会议精彩报告进行内容回顾,本文分享的是潘高宁博士的报告——《V-SHUTTLE :规模化和语义感知的虚拟机模拟设备模糊测试》。
随着云计算的逐渐成熟,越来越多的用户将资产部署在云环境中。潘高宁博士首先介绍了在当前的主流云架构中,hypervisor作为底层的一个基础架构,它的一个重要作用就是给每一个客户机提供了非常强有力的隔离。但与此同时,这种虚拟化操作也可能会带来逻辑上的漏洞,引入新的安全风险。
针对此问题,来自浙江大学&蚂蚁集团的潘博士提出了V-SHUTTLE模糊测试框架,实现对虚拟机模拟设备进行模糊测试。
潘博士介绍说,虚拟机模拟设备的模糊测试有别于其他的模糊测试任务,虚拟机模拟设备的数据结构更加复杂,它通常使用递归的方式形成树状的结构,每个节点之间使用指针的方式来表示具体序列。这就带来了两个问题,首先,每个指针的偏移量和子节点的地址都是未知的;同时,不同节点的类型也有区别。综上,这些问题导致对虚拟设备的传统模糊测试方法难以奏效。
为了解决上述的问题,潘博士首先将上述复杂的递归嵌套结构解构,将每一个节点当作独立的个体。
随后潘博士使用DMA重定向的方法,利用api hook技术,把从客户机空间将数据结构读取到进程的步骤替换为从测试用例中直接读取,通过这样的方式,可以消除地址寻址的步骤和复杂指针带来的干扰。
随后,为了解决节点类型差异带来的问题,潘博士使用静态分析方法,将代码中数据流依赖标注标签,根据不同类型的标签,构建对应的种子池。
接着,潘博士将第一部中的测试用例按照类型约束进行划分,从而解决了节点顺序不同会带来的随机性过大的问题。
结合上述方法,潘博士团队构建了完整了虚拟设备模糊测试流程,并在16个流行虚拟设备上进行了测试,结果显示,该模糊测试方法可以有效的提升覆盖率,同时效率方面与普通的模糊测试方法相比也有一定的提高。
与state-of-the-art的方法进行比较,V-Shuttle在多个设备上的覆盖率也有10%以上的提升。
最后,在大规模测试中,V-Shuttle共发现35个安全威胁,其中有17个获得了CVE编号,展现了其发现真实安全问题的能力。
演讲者简介
潘高宁,浙江大学博士研究生,主要研究方向是虚拟化安全、Fuzzing。浙江大学AAA战队成员。相关研究成果已经发表在学术界顶级安全会议CCS,以及工业界顶级安全会议BlackHat Asia,CanSecWest上。多次获得来自Redhat以及Oracle等厂商的致谢。
报告内容详情视频请点击上方的小程序观看。欢迎小伙伴们在哔哩哔哩关注「InForSec学术社区」解锁更多精彩视频。
我们会定期邀请国内外安全领域知名专家学者开展报告,交流相关领域最新技术以及进展。