| 摘要: |
| GUI模糊测试在提升移动应用可靠性和兼容性方面发挥着关键作用. 然而, 现有的GUI模糊测试方法大多效率较低, 主要原因是这些工作过于粗粒度, 仅基于单一模态的特征来整体理解GUI页面, 应用状态的过度抽象使得许多细节信息被忽略, 导致对GUI状态及小部件的理解不足. 为了解决上述问题, 提出了一种基于多模态表征的移动应用GUI模糊测试框架GUIFuzzer. 该框架通过考虑多模态特征, 如视觉特征、布局上下特征和细粒度的元属性特征, 来联合推断GUI小部件的语义; 然后, 训练一个多层次奖励驱动的深度强化学习模型来优化GUI事件选择策略, 提高模糊测试的效率. 在大量的真实应用上对所提框架进行了评估. 实验结果表明: 与现有的竞争性基线相比, GUIFuzzer显著地提升了模糊测试的覆盖率. 还对特定目标的定制化搜索即敏感API触发进行了案例研究, 进一步验证了GUIFuzzer框架的实用性. |
| 关键词: GUI模糊测试 强化学习 深度学习 多模态表征 定制化搜索 |
| DOI:10.13328/j.cnki.jos.007106 |
| 分类号: |
| 基金项目:国家自然科学基金(62141208) |
|
| GUI Fuzzing Framework for Mobile Apps Based on Multi-modal Representation |
|
ZHANG Shao-Kun1, LI Yuan-Chun2, LEI Han-Wen1, JIANG Peng1, LI Ding1, GUO Yao1, CHEN Xiang-Qun1
|
|
1.School of Computer Science, Peking University, Beijing 100871, China;2.Institute for AI Industry Research, Tsinghua University, Beijing 100084, China
|
| Abstract: |
| GUI fuzzing plays a crucial role in enhancing the reliability and compatibility of mobile apps. However, most existing GUI fuzzing methods are inefficient, mainly because they are coarse-grained, relying solely on single-modal features to understand the GUI pages holistically. The excessive abstraction of app states leads to the neglect of many details, resulting in an insufficient understanding of GUI states and widgets. To address this issue, a GUI fuzzing framework called GUIFuzzer for mobile apps is proposed based on multi-modal representation. This framework leverages multi-modal features, such as visual features, layout context features, and fine-grained meta-attribute features, to jointly infer the semantics of GUI widgets. Then, it trains a multi-level reward-driven deep reinforcement learning model to optimize the GUI event selection strategy, thus improving the efficiency of fuzz testing. The proposed framework is evaluated on a large number of real apps. Experimental results show that GUIFuzzer significantly improves the coverage of fuzz testing compared with existing competitive baselines. A case study is also conducted on customized search for specific targets, namely sensitive API triggering, which further demonstrates the practicality of the GUIFuzzer framework. |
| Key words: GUI fuzzing reinforcement learning deep learning multi-modal representation customized search |