Android应用程序个人信息安全量化评估模型研究

  • A+
所属分类:安全闲碎

移动互联网应用程序的个人信息安全问题已经引起了社会大众的普遍关注,现有信息安全检测指标和衡量方法无法较好地满足移动互联网应用程序的个人信息安全评估。在此方向进行初步探索,以Android应用程序为评估对象,分析国内当前监管条件下移动互联网应用程序个人信息安全的相关要求,结合Android应用程序个人信息安全检测技术,利用层次分析法,提出了Android应用程序个人信息安全量化评估模型。通过12款不同类型的Android应用对比评估,验证了评估模型的有效性。

引言

随着移动互联网的飞速发展,移动智能终端及运行于各类移动智能终端上的移动互联网应用程序(Mobile Internet Application,以下简称App)已全面渗透入人们的工作和生活。中国互联网络信息中心发布的《第45次中国互联网络发展状况统计报告》显示,截至2020年3月,我国网民规模达9.04亿,其中使用手机上网的网民达8.97亿,占比达99.3%。同时,根据中国网信网发布的《2019年我国移动应用程序(APP)数量增长情况》,截至2019年12月末,我国国内应用市场上监测到的App数量已达367万款。在依赖性上,2020年第一季度国内手机网民人均安装App 63款,人均单日App使用时长达6.7 h。可见,App已经成为人们工作和生活离不开的基础软件。

然而,App在为用户提供便捷服务的同时,也带来了严重的个人信息安全问题,如App强制授权、过度索权、超范围收集个人信息的现象大量存在。中国消费者协会于2018年进行的App个人信息泄露情况调查显示,遇到个人信息泄露情况的人数占比达85.2%。全国信息安全标准化技术委员会秘书处发布的文件显示,App存在的典型个人信息安全问题包括超范围收集个人信息、设置不合理账号注销条件、强制索取权限、无隐私政策、默认选择同意以及未充分明示个人敏感信息使用规则等。

针对App个人信息安全问题,国家监管部门陆续开展了多项针对性的监管活动。例如,中央网信办、工信部、公安部和国家市场监管总局等四部门联合开展的App违法违规收集使用个人信息专项治理行动(以下简称“四部门专项治理行动”),工信部开展的App侵害用户权益专项整治工作等。同时,相继发布了多个App个人信息安全相关监管文件,如《数据安全管理办法(征求意见稿)》《App违法违规收集使用个人信息行为认定方法》以及GB/T 35273-2020《信息安全技术 个人信息安全规范》等。这些监管活动和监管文件的有效执行,均依赖于对App的个人信息安全进行检测评估。如前文所述,App个人信息安全问题不同于恶意代码、系统漏洞等传统信息安全问题,在相应的检测方法和评估准则方面仍缺少相关研究,特别是在App个人信息安全量化评估方面,目前仍处于探索阶段。

本文以市场占有率80%以上的Android系统为研究对象,对国内监管要求和Android应用个人信息安全检测方法进行综合分析,在检测技术可实现的基础上提出Android应用个人信息安全评估指标体系,通过按层次细分评估指标和层次分析法,对Android应用个人信息安全进行量化评估。需要说明的是,本研究仅关注移动设备端App的个人信息安全,暂不考虑App后端服务处理个人信息的行为。

1、App个人信息安全要求与标准

App个人信息安全量化评估通常应当以App个人信息安全评估标准为准则。然而,国内目前缺少直接针对App个人信息安全评估的标准。因此,本文对当前已发布的针对个人信息安全的部门规章、政策文件、标准文件进行分析,作为评估指标依据。

1.1部门规章

为配合《网络安全法》中对个人信息保护的基本要求,有关行业主管和监管部门积极制定了细化的部门规章,其中和App个人信息安全保护相关的主要包括工信部发布的《电信和互联网用户个人信息保护规定》《移动智能终端应用软件预置和分发管理暂行规定》,网信办发布的《移动互联网应用程序信息服务管理规定》等。这些部门规章提出了收集、使用用户的个人信息,应当明确告知用户收集、使用个人信息的目的、方式和范围;收集、使用用户的个人信息须经用户同意;不得收集与所提供服务无关的个人信息或调用与所提供服务无关的终端功能;应当提供给用户选择终止服务、停止收集其个人信息以及注销账号等要求。

