APP下载

多维度iOS隐私泄露评估模型研究

2016-09-23邢月秀胡爱群王永剑赵然

网络与信息安全学报 2016年4期
关键词:发送数据多维度特征向量

邢月秀,胡爱群,王永剑,赵然

(1. 东南大学信息安全研究中心,江苏 南京210096;2. 公安部第三研究所,上海200031)

多维度iOS隐私泄露评估模型研究

邢月秀1,胡爱群1,王永剑2,赵然1

(1. 东南大学信息安全研究中心,江苏 南京210096;2. 公安部第三研究所,上海200031)

针对目前iOS平台隐私泄露检测缺乏系统性的评估方法,提出了一种多维度iOS隐私泄露评估模型。该模型分为综合静态分析、动态分析和网络数据分析方法,从多维度对应用程序隐私泄露行为进行特征抽取和评估。实验测试了30款来自苹果App Store不同类型的应用程序,发现超过50%的应用程序会读取用户位置信息,约40%的应用程序存在未经用户同意发送数据到服务器的情况。该模型弥补了单一使用静态分析或动态分析方法的局限性,有效解决了隐私泄露的量化问题。

iOS;隐私泄露;静态分析;动态分析;网络数据分析

1 引言

互联网数据中心(IDC,Internet data center)2015年第二季度智能手机市场调查报告[1]显示:iOS智能手机的市场占有率为 13.9%,总出货量达到了4 750万部。智能手机普及的同时,也带来了用户隐私泄露等安全问题。但由于iOS平台是一个相对封闭的系统,国内外研究人员对该平台的隐私泄露问题研究相对较少。

2011年2月,Egele等[2]提出并实现了一种基于静态分析的iOS隐私泄露检测模型PiOS,该模型通过数据流分析和切片技术检测iOS应用程序的隐私泄露行为。但是,这种单一的静态分析方法存在无法解析消息目的地等固有缺陷。

2011年6月,Gilbert等[3]指出PiOS存在较高的误报率,并提出了基于动态分析的iOS隐私泄露检测方法。该方法通过挂钩敏感应用程序编程接口(API,application programming interface)函数,分析iOS应用程序的函数调用行为,判定应用程序是否读取了隐私信息。

2014年,Andreas等[4]提出并实现了基于动态API调用序列的iOS隐私泄露分析模型DIOS,DIOS主要包括3个部分:backend用作中央数据存储;worker作为backend和iOS设备的数据交互链路;client安装在iOS设备上,用于运行和分析iOS App的行为。该模型通过挂钩iOS API函数监控应用程序访问用户隐私数据的行为,但是应用程序对隐私数据的访问行为并不等同于隐私泄露行为,而且相比于静态分析,动态分析也存在容易遗漏和检测速度较慢的缺点。

综上,目前国内外对iOS隐私泄露的检测大多采用单一的分析方法,缺少对应用程序隐私泄露风险的综合评估。为了更加合理和准确地评估iOS应用程序的隐私泄露,本文在深入研究静态分析、动态分析和网络数据分析模型的基础上,对iOS应用程序隐私泄露行为进行多维度检测,提出并实现了基于多维度的iOS隐私泄露评估模型。

2 多维度iOS隐私泄露评估模型

从多维的角度来看,应用程序主要是由代码、行为和数据3个维度组成,多维度iOS隐私泄露评估模型也分为静态分析、动态分析和网络数据分析3个维度,如图1所示。根据已有的研究可知,静态分析速度快、效率高,可以有效地提高检测率[5],但是误报率较高;动态分析速度相对较慢,但是可以监控应用程序对隐私数据的实际访问行为,有效地解决了程序加壳、隐藏API调用等静态分析无法解决的问题;网络数据分析则解决了静态分析和动态分析只能检测应用程序对隐私数据的访问,但不能确定应用程序是否通过网络途径泄露隐私数据的问题。3个维度相辅相成,有效地弥补了单一分析方法自身的局限性,可有效提高iOS隐私泄露评估模型的科学性和严谨性。

图1 多维度iOS隐私泄露评估模型

2.1应用程序行为特征的定义

多维度iOS隐私泄露评估模型分为iOS应用程序静态分析、动态分析和网络数据分析3个维度,每个维度对应应用程序隐私泄露行为的一个特征向量。

综合静态分析特征向量、动态分析特征向量和网络数据分析特征向量,iOS应用程序隐私泄露行为特征定义如下。

定义4应用程序隐私泄露行为特征向量集为PL,PL包括静态分析特征向量、动态分析特征向量和网络数据分析特征向量3个元素。

2.2隐私泄露风险评估

