法律状态公告日
法律状态信息
法律状态
2018-07-10
未缴年费专利权终止 IPC(主分类):G06F11/36 授权公告日:20160615 终止日期:20170613 申请日:20130613
专利权的终止
2016-06-15
授权
授权
2015-12-30
著录事项变更 IPC(主分类):G06F11/36 变更前: 变更后: 申请日:20130613
著录事项变更
2013-10-23
实质审查的生效 IPC(主分类):G06F11/36 申请日:20130613
实质审查的生效
2013-09-18
公开
公开
技术领域
本发明涉及安卓用户隐私信息检测,尤其涉及一种基于事先设定的标签检测安卓应用程序是否将某类用户隐私数据向外发送的方法及其实施系统,属于移动终端安全领域。
背景技术
目前,信息技术已进入移动互联网时代,智能移动终端由于其便携性、成本低等优点日益成为用户进行各类网络活动的主要终端形态。相比传统移动终端,智能移动终端拥有更高性能的处理器、更大的存储空间、更高的移动网络数据传输能力以及开放的第三方移动终端操作系统,因此借助智能移动终端可以开展大量业务应用,处理更多的个人隐私数据。这些数据,如通话与短信信息,地理位置,社交网络账户,银行帐号,个人密码,照片视频等等,均以直接或间接的方式与金钱利益挂钩,从而吸引了众多攻击者的注意力,导致隐私窃取类恶意软件增长速度惊人,根据网秦发布的《2012年上半年全球手机安全报告》中的数据显示,2012年上半年查杀到手机恶意软件17676款,相比2011年下半年增长42%,感染手机1283万部,其中隐私窃取类占据了23.2%的感染比例。为全面保护用户的隐私与财产安全,推动智能移动设备的发展,智能移动终端隐私防护技术的研究已成为产业界和学术界共同关注的方向。
数据流追踪控制是智能移动终端隐私防护的重要方向之一,目前的数据流追踪控制方案为敏感隐私数据设置污点标签,监测安卓应用程序中处理隐私数据的指令运行,设定规则保证污点标签在数据处理过程中有效传播,从而跟踪隐私数据的流向,直至数据流离开手机的各种渠道,防止隐私数据的非授权泄漏。2010年Intel实验室,宾夕法尼亚实验室,以及杜克大学联合开发了应用于安卓上的TaintDroid系统,该系统利用了安卓的DVM虚拟机架构,对其进行轻量级扩展以进行四个级别的污点追踪;同年,Georgios等研究者们开发了Paranoid Android系统,利用虚拟机录制与重放技术,将Android运行状态复制并传递给远程服务器,在服务器上运行病毒查杀和污点传播检测,对隐私泄漏和其它恶意入侵行为进行检测。
然而现有安卓数据流追踪隐私检测方案采用的是数据流白盒追踪,需要在虚拟机中实时截获并分析每一条指令的运行(如数据加减运算,数据字符串变形,数据拷贝等),并在系统中另外开辟大量内存,存储和传播数据源和中间数据的污点标签,才能跟踪隐私数据流,检测出隐私数据。此种方式给计算资源本就受限的移动终端带来大量的性能消耗,影响用户体验。目前在智能移动终端领域,还不存在一种无需实时监控指令的高效隐私数据流追踪方法。 通常在每一个应用程序运行的过程中,涉及指令操作往往具有百条、千条、万条甚至更高的数量级,采用逐条指令分析追踪数据流的白盒方式,将带来大量的时间和内存开销。此外,许多应用程序向外发送用户的隐私数据时,通常只是简单读取拷贝和发送,极少浪费过多的运行时间和计算资源对其进行变形和加密。
发明内容
本发明的目的在于构建一种基于标签的安卓用户隐私数据黑盒追踪检测方法及系统,采用黑盒快速追踪的方式,在源头为不同类型的用户数据设置类型特征标签,随后安装待检测应用程序,并自动触发应用行为,将数据在应用程序内部的所有处理过程视为黑盒,不予干涉。仅在网络信息出口处,拦截外传数据,检测出带有标签的数据包,判定应用程序向外发送何种隐私数据。
为了实现上述目的,本发明采用如下技术方案——基于标签的安卓用户隐私泄露黑盒检测方法,包括如下步骤:
1)对安卓用户终端创建用户隐私数据并将类别标签添加到所述用户隐私数据中;
2)在安卓用户终端安装不少于一个待检测应用程序并触发所述待检测应用程序;
3)在数据出口检测所述应用程序向外发送的数据包中携带的类别标签;
4)根据所述数据包中携带的类别标签判断隐私数据类别。
更进一步,所述网络出口为Internet或蓝牙或短消息中的一种或多种。
可选地,所述用户隐私数据包括但不限于:联系人列表、应用程序列表、短消息内容、SD卡文本数据、日志信息、GPS地理位置信息,IMEI设备号,蓝牙MAC地址,WiFi MAC地址,最近通话。或者可由用户定义,可以是一个大类,如联系人列表,也可以挑选其中的部分联系人信息组成一个小类。
可选地,所述类别标签根据用户隐私数据类型设定一个或多个编码字符串。
更进一步,所述待检测应用程序通过手动或者自动方式安装:
所述手动安装由检测人员在安卓终端手动安装一个或一批待测应用程序并逐一打开安装好的待测应用程序;
所述自动安装通过安卓系统已有的自动化安装和/或测试的工具连接到安卓用户终端,自动安装一个或一批待测应用程序,并随机性模拟用户行为自动触发应用功能。
可选地,所述安卓用户终端为可调试智能终端设备:手机、平板电脑、电视的一种或者多种。
更进一步,在所述Internet,蓝牙,短消息网络出口检测所述应用程序向外发送的数据包 为:安卓系统上安装的待测应用程序通过调用安卓系统核心库中网络套接字接口函数,向外部Internet地址发送的数据包。
更进一步,所述在Internet,蓝牙,短消息网络出口检测数据包是否携带标签的方法为:
1)在安卓底层负责向Internet,蓝牙网络发送数据包的接口函数里,以及负责向外部电话号码发送短消息的接口函数里,通过添加模块函数比对包发送者的标识信息,截获待测批次中的应用程序通过接口函数将要发送的数据包;
2)取出各类用户数据的类别标签集合,采用字符串比对方式,检测数据包是否包含某些类别标签,若该数据包字符串至少包含某类用户数据类别标签集合中的一个类别标签,则该数据包携带了该类用户数据。
更进一步,若数据包携带该类用户数据,则记录检测结果包括:据中的数据包内容、所携带的类别标签、类别标签所属类别以及数据包发送时间、发送数据包的应用程序名。
更进一步,使用安卓内部数据库工具创建一检测结果数据库用于储存所述检测结果。
本发明还提出一种基于标签的安卓用户隐私泄露黑盒检测系统,包括:
用于对安卓用户终端创建用户隐私数据并将类别标签添加到所述用户隐私数据中的装置;
用于在安卓用户终端安装不少于一个待检测应用程序并触发所述待检测应用程序的装置;
用于在Internet,蓝牙,短消息网络出口检测所述应用程序向外发送的数据包中携带的类别标签的装置;
用于根据所述数据包中携带的类别标签判断隐私数据类别,记录结果的装置;
以及类型标签数据库和检测结果数据库。
本发明的有益效果
本发明的方法简单地在数据流出口处对数据进行基于数据类别标签的检测,节省了大量指令分析和污点传播的时间,也避免了为应用程序所有指令中的变量和计算时的中间变量,以及寄存器开辟专门的内存空间以供污点存储和传播,节省了大量的内存开销。
附图说明
图1为本发明方法基于标签的安卓用户隐私泄露黑盒检测系统的架构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描 述,可以理解的是,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在本发明一实施例中,检测方法如下:
1)在安卓终端测试机上创建携带类别标签的各类用户隐私数据,并将类别标签存入类别标签数据库。
2)自动或手动安装待测应用程序,自动或手动触发应用程序行为。
3)在Internet,蓝牙,短消息网络出口检测待测应用程序向外发送的数据包中是否携带标签,携带何种标签。
4)若检测到携带标签,将检测结果记录进安卓终端测试机内部的检测结果数据库中。
5)测试人员可通过查看检测结果数据库文件,或通过使用预先开发的安装于安卓终端测试机上的检测结果数据库读取软件查看单个或多个待测软件的检测结果。
在本发明一实施例中,所述安卓终端测试机是操作系统为安卓的智能手机,平板,电视等可调试智能终端设备。所述待测应用程序包括国内外安卓应用市场上可供免费或付费下载的面向安卓智能手机,平板,电视的应用程序,以及从其它渠道获得的安卓应用程序。
在本发明一实施例中,所述用户数据包括联系人列表,应用程序列表,短消息内容,SD卡文本数据,日志信息,GPS地理位置信息。所述用户数据类别的粒度可由检测人员自行定义,如可将短消息内容视为一个用户类别,也可将其划分为三个用户类别:收件箱短消息,发件箱短消息,草稿箱短消息。
在本发明一实施例中,所述在安卓终端测试机上创建携带类别标签的用户隐私数据的方法为,依托安卓系统自带应用,安卓市场应用或自行开发的安卓应用,编辑携带类别标签的用户数据内容,存入安卓终端测试机。
所述类别标签,是指每种类别的用户数据特有的一个或多个特征字符串,其形式可为特殊词组,也可为无意义的字符组合。
在本发明另一实施例中,类别标签为利用安卓系统自带的Contact联系人应用程序,编辑数条联系人信息,其联系人姓名后统一加入“#SecretContact#”,联系人电话统一设置为“13333333333”,{“#SecretContact#”,“13333333333”}作为联系人数据的类别标签集。
在本发明一实施例中,所述手动安装待测应用程序和触发应用程序行为,是指由参与检测的工作人员在安卓终端测试机上手动安装一个或一批待测应用程序,随后逐一打开安装好的待测应用程序,尽可能全面地触发其各种应用功能。
在本发明一实施例中,所述自动安装待测应用程序和触发应用程序行为,是指借助安卓自身已有的一些自动化安装和测试的工具,编写计算机程序脚本,连接安卓终端测试机,自 动安装一个或一批待测应用程序,并随机性地模拟用户行为自动触发其各种应用功能。
在本发明另一实施例中,需要检测的通过Internet,蓝牙,短消息网络出口向外发送的数据包为安卓系统上安装的待测应用程序,调用安卓系统核心库中网络套接字接口函数,向外部Internet地址,蓝牙地址,电话号码发送的数据消息包。
在本发明一实施例中在Internet,蓝牙,短消息网络出口检测数据包是否携带标签的方法为:
1)在安卓底层代码文件中负责向Internet,蓝牙网络发送数据包的接口函数里,以及负责向外部电话号码发送短消息的接口函数里,通过添加模块函数比对包发送者的标识信息,截获待测批次中的应用程序通过接口函数将要发送的数据包;
2)取出各类用户数据的类别标签集合,采用字符串比对方式,检测数据包是否包含某些类别标签,若该数据包字符串至少包含某类用户数据类别标签集合中的一个类别标签,则该数据包携带了该类用户数据。
所述检测结果数据库实现形式可以为但不仅限于使用安卓内部自带的sqlite数据库工具预先创建。
如图1所示是本发明基于标签的安卓用户隐私泄露黑盒检测系统的架构示意图,其中,该系统包括测试前端和测试后端。测试前端架设在安卓终端测试机上,包括数据出口监测组件,与检测结果数据库写入组件,以及类型标签数据库与检测结果数据库两个数据库。数据出口监测组件负责拦截网络外送数据包,检测其是否携带类型标签数据库中记录的类型标签。检测结果数据库写入组件,负责向检测结果数据库中写入检测到携带了标签的数据包及其相关信息。
测试后端架设在一台计算机上,通过USB调试接口连接安卓终端测试机,主要包括类型标签写入组件,自动化安装和调试脚本组件,以及检测结果数据读取组件。其中类型标签集写入组件,向测试人员提供了向测试终端机类型标签数据库中存储预先编辑的类型标签集的功能,检测结果数据库读取组件,具备从终端测试机的检测结果数据库中读取,查询和展示检测结果的能力。
下面将给出本发明的一个具体实例,对本发明中的技术方案进行清楚、完整地描述,可以理解的是,所描述的实例仅仅是本发明一部分实例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实例描述测试人员在测试终端机上为联系人列表,短信,IMEI设备号,GPS位置,SD卡文件创建携带类别标签的用户隐私数据,并检测某一应用程序对这些类别的用户隐私数据 的泄漏情况的过程,如表1所示:
1测试人员启动测试终端机,并将其连接到可对其发送指令的测试电脑上
2测试人员为联系人列表,短信,IMEI设备号,GPS位置,SD卡文件创建携带类别标签的用户隐私数据:
3测试人员调用类型标签写入组件将上述类型标签写入测试终端机类型标签数据库。
4测试人员调用脚本程序在测试终端机上安装一批指定待测软件,并自动触发它们的各种软件行为。
5在软件行为触发过程中,该批软件有向外部Internet地址发送数据包,则该数据包将在底层被拦截,检测其是否携带事先设定的类型标签。若有携带,则记录进数据库。
6自动触发脚本程序结束停止运行后,测试人员可在测试后端计算机上通过启动检测结果数据库读取组件查看待测软件的隐私泄露情况报告。
表1
机译: 基于标签的黑盒用户隐私泄漏检测方法及系统
机译: 基于社区结构分析的安卓恶意代码检测方法
机译: 装备有基于linux的android容器平台的设备和方法在基于linux的安卓容器环境中应用安全系统