[2021.09.18] [USENIX Security 2021] Breaking Through Binaries: Compiler-quality Instrumentation for Better Binary-only Fuzzing

Source: https://www.usenix.org/system/files/sec21-nagy.pdf Slides: https://www.usenix.org/system/files/sec21_slides_nagy.pdf Authors: Stefan Nagy, Anh Nguyen-Tuong, Jason D. Hiser, Jack W. Davidson, Matthew Hick Download Note: https://jbox.sjtu.edu.cn/l/21uROA Contributor: ydh Overview 目前的二进制灰盒fuzz技术主要包括三种:硬件辅助追踪覆盖率,效率高但灵活性差;动态二进制模拟插桩,效率低;二进制代码重写,容易出错。这篇文章从基于源码fuzz的编译优化过程中汲取一些有效的方法策略运用在二进制fuzz的插桩中从而提高二进制fuzz的性能和有效性。

[2021.09.01] [MIDDLEWARE 2019] AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource Accounting >

Source: https://dl.acm.org/doi/abs/10.1145/3361525.3361541?casa_token=U0LOekVX1D4AAAAA:HAT3p4fiK0r8VwKbAX95Lib256TfCZVcIT130Zxg7gSUcjn4QZh9I9eTbp0-puE6NmIfd2ZOCZUsog Authors: David Goltzsche(TU Braunschweig, Germany);Manuel Nieke(TU Braunschweig, Germany);Thomas Knauth(Intel, United States);Rüdiger Kapitza(TU Braunschweig, Germany) Download Note: https://jbox.sjtu.edu.cn/l/S11yks Contributor: lty 远程计算,例如云计算、客户端的web应用和volunteer计算。这些服务的资源计算方法依赖于infrastructure provider。这些远程计算往往需要沙箱对其进行保护,理由是:隔离主机环境免受攻击;控制和限制资源使用。通常云服务器和代码提供者相互都是不信任的。 AccTEE是一个在服务器和用户之间提供资源使用可信服务的双路沙箱。SGX+WASM,在确保代码和数据的机密性和完整性的同时,使用自动代码工具进行细粒度的资源核算。

[2021.08.25] [S&P 2021] DIANE: Identifying Fuzzing Triggers in Apps to Generate Under-constrained Inputs for IoT Devices

作者:Nilo Redini, Andrea Continellay, Dipanjan Das, Giulio De Pasquale, Noah Spahn, Aravind Machiryz, Antonio Bianchiz, Christopher Kruegel∗, and Giovanni Vigna 单位:UC Santa Barbara, University of Twente, Purdue University 出处:S&P 2021 原文:https://www.computer.org/csdl/proceedings-article/sp/2021/893400b131/1t0x90VR1OU Contributor: FRH 笔记:https://jbox.sjtu.edu.cn/l/6FkkT7 IoT设备固件上的漏洞可能导致攻击者远程控制设备,进而对用户安全、隐私造成破坏(Mirai botnet)。研究人员提出通过分析固件来自动化挖掘漏洞的技术,但这些方法存在局限: 获取IoT设备的固件存在难度 脱壳、分析固件存在难度 不同格式 不同架构 缺乏文档 无法调试 为此,安全研究人员需要对IoT设备进行黑盒测试。已有的黑盒方案需要知道设备接受的数据格式。IoT设备协议的多样性、缺乏文档等特性导致这些方法缺乏实用性。 然而,大多数IoT设备都有配套的应用(companion apps),利用这些应用可以对设备生成合法的输入。基于这一发现,NDSS ’18上提出IoTFuzzer,利用配套App对IoT设备进行fuzz。IoTFuzzer提取了应用UI到网络/数据编码方法的所有路径。而后对路径上第一个函数的参数进行fuzz,从而生成大量针对设备的有效输入。尽管这一方法比向IoT设备通过网络随机发送数据表现出更好的结果,但它选择fuzz的时机太早:早于App进行输入的检验/数据处理。因此,当应用进行输入的过滤(sanitization)时(作者实验中超过51%),IoTFuzzer的效果会受到影响。 这篇文章中,作者沿用了IoTFuzzer的思路,但克服了IoTFuzzer的局限:作者提出DIANE,能够准确地定位(并fuzz)App中最佳代码位置,从而输出valid且under-constrained的输入。DIANE结合了静态、动态分析,主要包含两步: fuzzing triggers identification 获取应用内部向IoT设备发送数据的函数,并对其进行跨函数的反向切片,并最终确定fuzzing triggers fuzzing 利用动态插桩技术,使用不同的参数重复调用fuzzing triggers,生成大量网络数据对IoT设备功能进行fuzz,最终发现漏洞。 […]

[2021.08.16] [ISSTA 2021] An Infrastructure Approach to Improving Effectiveness of Android UI Testing Tools

Source: An infrastructure approach to improving effectiveness of Android UI testing tools | Proceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and AnalysisAuthors: Wenyu Wang, Wing Lam, Tao Xie Download Note: Contributor: YZY Overview:现有的UI测试工具对流行工业app进行测试时代码覆盖率很低,甚至不如最简单的monkey,一种随机生成和注入UI事件测试工具。经过motivating study发现,现有的工具在测试时主要进行两种操作:UI层级捕捉和UI事件执行。调用安卓框架内的UIAutomator进行这两种操作效率很低。因此本文提出了TOLLER,一种对安卓操作系统进行底层增强的工具。

[2021.08.09] [ASPLOS 2020] COIN Attacks: On Insecurity of Enclave Untrusted Interfaces in SGX