定义 iOS应用程序隐私泄露行为之后,需要对其隐私泄露风险进行量化和评估。根据PL 中3个元素的隐私泄露相关性大小,设置对应的权重值(Weight)进行隐私泄露风险量化,量化完成后,通过权重值加权的方式计算检测结果的总权重,最后归一化计算该结果占模型总权重值的百分比,得到应用程序隐私泄露风险的综合评估值。

定义6iOS应用程序隐私泄露风险综合评估值为App[ i]_Risk,根据静态分析、动态分析和网络数据分析中实际检测到的各种隐私泄露行为,采用权重值加权和归一化方式计算得到评估值。

应用程序隐私泄露评估值越大,说明被检测应用程序涉及的隐私泄露行为数量占系统定义的全部隐私泄露行为的比重越大,可能泄露的隐私信息越多,隐私泄露的可能性就越大。

3 具体实现

3.1模型实现

多维度iOS隐私数据泄露评估模型实现如图2所示。

在图2中,左边虚线框内为静态分析特征向量抽取流程,主要操作包括:App存储路径定位、解除应用程序版权保护、反汇编处理和敏感 API函数扫描;中间虚线框内为动态分析特征向量抽取流程,主要操作包括:编写Tweak程序挂钩和隐私数据相关的敏感API函数、遍历App功能按钮以及分析系统日志获取应用程序调用敏感 API的行为记录;右边虚线框内为网络数据分析特征向量抽取流程,主要操作包括:通过流量转发,在PC端使用Tshark对应用程序进行抓包处理,对抓取的数据分组进行协议,地址分析,通过挂钩SSL读写函数,在数据分组SSL加密之前捕获数据内容,进行数据分组内容分析。

3.2隐私泄露行为特征抽取

图2 多维度iOS隐私数据泄露评估模型实现

隐私泄露行为特征中静态分析特征向量和动态分析特征向量的抽取主要是基于API调用序列的检测[6]。iOS API[7]包括 Published API、UnPublished API和Private API[8]。参考iOS系统的隐私分类[9],本文定义了9类隐私API,每类隐私API中包括可能访问这类隐私信息的多个关键API函数,本文共检测了20个API函数[7]。表1为隐私API分类。

表1 隐私API分类

静态分析特征向量的抽取主要包括 App解密、反汇编和敏感API遍历3个步骤。App Store发布的应用程序都是经过 FairPlay[10]加密的二进制文件,所以,静态检测的第一步就是对应用程序进行解密[11],获得解密的二进制文件appname. decrypted后,调用 hopper Disassembler软件[12]对应用程序进行反汇编,得到应用程序的反汇编文件appname.asm。最后,分析appname.asm中的敏感API函数,得到静态分析特征向量。

动态分析特征向量的抽取主要是利用MobileSubstrate[13]框架编写 Tweak插件,通过代码注入技术挂钩和监控敏感API函数。在应用程序运行期间记录应用程序的函数调用行为。根据上文定义的敏感API函数,本文使用%hook方法编写对应的挂钩函数对原函数进行覆盖,并在挂钩函数中添加弹框提示和日志记录功能。当应用程序调用相关敏感API时,系统会先执行挂钩函数,弹框提示用户,并将其调用行为记录到系统日志中。通过分析系统日志中应用程序的隐私泄露行为,就可得到动态分析特征向量。

网络数据分析特征向量的抽取是使用Tshark[14]工具对应用程序所有的数据分组进行网络抓包分析,解析数据分组的协议和目的地址;编写Tweak程序挂钩SSL读写函数,捕获未经SSL加密的发送数据。综合检测结果进行隐私泄露的网络数据分析,可能检测到 4种隐私泄露行为。

1)应用程序发送数据到非法地址,可以解析出发送数据为敏感信息。

2)应用程序发送数据到非法地址,但无法解析出数据是否为敏感信息。

3)未经用户同意,应用程序发送数据到应用程序官方服务器,可以解析出发送数据为敏感信息。

4)未经用户同意,应用程序发送数据到应用程序官方服务器,无法解析出数据是否为敏感信息。

通过检测这4种隐私泄露行为,获得网络数据分析特征向量。

3.3权重设置

静态分析特征向量、动态分析特征向量和网络数据分析特征向量的权重值是根据其对应用程序隐私泄露风险评估的贡献值进行设定的,最后的评估值使用归一化的方式计算。因此,计算结果仅对权重值的相对大小敏感,所以下文权重值根据各个特征向量的相对影响大小确定,权重值的具体数值没有特别含义。静态分析、动态分析和网络数据分析特征向量的权重值设定依据如下。

