CN104766012A - 基于动态污点追踪的数据安全动态检测方法及系统 - Google Patents

基于动态污点追踪的数据安全动态检测方法及系统 Download PDF

Info

Publication number
CN104766012A
CN104766012A CN201510166008.XA CN201510166008A CN104766012A CN 104766012 A CN104766012 A CN 104766012A CN 201510166008 A CN201510166008 A CN 201510166008A CN 104766012 A CN104766012 A CN 104766012A
Authority
CN
China
Prior art keywords
stain
data
taint
label
dynamic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510166008.XA
Other languages
English (en)
Other versions
CN104766012B (zh
Inventor
艾解清
魏理豪
邹洪
崔磊
龙震岳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Information Center of Guangdong Power Grid Co Ltd
Original Assignee
Information Center of Guangdong Power Grid Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Information Center of Guangdong Power Grid Co Ltd filed Critical Information Center of Guangdong Power Grid Co Ltd
Priority to CN201510166008.XA priority Critical patent/CN104766012B/zh
Publication of CN104766012A publication Critical patent/CN104766012A/zh
Application granted granted Critical
Publication of CN104766012B publication Critical patent/CN104766012B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开的一种基于动态污点追踪的数据安全动态检测方法及系统,所述方法是:读取可信应用程序中的敏感数据,并在敏感数据中嵌入污点标签,从而在应用程序中生成污点数据;将污点数据以动态污点追踪方式在系统的各个组件或进程间传播;从污点数据中提取出污点标签,解析出其中所包含的污点标记,并还原敏感数据后返还给被检测应用程序,最后将包含有污点数据、污点标签及污点标记的信息保存到日志中;将提取的污点标签与可信库对比,若该污点标签包括有敏感API权限对应的污点标记,则将污点标签及不可信应用程序的行为记录在日志文件中。本发明实现通过监控智能移动终端中的敏感数据,通过程序代码对隐私数据的使用情况来判断其是否为恶意代码。

Description

基于动态污点追踪的数据安全动态检测方法及系统
技术领域
本发明涉及移动终端应用安全领域,具体涉及一种基于动态污点追踪的数据安全动态检测方法及系统。
背景技术
Android是基于Linux系统、针对手机平台开发的开源操作系统。Android操作系统本身提供了一系列用于隐私数据保护的机制。Android扩展了Linux系统使得每一个应用程序都可以以不同的身份标识(即Linux原有的uid和gid)运行,从而保证程序运行环境的相对独立性。Android提供了一种权限系统,该系统提供了对用户资源(手机设备信息、网络资源等)进行访问控制的机制。在该权限系统中,手机中的重要资源被划分成几类,每一类资源都对应一种权限;而当程序对某类资源进行访问时,必须当拥有对应的权限才能获得执行授权。
但是这种保护机制存在很大的局限性,不能效防止程序泄露用户的隐私信息。这种用于对资源的访问控制的权限系统实现的粒度过于粗糙,并不能达到预期的效果。该权限系统具体实现不够灵活,一个程序所拥有的权限完全是在它被安装时确定的;而当安装某一个程序时,对于一个程序权限的选择,Android也仅仅提供了2种:全部满足程序所要求的权限或者全部否定,而不是让用户根据自己的实际情况只选择满足部分权限。程序如果在安装阶段拿到它所需要的权限,那么在运行阶段,就能任意泄露用户隐私而不会受到系统限制。综上,Android本身自带的机制并不能有效地防止程序泄露用户隐私数据。
发明内容
本发明的目的在于针对上述现有技术中存在的问题,提出一种基于动态污点追踪的数据安全动态检测方法及系统。
为达到上述发明的目的,本发明通过以下技术方案实现:
一种基于动态污点追踪的数据安全动态检测方法,包括如下步骤:
步骤S10,读取可信应用程序中的敏感数据,并在敏感数据中嵌入污点标签,从而在应用程序中生成污点数据;
步骤S20,将污点数据以动态污点追踪方式在系统的各个组件或进程间传播;
步骤S30,从污点数据中提取出污点标签,解析出其中所包含的污点标记,并还原敏感数据后返还给被检测应用程序,最后将包含有污点数据、污点标签及污点标记的信息保存到日志中;
步骤S40,将提取的污点标签与可信库对比,所述可信库是敏感API权限的集合,若不可信应用程序的污点标签包括有敏感API权限对应的污点标记,则将污点标签及不可信应用程序的行为记录在日志文件中。
所述步骤S10中污点标签嵌入的方法是:与Dalvik虚拟机解释器进行交互的污点标记接口调用一个本地方法,该本地方法用于修改应用程序框架层接口,从而对其敏感数据嵌入污点标签。
所述敏感数据包括了与联网通信接口、本地数据库和硬件模块接口相关的函数局部变量、函数参数、类静态字段、类实例字段和数组。
所述步骤S20中动态污点追踪方式如下:
步骤S21,通过污点标记接口读取污点数据并保存到新的存储空间,再将污点数据中污点标签记录在污点传播映射表中;
步骤S22,每一个应用程序的Dalvik虚拟机解释器均依据数据流的赋值规则,将污点数据通过Binder组件在程序间进行传播。
一种采用上述方法的基于动态污点追踪的数据安全动态检测系统,包括:
污点标签嵌入模块,用于读取可信应用程序中的敏感数据,并在敏感数据中嵌入污点标签,从而在应用程序中生成污点数据;
动态污点追踪模块,用于将污点标签嵌入模块产生的污点数据以动态污点追踪方式在系统的各个组件或进程间传播;
污点标签提取模块,用于从不可信应用程序的污点数据中提取出污点标签,解析出其中所包含的污点标记,并还原敏感数据后返还给被检测应用程序,最后将包含有污点数据、污点标签及污点标记的信息保存到日志中;
分析模块,用于分析比对提取的污点标签与可信库,若不可信应用程序的污点标签包括有敏感API权限对应的污点标签,则将污点标签及不可信应用程序的行为记录在日志文件中。
所述动态污点追踪方式具体是将污点标签嵌入模块产生的污点数据在系统中的程序与程序间使用Binder方式传播,所述Binder方式是采用Dalvik虚拟机解释器解析污点数据,并将解析后的污点数据交由Binder组件在程序与程序间传输。
所述敏感数据包括了与联网通信接口、本地数据库和硬件模块接口相关的函数局部变量、函数参数、类静态字段、类实例字段和数组。
所述污点标签采用32位变量进行存储。
所述污点标记包括如下:NO_TAINT、TAINT_PACKAGE、TAINT_IMEI、TAINT_IMSI、TAINT_DEVICE_SN、TAINT_ICCID、TAINT_PNUMBER、TAINT_CONTACTS、TAINT_MIC、TAINT_CAMERA、TAINT_SMS、TAINT_HISTORY、TAINT_LOCATION、TAINT_LOCATION_GPS、TAINT_LOCATION_NET和TAINT_ACCOUNT,上述污点标记的含义分别为:无污点数据标记、已安装程序污点标记、IMEI号污点标记、IMSI号码污点标记、设备串号污点标记、ICCID号码污点标记、电话号码污点标记、联系人污点标记、麦克风污点标记、摄像头污点标记、短信息污点标记、历史记录污点标记、位置信息污点标记、GPS位置信息污点标记、基站定位信息污点标记和账户信息污点标记。
本发明的动态污点分析技术是通过监控智能移动终端中的敏感数据,通过程序代码对隐私数据的使用情况来判断其是否为恶意代码。敏感数据首先被标记为污染源,一个污染标记指明此信息已经被分配好。动态污点分析技术追踪一个标签数据在传递过程中可能通过某种途径泄漏的敏感信息。这种追踪方式往往在指令级水平执行。最终,受影响的数据在离开系统(一般是网络接口)时,提取出其中的污点标签,并记录下应用程序的行为。
采用本发明实施例的基于动态污点追踪的数据安全动态检测方法及系统,有效防止程序泄露用户的隐私信息,并监控程序对系统的敏感权限调用情况,通过程序代码对隐私数据的使用情况来判断其是否为恶意代码,进而检测出程序安全性。
附图说明
图1为本发明的基于动态污点追踪的数据安全动态检测方法的流程图。
图2为本发明实施例的污点标签传递过程示意图。
图3为本发明的基于动态污点追踪的数据安全动态检测系统的结构图。
图4为本发明的敏感数据嵌入污点标签的数据变化示意图。
具体实施方式
下面结合附图和实施例对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。
请参阅图1和图2,图1为本发明的基于动态污点追踪的数据安全动态检测方法的流程图,图2为本发明的污点标签传递过程示意图。
监控智能移动终端中的敏感数据,通过程序代码对隐私数据的使用情况来判断其是否为恶意代码。敏感数据首先被标记为污染源,一个污染标记指明此信息已经被分配好。动态污点分析技术追踪一个标签数据在传递过程中可能通过某种途径泄漏的敏感信息。这种追踪方式往往在指令级水平执行。最终,受影响的数据在离开系统(一般是网络接口)时,提取出其中的污点标签,并记录下应用程序的行为。本实施例采取如下方法实现上述过程。
一种基于动态污点追踪的数据安全动态检测方法,包括如下步骤:
步骤S10,读取可信应用程序中的敏感数据,并在敏感数据中嵌入污点标签,从而在应用程序中生成污点数据;
步骤S20,将污点数据以动态污点追踪方式在系统的各个组件或进程间传播;
步骤S30,从污点数据中提取出污点标签,解析出其中所包含的污点标记,并还原敏感数据后返还给被检测应用程序,最后将包含有污点数据、污点标签及污点标记的信息保存到日志中;
步骤S40,将提取的污点标签与可信库对比,所述可信库是敏感API权限的集合,若不可信应用程序的污点标签包括有敏感API权限对应的污点标记,则将污点标签及不可信应用程序的行为记录在日志文件中。
所述步骤S10中污点标签嵌入的方法是:与Dalvik虚拟机解释器进行交互的污点标记接口调用一个本地方法,该本地方法用于修改应用程序框架层接口,从而对其敏感数据嵌入污点标签。
所述敏感数据包括了与联网通信接口、本地数据库和硬件模块接口相关的函数局部变量、函数参数、类静态字段、类实例字段和数组。
所述步骤S20中动态污点追踪方式如下:
步骤S21,通过污点标记接口读取污点数据并保存到新的存储空间,再将污点数据中污点标签记录在污点传播映射表中;
步骤S22,每一个应用程序的Dalvik虚拟机解释器均依据数据流的赋值规则,将污点数据通过Binder组件在程序间进行传播。
所述Binder组件包括不同程序Binder IPC库中的Binder Hook和系统的Binder内核模块。
参看图3和图4,图3为本发明的基于动态污点追踪的数据安全动态检测系统的结构图,图4为本发明的敏感数据嵌入污点标签的数据变化示意图。
图3显示的是一种采用上述方法的基于动态污点追踪的数据安全动态检测系统,包括:
污点标签嵌入模块110,用于在不可信应用程序的敏感数据中部署污点标签,嵌入有污点标签的敏感数据即为污点数据;
动态污点追踪模块120,用于将污点标签嵌入模块110产生的污点数据以动态污点追踪方式在系统的各个组件或进程间传播;
污点标签提取模块130,用于从不可信应用程序的污点数据中提取出污点标签,解析出其中所包含的污点标记,并还原敏感数据后返还给被检测应用程序,最后将包含有污点数据、污点标签及污点标记的信息保存到日志中;
分析模块140,用于分析比对提取的污点标签与可信库,若不可信应用程序的污点标签包括有敏感API权限对应的污点标签,则将污点标签及不可信应用程序的行为记录在日志文件中。
本发明实施例的基于动态污点追踪的数据安全动态检测系统,先定义如下表1所示的污点标记列表210,其依据敏感数据的不同来源确定。所述污点标记包括如下:NO_TAINT、TAINT_PACKAGE、TAINT_IMEI、TAINT_IMSI、TAINT_DEVICE_SN、TAINT_ICCID、TAINT_PNUMBER、TAINT_CONTACTS、TAINT_MIC、TAINT_CAMERA、TAINT_SMS、TAINT_HISTORY、TAINT_LOCATION、TAINT_LOCATION_GPS、TAINT_LOCATION_NET和TAINT_ACCOUNT,上述污点标记的含义分别为:无污点数据标记、已安装程序污点标记、IMEI号污点标记、IMSI号码污点标记、设备串号污点标记、ICCID号码污点标记、电话号码污点标记、联系人污点标记、麦克风污点标记、摄像头污点标记、短信息污点标记、历史记录污点标记、位置信息污点标记、GPS位置信息污点标记、基站定位信息污点标记和账户信息污点标记。
表1污点标记的定义列表
污点标记 描述
NO_TAINT 0x00000000 无污点数据标记
TAINT_PACKAGE 0x00000001 已安装程序污点标记
TAINT_IMEI 0x00000002 IMEI号污点标记
TAINT_IMSI 0x00000004 IMSI号码污点标记
TAINT_DEVICE_SN 0x00000008 设备串号污点标记
TAINT_ICCID 0x00000010 ICCID号码污点标记
TAINT_PNUMBER 0x00000020 电话号码污点标记
TAINT_CONTACTS 0x00000040 联系人污点标记
TAINT_MIC 0x00000080 麦克风污点标记
TAINT_CAMERA 0x00000100 摄像头污点标记
TAINT_SMS 0x00000200 短信息污点标记
TAINT_HISTORY 0x00000400 历史记录污点标记
TAINT_LOCATION 0x00000800 位置信息污点标记
TAINT_LOCATION_GPS 0x00001000 GPS位置信息污点标记
TAINT_LOCATION_NET 0x00002000 基站定位信息污点标记
TAINT_ACCOUNT 0x00004000 账户信息污点标记
Android系统中的应用软件取得数据一般是通过系统提供的如联网通信接口、本地数据库接口以及硬件模块接口等这些API接口来实现,其中硬件模块即是移动设备中的各个实体部件,如GPS模块、麦克风模块、摄像头模块等,通过联网通信接口、本地数据库和各种硬件模块接口等API接口产生的包括用户各种隐私信息的数据即为敏感数据。所述敏感数据包括了与联网通信接口、本地数据库和硬件模块接口相关的函数局部变量、函数参数、类静态字段、类实例字段和数组等的数据,以上数据构成如表2的敏感数据列表220。
表2敏感数据列表
对上述五种类型的敏感数据,均使用一个32位变量来储存污点标签,并与之相邻,从而指示该敏感数据所含有的污点标记。
所述污点标签是包含了污点标记的可嵌入敏感数据的32位变量,由于采用32位变量,最大可容纳32种不同的污点标记。
所述污点数据包括敏感数据和污点标签,所述污点标签是采用32位变量进行存储。
敏感数据,比如函数的内部变量和参数,都是置放在内部堆栈上。当一个应用调用了某一方法,一个新的堆栈帧就会被初始化以存放所有的内部变量。函数参数,也是通过内部堆栈的方式来进行传递。
为了可以将污点标签与这些参数和变量能够一同被传递,就需要将初始化的堆栈空间增加一倍,以存放多出来的污点标签。在堆栈上,污点标签和其对应的变量分配在一起存放。若原本通过fp[i]来访问变量vi,那么修改后,则应当通过fp[2i]来访问。如图4所示,显示了包含污点标签之后内存中的使用变化。
数组的情况较为特殊,污点标签的存储方式对运行性能和内存开销有着很大影响。如果为数组中每一个元素都对应匹配一个污染标签,那么就会占用过多的空间,并且造成运行效率的低下,若一个数组只对应一个污点标签,则容易使得污点传播过程中产生误报,综合考虑,本实施例中采用一个数组对应一个污点标签的方式以保证效率。
污点标签嵌入模块110根据敏感数据的不同类型,选择相应的嵌入方式将污点标签嵌入到敏感数据中,形成污点数据。根据Android架构,为了在应用程序框架层完成对应用程序接口的修改,污点标签应当在Dalvik vm层进行嵌入,所以本发明实施例借用JNI来对污点标签嵌入模块110进行实现。
根据对恶意软件常用API的汇总分析,可以确定我们需要修改的API的大致范围。主要包括应用程序上下文(Application Context),光标打包类(Cursor Wrapper),电话管理器(Telephony Manager)等类。对其进行的修改均置于API库和数据源之中。
不可信应用程序要想获得系统中已安装程序的信息,都是通过Android系统提供的上述API来实现。我们对其进行修改后,当不可信应用程序调用此API进行恶意操作时,就会在应用程序框架层API中嵌入污点标签,使得我们可以对其行为进行监控。以ApplicationContext类作为例子对污点标签嵌入模块修改API接口原理进行描述,此类提供了一系列API接口,用来获得应用程序的context上下文信息,主要包括有应用的名称、应用的包名和应用资源的路径等信息。所有的包括系统或用户自行安装的应用软件均能通过ApplicationContext中的API接口,得到其想知道的某个应用程序的context。此类由Android系统自行实现。getInstalledApplications方法用来获得系统中已经安装的应用程序的信息,并以list的形式返回所得到的的信息。
当不同应用之间通过动态污点追踪模块进行通信交换数据时,污点标签也必须随之一起传递。所述动态污点追踪方式具体是将污点标签嵌入模块110产生的污点数据在系统中的程序与程序间使用Binder方式传播,所述Binder方式是采用Dalvik虚拟机解释器解析污点数据,并将解析后的污点数据交由Binder组件在程序与程序间传输。动态污点追踪模块120的实现,依据如下的污点数据及污点标记传播逻辑。
Dalvik虚拟机运行唯一的Dex机器语言指令集,因而必须依据Dalvik虚拟机的运算、赋值、逻辑指令的数据流设计一个合理的污点传播逻辑。
设L为全部污染标记的集合,一个污点标签t是一系列污点标记的集合,t∈L。每个变量是局部方法变量、方法的参数、类的静态变量和类实例的字段值和数组中的一种。为了方便起见给五种类型一个字母表示。vx代表函数的内部变量和参数,x代表类,fx代表类的静态字段,类的实例对象则用vy(fx)表示,vy是实例对象的引用。vx[·]代表的是一个数组,数组中的某个元素也用vx表示。
定义函数是T(·),给定变量v,函数T(v)返回的是被污点标记变量v的污点标签值。T(v1)←T(v2)将污点标记v2的值赋给v1。寄存器变量和类域用vx和fx代替。R和E分别代表返回值和异常值。A,B,C代表常量。因为常量作为非污点数据,故而常量赋值操作用于作为污点清除。将一个污点数据赋值给另一个变量,就会产生污点传播,使其也成为污点数据。有时因为某些原因触发的异常,其产生的异常值也会作为污点数据,并参与到传播中。
表3展示了污点传播逻辑。通过研究Dalvik指令格式和类型,将可能产生信息流指令分为16大类,如下表所示。其中vx,vy,vz是寄存器,fy,fz是字段ID,T()表示污点值。
表3污点传播逻辑
敏感数据最终会被传递到被检测的样本程序,应用程序一般通过应用程序框架层的API函数,来取得这些数据,污点标签还包括有的提取代码,污点标签提取模块130通过读取提取代码来提取相应的污点标记。
使用32位的变量来储存污点标签,这样就与32位的敏感数据配对成一个64位的值。因为Dalvik VM对一整个64bit拆分成相同的32bit作处理,这样就大大方便了污点标签提取模块130解析出污点标记。在得到变量地址的基础上,污点标签提取模块130将地址偏移四个字节,就指向了污点标签,直接读取此内存地址中的值,就是我们需要的污点标签。
对不同种类的数据类型,污点标签的嵌入会有不同。那么在污点标签提取模块提取污点标签时,根据类型的不同,也需要有相应的提取方法。针对变量与数组的污点标记解析,只要获得数据的首地址就可以获得污点标签,或者也可以采用struct的方式将敏感数据与污点标记封装起来。而class对象的污点标签提取,则不能像变量和数组一样直接提取。污点提取模块130首先将敏感数据强制转型,将其中的数据部分读取出来并复制到可以直接进行标签提取的变量或是数组类型中,最后再解析出所需要的信息。
通过上述多个模块的相互配合工作,实现污点标签从可信应用程序传播到不可信应用程序中,分析模块140最后将提取的污点标签与可信库做比对,若不可信应用程序的污点标签包括有敏感API权限对应的污点标签,则将污点标签及不可信应用程序的行为记录在日志文件中,以此方式记录不可信应用程序的安全性。
采用本发明实施例的基于动态污点追踪的数据安全动态检测方法及系统,有效防止程序泄露用户的隐私信息,并监控程序对系统的敏感权限调用情况。
上述实施例仅用以说明本发明而并非限制本发明所描述的技术方案;因此,尽管本说明书参照上述的各个实施例对本发明已进行了详细的说明,但是,本领域的普通技术人员应当理解,仍然可以对本发明进行修改或者等同替换;而一切不脱离本发明的精神和范围的技术方案及其改进,其均应涵盖在本发明的权利要求范围当中。

Claims (9)

1.一种基于动态污点追踪的数据安全动态检测方法,其特征在于,包括如下步骤:
步骤S10,读取可信应用程序中的敏感数据,并在敏感数据中嵌入污点标签,从而在应用程序中生成污点数据;
步骤S20,将污点数据以动态污点追踪方式在系统的各个组件或进程间传播;
步骤S30,从污点数据中提取出污点标签,解析出其中所包含的污点标记,并还原敏感数据后返还给被检测应用程序,最后将包含有污点数据、污点标签及污点标记的信息保存到日志中;
步骤S40,将提取的污点标签与可信库对比,所述可信库是敏感API权限的集合,若不可信应用程序的污点标签包括有敏感API权限对应的污点标记,则将污点标签及不可信应用程序的行为记录在日志文件中。
2.根据权利要求1所述的基于动态污点追踪的数据安全动态检测方法,其特征在于,所述步骤S10中污点标签嵌入的方法是:与Dalvik虚拟机解释器进行交互的污点标记接口调用一个本地方法,该本地方法用于修改应用程序框架层接口,从而对其敏感数据嵌入污点标签。
3.根据权利要求1所述的基于动态污点追踪的数据安全动态检测方法,其特征在于,所述敏感数据包括了与联网通信接口、本地数据库和硬件模块接口相关的函数局部变量、函数参数、类静态字段、类实例字段和数组。
4.根据权利要求1所述的基于动态污点追踪的数据安全动态检测方法,其特征在于,所述步骤S20中动态污点追踪方式如下:
步骤S21,通过污点标记接口读取污点数据并保存到新的存储空间,再将污点数据中污点标签记录在污点传播映射表中;
步骤S22,每一个应用程序的Dalvik虚拟机解释器均依据数据流的赋值规则,将污点数据通过Binder组件在程序间进行传播。
5.一种采用权利要求1所述方法的基于动态污点追踪的数据安全动态检测系统,其特征在于,包括:
污点标签嵌入模块,用于读取可信应用程序中的敏感数据,并在敏感数据中嵌入污点标签,从而在应用程序中生成污点数据
动态污点追踪模块,用于将污点标签嵌入模块产生的污点数据以动态污点追踪方式在系统的各个组件或进程间传播;
污点标签提取模块,用于从不可信应用程序的污点数据中提取出污点标签,解析出其中所包含的污点标记,并还原敏感数据后返还给被检测应用程序,最后将包含有污点数据、污点标签及污点标记的信息保存到日志中;
分析模块,用于分析比对提取的污点标签与可信库,若不可信应用程序的污点标签包括有敏感API权限对应的污点标签,则将污点标签及不可信应用程序的行为记录在日志文件中。
6.根据权利要求5所述的基于动态污点追踪的数据安全动态检测系统,其特征在于,所述动态污点追踪方式具体是将污点标签嵌入模块产生的污点数据在系统中的程序与程序间使用Binder方式传播,所述Binder方式是采用Dalvik虚拟机解释器解析污点数据,并将解析后的污点数据交由Binder组件在程序与程序间传输。
7.根据权利要求5所述的基于动态污点追踪的数据安全动态检测系统,其特征在于,所述敏感数据包括了与联网通信接口、本地数据库和硬件模块接口相关的函数局部变量、函数参数、类静态字段、类实例字段和数组。
8.根据权利要求5所述的基于动态污点追踪的数据安全动态检测系统,其特征在于,所述污点标签采用32位变量进行存储。
9.根据权利要求5所述的基于动态污点追踪的数据安全动态检测系统,其特征在于,所述污点标记包括如下:NO_TAINT、TAINT_PACKAGE、TAINT_IMEI、TAINT_IMSI、TAINT_DEVICE_SN、TAINT_ICCID、TAINT_PNUMBER、TAINT_CONTACTS、TAINT_MIC、TAINT_CAMERA、TAINT_SMS、TAINT_HISTORY、TAINT_LOCATION、TAINT_LOCATION_GPS、TAINT_LOCATION_NET和TAINT_ACCOUNT,上述污点标记的含义分别为:无污点数据标记、已安装程序污点标记、IMEI号污点标记、IMSI号码污点标记、设备串号污点标记、ICCID号码污点标记、电话号码污点标记、联系人污点标记、麦克风污点标记、摄像头污点标记、短信息污点标记、历史记录污点标记、位置信息污点标记、GPS位置信息污点标记、基站定位信息污点标记和账户信息污点标记。
CN201510166008.XA 2015-04-09 2015-04-09 基于动态污点追踪的数据安全动态检测方法及系统 Active CN104766012B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510166008.XA CN104766012B (zh) 2015-04-09 2015-04-09 基于动态污点追踪的数据安全动态检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510166008.XA CN104766012B (zh) 2015-04-09 2015-04-09 基于动态污点追踪的数据安全动态检测方法及系统

Publications (2)

Publication Number Publication Date
CN104766012A true CN104766012A (zh) 2015-07-08
CN104766012B CN104766012B (zh) 2017-09-22

Family

ID=53647834

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510166008.XA Active CN104766012B (zh) 2015-04-09 2015-04-09 基于动态污点追踪的数据安全动态检测方法及系统

Country Status (1)

Country Link
CN (1) CN104766012B (zh)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105550594A (zh) * 2015-12-17 2016-05-04 西安电子科技大学 安卓应用文件的安全性检测方法
CN105678187A (zh) * 2016-01-06 2016-06-15 上海斐讯数据通信技术有限公司 一种基于Android系统的智能终端隐私数据保护方法及系统
CN105956474A (zh) * 2016-05-17 2016-09-21 武汉虹旭信息技术有限责任公司 Android平台软件异常行为检测系统
CN106022116A (zh) * 2016-05-12 2016-10-12 南京大学 基于安卓程序应用间攻击的自动化补丁系统及方法
CN106503560A (zh) * 2016-11-23 2017-03-15 中国人民解放军信息工程大学 一种敏感信息跟踪方法及系统
CN106778254A (zh) * 2016-11-24 2017-05-31 四川无声信息技术有限公司 隐私泄露检测方法及系统
CN106919831A (zh) * 2015-12-25 2017-07-04 阿里巴巴集团控股有限公司 污点追踪的方法和装置
CN107229866A (zh) * 2016-03-23 2017-10-03 全球能源互联网研究院 一种检验与监控byod环境下移动应用安全的方法
CN107330345A (zh) * 2017-07-05 2017-11-07 北京理工大学 一种检测隐私数据泄露的方法和装置
CN107403099A (zh) * 2017-08-04 2017-11-28 郑州云海信息技术有限公司 一种构造可信的危险函数数据库的方法及系统
CN107682343A (zh) * 2017-10-18 2018-02-09 杭州白客安全技术有限公司 基于网络包动态污点分析技术的低误报率ids/ips
CN107832628A (zh) * 2017-10-31 2018-03-23 努比亚技术有限公司 隐私信息保护方法、移动终端及计算机可读存储介质
CN108712448A (zh) * 2018-07-09 2018-10-26 四川大学 一种基于动态污点分析的注入式攻击检测模型
CN109800596A (zh) * 2018-12-27 2019-05-24 余炀 一种个人数据安全管理系统
CN110177085A (zh) * 2019-04-26 2019-08-27 华中科技大学 适用于云环境的跨主机动态污点追踪方法及系统
CN112035845A (zh) * 2020-09-01 2020-12-04 中国银行股份有限公司 一种数据安全检测方法及其相关设备
CN112199274A (zh) * 2020-09-18 2021-01-08 北京大学 基于V8引擎的JavaScript动态污点跟踪方法及电子装置
CN112632547A (zh) * 2020-12-31 2021-04-09 中国农业银行股份有限公司 一种数据处理方法和相关装置
CN112650638A (zh) * 2020-10-23 2021-04-13 华芯安信(北京)科技有限公司 一种基于门级污染标签跟踪模型的硬件安全漏洞检测方法
CN112926058A (zh) * 2021-03-25 2021-06-08 支付宝(杭州)信息技术有限公司 代码处理方法、污点分析方法和装置
CN114741698A (zh) * 2022-06-13 2022-07-12 山东大学 一种基于混合分析检测安卓恶意软件方法
CN114912122A (zh) * 2022-05-27 2022-08-16 国家计算机网络与信息安全管理中心 一种基于双向推理的固件接口变量追踪方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729595A (zh) * 2014-01-02 2014-04-16 东南大学 一种Android应用程序隐私数据泄露离线检测方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729595A (zh) * 2014-01-02 2014-04-16 东南大学 一种Android应用程序隐私数据泄露离线检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
蔡昌: "Android平台恶意软件动态检测系统的设计与实现", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 *

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105550594A (zh) * 2015-12-17 2016-05-04 西安电子科技大学 安卓应用文件的安全性检测方法
CN105550594B (zh) * 2015-12-17 2018-05-25 西安电子科技大学 安卓应用文件的安全性检测方法
CN106919831A (zh) * 2015-12-25 2017-07-04 阿里巴巴集团控股有限公司 污点追踪的方法和装置
CN105678187A (zh) * 2016-01-06 2016-06-15 上海斐讯数据通信技术有限公司 一种基于Android系统的智能终端隐私数据保护方法及系统
CN107229866A (zh) * 2016-03-23 2017-10-03 全球能源互联网研究院 一种检验与监控byod环境下移动应用安全的方法
CN106022116B (zh) * 2016-05-12 2018-11-06 南京大学 基于安卓程序应用间攻击的自动化补丁系统及方法
CN106022116A (zh) * 2016-05-12 2016-10-12 南京大学 基于安卓程序应用间攻击的自动化补丁系统及方法
CN105956474A (zh) * 2016-05-17 2016-09-21 武汉虹旭信息技术有限责任公司 Android平台软件异常行为检测系统
CN105956474B (zh) * 2016-05-17 2018-12-25 武汉虹旭信息技术有限责任公司 Android平台软件异常行为检测系统
CN106503560A (zh) * 2016-11-23 2017-03-15 中国人民解放军信息工程大学 一种敏感信息跟踪方法及系统
CN106778254B (zh) * 2016-11-24 2020-05-01 四川无声信息技术有限公司 隐私泄露检测方法及系统
CN106778254A (zh) * 2016-11-24 2017-05-31 四川无声信息技术有限公司 隐私泄露检测方法及系统
CN107330345A (zh) * 2017-07-05 2017-11-07 北京理工大学 一种检测隐私数据泄露的方法和装置
CN107330345B (zh) * 2017-07-05 2020-11-27 北京理工大学 一种检测隐私数据泄露的方法和装置
CN107403099A (zh) * 2017-08-04 2017-11-28 郑州云海信息技术有限公司 一种构造可信的危险函数数据库的方法及系统
CN107682343A (zh) * 2017-10-18 2018-02-09 杭州白客安全技术有限公司 基于网络包动态污点分析技术的低误报率ids/ips
CN107832628A (zh) * 2017-10-31 2018-03-23 努比亚技术有限公司 隐私信息保护方法、移动终端及计算机可读存储介质
CN108712448A (zh) * 2018-07-09 2018-10-26 四川大学 一种基于动态污点分析的注入式攻击检测模型
CN109800596A (zh) * 2018-12-27 2019-05-24 余炀 一种个人数据安全管理系统
CN110177085A (zh) * 2019-04-26 2019-08-27 华中科技大学 适用于云环境的跨主机动态污点追踪方法及系统
CN112035845A (zh) * 2020-09-01 2020-12-04 中国银行股份有限公司 一种数据安全检测方法及其相关设备
CN112199274A (zh) * 2020-09-18 2021-01-08 北京大学 基于V8引擎的JavaScript动态污点跟踪方法及电子装置
CN112199274B (zh) * 2020-09-18 2022-05-03 北京大学 基于V8引擎的JavaScript动态污点跟踪方法及电子装置
CN112650638A (zh) * 2020-10-23 2021-04-13 华芯安信(北京)科技有限公司 一种基于门级污染标签跟踪模型的硬件安全漏洞检测方法
CN112632547A (zh) * 2020-12-31 2021-04-09 中国农业银行股份有限公司 一种数据处理方法和相关装置
CN112926058A (zh) * 2021-03-25 2021-06-08 支付宝(杭州)信息技术有限公司 代码处理方法、污点分析方法和装置
CN114912122A (zh) * 2022-05-27 2022-08-16 国家计算机网络与信息安全管理中心 一种基于双向推理的固件接口变量追踪方法
CN114741698A (zh) * 2022-06-13 2022-07-12 山东大学 一种基于混合分析检测安卓恶意软件方法

Also Published As

Publication number Publication date
CN104766012B (zh) 2017-09-22

Similar Documents

Publication Publication Date Title
CN104766012A (zh) 基于动态污点追踪的数据安全动态检测方法及系统
CN109002721B (zh) 一种信息安全漏洞的挖掘分析方法
Yang et al. Leakminer: Detect information leakage on android with static taint analysis
CN111353146B (zh) 应用程序敏感权限的检测方法、装置、设备和存储介质
Rasthofer et al. A machine-learning approach for classifying and categorizing android sources and sinks.
CN103729595B (zh) 一种Android应用程序隐私数据泄露离线检测方法
Narayanan et al. Addetect: Automated detection of android ad libraries using semantic analysis
Arzt et al. Susi: A tool for the fully automated classification and categorization of android sources and sinks
US20160378989A1 (en) Apparatus and method for monitoring android platform-based application
Canfora et al. Acquiring and analyzing app metrics for effective mobile malware detection
CN113489713B (zh) 网络攻击的检测方法、装置、设备及存储介质
CN104462970A (zh) 一种基于进程通信的Android应用程序权限滥用检测方法
CN105426760A (zh) 一种安卓恶意应用的检测方法及装置
US20140215614A1 (en) System and method for a security assessment of an application uploaded to an appstore
US9229758B2 (en) Passive monitoring of virtual systems using extensible indexing
CN103761175A (zh) 一种Linux系统下程序执行路径监测系统及其方法
US20130111018A1 (en) Passive monitoring of virtual systems using agent-less, offline indexing
CN104008329A (zh) 一种基于虚拟化技术的软件隐私泄露行为检测方法及系统
CN104408366A (zh) 基于插装技术的安卓应用程序权限使用行为跟踪方法
CN104732146A (zh) 一种Android程序漏洞检测方法及系统
Wang et al. Leakdoctor: Toward automatically diagnosing privacy leaks in mobile applications
CN108256338B (zh) 一种基于扩展API改写的Chrome扩展敏感数据跟踪方法
CN115795489A (zh) 一种基于硬件级进程跟踪的软件漏洞静态分析方法及装置
Zhang et al. Hey, you, get off of my image: detecting data residue in android images
Zhang et al. Contextual approach for identifying malicious Inter-Component privacy leaks in Android apps

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant