[2022.04.27] [NDSS 2020] HFL: Hybrid Fuzzing on the Linux Kernel

会议: NDSS’20 链接: https://www.ndss-symposium.org/wp-content/uploads/2020/02/24018-paper.pdf 作者: Kyungtae Kim, Dae R. Jeong, Chung Hwan Kim, Yeongjin Jang, Insik Shin‡ Byoungyoung Lee Contributor: fhr abstract 混合Fuzzing是一种结合模糊测试和符号执行的程序分析技术,在漏洞挖掘领域有良好的前景。模糊生成和精确生成测试用例二者互为补充,能够克服各自的局限性。然而,由于内核所具有的特性,直接将Hybird Fuzzing应用到Kernel上存在如下挑战: (1)由系统调用参数决定的间接控制流分析 (2)系统调用及参数之间隐式依赖关系分析 (3)系统调用参数的嵌套类型推断 本文基于Syzkaller和S2E(binary lifting & klee)提出HFL这一面向kernel的混合fuzzing工具,并提出三项技术来解决上述问题。 (1)通过编译期的分析优化,将间接跳转转换为直接跳转。 (2)通过静态指针分析,选择性地符号化数据变量并推断syscall之间的依赖关系。 (3)根据处理syscall参数的方式不同,在运行时推断嵌套参数类型。 实验结果表明,HFL能够高效地将混合fuzzing技术引入内核的安全分析中。HFL的代码覆盖率高于Moonshine、Syzkaller、TriforceAFL等工作,并且发现了24个未知漏洞。

[2022.05.11][PLDI2021]BlankIt Library Debloating:Getting What You Want Instead of Cutting What You Don’t

Source: https://dl.acm.org/doi/pdf/10.1145/3385412.3386017 Authors: Chris Porter, Girish Mururu, Prithayan Barua, Santosh Pande Download Note: https://jbox.sjtu.edu.cn/l/V1qUSJ Contributor: fy Overview 现代软件开发在很大程度上依赖于库,许多库是为支持大量功能而构建的。然而,单个应用程序中,可以只使用少量的库功能。例如,开发一个安卓应用,使用机器学习和人工智能相关工具库,以及Web框架。尽管这些库和框架本身可能非常大,但在实际开发中只用到它们的一小部分API是很常见的。Debloat就是去膨胀,也就是减少可用于构建攻击gadget的代码量,从应用程序或库中删除不需要的代码或死代码。本文采用动态的debloat方法,仅在函数需要被使用时进行加载,显著地削减了函数总量(97%),增强了程序的安全性。

[2022.03.30] [USENIX Security 2018]Debloating Software through Piece-Wise Compilation and Loading

Source: https://www.usenix.org/system/files/conference/usenixsecurity18/sec18-quach.pdf Authors: Anh Quach, Aravind Prakash, Lok Yan Download Note: https://jbox.sjtu.edu.cn/l/j1XGKo Contributor: ydh Overview 代码重用在软件开发的过程中是必不可少的,开发者会把代码打包到一个重用代码模块中,如共享库为不同的应用程序提供接口。但是共享库内容很多,一个应用程序不会用到里面全部的代码。这些无关的代码自身可能包含bug和漏洞,扩大了整个攻击面,也为代码重用攻击提供了便利。静态死代码消除是一种静态分析技术,用于识别未使用的代码路径,并将它们从最终的二进制文件中删除,在编译期间使用的这种方法是减少代码膨胀的有效方法。但是,这种方法对链接库不太适合,动态链接的库无法删除死代码,因为它是预先构建好,运行时加载到内存中的,加载器也不会对它做检查;静态链接库也很麻烦,需要重新编译且不好管理。这篇文章设计了一个piece-wise的编译器和加载器做debloating,有效地减少了链接库的体积。

[2022.05.25] [USENIX Security 2021] Understanding Malicious Cross-library Data Harvesting on Android

Understanding Malicious Cross-library Data Harvesting on Android 作者:Jice Wang, Yue Xiao, Xueqiang Wang, Yuhong Nan, Luyi Xing, Xiaojing Liao, Jinwei Dong, Nicolas Serrano, Haoran Lu, Xiaofeng Wang, Yuqing Zhang 单位:University of Chinese Academy of Sciences, Indiana University Bloomington, Purdue University, Xidian University, Hainan University 出处:USENIX Security 2021 原文:https://www.usenix.org/system/files/sec21-wang-jice.pdf Contributor: FRH 笔记:https://jbox.sjtu.edu.cn/l/E1cD9I 移动应用通常会集成第三方库(用于数据分析、广告、应用变现等),在丰富其功能的同时也带来了安全威胁。已有的工作都关注三方库从应用中收集隐私数据的行为,这篇文章中作者提出一种新的攻击方式Cross-Library Data Harvesting (XLDH),即恶意的三方库从应用集成的其他厂商的库中收集数据,例如,恶意三方库可以调用Facebook […]

[2022.02.16] [ISSTA 2021] Semantic Matching of GUI Events for Test Reuse Are We There Yet?