Source: COIN Attacks: On Insecurity of Enclave Untrusted Interfaces in SGX (acm.org)Slides: coin_asplos_slides.pdf (fsu.edu)Authors: Mustakimur Rahman Khandaker, Yueqiang Cheng, Zhi Wang, Tao Wei Download Note: Contributor: FHR Overview:这是⼀篇来⾃⼯业界(百度安全)的⽂章。从上层应⽤开发者的⾓度,作者设计了⼀个⾯向SGX上软件安全的漏洞挖掘框架,提出攻击ECALL/OCALL接⼝的四种攻击模型(C/O/I/N),破坏enclave的机密性和完整性。本⽂以这样⼀个⾃动化安全测试框架,并以实际产出(在10个流⾏SGX应⽤上发现52个安全漏洞)来提醒开发者应该更加关注enclave接⼝安全。

[2021.07.27] [ASPLOS 2020] Occlum: Secure and Efficient Multitasking Inside a Single Enclave of Intel SGX

Source: https://arxiv.org/pdf/2001.07450.pdf Authors: Youren Shen,Hongliang Tian,Yu Chen,Kang Chen,Runji Wang,Yi Xu. Download Note: https://jbox.sjtu.edu.cn/l/EF3uis Contributor: cyp Overview 为了减少把legacy code放在enclave运行的难度,现有的工作直接把LibOSes 放到enclave里面,因为LibOS提供系统调用,这些legacy code不用修改或者经过很少的修改就能直接运行到enclave里面。目前在云计算中,只有不同的进程相互协作才能完成相应的服务,但是已有SGX LibOSes不能很好的支持multitasking。

[2021.07.19] [USENIX Security 2020] TeeRex: Discovery and Exploitation of Memory Corruption Vulnerabilities in SGX Enclaves

Source: https://www.usenix.org/system/files/sec20-cloosters.pdf Authors: Tobias Cloosters, Michael Rodler, Lucas Davi. Download Note: https://jbox.sjtu.edu.cn/l/xF3PaM Contributor: ydh Overview SGX本身无法完全保护三类攻击。第一种是侧信道攻击,第二种是enclave内部的内存破坏,第三种是Iago攻击。 侧信道和Iago攻击不在本文的研究范围内。在legacy code移植或是SGX项目开发的过程中,如果开发者不熟悉SGX特性,很可能会引入漏洞。本文采用了符号执行的方法分析host-to-enclave边界,发现enclave内部可信代码中的漏洞。

[2021.07.12] [PLDI 2021] Alive2 Bounded Translation Validation for LLVM

Source: https://www.cs.utah.edu/~regehr/alive2-pldi21.pdf Authors: Nuno P. Lopes Juneyoung Lee Chung-Kil Hur Zhengyang Liu John Regehr Download Note: https://jbox.sjtu.edu.cn/l/aF3N9R Contributor: pdh Overview Alive2是一个针对LLVM IR的有界翻译验证(bounded translation validation)工作,是一个纯自动化的工具。它通过对程序的资源消耗进行限制,例如将循环展开成某个特定的次数,到达某个可能触发漏洞的边界。Alive2可以避免误报,是一个全自动化的使用SMT求解器的工具,并且无需对LLVM做任何的修改。Alive2检测出了LLVM中存在的47个新的漏洞,其中28个修复了。除此之外,还对LLVM的语言参考,也就是IR的语义定义,打了8个补丁,并且参与了很多LLVM的修订和改错工作。

[2021.07.02] [NDSS 2021] CHANCEL: Efficient Multi-client Isolation Under Adversarial Programs

Source: https://web.ics.purdue.edu/~ahmad37/papers/ahmad-chancel.pdf Authors: Adil Ahmad,Juhee Kim,Jaebaek Seo,Insik Shin,Pedro Fonseca,Byoungyoung Lee. Download Note: https://jbox.sjtu.edu.cn/l/415lI6 Contributor: lty Overview 英特尔SGX旨在为不受信任的云计算机上的用户数据提供机密性。 但是,处理机密用户数据的应用程序可能包含漏洞,这些漏洞会泄漏信息或被恶意编程以收集用户数据。 SGX可信但是其中运行程序不可信,云服务商是不可信的。 为此,本文提出了CHANCEL,它是一个沙箱,旨在在单个SGX enclave内进行多客户端隔离。CHANCEL允许程序的线程在处理请求时访问每个线程的内存区域和共享的只读内存区域。

[2021.05.25] [NDSS 2021] The Abuser Inside Apps: Finding the Culprit Committing Mobile Ad Fraud

Authors:Joongyum Kim, Jung-hwan Park, Sooel Son (KAIST) Source:https://www.ndss-symposium.org/wp-content/uploads/ndss2021_3B-1_23161_paper-1.pdf Contributor: FRH Download Note: https://jbox.sjtu.edu.cn/l/TFDyd0 广告生态是移动平台的重要组成部分,但广告欺诈也成为一个主要的安全威胁(对广告投放者)。为了保护用户,Google在针对开发人员的广告政策中谴责了滥用广告库的行为,并且积极地检测导致广告欺诈的滥用行为。这篇文章中,作者提出FraudDetective这一动态检测框架,能够自动识别Android应用中的广告欺诈。首先,作者将广告欺诈活动定义为在 缺乏明确(explicit)用户交互的情况下 提交了广告URL请求(计次广告)或调用了另一个App到前台。已有的研究中提出了动态检测框架,但这些框架存在两个问题: 缺乏对欺诈行为和用户交互之间因果关系的准确建模 无法追踪造成广告欺诈的具体App模块 为了解决这两个问题,作者提出利用full stack trace来捕获因果关系。针对碎片化的stack trace,作者对AOSP进行定制,收集执行日志并识别广告欺诈活动。作者使用Google Play上48,172个App对FraudDetective进行评估,发现了74个App的34,453次广告欺诈活动。作者进一步对这些活动进行溯源,发现其中98.6%来源于广告库(73/74)。