From Exploration to Revelation: Detecting Dark Patterns in Mobile Apps

📄 arXiv: 2411.18084v1 📥 PDF

作者: Jieshan Chen, Zhen Wang, Jiamou Sun, Wenbo Zou, Zhenchang Xing, Qinghua Lu, Qing Huang, Xiwei Xu

分类: cs.SE, cs.AI, cs.HC

发布日期: 2024-11-27

备注: 12 pages, 4 figures


💡 一句话要点

提出AppRay,融合任务导向探索与自动检测,高效识别移动应用中的恶意诱导模式。

🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 恶意诱导模式检测 移动应用安全 自动化测试 大型语言模型 对比学习

📋 核心要点

  1. 现有恶意诱导模式检测主要依赖人工,效率低下且难以应对应用快速迭代。
  2. AppRay结合大型语言模型的常识推理进行任务导向探索,并融合静态与动态检测。
  3. 实验构建了包含静态与动态恶意诱导模式的数据集,验证了AppRay的有效性。

📝 摘要(中文)

移动应用在日常生活中至关重要,但它们经常采用恶意诱导模式(dark patterns),例如利用视觉技巧突出某些选项或使用语言策略诱使用户进行购买,从而操纵用户行为。目前的研究主要使用手动方法检测恶意诱导模式,这种方法耗时且难以跟上不断更新和涌现的应用。虽然一些研究致力于自动检测,但它们仅限于静态模式,并且仍然需要手动应用探索。为了弥合这些差距,我们提出了AppRay,这是一个创新系统,它无缝地将任务导向的应用探索与自动恶意诱导模式检测相结合,从而减少了手动工作。我们的方法包括两个步骤:首先,我们利用大型语言模型的常识知识进行有针对性的应用探索,并辅以传统的随机探索,以捕获更广泛的UI状态。其次,我们开发了一个静态和动态恶意诱导模式检测器,该检测器由基于对比学习的多标签分类器和基于规则的精炼器提供支持,以执行检测。我们贡献了两个数据集,AppRay-Dark和AppRay-Light,包含来自876个恶意UI和871个良性UI的18种类型的2,185个独特的欺骗模式(包括149个动态实例)。这些数据集涵盖静态和动态恶意诱导模式,同时保留UI关系。实验结果证实,AppRay可以有效地探索应用程序并以出色的性能识别各种恶意诱导模式。

🔬 方法详解

问题定义:论文旨在解决移动应用中恶意诱导模式难以被高效检测的问题。现有方法主要依赖人工分析,耗时费力,且难以覆盖不断涌现的新型恶意诱导模式。已有的自动化方法则局限于静态模式的检测,忽略了动态交互产生的恶意诱导模式,并且需要人工进行应用探索,效率仍然较低。

核心思路:论文的核心思路是将任务导向的应用探索与自动恶意诱导模式检测相结合。利用大型语言模型的常识知识指导应用探索,从而更有效地发现潜在的恶意诱导模式。同时,构建静态和动态恶意诱导模式检测器,以全面识别不同类型的恶意诱导模式。

技术框架:AppRay系统主要包含两个阶段:应用探索阶段和恶意诱导模式检测阶段。在应用探索阶段,系统首先利用大型语言模型的常识知识进行任务导向的探索,例如模拟用户购买流程。同时,为了覆盖更广泛的UI状态,系统还进行随机探索。在恶意诱导模式检测阶段,系统利用基于对比学习的多标签分类器进行初步检测,然后使用基于规则的精炼器进一步提高检测精度。

关键创新:AppRay的关键创新在于将大型语言模型的常识知识应用于应用探索,从而实现了更高效、更智能的应用探索。与现有方法相比,AppRay能够自动地探索应用并发现潜在的恶意诱导模式,无需人工干预。此外,AppRay还能够检测动态恶意诱导模式,弥补了现有方法的不足。

关键设计:在应用探索阶段,论文使用了大型语言模型来生成探索策略。具体来说,论文将应用的UI描述和用户目标作为输入,然后利用大型语言模型生成一系列操作序列,以模拟用户完成特定任务的过程。在恶意诱导模式检测阶段,论文使用了对比学习来训练多标签分类器。对比学习的目标是使相似的UI在特征空间中更接近,而不相似的UI在特征空间中更远离。此外,论文还设计了一系列基于规则的精炼器,以进一步提高检测精度。例如,对于“确认否定”类型的恶意诱导模式,精炼器会检查确认按钮和否定按钮的颜色和位置是否具有欺骗性。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

AppRay在实验中表现出高效的应用探索能力和准确的恶意诱导模式检测能力。研究者构建了包含2185个恶意诱导模式的数据集,涵盖18种类型。实验结果表明,AppRay能够有效地探索应用并识别各种恶意诱导模式,性能优于现有方法,但具体性能数据未在摘要中体现。

🎯 应用场景

该研究成果可应用于移动应用商店的安全审核,帮助识别和下架包含恶意诱导模式的应用,保护用户权益。开发者也可以利用该技术检测自身应用是否存在潜在的恶意诱导设计,提升用户体验。未来,该技术还可扩展到其他软件平台,例如网页应用和桌面应用。

📄 摘要(原文)

Mobile apps are essential in daily life, yet they often employ dark patterns, such as visual tricks to highlight certain options or linguistic tactics to nag users into making purchases, to manipulate user behavior. Current research mainly uses manual methods to detect dark patterns, a process that is time-consuming and struggles to keep pace with continually updating and emerging apps. While some studies targeted at automated detection, they are constrained to static patterns and still necessitate manual app exploration. To bridge these gaps, we present AppRay, an innovative system that seamlessly blends task-oriented app exploration with automated dark pattern detection, reducing manual efforts. Our approach consists of two steps: First, we harness the commonsense knowledge of large language models for targeted app exploration, supplemented by traditional random exploration to capture a broader range of UI states. Second, we developed a static and dynamic dark pattern detector powered by a contrastive learning-based multi-label classifier and a rule-based refiner to perform detection. We contributed two datasets, AppRay-Dark and AppRay-Light, with 2,185 unique deceptive patterns (including 149 dynamic instances) across 18 types from 876 UIs and 871 benign UIs. These datasets cover both static and dynamic dark patterns while preserving UI relationships. Experimental results confirm that AppRay can efficiently explore the app and identify a wide range of dark patterns with great performance.