0 引言
针对andriod平台应用程序引发用户隐私泄露问题,相关研究人员研发了多种检测方法,主要分为两类,一类是动态检测方法,一类是静态检测方法。后者无需在智能手机等移动设备上安装,即可实现运行,对应用程序进行直接分析,并判断其是否存在恶意倾向。当前,各类隐私泄露静态检测工具具有各不相同的应用场景以及使用技术,且检测侧重点以及相关性能也不相同。因此,有必要对各类静态检测工具进行分析比较,促进andriod平台隐私泄露检测工作进步。
1 隐私泄露概述
1.1 隐私泄露概念
隐私泄露,是指在未得到用户许可的情况下,应用程序恶意获取用户隐私信息,并将之向外发送[1]。通常,隐私信息通过敏感信息相应的源点,对敏感信息相应的汇点进行传播,并基于汇点,从应用程序将隐私信息泄露出去。
1.2 隐私泄露源点及汇点
隐私泄露源点,是指能实现隐私信息返回的相应API调用。用户隐私信息主要包括如下内容,隐私泄露源点即为与如下信息返回相关的API调用。
(1)联系人信息,主要是手机通讯录中所包含的姓名、号码以及邮件等。
(2)短信以及手机通话记录。(3)手机硬件相关信息,诸如本机号码、手机IMEI 码以及SIM卡IMSI码。
(4)手机所在地地理位置信息。
(5)安装软件信息,诸如用户手机安装软件列表及版本信息等。(6)多媒体信息,诸如用户音频文件、照片等。
隐私泄露汇点,是指能向网络以及文件传送用户隐私信息的API调用,或者能借助短信将用户隐私信息向外发出的API调用。(1)网络。网络,是对用户隐私信息进行泄露最为常见的途径。例如,应用程序可声明ACCESS-INTERNET对网络连接权限进行获取,并将用户隐私信息添加入OutputStream 中,实现对用户隐私信息的泄露。
(2)短信。恶意软件能借助短信方式将用户隐私信息发送至指定号码。(3)文件。恶意软件可借助文件形式在手机内部对用户隐私信息进行存储,然后借助网络将之向外泄露。
2 隐私泄露静态检测工具比较
2.1 检测工具
2.1.1 ScanDal
ScanDal作为一种分析器,其设计以抽象解释框架为基础。该分析器将apk文件作为输入,对Dalvik字节码进行转换,使之成为Dalvik Core,在此基础上,对程序控制流图进行构建。Dalvik指令在220条以上,其中有诸多指令具有相
increases the risk of leakage of user privacy� In response, researchers have proposed a variety of privacy leak detection tools for the development of the andriod platform application� This paper analyzes the concept, source and sink point of privacy leakage, and explores the comparison of privacy leak detection static detection tools, in order to provide reference for the privacy leak detection static detection tool of the andriod platform�
Keywords: andriod platform; privacy leak; static detection
间存在的映射关系,借助API调用相应的子集,当作隐私信息数据流具备的分析源点以及汇点二者的集
合。AndroidLeaks 能实现对函数调用图的生成,进而对源点调用点进行确定,并对污点分析进行执行,进而判断敏感数据是否经由源点实现了对汇点的传输,若检测发现存在隐私泄露路径,则对相应报告进行生成。
2.1.4 AppIntent
AppIntent能对隐私泄露进行检测,并判断其传播是否与用户意图相符合。若在用户未知状态下,信息完成传播,则判定属于隐私泄露。它借助污点分析方法对数据传输的全部可能路径以及相关事件进行提取,并对事件空间约束图进行构建,获取一组对应于数据传播过程的事件执行序列。在此基础上,它借助Instrumentation TestRunner 对该序列进行自动执行,并利用可视化的敏感数据传播,方便分析人员对敏感数据传输进行直观判断,确定其是否与用户意图相符合。2.1.5 FlowDroid
FlowDroid作为一种动态污点分析技术,具有较高精度,能实现对Android生命周期精确模型的构造,并据此对系统回调函数进行分析,并对上下文敏感、对象敏感、字段敏感以及流敏感进行分析,以实现对误报的有效消除。FlowDroid 实现了对Soot框架的扩展,它对应用程序相应的生命周期以及回调方法进行搜索,并对源点以及汇点进行调用;通过分析获取主函数,并对CG以及ICFG进行生成,从源方法开始,借助遍历ICFG对污点进行跟踪。最后,生成相关赋值语句图,该图包含全部隐私泄露。
2.1.6 IccTA
IccTA能实现对Android应用组件间存在的隐私泄露片,对通向汇点的相应传播路径进行确定,并对于汇点传播无关的各类语句进行消除;第二次,获取前向切片,并对未从源点开始的全部传播路径进行消除。最后,将动态代码插入程序中,对数据流进行跟踪,并对数据泄露进行处理。
2.1.9 APPContext
AppContext借助安全敏感行为相应的上下文对恶意及良性应用进行区分。它对CG进行构建,并借助安全敏感方法对安全敏感行为进行定位,然后对CG进行转换,使之成为扩展调用图,针对各安全敏感方法相应的调用构建较为精简的RICFG,即过程间控制流图,遍历RICFG对条件语句集进行查,并借助数据流分析对上下文因素进行寻,最后实现对完整上下文的生成。
3 误报
各类静态检测工具均会在不同程度上产生误报。ScanDal产生误报,是因为在调用分析库的过程中,对实际泄露造成了扩大。在隐私泄露相应路径上,需对库函数进行调用,在估计隐私信息的过程中,即可能误报。LeakMiner产生误报,是因为应用内存在长传播路径。在污点分析过程中,若缺乏充分的上下文信息,将导致误报,对此类误报,可借助上下文敏感进行消除。另外,程序中相应的调试辅助代码也会导致误报,可对调试辅助代码进行消除,实现对此类误报的减少。AndroidLeaks大约存在35%的误报率,它认为在广告库中,共享Activity可能导致隐私信息泄露,然而,实际情况并非完全如此,由此可能
导致误报产生。
4 结论
9种静态检测工具均能良好实现对Android平台隐私泄露的静态检测,但在关注侧重点、功能特性以及局限性等方
(下转第
过于强烈的内外温差不仅会对工业热电阻检定结果的准确性产生影响,严重的甚至可能引发安全事故。因此,正确的操作应该在将冻制好的水三相点瓶于接近0.01℃的环境下放置30min,待其稳定后再投入使用,这样能够确保冰晶尺寸合理,消除应力作用,从而保证测量结果准确可靠。
2.2 电测设备使用偏差
结合《工业铂、铜热电阻》(JJG 229-2010)分析,对于A 级乃至AA级电阻的检定,必须采用0.005级或者更高等级的电测设备。在不断的发展过程中,很多市级计量部门开始将原本的电测设备更换为了对应等级的数字多用表,但是在这种情况下,很容易出现因为电测设备操作不当引发的测量偏差。具体来讲,一是没有做好量程选择工作。合理的量程对于测量检定工作有着非常重要的作用,如果量程选择偏高,则会对测量准确性产生影响,如果量程选择偏低,可能导致测量结果超出量程范围,无法直观显示出来。而在实际操作中,也可以设定为自动量程,由系统自主确定,但是这样的方式可能造成读数延迟,测量时间间隔难以得到有效保障。因此,对于技术人员而言,检定过程中必须依照实际情况,对量程进行合理选择[4];二是没有做好数字多用表调节。在对热电阻阻值进行测量时,需要通过一定电流,检定环节通常要求通后,较检定结果高出0.04℃。因此,在工业热电阻检定中,应该对电流进行控制,在保证测量灵敏度的情况下,尽可能减小自热效应[5]。
3 结语
工业热电阻检定中,可能出现检定结果偏差的问题,对偏差产生的原因进行分析,主要是工作人员的操作缺乏规范性。基于此,应该对工业热电阻检定步骤进行明确,做好风险分析预防工作,采取有效措施来减少和杜绝偏差,以此来保证检定结果真实有效。
参考文献
[1]葛君.工业热电阻检定中产生偏差的原因分析[J].中国设
备工程,2018,(9):105-106.
[2]杨锐,朱育红,陈桂生.不同检定方法对工业铂热电阻检定
结果贡献的误差研究[J].中国测试,2015,41(2):27-29.
[3]张俊.工业铂、铜热电阻检定中合格判定的方法[J].计量
与测试技术,2015,(4):27.
[4]刘颖,赵丹.试论在工业铂、铜热电阻检定中的注意事项
[J].中国科技纵横,2012,(13):95.
[5]付志勇,陈桂生,赵晶,等.工业热电阻检定装置标准器
的优选验证[J].中国测试,2017,43(12):7-11.
面均存在较大差异。例如,Android-Lesks能实现对规模较大的应用程序的快速检测;AppIntent着重关注分析用户意图;IccTA主要对ICC隐私泄露进行检测等。泄漏报告相应的查全率、准确率以及各类特性处理,诸如本地代码、多线程以及反射等均会对检测工具选取造成影响。
参考文献
[1]欧阳金彬.基于数据流分析的Android应用隐私泄露检
测研究[D].南京大学,2017.
[2]刘效伯.Android系统隐私泄露检测与保护研究[D].东南
大学,2017.
(上接第83页)
>access是基于什么的工具