【论文总结】检测和测量Android 应用程序中Manifest配置错误

检测和测量Android 应用程序中Manifest配置错误

介绍

这是来自CCS 2022的一篇论文《Detecting and Measuring Misconfigured Manifests in Android Apps》,作者如下:Yuqing Yang, Mohamed Elsabagh, Chaoshun Zuo, Ryan Johnson, Angelos Stavrou, Zhiqiang Lin

前置知识

  • manifest文件错误配置根据其根本原因可以分为以下几类:
    1.元素和属性的位置错误:
    1)元素超出上界 2)一个元素放在无效的父元素中 3)错误的元素声明
    2.缺少元素和属性:缺少某个必须的元素或属性
    3.意外的元素和属性:如出现一个没有定义的元素
    4.属性值错误:属性值不满足数据类型
  • 错误配置android:permission属性会导致组件劫持
  • 错误配置android:allowbackup会导致信息泄露

文章主要内容

  1. 开发了自动化检测工具MANIScope,用于检测manifest文件中的错误配置。该检测工具是基于NLP技术。

  2. 使用该工具对1,853,862个app和692,106个pre-installed app进行测量

数据集来源

应用数据集来自两部分:2020年google play中的180万应用程序以及2011年到2020年期间的三星固件中提取的pre-installed app

ManiScope工作原理

在这里插入图片描述
简单来说该工具由五个主要的组件构成:文件收集器、位置约束提取器、定量约束提取器、模式生成器、manifest验证器。

文件收集器:获取manifest文件,使用自上而下的遍历算法识别属性和元素
位置约束提取器:判断元素和属性的位置关系
定量约束提取器:包括实体辨别器和约束过滤器。实体辨别器处理元素缺失,约束过滤器用判断意外元素和属性
模式生成器:通过位置约束和定量约束将其转换为结构化数据
manifest验证器:对丢失、错位和意外三种错误配置进行验证

测量角度

1.manifest提取分析

1)提取结果
对不同版本的Android开发者文档,使用该工具提取约束特征信息,并在最新的文档中进行手动测试证明其提取数据的正确率
在这里插入图片描述2)对manifest文档进化进行评估
在这里插入图片描述
2.manifest错误配置检测

检测结果:
在这里插入图片描述
3.与安全相关的错误配置

1)错误配置的严重程度和影响评估
根据CVSS评分指标对错误配置进行分类
在这里插入图片描述
2)google play和pre-installed app中受错误配置的影响情况
在这里插入图片描述
目前我仍未找到该工具的源代码,若有找到该工具源代码的朋友恳请私信我。

猜你喜欢

转载自blog.csdn.net/Ohh24/article/details/128372754