Group of Software Security In Progress

GoSSIP @ LoCCS.Shanghai Jiao Tong University

GREYONE: Data Flow Sensitive Fuzzing

作者:Shuitao Gan, Chao Zhang, Peng Chen, Bodong Zhao, Xiaojun Qin, Dong Wu, Zuoning Chen

单位: State Key Laboratory of Mathematical Engineering and Advanced, Institute for Network Science and Cyberspace, Tsinghua University, Beijing National Research Center for Information Science and Technology, ByteDance AI lab National Research Center of Parallel Computer Engineering and Technology.

出处:USENIX Security ‘20

原文:GREYONE: Data Flow Sensitive Fuzzing

Abstract

本文工作针对当前传统的动态污点分析需要大量人工、不准确且缓慢的局限,讨论如何使用污点分析更好地利用数据流特征来指导fuzzer。

作者提出了一种新颖的数据流敏感的fuzzing方案GREYONE。其总体工作流程类似于AFL,包括种子生成与更新,种子选择,种子突变,测试和跟踪等步骤。其亮点在于引入了fuzzing驱动的污点推断(Fuzzing-driven Taint Inference,FTI)以推断变量的污点属性。在变异种子的过程中,根据FTI提供的污点分析结果来确定要突变的字节和要探索的分支的优先级及如何突变。GREYONE补充了数据流特征来调整fuzzing的方向,使用另一种基于数据流特征的约束一致性,即污染变量与未接触分支中期望值的距离,向种子队列中添加一致性更高的测试用例从而提升突变效率。

作者在LAVA数据集和19个程序中对GREYONE进行了评估。结果表明,就代码覆盖率和漏洞发现而言,它的性能优于各种先进的fuzzer。在LAVA数据集中,GREYONE发现了所有列出的错误和336个未列出的错误。在现实世界的程序中,GREYONE总共发现了105个新的安全漏洞,其中41个被CVE确认。

2020 G.O.S.S.I.P计算机安全暑期实习招募开始了!

上海交通大学G.O.S.S.I.P软件安全研究组是国际安全研究界活跃的学术安全团队,从2010年开始,我们每年都会为热爱信息安全/计算机安全的同学提供暑期实习机会,让大家能够共聚上海,充分交流,快速提高技术水平。在实习期间,你不仅有机会与安全圈大牛近距离沟通交流,丰富你的专业技能,提高你的学习洞察力,提高你的影响力,扩大你的专业人脉关系。同时,你还有机会:

  • 撰写并发表国际安全学术会议论文(如CCS、NDSS、ACSAC、RAID、AsiaCCS)
  • 在知名计算机安全展会发表演讲(Blackhat、DEF CON China、互联网安全大会、互联网安全领袖峰会、网络安全生态峰会)主题演讲
  • 参与顶级计算机安全竞赛中(DEFCON CTF、Hack.lu CTF、Codegate CTF等),并取得好名次
  • 参与知名互联网企业(蚂蚁金服、华为、腾讯、小米等)相关安全研究项目

SPIDER: Enabling Fast Patch Propagation in Related Software Repositories

作者:Aravind Machiry$^1$, Nilo Redini$^1$, Eric Camellini$^2$, Christopher Kruegel$^1$, Giovanni Vigna$^1$

单位:University of California, Santa Barbara$^1$, Politecnico di Milano$^2$

出处:41st IEEE Symposium on Security and Privacy (IEEE S&P 2020)

原文:SPIDER: Enabling Fast Patch Propagation in Related Software Repositories

Abstract

开源代码的patch从主分支传播到相关项目会有一定的延迟,对于security patch来说这可能导致安全问题。尽管有类似CVE的漏洞数据库的存在,但是仍然存在两个问题:1)即使是具有CVE编号的漏洞,对其进行修复也有一定的延迟;2)某些security patch没有相关的CVE编号,无法给其他开发人员提供参考。

在本文中作者定义了safe patch,表示在合法输入下不会破坏程序原始功能,无需测试即可接受的patch。作者表示多数security patch可以归到此类别中。作者在此基础上提出了一种通过分析不同版本源码来识别safe patch的技术,并实现了SPIDER。

作者利用SPIDER对32个大型开源项目的341767个patch(包含809个CVE patch)进行了大规模测试,结果显示SPIDER可以识别出其中的67408个safe patch。此外,结果中还包含2278个修复了安全漏洞但是没有CVE编号的patch,其中229个在不同厂商的kernel中还处于unpatched状态,可被认为是未修复的潜在漏洞。

Ex-vivo Dynamic Analysis Framework for Android Device Drivers

作者:Ivan Pustogarov,Qian Wu,David Lie

单位:University of Toronto

会议:S&P’20

链接:Ex-vivo dynamic analysis framework for Android device drivers

简介

在设备上进行在线分析,会需要特殊的权限,并且对于不同设备机型的分析的要求不同,难以实现大规模分析。

另一种方法是离线分析,通过仿真硬件环境实现分析。但是其中存在两个挑战:1)驱动有一些专有硬件依赖和设备特有的硬件组件;2)驱动和宿主kernel之间的软件依赖。

作者开发了一个框架evasion可以规避硬件和内核的依赖初始化驱动,并且依赖这个框架开发了一个动态调试离线设备的框架EASIER (Ex-vivo AnalySIs framEwoRk),分析IOCTL的权限提升漏洞。

作者收集3个不同的Android内核和内核的子系统的72个平台设备驱动,evasion能够成功加载77%的设备驱动。使用26个已知漏洞测试框架EASIER,可以触发其中81%。使用EASIER去fuzz驱动,发现了29个漏洞。作者人工分析后在小米的Android内核中发现了12个zero-day,其余17个来自MSM内核,但是是在老版本中发现的。

Misbinding Attacks on Secure Device Pairing and Bootstrapping

作者: Mohit Sethi, Aleksi Peltonen, Tuomas Aura

单位: NomadicLab, Ericsson Research, Finland Aalto University, Finland

会议: Asia CCS 2019

链接: https://research.aalto.fi/files/36903088/Sethi_Peltonen_Aura_Misbinding_Attacks_on_Secure_Device.pdf

1 概述

安全设备配对是一个配置两台设备安全通信的过程,包含密钥交换与身份认证。与其他安全协议不同,由于通信对象是物理设备,配对不要求预先建立密码凭证或安全基础结构,大多数情况下用户能够直接观察或触碰安全设备,因此用户可以充当带外通信信道或信任的第三方来提供初始安全性。

本文针对设备配对协议的误绑定攻击进行研究。

攻击场景:当绑定的设备中存在被攻击者控制的设备,并且绑定过程通过用户的物理访问来验证,那么攻击者可以误导用户来实现合法设备与另一台攻击者设备绑定。

本文主要贡献如下: (1)提出设备配对和引导协议中身份绑定错误问题 (2)对于蓝牙安全简单配对和EAP-NOOB协议进行详细的分析并实施真实攻击 (3)构建检测误绑定攻击的协议形式化模型,并且发现了一种新类型的攻击 (4)讨论了攻击潜在影响和相应对策

Melting Pot of Origins: Compromising theIntermediary Web Services That Rehost Websites

会议:NDSS 2020

原文:link

作者: 1. Takuya Watanabe NTT Secure Platform Laboratories, Tokyo, Japan 2. Eitaro Shioji NTT Secure Platform Laboratories, Tokyo, Japan 3. Mitsuaki Akiyama NTT Secure Platform Laboratories, Tokyo, Japan 4. Tatsuya Mori NTT Secure Platform Laboratories, Tokyo, Japan / NICT, Tokyo, Japan/ RIKEN AIP, Tokyo, Japan

lab:NTT

Abstract

在本篇论文中,作者研究了wb托管服务——Web代理,Web翻译和Web档案。web托管服务使用一个域名来托管不同域名的网站,由此可能会违反不同域名的同源安全策略。作者首次对此类漏洞进行了大规模研究。作者可以利用此漏洞执行5种不同的攻击:持久中间人攻击;滥用访问各种资源的特权;窃取凭据;窃取浏览器历史记录;会话劫持/注入。作者对21种流行的Web托管服务(每天访问量超过2亿)进行了广泛的分析,发现这些攻击是可行的。 针对此观察,作者针对每种类型的攻击提供了有效的对策。

NOJITSU: Locking Down JavaScript Engines

作者:Taemin Park, Karel Dhondt, David Gens, Yeoul Na, Stijn Volckaert, Michael Franz

单位:University of California, Irvine 出处:NDSS 2020

资料:Paper

1. 简介

浏览器解释引擎对代码重用攻击的防御措施变得越来越强,数据攻击也自然而然变得很流行。其中JIT编译器是一个很吸引攻击者的攻击目标。通过攻击JIT编译器的敏感数据,例如IR,可以达到代码执行的目的。因此现在针对JIT编译器的敏感数据保护是一个研究热点。