1.2政策文件

《App违法违规收集使用个人信息行为认定方法》是四部门专项治理行动的工作成果,为监管部门认定App违法违规收集使用个人信息行为提供了参考。该文件给出了App未公开收集使用规则,未明示收集使用个人信息的目的、方式和范围,未经用户同意收集使用个人信息,违反必要原则收集与其提供的服务无关的个人信息,未经同意向他人提供个人信息,未公布投诉、举报方式等,共6大类违法违规收集使用个人信息行为,且每一类详细列举了认定准则。该政策文件为提出Android应用程序个人信息安全评估的指标提供了直接依据。

1.3标准文件

个人信息保护标准对于个人信息保护工作具有基础性、规范性和引领性作用,是本文提出评估指标的主要依据。

在国家标准层面,针对个人信息保护要求,目前已有标准包括GB/T 35273-2020《信息安全技术 个人信息安全规范》、GB/T 34978-2017《信息安全技术 移动智能终端个人信息保护技术要求》以及《信息安全技术 移动互联网应用程序(App)收集个人信息基本规范(送审稿)》等。其中,《信息安全技术 个人信息安全规范》对个人信息以及个人敏感信息的范围进行了界定,明确了个人信息控制者在开展个人信息处理活动中应当遵循的基本原则,及其在对个人信息进行收集、保存、使用和对外提供等环节应遵守的相关要求,是目前使用最广泛的个人信息安全保护标准。《信息安全技术 移动智能终端个人信息保护技术要求》规范了全部或部分通过移动智能终端进行个人信息处理的过程,根据移动智能终端个人信息的分类和不同的处理阶段,对相应的个人信息保护提出了技术要求。《信息安全技术 移动互联网应用程序(App)收集个人信息基本规范(送审稿)》明确了移动互联网应用程序收集个人信息时应满足的基本要求,用以规范移动互联网应用程序运营者收集个人信息的行为。该标准附录中给出了地图导航、网络约车、即时通信、网络社区等38类常用服务类型可收集的最小必要信息

在行业标准方面,中国通信标准化协会已发布YD/T 2781-2014《电信和互联网服务 用户个人信息保护 定义及分类》、YD/T 2782-2014《电信和互联网服务 用户个人信息保护 分级指南》以及YD/T 3082-2016《移动智能终端上的个人信息保护技术要求》等行业标准。

2、App个人信息安全检测技术

虽然Android应用个人信息安全检测的问题点与Android应用传统信息安全的检测点不同,但在基础检测技术上两者是一致的。Android应用个人信息安全基础检测技术包括静态分析技术和动态分析技术。在静态分析和动态分析的基础上,要对个人信息安全问题进行判断,还需要人工进行分析。

2.1静态分析技术

Android应用静态分析技术包括资源文件扫描技术、代码特征扫描技术以及静态污点分析技术等。Android应用的APK文件中包含Dalvik字节码文件和AndroidManifest、图片、布局、so文件等其他资源文件。资源文件扫描技术对App的AndroidManifest文件、布局文件等进行扫描,通过分析App的AndroidManifest文件可以获得App声明可能会使用的系统权限;通过分析布局文件可以获得App可能让用户输入的个人信息。代码特征扫描技术对反编译后的Dalvik字节码进行扫描,通过分析代码发现App调用的敏感API、嵌入的第三方SDK等。其中,敏感API是指能够获取用户个人信息的API。静态污点分析技术通过在反编译后的代码上进行静态污点追踪,识别特定数据在代码中的传播路径。静态污点分析可用于分析敏感API被调用时可能接收的参数值。静态分析技术的特点是覆盖的代码范围广,但准确度较低。

2.2动态分析技术

Android应用动态分析技术包括App动态运行技术、App敏感API Hook技术、动态污点分析技术以及网络数据抓包技术等。App动态运行技术是指在无人操作的情况下自动运行App,自动触发App中的特定操作。在固定时间内,尽可能多地触发App中的不同操作,可提高动态运行代码的覆盖率。App敏感API Hook技术通过在敏感API上添加Hook,记录App在实际运行时调用敏感API的时间、传递的参数以及调用栈等。动态污点分析技术通过修改Android操作系统底层代码,追踪App在实际运行时污点数据的传播情况,在被打上污点标签的个人信息传播至文件、短信或网络出口时,记录该个人信息发送行为。网络数据抓包技术通过代理程序拦截App发送的网络数据包。结合在设备端的Hook技术和中间人攻击方法,可以在一定程度上拦截通过SSL/TLS等加密信道发送的明文数据。与静态分析相比,动态分析技术的特点是准确度较高,但代码覆盖率较低。

