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

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

【技术实现步骤摘要】
基于动态污点追踪的数据安全动态检测方法及系统
本专利技术涉及移动终端应用安全领域,具体涉及一种基于动态污点追踪的数据安全动态检测方法及系统。
技术介绍
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,将污点数据以动态污点追踪方式在系本文档来自技高网...
基于动态污点追踪的数据安全动态检测方法及系统

【技术保护点】
一种基于动态污点追踪的数据安全动态检测方法,其特征在于,包括如下步骤:步骤S10,读取可信应用程序中的敏感数据,并在敏感数据中嵌入污点标签,从而在应用程序中生成污点数据;步骤S20,将污点数据以动态污点追踪方式在系统的各个组件或进程间传播;步骤S30,从污点数据中提取出污点标签,解析出其中所包含的污点标记,并还原敏感数据后返还给被检测应用程序,最后将包含有污点数据、污点标签及污点标记的信息保存到日志中;步骤S40,将提取的污点标签与可信库对比,所述可信库是敏感API权限的集合,若不可信应用程序的污点标签包括有敏感API权限对应的污点标记,则将污点标签及不可信应用程序的行为记录在日志文件中。

【技术特征摘要】
1.一种基于动态污点追踪的数据安全动态检测方法,其特征在于,包括如下步骤:步骤S10,读取可信应用程序中的敏感数据,并在敏感数据中嵌入污点标签,从而在应用程序中生成污点数据;步骤S20,将污点数据以动态污点追踪方式在系统的各个组件或进程间传播;步骤S21,通过污点标记接口读取污点数据并保存到新的存储空间,再将污点数据中污点标签记录在污点传播映射表中;步骤S22,每一个应用程序的Dalvik虚拟机解释器均依据数据流的赋值规则,将污点数据通过Binder组件在程序间进行传播;步骤S30,从污点数据中提取出污点标签,解析出其中所包含的污点标记,并还原敏感数据后返还给被检测应用程序,最后将包含有污点数据、污点标签及污点标记的信息保存到日志中;步骤S40,将提取的污点标签与可信库对比,所述可信库是敏感API权限的集合,若不可信应用程序的污点标签包括有敏感API权限对应的污点标记,则将污点标签及不可信应用程序的行为记录在日志文件中。2.根据权利要求1所述的基于动态污点追踪的数据安全动态检测方法,其特征在于,所述步骤S10中污点标签嵌入的方法是:与Dalvik虚拟机解释器进行交互的污点标记接口调用一个本地方法,该本地方法用于修改应用程序框架层接口,从而对其敏感数据嵌入污点标签。3.根据权利要求1所述的基于动态污点追踪的数据安全动态检测方法,其特征在于,所述敏感数据包括了与联网通信接口、本地数据库和硬件模块接口相关的函数局部变量、函数参数、类静态字段、类实例字段和数组。4.一种采用权利要求1所述方法的基于动态污点追踪的数据安全动态检测系统,其特征在于,包括:污点标签嵌入模块,用于读取可信应用程序中的敏感数据,并在敏感数据中嵌入污点标签,从而在应用程序中生成污点数据动态污点追踪模块,用于将污点标签嵌入模块产生的污点数据以动态污点追踪方式在系统的各个组件或进程间传播;污点标签提取模块,用于从不可信应用程序的污点数据中提取出污点标签,解析出其中所包含的污点标记,并还原敏感数据后返还给被检测应...

【专利技术属性】
技术研发人员:艾解清魏理豪邹洪崔磊龙震岳
申请(专利权)人:广东电网有限责任公司信息中心
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1