App合规性检测综述

2023-02-14 10:30刘晓建彭玉坤
计算机工程与应用 2023年3期
关键词:可读性完整性一致性

刘晓建,彭玉坤

西安科技大学 计算机科学与技术学院,西安 710054

目前我国现存App总数已超过200万款,App在为人们带来便利的同时,也带来了诸多安全性问题,特别是App强制授权、过度索权、超范围收集个人信息等现象普遍存在。隐私泄露事件频发,泄露规模愈演愈烈[1]。国际上,欧盟为全面增强对个人隐私信息的保护,推出了《通用数据保护条例》(GDPR)[2],并于2018年5月被强制执行;美国联邦贸易委员会提出了公平信息实践五原则(fair information practice principles,FIPP)[3-4],即“告知”(notice)、“选择”(choice)、“可访问性”(access)、“安全”(security)和“实施”(enforcement)。近年来我国也出台了一系列法规政策,旨在规范个人信息控制者在收集、存储、使用、共享、转让、公开披露等信息处理环节中的相关行为,来遏制个人信息非法收集、滥用、泄漏等乱象,最大程度地保障个人的合法权益和社会公共利益[5]。

为保护个人信息权益、规范个人信息处理活动,一系列的法律法规和行业规范相继出台[6]。这些法规政策也为监管机构提供了合规性监管依据。目前,我国的App监管单位主要包括中华人民共和国工业和信息化部(简称工信部)、中华人民共和国国家互联网信息办公室(简称网信办)、国家市场监督管理总局(简称市监局),以及中华人民共和国公安部(简称公安部),这些部门有权通告、下架违法违规的App。我国App数量也由2018年的421万款下降到2021年的252万款,可以看出国家对App违规行为采取零容忍态度[7]。

隐私政策是附加在一个App中的关于该App如何收集、管理、使用、披露个人信息主体数据的声明[8],它是个人信息安全保护的“第一道防线”,必须满足法规政策中对App隐私政策的相关要求。一个App的隐私政策应单独成文、易于阅读、易于访问,并对敏感信息应给出显著标识[9]。然而,App隐私政策往往规范化程度较低、侵权风险高,App隐私政策的完整性问题、一致性问题和可读性问题仍是App合规的主要挑战性问题。

为了更全面地认识App合规性检测问题,为App监管部门提供技术和工具支撑,本文对App合规性相关研究展开综述。首先介绍了App法规政策和技术文献的来源;其次在法律层面和App市场治理层面,分析了法规政策间的引用关系、各层次部门间的隶属关系和法规政策对App的合规要求;然后在技术层面,将App合规性检测方法分成隐私政策的完整性检测、一致性检测和可读性检测三类,对每类的主要检测思路和方法进行分析和总结,按照“性质-维度-切入点”的层次关系提炼出App合规性检测方法的体系结构,并以此展开更详细的分析;然后在工具层面,整理出7个国内主要的App合规性检测平台,包括其网址和检测重点。最后总结了App合规性检测仍存在的挑战性问题,并展望了未来App合规性研究的发展方向。

1 资料来源

App相关法规政策的资料来源主要为工信部、网信办、市监局、中国信通院等官方网站,如表1所示。通过“App”“应用程序”“应用软件”“隐私政策”“合规”等关键词,筛选出60余部内容与App合规相关的法规政策。

表1 法规政策来源Table 1 Sources of regulations and policies

在近5年的国内外文献中,查找到App隐私政策完整性检测相关文献19篇(关键词:“完整性”“integrity”等);App隐私政策的一致性检测相关文献18篇(关键词:“一致性”“fidelity”等);App隐私政策的可读性检测相关文献16篇(关键词:“可读性”“readability”等),文献来源分布如表2所示。

表2 文献来源Table 2 Literature resources

2 我国颁布的App合规性相关法规政策

为保护个人隐私安全,规范个人信息控制者在收集、存储、使用、共享等信息处理环节中的相关行为,国家陆续出台相关法规政策,统筹发展和安全,推动数据安全建设,加强个人信息保护[10]。列举了我国近5年来各层次部门颁布的主要法规政策,如表3所示。

表3 颁布的App相关法规政策Table 3 Regulations and policies promulgated for App