1)静态分析是对应用程序的反编译文件进行隐私API扫描,但是扫描到隐私API代码并不能证明有实际调用行为的发生,而且静态分析存在较高的误报率[3],因此,其对应用程序隐私泄露风险评估的贡献值较低。

2)动态分析通过挂钩隐私API函数,监控和记录应用程序对API函数的调用行为,记录结果可以代表应用程序对隐私信息的实际访问操作,因此,其对应用程序隐私泄露风险评估的贡献值较高。

3)静态分析和动态分析的检测对象都是隐私API函数,本文定义了9组隐私API,每组隐私 API又可以根据函数功能划分为 3类:读写API、申请授权API和查看授权状态API,每类函数对应用程序隐私泄露风险评估的贡献值也不一样。其中,读写API会直接获取用户隐私数据,风险等级高,贡献值高;申请授权API向用户申请对某类隐私数据的访问权限,没有直接访问行为,而且用户可以选择拒接授权,因此,风险等级和贡献值为中;查看授权状态API用于查询用户对此类敏感数据的授权状态,如果状态为未授权,应用程序可能发起授权申请,此类API仅说明应用程序有访问敏感数据的意图,风险等级为低,贡献值最小。

4)网络数据分析中直接检测到行为1)和行为 3)时,可以直接判定应用程序通过手机边界泄露了用户隐私数据,即App[i]_Risk=100%。行为2)和行为4)虽然不能确定发送数据是否为本文定义的隐私数据,但是未经用户同意发送数据,和发送数据到非法地址的行为都存在很大的隐私泄露嫌疑。对判定应用程序是否存在直接的隐私数据泄露行为贡献值很高。

综上所述,静态分析、动态分析和网络数据分析对应用程序隐私泄露风险评估的贡献值排序如下:网络数据分析>动态分析>静态分析。其中,静态分析和动态分析中的不同类API函数的贡献值排序如下:读写API>申请授权API>查看授权状态 API。根据以上排序规则以及评估值计算仅对权重值相对大小敏感的理论基础,可以得出本文具体权重设置,如表2所示,最小权重值设为1,在同一分析方法中权重值递增间隔为2,不同分析方法之间权重值递增间隔为5。

表2 API函数权重设置

应用程序隐私泄露行为特征抽取和权重值设置完成后,可以计算模型总权重值为

4 系统测试与分析

4.1测试环境

本文的测试环境如表3所示。

表3 测试环境

4.2测试结果与分析

4.2.1应用程序隐私泄露行为

为了保证样本能够最大程度地反映总体情况,本文根据苹果App Store的10类最受欢迎App(社交、摄影、新闻、儿童、工作、运动、学习、美食、游戏、购物),选择了来自App Store的30款软件作为模型测试样本,每类App选择下载量排名前3的应用程序进行测试。样本的行为特征检测结果如图3所示。

图3中9类敏感API的数据取静态分析和动态分析的合集,N1、N2、N3、N4分别表示网络数据分析的4种隐私泄露行为。静态分析和动态分析的相同检测项的结果取并集。

由图3可以看出50.0%的应用程序都存在访问用户位置信息的行为,访问通讯录、相册和相机的应用也超过了30%以上,在网络数据分析结果中可以看到 36.7%的应用程序都存在未经用户同意发送数据到服务器的行为,但是难以解析出发送内容。

本文的分析结果与PiOS模型[2]相比,增加了动态监控和网络数据分析,解决了基于静态分析的PiOS模型存在的两个缺陷:1)部分应用程序进行了混淆和加密处理,无法进行反汇编处理,从而导致静态分析失效;2)静态分析无法解析出应用程序通过容器发出的请求数据(如Objective-C的NSArray数据),而导致不能检测出应用程序发送数据的内容和目的地。本文的动态分析对应用程序运行时分析,绕过了应用程序代码混淆和加密的问题;网络数据在系统网络边界对应用程序发送的数据分组进行协议、目的地址和数据内容的分析,可以解析出应用程序是否存在通过系统网络接口发送用户隐私数据的行为。

4.2.2应用程序隐私泄露评估值计算

30款测试软件中有24款软件的隐私泄露评估值在30%以下,4款软件评估值在30%~40%之间。有一款软件X的评估值为60.3%,其具体检测结果如表4所示。

还有一款游戏软件Y在网络数据分析时检测到发送用户位置信息到非法地址,即行为1),因此判定隐私风险评估值为100%。

5 结束语

