[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.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.10.20] [NDSS 2021] Preventing and Detecting State Inference Attacks on Android

Source: http://s3.eurecom.fr/docs/ndss21_pox.pdf Author: Andrea Possemato, Dario Nisi, Yanick Fratantonio Affiliation: EURECOM Network and Distributed Systems Security (NDSS) Symposium 2021 Download https://jbox.sjtu.edu.cn/l/Q1LDjO Contributor: yzy Overview Phishing attacks : problematic for mobile platforms. because they do not provide enough information for a user to reliably distinguish a legitimate app from a malicious app spoofing the UI of […]

[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,最终发现漏洞。 […]