Group of Software Security In Progress

GoSSIP @ LoCCS.Shanghai Jiao Tong University

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(暂时无法查看)

Kobold: Evaluating Decentralized Access Control for Remote NSXPC Methods on iOS

作者:Luke Deshotels, Costin Carabas, Jordan Beichler, Ra ̆zvan Deaconescu and William Enck

单位:North Carolina State University, University POLITEHNICA of Bucharest

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

原文:Kobold: Evaluating Decentralized Access Control for Remote NSXPC Methods on iOS

Abstract

苹果使用沙箱、文件访问控制等访问控制机制来防止第三方应用程序直接访问安全敏感的资源。但是第三方应用程序可能通过与系统守护进程(system daemons)进行进程间通信(IPC)来间接访问这些资源。如果这些守护进程无法在IPC上正确地执行访问控制,则可能导致混淆代理漏洞(confused deputy vulnerability)。

在本文中,作者提出了Kobold框架,结合静态和动态分析来研究基于NSXPC的系统服务。使用Kobold,作者发现了多个具有混淆代理漏洞和守护进程崩溃的NSXPC服务,另外还包括激活麦克风、禁止访问所有网站以及泄露存储在iOS文件提供程序中的私人数据。

Precisely Characterizing Security Impact in a Flood of Patches via Symbolic Rule Comparison

作者:Qiushi Wu, Yang He, Stephen McCamant, and Kangjie Lu

单位:University of Minnesota, Twin Cities

出处:the 2020 Annual Network and Distributed System Security Symposium (NDSS’20)

原文:Precisely Characterizing Security Impact in a Flood of Patches via Symbolic Rule Comparison

Abstract

大型软件维护者通常会收到大量的bug报告和patch提交,并需要花费大量精力进行审核确认。一般情况下维护者会根据bug是否造成安全影响对其进行优先级排序,优先级低的bug可能会被推迟修复甚至不修复。如果有漏洞被错误地定为低优先级,就有可能在修复之前被攻击者利用。 造成上述问题的原因是不可靠的人工审计,作者针对这一问题提出了自动化的审计方法,在给定bug的patch的前提下确认bug的安全影响。 作者实现了SID,并在Linux kernel上进行了测试,从54k个有效的commit patch中检测到227个漏洞,准确率为97%。其中有197个之前没有被报告为漏洞,并且有21个还存在于最新的Android kernel中。

Automatic Uncovering of Hidden Behaviors From Input Validation in Mobile Apps

作者:Qingchuan Zhao∗, Chaoshun Zuo∗, Brendan Dolan-Gavitt†, Giancarlo Pellegrino‡, Zhiqiang Lin∗

单位:∗The Ohio State University, †New York University, ‡CISPA Helmholtz Center for Information Security

会议:S&P 2020

原文:Automatic Uncovering of Hidden Behaviors From Input Validation in Mobile Apps

简介

Input validation是指移动应用程序处理和响应用户输入的数据的方式。这篇文章作者验证了Android移动应用可以通过对输入验证行为的分析来揭露其隐藏的功能。

贡献:

  1. 两个发现:发现输入验证可以被用来暴露输入触发的secret(e.g. 后门和黑名单secret);依赖输入的隐藏功能应用广泛。
  2. 系统化工具INPUTSCOPE, 可以自动识别执行上下文和输入验证中验证的目标内容,用来揭露输入触发的机密。
  3. 在150,000个应用上进行实验。发现8.47%包括后门secret( secret access keys, master passwords, & secret commands),2.69%包含黑名单secret(禁词)