2.3人工分析

对于Android应用的个人信息安全问题,技术分析通常用于收集基础数据。一款App是否确认存在个人信息安全问题,还需进一步进行人工分析判断。人工分析包括隐私政策分析、App功能试用等。人工分析主要完成两方面的工作。一方面是对技术分析的结果进行问题判定,如通过技术分析可以获得App声明了哪些系统权限,但这些权限是否都是App实现业务功能所必须的权限,还需人工结合App的业务功能进行判定;另一方面是弥补技术分析无法进行的问题分析,如App的隐私政策是否说明个人信息收集使用情况、使用敏感系统权限时是否说明目的等。这些内容涉及到对自然语言语义的理解,虽然当前有很多对自然语言处理的相关工作,但对隐私政策等的分析仍离不开人工判断。

3、App个人信息安全量化评估模型

3.1层次分析法

层次分析法(Analytic Hierarchy Process,AHP)是一种定性与定量相结合、系统的、层次的分析方法。该方法将与最终的决策目标有关的要素按照其相互关联影响及相互隶属关系分解成目标、准则、方案等层次,通过对要素的两两比较,利用较少的定量信息使决策的思维过程数学化,从而为多目标、多准则或无结构特性的复杂决策问题提供简便的决策方法。

运用层次分析法构造决策模型时,可分为以下4个步骤。

( 1 ) 建立层次结构模型。按照决策的目标、考虑的要素、决策对象等建立层次结构,绘制层次结构图。

( 2 ) 构造判断矩阵。两两比较每一层的各要素,根据该要素对上一层要素的重要性构造判断矩阵。对比时采用相对尺度,以减少性质不同的要素相互比较的困难。成对比较矩阵的元素Android应用程序个人信息安全量化评估模型研究表示第个要素相对于第j个要素的比较结果,这个值使用Santy的1~9标度方法给出。

表1 Santy 1~9标度表

Android应用程序个人信息安全量化评估模型研究

( 3 ) 层次单排序及一致性检验。假设某一层要素的n阶判断矩阵A的最大特征根为Android应用程序个人信息安全量化评估模型研究,其对应的特征向量经归一化后记为W。W的元素为同一层要素对于上一层某要素相对重要性的排序权值,这一过程称为层次单排序。完成层次单排序后,为了避免出现违背常识的判断结果,需要对该次排序进行一致性检验。一致性指标用CI 计算。CI 越小,说明一致性越大。CI 的定义为:

Android应用程序个人信息安全量化评估模型研究

为衡量CI 的大小,引入随机一致性指标RI,表示矩阵出现一致性随机偏离的可能性。矩阵阶数n与RI 的对应关系如表2所示。

表2 随机一致性指标对照表

Android应用程序个人信息安全量化评估模型研究

将CI 和随机一致性指标RI进行比较,得出检验系数CR,CR=CI /RI 。如果CR <0.1,则认为该判断矩阵通过一致性检验。

( 4 ) 层次总排序及一致性检验。层次总排序是指从最高层到最低层依次计算某一层所有要素对于最高层相对重要性的权值。假设第一层(A层)m个要素对总目标的权重为Android应用程序个人信息安全量化评估模型研究,第二层(B层)n 个要素对A层中要素Android应用程序个人信息安全量化评估模型研究的权重为Android应用程序个人信息安全量化评估模型研究,则B层第个要素i 对总目标的权重为 Android应用程序个人信息安全量化评估模型研究。若B层中与Aj相关的要素的成对比较判断矩阵在层次单排序中满足一致性检验,一致性指标为CIj,随机一致性指标为RIj,则B层层次总排序的CR:

Android应用程序个人信息安全量化评估模型研究

当层次总排序的时,认为层次总排序通过一致性检验。

3.2量化评估模型