2021年之前我国App安全相关的政策体系是以《网络安全法》为核心,其他规章政策紧紧围绕而形成的。2021年后我国陆续颁布了《数据安全法》和《个人信息保护法》,逐渐形成了以《个人信息保护法》为核心的App安全政策新体系。本文归纳出部分法规政策之间的引用关系,如图1所示。

图1 法规政策引用关系Fig.1 Regulations and policies reference relationship

国家近年来对个人信息保护进行了前瞻性战略部署,开展了系统性的顶层设计。我国发布法规政策的执法机构具有层次关系,已形成较成熟的管理结构[11]。本文整理出颁布App相关法规政策所属部门的主要层次结构,如图2所示。全国人大及其常委会制定法律,其效力最高(如《网络安全法》《数据安全法》等)。国务院制定的行政法规,是为落实法律要求而提出的规范性要求。国务院下的工信部、网信办等部门、机构及下属的机构、单位、组织根据行政法规,提出指导性要求与结合实际的指导意见等。

图2 颁布App相关政策的部门层次结构Fig.2 Departmental structure of promulgated App policies

本文在收集的法规政策中通过查找“合规”“合法”“违规”“违法”等关键词,对法规政策进行筛选,并总结出App合规的主要要点,如图3所示。

图3 App合规主要要点Fig.3 Main points of App compliance

通过阅读国内外有关App合规性检测的文献,将App合规性检测方法划分成了三个类别,即App隐私政策的完整性检测、一致性检测和可读性检测。到目前为止,隐私政策的完整性检测和隐私政策的一致性检测还没有公认的定义,不同文献中有不同的理解和侧重点,本文采用集合论尝试给出完整性和一致性的数学定义,并辅以例子来诠释完整性和一致性内涵,如图4所示。

图4 完整性检测和一致性检测Fig.4 Integrity detection and consistency detection

设T表示一个法律法规文件或国标文件,其中定义了若干App隐私政策应满足的条目。因此,可以把T定义为如下有限集,即

其中,ti(1≤i≤n)为用自然语言描述的、App隐私政策应满足的条目。

便于讨论起见,定义如下四个域:

T:所有法律法规文件中规定的条目的集合。

A:所有App的有限集。

R:所有App隐私政策的有限集。

B:所有App行为的有限集,其中的一个元素表示一个App的行为集合。

设a:A→R和b:A→B为两个函数,它们分别把一个Appa∈A映射到其隐私政策和行为集合,即p(a)∈R,b(a)∈B。

通常讨论一个App的完整性时,总是针对一个具体的条件集合。为此,令ST⊆T是T的一个子集,其中的元素(即条件)必须是逻辑相容的,即相互不矛盾的。

定义1(完整性)一个Appa∈A如果满足如下条件,则称a关于一组条目ST是“完整的”:

其中,sat(p(a),t)是一个谓词,表示a的隐私政策满足条目t∈ST所指示的要求。

由于p(a)是用自然语言描述的隐私政策,t也是用自然语言描述的条目,因此判断谓词sat(p(a),t)是否为真,需要借助自然语言分析技术。

定义2(一致性)一个Appa∈A如果满足如下条件,则称其隐私政策与其行为是一致的:

其中,spec(p(a))表示a的隐私政策p(a)所约定的a的行为空间。

简单来说,b(a)⊆spec(p(a))表示“a的实际行为不应超过a的隐私政策p(a)所约定的行为范围”,即a的实际行为是隐私政策规约的“精化”(refinement)。但是在实际检测中,如何定义App的“行为”和隐私政策所约定的“行为”却是一个开放的问题。如果从程序的形式语义角度来理解“行为”,程序行为通常被定义为从程序初始状态开始的由状态迁移构成的序列的集合,然而App的隐私政策是文字描述,因此无法对二者直接进行比较。因此,要检测App的一致性问题,需要对“行为”做出明确的解释,并采用特定的方法从程序和隐私政策中抽象出二者的行为,才能进行比较和判断。不同研究工作所采取的具体方法见3.2节所述。