本文中作者发现目前的针对JIT编译器的敏感数据保护的措施还不够有效。于是作者设计了一个新的防御措施NOJITSU来保护解释器引擎里的敏感数据。

本文中作者的贡献:

  1. 提出了一种新的数据攻击方法(针对Mozilla的SpiderMonkey解释器),从而说明目前的数据攻击防护措施还不够有效。
  2. 设计了一个新的防御方案NOJITSU,通过Intel MPK对内存进行细粒度的访问控制。
  3. 进行了实验评估,NOJITSU可以成功防御代码重用和数据攻击,并且运行时开销只有5%。

HFL: Hybrid Fuzzing on the Linux Kernel

作者:Kyungtae Kim^1^, Dae R. Jeong^2^, Chung Hwan Kim^3^, Yeongjin Jang^4^, Insik Shin^2^, and Byoungyoung Lee^5^ ^1^

单位:^1^Purdue University, ^2^KAIST, ^3^NEC Laboratories America, ^4^Oregon State University, and ^5^Seoul National University

出处:NDSS ‘20

原文:https://www.ndss-symposium.org/wp-content/uploads/2020/02/24018-paper.pdf

Abstract

将符号执行(symbolic execution)与模糊测试(fuzzing)相结合以达到优势互补的混合模糊测试(hybrid fuzzing)是进行漏洞挖掘的一种有效手段。然而,直接将混合模糊测试应用在内核测试中的效果并不好,这是由于内核自身具有的下列特性导致的:1)存在由系统调用参数决定的间接跳转;2)通过系统调用控制和匹配内部系统状态;3)推断系统调用的嵌套参数类型。尽管这些特性对于模糊测试和符号执行来说也是十分重要的,但是现有的内核测试手段最多只是通过静态分析的方式不精确的处理了的这些特性中的一小部分。

因此,本文提出了内核混合模糊测试系统HFL,其通过下列技术解决了内核特有的模糊测试难点:1)将间接跳转转化为直接跳转;2)推断系统调用顺序以构造一致的系统状态;3)识别系统调用的嵌套参数类型。结果表明,HFL在最近的Linux内核中发现了24个之前未知的漏洞。相比于Moonshine与Syzkaller,HFL的代码覆盖率分别提升了15%与26%。相比于kAFL/S2E/TriforceAFL,HFL的代码覆盖率甚至提升了四倍。此外,针对13个已知的漏洞,HFL的漏洞挖掘效率与Syzkaller相比提升了三倍多。

An Observational Investigation of Reverse Engineers’ Processes

作者:Daniel Votipka, Seth M. Rabin, Kristopher Micinski1, Jeffrey S. Foster2, Michelle M. Mazurek

单位:University of Maryland; 1Syracuse University; 2Tufts University

会议:29th USENIX Security Symposium (USENIX Security 20)

原文:An Observational Investigation of Reverse Engineers’ Processes

本文通过访问调查的方式,对逆向工程(RE)的工作流程进行了研究。经过调查,本文定义了RE的三阶段模型,并明确了三阶段中经验的作用,罗列了RE中用到的方法、工具、和特征模式(beacon)。本文最终提出了对RE工具设计的5条指南。

HYPER-CUBE: High-Dimensional Hypervisor Fuzzing

作者:Sergej Schumilo, Cornelius Aschermann, Ali Abbasi, Simon Wo ̈rner and Thorsten Holz

单位:Ruhr-Universita ̈t Bochum

会议:NDSS 2020

HYPER-CUBE: High-Dimensional Hypervisor Fuzzing


Abstract

虚拟机监视器(Virtual machine monitors, VMMs, also called Hypervisor)是现代软件栈的重要组成部分,攻击者若能攻陷虚拟机监视器将对云提供商、云基础设施造成严重的安全威胁。

不同于一维fuzzer(AFL),HYPER-CUBE可以与任意数量的接口进行交互,故称为High-Dimensional fuzzer。

作者通过评估表明,HYPER-CUBE与最新的虚拟机监视器fuzzer相比,能发现更多的bug、有更高的代码覆盖率。HYPER-CUBE发现了54个新的bug,申请了37个CVE。

作者的贡献:

  • 设计了一种多维度的、平台独立的、针对不同接口的模糊测试方法
  • 设计了一种针对于hypervisor的、高效的模糊测试方法。且与被测试的hypervisor独立。

  • 在一个定制的OS中实现了上述方法,称该OS为HYPER-CUBE。并证明HYPER-CUBE能够发现现实世界hypervisor中的漏洞。

代码将开源于https://github.com/RUB-SysSec/hypercube(暂时无法查看)