Source: https://doi.org/10.1145/3460319.3464827 Authors: Leonardo Mariani, Ali Mohebbi, Mauro Pezzè, Valerio Terragni Download Note: https://jbox.sjtu.edu.cn/l/g1nobP Contributor: zyt Overview UI测试重用(UI Test Reuse)是目前在UI自动化测试领域的研究热点,旨在解决UI自动化测试中测试用例缺乏语义信息,难以检测系统功能上正确性的弊端。其方法是在一个源app中人工生成一个有效的UI事件序列(例如:完整的注册过程),并在另一个目标app中,通过语义匹配的方式,确定源事件在目标app上的对应事件,从而在目标app上自动生成一个有效的测试用例。语义匹配是UI测试重用的重要模块,其目的是通过提取UI上的信息,分析UI表达的语义含义,从而提高事件匹配的准确性。 本文针对UI测试重用中的子模块——语义匹配,进行系统性地评估分析。整个语义匹配系统被分为四个部分:语料库,词嵌入算法,事件描述符提取和语义匹配算法。作者对四个部分所有的252种配置可能进行实验,并与baseline进行对比,分析语义匹配系统各个组成部分对系统的影响。

[2022.03.03] [ICSE 2022] PROMAL: Precise Window Transition Graphs for Android Synergy of Program Analysis and Machine Learning

作者:Changlin Liu, Hanlin Wang, Tianming Liu, Diandian Gu, Yun Ma, Haoyu Wang, Xusheng Xiao 单位:Case Western Reserve University, Monash University, Peking University, Beijing University of Posts and Telecommunications 出处:ICSE 2022 原文:https://engineering.case.edu/groups/xusheng-xiao/sites/engineering.case.edu.groups.xusheng-xiao/files/docs/promal_icse_cr.pdf Contributor: FRH 笔记:https://jbox.sjtu.edu.cn/l/I1oHrr 利用自动化分析技术提高移动应用的质量和可靠性是非常重要的。WTG(window transition graph)是自动化分析技术的关键组件。在WTG中,点(node)代表窗口,边(edge)代表窗口之间的跳转。已有的研究工作通过静态或动态分析的方式构建WTG,但在准确度上仍然存在不足。静态分析采用over-approximation的设计导致误报,产生不可能的跳转,而动态分析受到覆盖率问题的影响。为此,作者提出"tribrid analysis"方法PROMAL,协同地组合了动静态分析技术和机器学习技术为应用构建WTG。PROMAL主要分为两个阶段: 首先使用静态分析构建WTG,结合动态分析对WTG中的跳转进行验证 对于大量动态分析无法验证的跳转,提取窗口的信息作为特征,利用机器学习技术预测跳转是否成立。 PROMAL的精度为90.18%,回归率为79.69%,F1-score为82.82%。相比于GATOR(46.24%)、GATOR和PALADIN组合(61.93%)都有更好的表现。

[2022.02.23] [ESEC/FSE 2021] Vet: Identifying and Avoiding UI Exploration Tarpits

Source: https://dl.acm.org/doi/abs/10.1145/3468264.3468554 Authors: Wenyu Wang, Wei Yang, Tianyin Xu, Tao Xie Download Note: https://jbox.sjtu.edu.cn/l/910ku4 Contributor: syjh Overview 作者的实验表明表明,现有的移动 UI 测试工具很容易出现exploration tarpit。这些工具会在很长一段时间内卡在一小部分应用程序功能上。比如说,测试工具在测试某个APP时过早注销账户,后续测试时就容易卡在探索应用程序的登录前功能,而不是其主要功能。当然如果只是登录,测试者可以手动设定规则,但是这种exploration tarpit类型很多,没有一个统一的方法。 本文提出自动测试工具Vet,它针对两个常见的exploration tarpit制定了两个算法判定测试工具是否进入了exploration tarpit。Vet可以引导测试框架避免进入exploration tarpit或者从中恢复,因此Vet可以提高代码覆盖率。

[2021.11.24] [CCS 2021] SmashEx: Smashing SGX Enclaves Using Exceptions

Source: https://dl.acm.org/doi/pdf/10.1145/3460120.3484821 Authors: Jinhua Cui and Jason Zhijingcheng Yu. The Link of Note: https://jbox.sjtu.edu.cn/l/r15aTE Contributor: Fy. Overview Intel SGX的异常处理机制目前仍依赖于OS递交异常,而一个恶意的OS可以在任何时候触发一个异常。如果runtime没有恰当地进行异常触发的保护,会导致当程序在不可信和可信区间切换时,还没有完成对寄存器的清空就被迫进行中断处理,使得受攻击者控制的寄存器值被错误地写入可信区域的栈中,甚至通过不可信的栈指针实现对Enclave memory的任意地址写以及ROP攻击。

[2021.12.1] [Usenix Security 2022] MAGE: Mutual Attestation for a Group of Enclaves without Trusted Third Parties

Source: https://arxiv.org/pdf/2008.09501.pdf Authors: Guoxing Chen, and Yinqian Zhang. The Link of Note: https://jbox.sjtu.edu.cn/l/S1ugcT Contributor: lt. Overview Intel SGX的attestation机制支持enclave向其他enclave证明自己的身份。为了验证enclave是否可信,enclave会将信任的enclave的measurement放入初始数据中。但是,当多个enclave需要建立信任时,它们无法同时将对方的measurement放入自己的初始数据中,因为这个行为会使已放入的measurement失效。为此,作者提出了MAGE这一解决方案。

[2021.11.10] [Security and Communication Networks 2021] Blockchain as a CA: A Provably Secure Signcryption Scheme Leveraging Blockchains

Source: https://www.hindawi.com/journals/scn/2021/6637402/ Author: Tzung-Her Chen Ting-Le Zhu Fuh-Gwo Jeng and Chien-Lung Wang Journal: Security and Communication Networks 2021 (CCF C) Download Note: https://jbox.sjtu.edu.cn/l/x1uKe9 Contributor: PDH Introduction In the past decade, applying certificateless signcryption schemes to solve the higher cost of maintaining the certificate chain issued by a certificate authority (CA) has been studied. The concepts […]