下面以一个具体例子来说明上述定义。令T代表《信息安全技术 个人信息安全规范》(以下简称《规范》),其中规定了若干隐私政策应满足的条目。假如t1代表其中的一个条目,即“业务功能需要依赖部分信息才得以运行,需要收集的必要信息包括:……”;某App对应隐私政策p(a)内容包括“如果您注册成为我们的会员,您需要提供手机号或我们支持的第三方账号进行登录,便于我们为您提供服务”。通过自然语言处理等技术,判断出谓词sat(p(a),t1)为真,即该App的隐私政策满足条目t1∈ST所指示的要求;当满足子集ST的n个要求后,称该App关于一组法律法规的条目ST是“完整的”。

再如,某App对应隐私政策p(a)内容包括“我们不会收集您的个人信息,如地理位置信息……”;通过对a的程序行为进行分析,发现其程序中存在“android.location.LocationManagergetLastknownLocation()”即获取位置信息,显然App的实际行为b(a)不再是隐私政策声明的行为空间spec(p(a))的子集,也就是超出了该App的隐私政策所约定的行为范围。因此可以判定该App的隐私政策与行为是不一致的。

某App的隐私政策(如p(a))易于阅读和易于理解的程度,通常被称为App隐私政策的可读性[12]。本文对这三类研究方法进行了总结,如表4所示。同时本文仅关注移动设备端App的合规要点,暂不考虑App后端服务处理个人信息的行为。

表4 App合规性检测的三个类别Table 4 Three categories of App compliance detection

通过对相关文献的通读,按照“性质-检测维度-主要切入点”的层次结构,本文提炼出App合规性的检测体系,如图5所示。App隐私政策的完整性检测通常依据法规政策的要点分类和要点框架,来检测App隐私政策的具体条目是否符合对应要点;App隐私政策的一致性检测通常把App实际行为(数据流、API、权限)和App隐私政策放在同一个域中,检查App实际行为是否为App隐私政策的一个子集,从而实现一致性检测;App隐私政策的可读性检测通常利用公式计算出的可读分数,来评估App隐私政策的可读性,本文将按照英文可读性公式和中文可读性公式展开阐述。

图5 App合规性检测体系Fig.5 App compliance detection system

3.1 App隐私政策的完整性检测

完整性检测方法主要采用文本分析法、内容分析法、问卷调查法来分析App的隐私政策[13],也常用机器学习等方式对App的隐私政策文本进行分类。在19篇App隐私政策的完整性检测文献中,6篇利用机器学习,4篇使用文本分析,3篇采用问卷调查,2篇计算要点权重,2篇使用内容分析法,2篇使用其他方法。完整性检测文献分布如图6所示。App隐私政策的完整性所对比的国外标准法规政策通常为GDPR,或早期美国联邦贸易委员会提出的FIPP;对比的国内法规政策通常为《规范》。

图6 完整性检测文献分布Fig.6 Literature distribution of integrity detecting

同时给出App隐私政策完整性检测的衡量指标,如表5所示,可以看出大部分文献仍以应有要点(法律法规条目的抽象)作为衡量指标,部分文献的直接衡量指标不是应有要点,但都是以要点为基础,通过一系列操作,得到更加直观的衡量指标。

表5 完整性检测的衡量指标Table 5 Measurement index of integrity detection

3.1.1 要点分类

通过机器学习等技术,将具体条目抽象出几个要点并分类,根据分类结果检测App隐私政策的完整性,本文将这种检测依据统称为要点分类。Torre等[14-15]利用机器学习等技术识别隐私政策要点。该方法共分五步:前两步对隐私政策文本进行预处理、概括并把句子转换为向量表示;步骤3~5使用三种方法对句子分类,将隐私政策的句子分类成一种或多种要点类型;再基于分类结果对隐私政策的句子进行要点类型预测;最后通过给定句子的上下文要点类型,完成后期处理。整个步骤如图7所示。将得到的隐私政策要点与GDPR要点进行对比,实现App隐私政策的完整性检测。

图7 隐私政策要点识别Fig.7 Key points identification of privacy policy

利用分类器对App隐私政策应有要点进行分类之后,可以根据分类结果检测App隐私政策的完整性。Müller等[16]和Fan等[17]根据GDPR利用分类器训练出App隐私政策应包含的类别,并与GDPR进行对比以检测App隐私政策的完整性。朱璋颖等[18]根据《规范》建立了基于机器学习算法的层次多标签分类模型,能够根据分类结果完成App隐私政策的完整性检测。其完整性检测的准确率较高,检测结果显示,App普遍存在隐私政策不完整的情况,其中缺少个人信息超期处理方式的情况尤为严重。