通过对部门规章、政策文件、标准规范的研究分析可以发现,App个人信息安全问题包含个人信息主体权益保障和个人信息安全保障两个方面。结合个人信息安全规范中提出的个人信息安全基本原则,本文以明确告知、选择同意、最小必要、确保安全和主体参与5个要素作为Android应用个人信息安全的直接评价准则。在此基础上,按照层次分析法的决策思维,结合Android应用的特点和检测技术,从隐私政策、权限申请、信息收集、第三方共享以及账号注销等方面对直接评价准则进行逐层分解。对于各层指标,按照该指标不符合时对个人信息主体权益减损多少或可能造成的个人信息安全影响大小进行两两比较。

本文构造的层次模型如图1所示。对于第一层的直接评价准则层,根据相关要求与标准文件描述,认为该层各要素对Android应用个人信息安全的重要度相同,因此该层要素相对总目标的权重Android应用程序个人信息安全量化评估模型研究。而对于从第二层开始的各要素,根据其对上一层要素的重要程度两两进行比较,确定其相对上一层要素的权重。

Android应用程序个人信息安全量化评估模型研究

图1 Android应用个人信息安全评估指标层次结构模型

以C1~C5为例,其相对B1的权重确定过程如下。

首先根据B1的重要度,两两比较C1~C5的要素,构造判断矩阵Ac。

Android应用程序个人信息安全量化评估模型研究

计算判断矩阵Ac的最大特征根Android应用程序个人信息安全量化评估模型研究,一致性指标CI =0.0697和检验系数CR=0.0622。由CR<0.1可知,该判断矩阵通过一致性检验,各项权重无逻辑错误。由判断矩阵的特征值向量归一化,可得C1~C5要素对B1的重要度权重为W=(0.455 2,0.040 0,0.1259,0.308 9,0.070 0)。

按照同样的方法,计算各层要素对上一层要素的重要度权重,再根据3.1节描述的层次总排序计算方法计算各层要素对总目标的重要度权重,最终计算结果如图2所示。经检验,该层次结构模型的层次总排序CR<0.1,满足一致性指标。评估中使用该层次结构模型作为Android应用的量化评估模型。设Android应用个人信息安全水平的满分为100,各指标项的权重值乘以100为该项的分值,对App满足的指标项的分值求和,即为该App个人信息安全水平的量化评分。

Android应用程序个人信息安全量化评估模型研究

图2 评估指标层次结构权重

4、评估实例分析

按照上述评估模型,本文选择了12款不同服务类型的Android应用进行对比评估。表3显示了每款App对应的主要个人信息安全问题及其对应的量化评分。可以看出,通过提出的量化评估模型,量化评分结果可以较好地反映App的个人信息安全保护水平。对于存在无隐私政策、无法注销账号、申请无关权限等较严重个人信息安全问题的App,本文所提方法会打出较低的评分。而对于打开权限时未同步明示目的、频繁提示缺少的权限等问题,这些问题虽然在一定程度上造成用户知情权和用户体验的下降,但实际对用户个人信息安全的影响低于无隐私政策等问题。对于仅存在这些问题的App,本文所提方法给出了较高的评分。利用本文所提出的量化评估模型,通过量化评分结果的对比,一方面可以促进当前评分较低的App改进自身存在的严重个人信息安全问题,快速提升自身评分;另一方面可以鼓励当前评分较高的App进一步提升自身的个人信息保护水平,从而取得更高的分数。因此,本文所提评估模型具有较好的实用意义。

表3 12款Android应用的对比评分

Android应用程序个人信息安全量化评估模型研究

5、结语

本文针对Android应用个人信息安全的量化评估问题,研究了App个人信息安全的要求与标准,结合Android应用个人信息安全的检测技术,提出了层次结构的Android应用个人信息安全评估指标项。按照某项指标不符合时对个人信息主体权益减损多少或可能造成的个人信息安全影响大小,采用层次分析法计算了各项指标的权重。最后,通过在12款App上的对比使用,验证了方法的有效性。本文所提指标虽然针对Android应用,但其中大部分指标和方法同样适用于iOS应用个人信息安全的量化评估。在未来工作中,计划更深入地研究评估指标的分层拆解,进一步减小同一层次不同指标间的关联性,并通过多位专家共同决策的方式提高指标间比较结果的客观性,从而提高整个评估模型的准确性。



原文来源:信息安全与通信保密杂志社

Android应用程序个人信息安全量化评估模型研究

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: