一种检测数据泄漏的方法、设备及系统的制作方法

文档序号:6541937阅读:162来源:国知局
一种检测数据泄漏的方法、设备及系统的制作方法
【专利摘要】本发明提供一种检测数据泄漏的方法、设备及系统,所述方法在检测所述应用运行期间有数据泄漏时,获取所述应用的泄漏特征和运行结果,存储所述应用的泄漏特征和运行结果,并将所述应用的泄漏特征和运行结果发送到移动终端,所述移动终端从服务器中获取所述应用的标识和版本号对应的数据;在获取到所述应用的泄漏特征和运行结果的情况下,获取所述应用的运行特征;对比所述应用的泄漏特征和所述应用的运行特征,若相同,则将所述运行结果显示给用户,从而在移动终端实现污点追踪的检测方法;将基于污点追踪的检测方法在服务器上运行,在保证准确率的前提下,提高数据泄漏检测技术的易用性和降低计算的开销。
【专利说明】一种检测数据泄漏的方法、设备及系统
【技术领域】
[0001]本发明涉及通信领域,尤其涉及到一种检测数据泄漏的方法、设备及系统。
【背景技术】
[0002]由于应用软件大多非开源,因此一些静态分析技术不能适用,现有主要动态分析技术有重新编译安卓操作系统,使其可追踪被污点Taint的数据,如果该数据通过网络发送出去,则给用户提示数据的去向,该方法的缺点是易用性不好,需要重新编译操作系统,普通用户无法使用,并且计算开销较大。另有,通过重新打包应用软件的方式来实现监控敏感行为的目的,缺点是重新打包应用软件可能造成新的风险,且有些软件并不能重新打包成功。
[0003]现有技术中,在安卓手机上进行用户敏感行为监控和拦截的方法一般通过注入的方式监控安卓进程间通讯,比如,在安卓系统实现权限管理机制,主要用于管理应用程序的权限,其权限检查机制主要依赖于libbinder.so动态库中的权限检查函数,每当应用程序请求访问该权限管理机制定义的敏感资源时接上权限检查函数,接上权限检查函数会验证该应用是否有相应的权限。因此目前大多数的用户敏感行为监控和拦截技术主要依赖于注入该动态库来达到监控和拦截的目的。该方法的缺点是准确率低,只能监控到单一的数据访问行为,无法有效的判断该访问是否会造成数据泄露,即该数据是否会通过网络发出,因此误报率较高。
[0004]基于污点Taint追踪的检测方法比较消耗手机资源,开销较大,且不易在用户手机上运行。

【发明内容】

[0005]本发明实施例提供了一种检测数据泄漏的方法,旨在解决如何在移动终端实现数据泄漏的检测方法。
[0006]一种检测数据泄漏的方法,所述方法包括:
[0007]检测应用运行时是否有数据泄漏;
[0008]在检测所述应用运行期间有数据泄漏时,获取所述应用的泄漏特征和运行结果,所述运行结果至少包括数据泄漏的内容和所述数据泄漏的目的地址;
[0009]存储所述应用的泄漏特征和运行结果,并将所述应用的泄漏特征和运行结果发送到移动终端。
[0010]在检测所述应用运行期间未有数据泄漏时,所述方法还包括:将所述应用的标识、版本号存储在第一列表中;
[0011]所述存储所述应用的泄漏特征和运行结果,包括:
[0012]将所述应用的标识、版本号、泄漏特征和运行结果存储在第二列表中。
[0013]所述将所述应用的泄漏特征和运行结果发送到移动终端,包括:
[0014]根据所述移动终端发送的所述应用的标识和版本号,从第一列表和第二列表中将所述应用的标识和版本号对应的数据发送到移动终端,所述数据在第一列表中为所述应用的标识、版本号,所述数据在第二列表中为所述应用的标识、版本号、泄漏特征和运行结果。
[0015]一种检测数据泄漏的方法,所述方法包括:
[0016]向服务器发送所述应用的标识和版本号,并从所述服务器中获取所述应用的标识和版本号对应的数据,所述数据包括所述应用的标识、版本号,或者,所述应用的标识、版本号、泄漏特征和运行结果,所述运行结果至少包括数据泄漏的内容和所述数据泄漏的目的地址;
[0017]在获取到所述应用的泄漏特征和运行结果的情况下,获取所述应用的运行特征;
[0018]对比所述应用的泄漏特征和所述应用的运行特征,若相同,则将所述运行结果显示给用户。
[0019]一种服务器,所述服务器包括:
[0020]检测单元,用于检测应用运行时是否有数据泄漏;
[0021]获取单元,用于在检测所述应用运行期间有数据泄漏时,获取所述应用的泄漏特征和运行结果,所述运行结果至少包括数据泄漏的内容和所述数据泄漏的目的地址;
[0022]存储单元,用于存储所述应用的运行特征和运行结果;
[0023]发送单元,用于将所述应用的泄漏特征和运行结果发送到移动终端。
[0024]在检测所述应用运行期间有数据泄漏时,所述存储单元还用于:将所述应用的标识、版本号存储在第一列表中;
[0025]所述存储单元用于:
[0026]在检测所述应用运行期间有数据泄漏时,将所述应用的标识、版本号、泄漏特征和运行结果存储在第二列表中。
[0027]所述发送单元具体用于:
[0028]根据所述移动终端发送的所述应用的标识和版本号,从第一列表和第二列表中将所述应用的标识和版本号对应的数据发送到移动终端,所述数据在第一列表中为所述应用的标识、版本号,所述数据在第二列表中为所述应用的标识、版本号、泄漏特征和运行结果。
[0029]一种移动终纟而,所述移动终纟而包括:
[0030]发送单元,用于向服务器发送所述应用的标识和版本号,并从所述服务器中获取所述应用的标识和版本号对应的数据,所述数据包括所述应用的标识、版本号,或者,所述应用的标识、版本号、泄漏特征和运行结果,所述运行结果至少包括数据泄漏的内容和所述数据泄漏的目的地址;
[0031]获取单元,用于在获取到所述应用的泄漏特征和运行结果的情况下,获取所述应用的运行特征;
[0032]对比显示单元,用于对比所述应用的泄漏特征和所述应用的运行特征,若相同,则将所述运行结果显示给用户。
[0033]一种检测数据泄漏的系统,所述系统包括服务器和移动终端;
[0034]所述服务器,用于检测应用运行时是否有数据泄漏;在检测所述应用运行期间有数据泄漏时,获取所述应用的泄漏特征和运行结果,所述运行结果至少包括数据泄漏的内容和所述数据泄漏的目的地址;存储所述应用的泄漏特征和运行结果,并将所述应用的泄漏特征和运行结果发送到移动终端;[0035]所述移动终端,用于向服务器发送所述应用的标识和版本号,并从服务器中获取所述应用的标识和版本号对应的数据,所述数据包括所述应用的标识、版本号,或者,所述应用的标识、版本号、泄漏特征和运行结果,所述运行结果至少包括数据泄漏的内容和所述数据泄漏的目的地址;在获取到所述应用的泄漏特征和运行结果的情况下,获取所述应用的运行特征;对比所述应用的泄漏特征和所述应用的运行特征,若相同,则将所述运行结果显示给用户。
[0036]在检测所述应用运行期间未有数据泄漏时,所述方法还包括:将所述应用的标识、版本号存储在第一列表中;
[0037]所述存储所述应用的泄漏特征和运行结果,包括:
[0038]将所述应用的标识、版本号、泄漏特征和运行结果存储在第二列表中;
[0039]所述将所述应用的泄漏特征和运行结果发送到移动终端,包括:
[0040]根据所述移动终端发送的所述应用的标识和版本号,从第一列表和第二列表中将所述应用的标识和版本号对应的数据发送到移动终端,所述数据在第一列表中为所述应用的标识、版本号,所述数据在第二列表中为所述应用的标识、版本号、泄漏特征和运行结果。
[0041]本发明实施例提供一种检测数据泄漏的方法,所述方法通过检测应用运行时是否有数据泄漏;在检测所述应用运行期间有数据泄漏时,获取所述应用的泄漏特征和运行结果,所述运行结果至少包括数据泄漏的内容和所述数据泄漏的目的地址;存储所述应用的泄漏特征和运行结果,并将所述应用的泄漏特征和运行结果发送到移动终端,所述移动终端向服务器发送所述应用的标识和版本号,并从服务器中获取所述应用的标识和版本号对应的数据,所述数据包括所述应用的标识、版本号,或者,所述应用的标识、版本号、泄漏特征和运行结果,所述运行结果至少包括数据泄漏的内容和所述数据泄漏的目的地址;在获取到所述应用的泄漏特征和运行结果的情况下,获取所述应用的运行特征;对比所述应用的泄漏特征和所述应用的运行特征,若相同,则将所述运行结果显示给用户,从而在移动终端实现污点追踪的检测方法;将基于污点追踪的检测方法在服务器上运行,在保证准确率的前提下,提高数据泄漏检测技术的易用性和降低计算的开销。
【专利附图】

【附图说明】
[0042]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0043]图1是本发明实施例提供的一种数据泄漏的系统结构图;
[0044]图2是本发明实施例提供的另一种数据泄漏的系统结构图;
[0045]图3是本发明实施例提供的一种检测数据泄漏的方法流程图;
[0046]图4是本发明实施例提供的一种检测数据泄漏的方法流程图;
[0047]图5是本发明实施例提供的一种服务器的设备结构图;
[0048]图6是本发明实施例提供的一种移动终端的设备结构图。
【具体实施方式】[0049]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0050]参考图1,图1是本发明实施例提供的一种数据泄漏的系统结构图。如图1所示,所述数据泄漏的系统包括:
[0051]服务器101和移动终端102 ;
[0052]所述服务器101用于检测应用运行时是否有数据泄漏;在检测所述应用运行期间有数据泄漏时,获取所述应用的泄漏特征和运行结果,所述运行结果至少包括数据泄漏的内容和所述数据泄漏的目的地址;存储所述应用的泄漏特征和运行结果,并将所述应用的泄漏特征和运行结果发送到移动终端;
[0053]所述移动终端102用于向服务器101发送所述应用的标识和版本号,并从服务器中获取所述应用的标识和版本号对应的数据,所述数据包括所述应用的标识、版本号,或者,所述应用的标识、版本号、泄漏特征和运行结果,所述运行结果至少包括数据泄漏的内容和所述数据泄漏的目的地址;在获取到所述应用的泄漏特征和运行结果的情况下,获取所述应用的运行特征;对比所述应用的泄漏特征和所述应用的运行特征,若相同,则将所述运行结果显示给用户。
[0054]其中,所述服务器101包括检测单元1011、获取单元1012、存储单元1013和发送单元1014 ;
[0055]所述检测单元1011,用于检测应用运行时是否有数据泄漏;
[0056]所述获取单元1012,用于在检测所述应用运行期间有数据泄漏时,获取所述应用的泄漏特征和运行结果,所述运行结果至少包括数据泄漏的内容和所述数据泄漏的目的地址;
[0057]所述存储单元1013,用于存储所述应用的运行特征和运行结果;
[0058]所述发送单元1014,用于将所述应用的泄漏特征和运行结果发送到移动终端。
[0059]所述移动终端102包括发送单元1021、获取单元1022、对比显示单元1023 ;
[0060]所述发送单元1021,用于向服务器发送所述应用的标识和版本号,并从服务器中获取所述应用的标识和版本号对应的数据,所述数据包括所述应用的标识、版本号,或者,所述应用的标识、版本号、泄漏特征和运行结果,所述运行结果至少包括数据泄漏的内容和所述数据泄漏的目的地址;
[0061]所述获取单元1022,用于在获取到所述应用的泄漏特征和运行结果的情况下,获取所述应用的运行特征;
[0062]所述对比显示单元1023,用于对比所述应用的泄漏特征和所述应用的运行特征,若相同,则将所述运行结果显示给用户。
[0063]具体的,在安卓系统上增加检测单元1011、获取单元1012、存储单元1013、发送单元1014,所述检测单元1011用于采用污点的方法检测到当前是否有数据泄露行为。所述获取单元1012用于获取安卓系统和应用的当前运行特征,通过ptrace的方法注入到安卓系统的服务进程以及应用的进程,获取ioctl、connect, read等一些关键标准函数的调用数据。在所述检测单元1011检测到数据泄露时,提取与该数据泄露行为有关的行为特征。如所述检测单元1011检测到存在通讯录的泄露行为,则可基于所述获取单元1012获取的ioctl函数调用数据获取到通讯录访问的数据特征。所述移动终端通过获取单元1022获取系统和应用当前的运行特征,通过ptrace的方法注入到安卓系统的system_server进程以及应用的进程,获取ioctl、connect、read等一些关键标准函数的调用数据。在移动终端增加发送单元1021、获取单元1022、对比显示单元1023,通过对比显示单元1023分析所述获取单元1022获取的应用的运行特征是否和所述应用的泄漏特征相同,如果发现匹配特征的话,则将泄漏内容显示给用户。
[0064]本发明实施例提供一种检测数据泄漏的系统,所述系统通过检测应用运行时是否有数据泄漏;在检测所述应用运行期间有数据泄漏时,获取所述应用的泄漏特征和运行结果,所述运行结果至少包括数据泄漏的内容和所述数据泄漏的目的地址;存储所述应用的泄漏特征和运行结果,并将所述应用的泄漏特征和运行结果发送到移动终端,所述移动终端向服务器发送所述应用的标识和版本号,并从服务器中获取所述应用的标识和版本号对应的数据,所述数据包括所述应用的标识、版本号,或者,所述应用的标识、版本号、泄漏特征和运行结果,所述运行结果至少包括数据泄漏的内容和所述数据泄漏的目的地址;在获取到所述应用的泄漏特征和运行结果的情况下,获取所述应用的运行特征;对比所述应用的泄漏特征和所述应用的运行特征,若相同,则将所述运行结果显示给用户,从而在移动终端实现污点追踪的检测方法;将基于污点追踪的检测方法在服务器上运行,在保证准确率的前提下,提高数据泄漏检测技术的易用性和降低计算的开销。
[0065]参考图2,图2是本发明实施例提供的另一种数据泄漏的系统结构图。如图2所示,在安卓系统上增加TaintDroid模块、注入模块等模块的功能,所述TaintDroid模块用于采用污点的方法检测到当前是否有数据泄露行为。所述注入模块用于获取安卓系统和应用的当前运行特征,通过Ptrace的方法注入到安卓系统的服务进程以及应用的进程,获取ioctl、connect、read等一些关键标准函数的调用数据。在TaintDroid模块检测到数据泄露时,提取与该数据泄露行为有关的行为特征。如TaintDiOid模块检测到存在通讯录的泄露行为,则可基于注入模块获取的ioctl函数调用数据获取到通讯录访问的数据特征。所述移动终端通过注入模块获取系统和应用当前的运行特征,通过Ptrace的方法注入到安卓系统的system_server进程以及应用的进程,获取ioctl、connect、read等一些关键标准函数的调用数据。在移动终端增加注入模块、分析引擎模块、特征同步模块和响应模块等,通过分析引擎模块分析所述注入模块产生的实时数据,并与泄露特征数据库的条目逐一进行比对,如果发现匹配特征的话,即触发响应模块。所述泄露特征数据库是通过特征同步模块从服务器获取。所述特征同步模块是根据手机当前安装的应用,向服务器请求与所装应用对应泄露特征数据,下载后保存到本地的泄露特征数据库。所述响应模块是指发现数据泄露行为时通知用户,将泄漏的内容和泄漏的目的地址显示给用户。
[0066]本发明实施例提供一种检测数据泄漏的系统,所述系统通过检测应用运行时是否有数据泄漏;在检测所述应用运行期间有数据泄漏时,获取所述应用的泄漏特征和运行结果,所述运行结果至少包括数据泄漏的内容和所述数据泄漏的目的地址;存储所述应用的泄漏特征和运行结果,并将所述应用的泄漏特征和运行结果发送到移动终端,所述移动终端向服务器发送所述应用的标识和版本号,并从服务器中获取所述应用的标识和版本号对应的数据,所述数据包括所述应用的标识、版本号,或者,所述应用的标识、版本号、泄漏特征和运行结果,所述运行结果至少包括数据泄漏的内容和所述数据泄漏的目的地址;在获取到所述应用的泄漏特征和运行结果的情况下,获取所述应用的运行特征;对比所述应用的泄漏特征和所述应用的运行特征,若相同,则将所述运行结果显示给用户,从而在移动终端实现污点追踪的检测方法;将基于污点追踪的检测方法在服务器上运行,在保证准确率的前提下,提高数据泄漏检测技术的易用性和降低计算的开销。
[0067]参考图3,图3是本发明实施例提供的一种检测数据泄漏的方法流程图。如图2所示,所述方法包括:
[0068]步骤301,服务器检测应用运行时是否有数据泄漏;
[0069]具体的,在安卓系统上增加检测单元1011、获取单元1012、存储单元1013、发送单元1014,所述检测单元1011用于采用污点的方法检测到当前是否有数据泄露行为。所述获取单元1012用于获取安卓系统和应用的当前运行特征,通过ptrace的方法注入到安卓系统的服务进程以及应用的进程,获取ioctl、connect, read等一些关键标准函数的调用数据。
[0070]步骤302,在检测所述应用运行期间有数据泄漏时,获取所述应用的泄漏特征和运行结果,所述运行结果至少包括数据泄漏的内容和所述数据泄漏的目的地址;
[0071]具体的,在所述检测单元1011检测到数据泄露时,提取与该数据泄露行为有关的行为特征。如所述检测单元1011检测到存在通讯录的泄露行为,则可基于所述获取单元1012获取的ioctl函数调用数据获取到通讯录访问的数据特征。
[0072]步骤303,存储所述应用的泄漏特征和运行结果,并将所述应用的泄漏特征和运行结果发送到移动终端。
[0073]可选地,在检测所述应用运行期间未有数据泄漏时,所述方法还包括:将所述应用的标识、版本号存储在第一列表中;
[0074]所述存储所述应用的泄漏特征和运行结果,包括:
[0075]将所述应用的标识、版本号、泄漏特征和运行结果存储在第二列表中。
[0076]具体的,表1为第一列表的具体形式,表2为第二列表的具体形式。所述应用包名为所述应用的标识,所述泄露内容是指所述应用泄露的内容和泄漏的目的地址,t匕如,当前泄漏的应用为短信内容,所述短信内容泄漏到的目的地址为远程服务器地址:100.10.10.12。
[0077]
【权利要求】
1.一种检测数据泄漏的方法,其特征在于,所述方法包括: 检测应用运行时是否有数据泄漏; 在检测所述应用运行期间有数据泄漏时,获取所述应用的泄漏特征和运行结果,所述运行结果至少包括数据泄漏的内容和所述数据泄漏的目的地址; 存储所述应用的泄漏特征和运行结果,并将所述应用的泄漏特征和运行结果发送到移动终端。
2.根据权利要求1所述的方法,其特征在于,在检测所述应用运行期间未有数据泄漏时,所述方法还包括:将所述应用的标识、版本号存储在第一列表中; 所述存储所述应用的泄漏特征和运行结果,包括: 将所述应用的标识、版本号、泄漏特征和运行结果存储在第二列表中。
3.根据权利要求2所述的方法,其特征在于,所述将所述应用的泄漏特征和运行结果发送到移动终端,包括: 根据所述移动终端发送的所述应用的标识和版本号,从第一列表和第二列表中将所述应用的标识和版本号对应的数据发送到移动终端,所述数据在第一列表中为所述应用的标识、版本号,所述数据在第二列表中为所述应用的标识、版本号、泄漏特征和运行结果。
4.一种检测数据泄漏的方法,其特征在于,所述方法包括: 向服务器发送所述应 用的标识和版本号,并从所述服务器中获取所述应用的标识和版本号对应的数据,所述数据包括所述应用的标识、版本号,或者,所述应用的标识、版本号、泄漏特征和运行结果,所述运行结果至少包括数据泄漏的内容和所述数据泄漏的目的地址; 在获取到所述应用的泄漏特征和运行结果的情况下,获取所述应用的运行特征;对比所述应用的泄漏特征和所述应用的运行特征,若相同,则将所述运行结果显示给用户。
5.一种服务器,其特征在于,所述服务器包括: 检测单元,用于检测应用运行时是否有数据泄漏; 获取单元,用于在检测所述应用运行期间有数据泄漏时,获取所述应用的泄漏特征和运行结果,所述运行结果至少包括数据泄漏的内容和所述数据泄漏的目的地址; 存储单元,用于存储所述应用的运行特征和运行结果; 发送单元,用于将所述应用的泄漏特征和运行结果发送到移动终端。
6.根据权利要求5所述的服务器,其特征在于, 在检测所述应用运行期间有数据泄漏时,所述存储单元还用于:将所述应用的标识、版本号存储在第一列表中; 所述存储单元用于: 在检测所述应用运行期间有数据泄漏时,将所述应用的标识、版本号、泄漏特征和运行结果存储在第二列表中。
7.根据权利要求6所述的服务器,其特征在于,所述发送单元具体用于: 根据所述移动终端发送的所述应用的标识和版本号,从第一列表和第二列表中将所述应用的标识和版本号对应的 数据发送到移动终端,所述数据在第一列表中为所述应用的标识、版本号,所述数据在第二列表中为所述应用的标识、版本号、泄漏特征和运行结果。
8.—种移动终端,其特征在于,所述移动终端包括: 发送单元,用于向服务器发送所述应用的标识和版本号,并从所述服务器中获取所述应用的标识和版本号对应的数据,所述数据包括所述应用的标识、版本号,或者,所述应用的标识、版本号、泄漏特征和运行结果,所述运行结果至少包括数据泄漏的内容和所述数据泄漏的目的地址; 获取单元,用于在获取到所述应用的泄漏特征和运行结果的情况下,获取所述应用的运行特征; 对比显示单元,用于对比所述应用的泄漏特征和所述应用的运行特征,若相同,则将所述运行结果显示给用户。
9.一种检测数据泄漏的系统,其特征在于,所述系统包括服务器和移动终端; 所述服务器,用于检测应用运行时是否有数据泄漏;在检测所述应用运行期间有数据泄漏时,获取所述应用的泄漏特征和运行结果,所述运行结果至少包括数据泄漏的内容和所述数据泄漏的目的地址;存储所述应用的泄漏特征和运行结果,并将所述应用的泄漏特征和运行结果发送到移动终端; 所述移动终端,用于向服务器发送所述应用的标识和版本号,并从所述服务器中获取所述应用的标识和版本号对应的数据,所述数据包括所述应用的标识、版本号,或者,所述应用的标识、版本号、泄漏特征和运行结果,所述运行结果至少包括数据泄漏的内容和所述数据泄漏的目的地址;在获取到所述应用的泄漏特征和运行结果的情况下,获取所述应用的运行特征;对比所述应用的泄漏特征和所述应用的运行特征,若相同,则将所述运行结果显示给用户。
10.根据权利要求 9所述的系统,其特征在于,在检测所述应用运行期间未有数据泄漏时,所述方法还包括:将所述应用的标识、版本号存储在第一列表中; 所述存储所述应用的泄漏特征和运行结果,包括: 将所述应用的标识、版本号、泄漏特征和运行结果存储在第二列表中; 所述将所述应用的泄漏特征和运行结果发送到移动终端,包括: 根据所述移动终端发送的所述应用的标识和版本号,从第一列表和第二列表中将所述应用的标识和版本号对应的 数据发送到移动终端,所述数据在第一列表中为所述应用的标识、版本号,所述数据在第二列表中为所述应用的标识、版本号、泄漏特征和运行结果。
【文档编号】G06F21/52GK103886253SQ201410116905
【公开日】2014年6月25日 申请日期:2014年3月26日 优先权日:2014年3月26日
【发明者】徐辉, 周扬帆, 吕荣聪 申请人:香港中文大学深圳研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1