在进行App隐私政策完整性检测时,对比的法律法规文件并非只有GDPR和《规范》,如Verderame等[19]通过3PDroid工具对App隐私政策进行完整性检测时,对比的标准是Google Play隐私准则。3PDroid可检测页面是否包括App隐私政策,涉及的部分代码如表6所示。3PDroid还可判断App隐私政策是否包含所有敏感信息的声明条例,进而验证App隐私政策是否满足Google Play对敏感信息的声明要求。

表6 隐私政策的页面检测Table 6 Page detection of privacy policy

3.1.2 要点框架

在进行App隐私政策的完整性检测时,将具体条目抽象、提炼成几个一级要点及更详细的二级要点,并以这样的框架(体系)作为完整性的检测依据。本文将这种类似框架(体系)的检测依据称为要点框架(体系),使用完整的要点框架能更全面地检测App隐私政策的完整性。根据《规范》,赵波等[20]建立的App个人信息安全量化评估模型,和张艳丰等为要点框架里的具体要点赋予了权重,可通过计算权重得知App隐私政策的完整程度。

Sun等[21]和姚胜译等[22]参考了GDPR,并使用问卷调查的方式建立App隐私政策完整体系,姚胜译还根据《规范》来检测App隐私政策是否公开发布且易于访问。朱侯等参考的是FIPP,通过问卷调查的方式构建了App隐私政策要点体系,并以此检测App隐私政策的完整情况。

在App隐私政策的完整性检测中,通常使用文本分析方法。苗慧等根据《规范》等政策对中外App隐私政策进行文本分析并建立了App隐私政策要点框架。基于《规范》,徐磊等[23]利用文本分析的方式,对不同的App分析出各自隐私政策框架;杜永欣等[24]基于文本分析出App隐私政策应有的11个要求,从而建立完整性框架以供检测。App隐私政策的完整体系应具有层次关系,以唐远清等[25]依据《网络安全法》和GDPR建立的App隐私政策框架为例,其体系结构如图8所示。

图8 隐私政策的完整组成部分Fig.8 Complete part of privacy policy

基于《规范》,张艳丰等利用内容分析法检测App隐私政策在各个指标的符合程度,马骋宇等[26]利用内容分析法构建出基于数据生命周期的App隐私政策评价体系完成完整性检测。此外还有其他方法可用于App隐私政策的完整性检测。基于《规范》,何培育等[27]利用实证考察法对比App隐私政策各方面完整性,并给出优化隐私政策条款设计、加强合法性监督和落实隐私政策违法行为的责任等建议;姜盼盼[28]从便于个人信息主体的角度出发,给出包含8个要点的隐私政策框架。

本文归纳出检测App隐私政策完整性时有针对性的部分文献,如表7所示。

表7 完整性检测针对的类别Table 7 Integrity detection for categories

3.2 App隐私政策的一致性检测

App隐私政策的一致性检测通常会分别对隐私政策和APK文件进行分析,通过NLP、机器学习等文本分析技术提取出隐私政策中对行为功能的描述,并利用静、动态等分析技术得到App(及SDK)的实际行为(数据的流向、调用的API、申请及使用的权限等),最后对比二者来完成App隐私政策的一致性对比,如图9所示。

图9 App隐私政策的一致性检测Fig.9 Consistency detection of App privacy policy

不同的工作在分析App实际行为时的侧重点不同,部分工作侧重于数据流的一致性检测,还有部分工作侧重于API、权限的一致性检测。因此在进行App隐私政策的一致性时,需要将对比的两个本体放入同一个域中进行比较,也就是检测App的实际行为是否为App隐私政策声明行为的子集。本文归纳出文献对应的App实际行为检测重点及检测范围,如表8所示,后文将详细阐述各文献的检测重点。通常用检测重点为基础的隐私政策或App不一致数量(或百分比),作为App隐私政策的一致性的衡量指标。

表8 一致性的检测重点Table 8 Focus of consistency detection

3.2.1 分析数据流

在进行App隐私政策一致性对比时,将对比的域放在数据流上,通过检查App实际的数据流是否为App隐私政策声明对应的数据流的子集,从而完成一致性检测。本文将这种把对比的域放在数据流上的检测方式称为分析数据流。

常用FlowDroid[29]和VulHunter[30]等基于静态分析的数据流分析工具,通过数据的流向来得知App如何操纵数据,进而可得知App隐私政策所声明的内容与App实际收集、使用的数据是否吻合。Fan等利用word2vec[31]将App隐私政策内的名词短语转换为可计算形式,并计算余弦相似度筛选出收集、使用数据的语句。同时利用FlowDroid和VulHunter等工具对App内的数据流进行分析,得到实际收集、使用的数据,对比App隐私政策筛选出的语句完成一致性检测。

Andow等[32]提出了一个高精度的一致性分析模型POLICHECK,用于比较App数据流和App隐私政策声明内容,并区分了第一方和第三方的数据流,来确定App是否正确地披露其隐私敏感行为;Yu等[33]开发的PPchecker用于检测数据的收集、存储、使用;Kununka等[34]检测传输给第三方的数据,都是基于数据流检测,进而与App隐私政策做一致性对比。

3.2.2 分析API、权限

在进行App隐私政策一致性对比时,将对比的域放在API、权限上,通过检查App实际的API、权限是否为App隐私政策声明对应API、权限的子集,进而完成一致性检测。本文将这种把对比的域放在API、权限上的检测方式称为分析API、权限。

Olukoya等[35]利用静态分析获取App实际请求的权限,并利用NLP技术将其转换成文本形式与对应的描述进行对比;Yu等[36-37]开发出基于静态分析的TAPVerifier框架,利用App的隐私政策和其字节码,逐步加强了描述和权限的一致性检测效果;Wang等[38]开发了SmartPI框架,从个人信息主体评论中推出App使用的权限,进而和对应描述做对比,这些一致性对比的域都是App的权限。贺雪乔[39]结合动静结合的检测方法,将App实际调用的敏感API和App隐私政策对比,完成一致性检测,对比的域是API。

App中往往集成了不少的第三方SDK,因此SDK实际的行为功能(权限、API等)是否符合App隐私政策的要求,同样是App隐私政策一致性检测的要素。之前研究工作通常使用白名单方法来检测第三方库,然而白名单方法覆盖率不全,现在通常会用第三方库分析工具,如LibRadar等[40]。第三方库分析工具是为了得到第三方库使用的API、权限等信息,进而将对比的域放在第三方库的API、权限上,实现App隐私政策的一致性检测。如胡杰克等[41]和王靖瑜等[42-43]利用LibRadar工具分析出第三方SDK使到的权限,一致性检测对比的域为第三方SDK的权限;Zhang等[44]利用LibRadar检测出第三方SDK用到的API,对比的域为第三方SDK的API,进而实现App隐私政策的一致性检测。Verderame等在3PDoird中能够检测App及其第三方库的API使用是否符合App隐私政策的要求,对比的域为App和第三方库的API。

App行为(如调用的API、申请的权限等)与文本(如App隐私政策对应的描述、短语等)的映射关系,也常被用来检测App隐私政策的一致性。Feng等[45]和Yu等[46]利用描述和对应权限的映射关系,得到描述对应的权限后,与App分析出的权限做一致性对比,对比的域是App的权限,胡杰克和杜代忠[47]将对比的域放在了第三方SDK的权限上;Slavin等[48]把API作为对比的域,整理出API和App隐私政策短语,并建立好API和对应App隐私政策短语的映射关系,并以此检测App隐私政策的一致性。

3.3 App隐私政策的可读性检测

影响App隐私政策可读性的因素不仅包括自身的特征(文本长度、复杂词汇的数量、排版风格、字体大小等),还包括个人信息主体看到和阅读到隐私政策的机会、阅读能力、阅读需求。公式法是目前最常用来衡量App隐私政策可读性的方式,可读性公式计算出的分数通常作为App隐私政策可读性的衡量指标。如FKGL[49]公式是FRES[50]公式的改良,利用单词、音节和句子的数量来确定文本的复杂性,分值越高则文本越易于阅读;GFI[51]公式使用文本中的单词数和复杂单词来确定文本的难易程度,分值越低则文本越容易阅读;SMOG[52]公式通过多音节单词的数量来确定文本的阅读难度[53],分值越低则文本越容易阅读。不少学者利用FRES公式、FKGL公式、GFI公式、陈世敏公式[54]等较成熟的公式来评估App隐私政策可读性,大部分App隐私政策也被证实其可读性不强[55]。本文整理出16篇文献依据的隐私政策可读性评估指标,如表9所示。可以看出绝大部分工作是以可读性公式作为衡量App隐私政策可读性的评估指标,朱侯等把可读性特征作为衡量可读性的指标。