多维度 iOS隐私泄露评估模型综合静态分析、动态分析和网络数据分析方法对应用程序的隐私泄露行为进行检测,有效地弥补了单一静态分析或动态分析的局限性,并且能够捕捉和分析应用程序实际泄露的隐私数据分组,有效证明了应用程序的隐私泄露行为。模型对应用程序的隐私泄露进行了风险评估,评估值能在一定程度上代表应用程序泄露隐私的数量多少和可能性大小。

图3 应用程序行为特征检测结果

表4 应用程序X的检测结果

[1]Smartphone OS market share,2015 Q2[EB/OL]. http://www.idc. com/prodserv/smartphone-os-market-share.jsp.

[2]EGELE M,KRUEGEL C,KIRDA E,et al. PiOS: detecting privacy leaks in iOS applications[C]//NDSS. c2011:289-291.

[3]GILBERT P,CHUN B G,LANDON P,et al. Automating privacy testing of smartphone applications: technical report: CS-2011-02[R]. Duke University,2011.

[4]KURTZ A,WEINLEIN A,SETTGAST C,et al. DiOS: dynamic privacy analysis of iOS applications: friedrich-alexander-universität erlangen-nürnberg,dept of computer science,CS-2014-03[R]. 2014.

[5]PENG L,CUI B J. A comparative study on software vulnerability static analysis techniques and tools[C]//Information Theory and Information Security. c2010:521-524.

[6]EPIFANI M,PASQUALE S. Learning iOS Forensics[M]//Birmingham: Packt Publishing Ltd. 2015: 153-170.

[7]iOS developer library[EB/OL]. https://developer.apple.com/library/ios/navigation/#section=Frameworks&topic=AssetsLibrary.

[8]NYGARD S. Class-dump[EB/OL]. http://stevenygard.com/projects/class-dump/.2013.

[9]AGARWAL Y,HALL M. Protect my privacy: detecting and mitigating privacy leaks on iOS devices using crowdsourcing[C]//The Intemational Conference on Mobile Systems,Application,and Services. c2013:97-110.

[10]Dumpdecrypted[EB/OL].https://github.com/stefanesser/dumpdecrypted.

[11]FairPlay[EB/OL]. https://en.wikipedia.org/wiki/FairPlay.

[12]Hopper[EB/OL]. http://www.hopperapp.com/.2015.

[13]FREEMAN J. Mobile substrate[EB/OL]. http://www.cydiasubstrate. com.

[14]Tshark[EB/OL]. https://www.wireshark.org/docs/man-pages/tshark. html.

Research on multi-dimensional iOS privacy disclosure evaluation model

XING Yue-xiu1,HU Ai-qun1,WANG Yong-jian2,ZHAO Ran1

(1.Information Security Research Center,Southeast University,Nanjing 210096,China;2.The Third Research Institute of Ministry of Public Security,Shanghai 200031,China)

The existing iOS platform is lacking ofsystematic assessment methods of privacy leak detection. To solve this problem,a multi-dimensional iOSprivacy disclosure evaluation model was presented. This model combined static analysis,dynamic analysis and network data analysis method to extract the features of the application's privacy disclosure behavior and evaluate it form multiple dimensions way. The model on 30 different types of apps from the iOS App Store and found out that more than 50% of all investigated apps aretracking users' locations were evaluated,almost 40% of all send data to a server without the user's consent. The model makes up for the limitations of single static analysis or dynamic analysis methods,solves the quantization problem of privacy disclosure effectively.

iOS,privacy disclosure,static analysis,dynamic analysis,network data analysis

The National Basic Research Program of China(973 Program)(No.2013CB338003)

TN929.53

A

10.11959/j.issn.2096-109x.2016.00043

2016-02-04;

2016-03-08。通信作者:胡爱群,aqhu@seu.edu.cn

国家重点基础研究发展计划(“973”计划)基金资助项目(No.2013CB338003)

邢月秀(1991-),女,安徽宣城人,东南大学硕士生,主要研究方向为隐私保护、手机取证。

胡爱群(1964-),男,江苏如皋人,博士,东南大学教授、博士生导师,主要研究方向为网络与信息安全、物理层安全技术。

王永剑(1981-),男,山西长治人,公安部第三研究所副研究员,主要研究方向为网络与信息安全。

赵然(1991-),男,江苏南京人,东南大学硕士生,主要研究方向为隐私保护、手机取证。

猜你喜欢

发送数据多维度特征向量
移动自组网中MAC层协议研究
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
克罗内克积的特征向量
“多维度评改”方法初探
基于马尔科夫链的LoRaWAN网络节点性能分析
带标记方式的CRDSA++协议性能分析*
一类特殊矩阵特征向量的求法
多维度市南
EXCEL表格计算判断矩阵近似特征向量在AHP法检验上的应用
使用IPSec安全传输数据