表9 可读性评估指标Table 9 Readability assessment indicators

3.3.1 英文可读性公式

英文类App隐私政策可读性的影响因素包括单词和句子长度、词缀数量、音节数等,每个句子的平均单词数和被动语态百分比等。本文整理出9个常用的英文可读性公式的计算方式(FRES、LIX[68]、NDC、FKGL、RIX[68]、SMOG、CLI[69]、GFI、ARI[70]),如表10所示。

表10 英文可读性公式Table 10 English readability formulas

3.3.2 中文可读性公式

国内也有不少学者开发了中文可读性公式,其中所使用的影响可读性的因素涉及平均笔画数、难字或完全对称字率、特殊词或难词率、句均字或词数等。整理出6个中文可读性公式(陈世敏公式、王蕾公式[71]、左虹公式[72]、杨金余公式[73]、郭望皓公式[74]、孙汉银公式[75]),如表11所示。

表11 中文可读性公式Table 11 Chinese readability formulas

4 App合规性检测平台

为了更便利、更全面地从多个角度对App进行合规性检测,本文收集和整理了App合规性检测平台网址和对应的功能,如表12所示。这些App合规检测平台主要根据国家颁布的各种法规政策,来检测App的隐私政策是否符合对应要点的要求,也就是检测App隐私政策的完整性。其中存在个别平台还可以检测App实际行为和App隐私政策声明内容是否一致,即检测App隐私政策的一致性,如阿里云App合规监测平台。

表12 App合规性检测平台及功能Table 12 App compliance detecting platforms and functions

5 结束语

在安装App时,App往往会要求用户授权,个人信息主体往往不愿意泄露敏感信息,从而存在严重的个人隐私泄漏隐患[76]。因此从管控和技术两部分出发,对国家施行的App治理防护措施和App合规检测方法进行了归纳总结。对该领域的研究成果进行了回顾,App合规性检测虽取得了一定的进展,但很多方面需要进一步探索,尤其是国内以“App合规性检测”为主题的文献寥寥无几。因此针对App的合规性检测仍存在以下几个挑战性问题值得广大学者继续研究:

(1)如何加强对法规政策中合规要点的提取。目前国内尚未出台包含App及App隐私政策应具有的完整合规要点的法规政策,但在不同法规政策中陆续出现对不同类别App的合规要求。因此需要按照不同类别,在法规政策中提取对应的合规要点。未来的研究者仍需要继续探索基于机器学习的文本提取、文本分类、文本一致性对比等技术。

(2)如何构建全面的语料库。分类建立与法规政策中要点语义相同的语料库,可通过要点匹配的方式检测App隐私政策是否完整。因此如何建立语义更全面的词库,实现更高的检测精度,将会是未来的发展方向。

(3)如何结合多种检测方法对App进行检测。恶意App的检测包括静态检测快速初检、动态检测运行时监测、基于网络数据检测云端检测。当前动静结合的检测方法已取得一定成功,这种检测方式仍是未来普遍认同的发展方向。

(4)如何多样化度量App隐私政策的可读性。App隐私政策可读性往往使用公式法,或利用语言表层要素进行评估。未来会更多地运用到机器学习、深度学习、增强学习、眼动仪等实验法对文本的可读性进行评定。

猜你喜欢
可读性完整性一致性
关注减污降碳协同的一致性和整体性
可读性
注重教、学、评一致性 提高一轮复习效率
IOl-master 700和Pentacam测量Kappa角一致性分析
石油化工企业设备完整性管理
莫断音动听 且惜意传情——论音乐作品“完整性欣赏”的意义
精子DNA完整性损伤的发生机制及诊断治疗
基于事件触发的多智能体输入饱和一致性控制
对增强吸引力可读性引导力的几点思考
浅谈对提高党报可读性的几点看法