CN106778328B - 一种敏感信息安全保护方法及*** - Google Patents
一种敏感信息安全保护方法及*** Download PDFInfo
- Publication number
- CN106778328B CN106778328B CN201611066955.2A CN201611066955A CN106778328B CN 106778328 B CN106778328 B CN 106778328B CN 201611066955 A CN201611066955 A CN 201611066955A CN 106778328 B CN106778328 B CN 106778328B
- Authority
- CN
- China
- Prior art keywords
- stain
- subject
- sensitive information
- taint
- application program
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/629—Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供一种敏感信息安全保护方法及***,该方法包括:获取预标记的应用程序安全标签及敏感信息安全标签;所述应用程序安全标签指示有应用程序的污点信息,所述敏感信息安全标签至少指示有敏感信息的污点信息;根据所述应用程序安全标签及敏感信息安全标签,确定主体污点和客体污点;所述主体为对敏感信息的主动行为发出者,所述客体为主体行为的承受者;根据所述主体污点和客体污点,控制敏感信息的流向。本发明实施例可提升敏感信息的安全保护效果。
Description
本申请要求申请日为2016年11月23日、申请号为201611037052.1、发明名称为“一种敏感信息安全保护方法及***”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及计算机安全领域,更具体地说,涉及一种敏感信息安全保护方法及***。
背景技术
随着移动互联网的快速发展和移动智能终端的快速普及,用户将自己的社交、娱乐、商务等各种生活和工作需求都交给了移动互联网和移动智能终端,同时也将更多的敏感信息存储在移动智能终端中。特别是企业、政府和军队等对信息安全有着严格要求的领域,移动智能终端的使用和普及使得敏感信息的安全面临着严重威胁;因此如何实现对敏感信息的安全保护显得尤为必要。
目前对于敏感信息进行安全保护的方式主要有信息加密方式和访问控制方式。
信息加密方式主要是指以加密算法和密钥改变原有的敏感信息,使得未授权的用户即使获得了已加密的敏感信息,也无法知悉敏感信息的具体内容;信息加密方式可保证敏感信息在存储与通信过程的安全性,但不能保证敏感信息解密后,由一移动智能终端传输到另一移动智能终端后的信息安全使用,这是因为敏感信息一旦被解密,再无安全保护机制能够保证敏感信息被安全地使用。
访问控制方式主要是通过限制用户对敏感信息的访问能力及范围,以保证敏感信息不被非法使用和访问;广泛应用的访问控制模型主要有,访问控制矩阵模型和基于角色的访问控制模型等;然而,访问控制方式也不能保障敏感信息由一移动智能终端传输到另一移动智能终端后的信息安全使用;例如,若主体A允许读取敏感信息a,在主体A访问控制点读取敏感信息a后,主体A可以任意使用所读取的敏感信息a,敏感信息的安全使用将无法保证。
可以看出,目前对于敏感信息的安全保护方式均存在一定的缺陷,如均无法保障敏感信息由一移动智能终端传输到另一移动智能终端后的信息安全使用,因此如何提升敏感信息的安全保护效果,成为了本领域技术人员需要考虑的问题。
发明内容
有鉴于此,本发明实施例提供一种敏感信息安全保护方法及***,以提升敏感信息的安全保护效果。
为实现上述目的,本发明实施例提供如下技术方案:
一种敏感信息安全保护方法,包括:
获取预标记的应用程序安全标签及敏感信息安全标签;所述应用程序安全标签指示有应用程序的污点信息,所述敏感信息安全标签至少指示有敏感信息的污点信息;
根据所述应用程序安全标签及敏感信息安全标签,确定主体污点和客体污点;所述主体为对敏感信息的主动行为发出者,所述客体为主体行为的承受者;
根据所述主体污点和客体污点,控制敏感信息的流向。
可选的,所述应用程序安全标签的标记在***中间框架层实现,且被标记于虚拟机共享库;所述敏感信息安全标签的标记在***实时运行层实现。
可选的,所述应用程序安全标签的标记过程包括:
装载并解析策略文件,将解析出的应用程序的安全标记信息保存在新增的数据结构项中;
当应用程序启动时,传入该应用程序的应用安全标记信息,并传入虚拟机启动参数;
解析所述虚拟机启动参数,基于该应用程序的应用安全标记信息标记相应的应用程序安全标签,并将应用程序安全标签存入虚拟机共享库中。
可选的,所述敏感信息安全标签的标记过程包括:
采用TaintDroid污点标记方法,对基本变量和java对象进行污点标记,以实现敏感信息安全标签的标记。
可选的,所述根据所述主体污点和客体污点,控制敏感信息的流向包括:
当且仅当主体污点包含客体污点,且主体能被所含的客体污点集中的所有污点颜色所污染,则确定主体能读客体;
或,当且仅当客体污点包含主体污点,且客体能被所含的主体污点集中的所有污点颜色所污染,则确定主体能写客体;
或,当且仅当客体感染的污点颜色属于客体污点,且主体具有对该污点颜色的去污能力,则确定主体能除去客体感染的污点颜色。
可选的,所述根据所述主体污点和客体污点,控制敏感信息的流向包括:
若主体从客体中读数据并存入数据m,则数据m的污点更新为客体污点与数据m污点的并集;
或,若主体将数据m写入客体,则客体污点更新为客体污点与数据m污点的并集;
或,若主体删除客体污点的某种污点颜色,则该污点颜色从客体污点中除去。
本发明实施例还提供一种敏感信息安全保护***,包括:
应用程序安全标签获取模块,同于获取预标记的应用程序安全标签,所述应用程序安全标签指示有应用程序的污点信息;
敏感信息安全标签获取模块,用于获取预标记的敏感信息安全标签;所述敏感信息安全标签至少指示有敏感信息的污点信息;
污点确定模块,用于根据所述应用程序安全标签及敏感信息安全标签,确定主体污点和客体污点;所述主体为对敏感信息的主动行为发出者,所述客体为主体行为的承受者;
控制模块,用于根据所述主体污点和客体污点,控制敏感信息的流向。
可选的,所述敏感信息安全保护***还包括:
应用程序安全标签标记模块,用于装载并解析策略文件,将解析出的应用程序的安全标记信息保存在新增的数据结构项中;当应用程序启动时,传入该应用程序的应用安全标记信息,并传入虚拟机启动参数;解析所述虚拟机启动参数,基于该应用程序的应用安全标记信息标记相应的应用程序安全标签,并将应用程序安全标签存入虚拟机共享库中;
敏感信息安全标签标记模块,用于采用TaintDroid污点标记方法,对基本变量和java对象进行污点标记,以实现敏感信息安全标签的标记。
可选的,所述控制模块具体用于:
当且仅当主体污点包含客体污点,且主体能被所含的客体污点集中的所有污点颜色所污染,则确定主体能读客体;
或,当且仅当客体污点包含主体污点,且客体能被所含的主体污点集中的所有污点颜色所污染,则确定主体能写客体;
或,当且仅当客体感染的污点颜色属于客体污点,且主体具有对该污点颜色的去污能力,则确定主体能除去客体感染的污点颜色。
可选的,所述控制模块具体用于:
若主体从客体中读数据并存入数据m,则数据m的污点更新为客体污点与数据m污点的并集;
或,若主体将数据m写入客体,则客体污点更新为客体污点与数据m污点的并集;
或,若主体删除客体污点的某种污点颜色,则该污点颜色从客体污点中除去。
基于上述技术方案,本发明实施例提供的敏感信息安全保护方法包括:获取预标记的应用程序安全标签及敏感信息安全标签;根据所述应用程序安全标签及敏感信息安全标签,确定主体污点和客体污点;根据所述主体污点和客体污点,控制敏感信息的流向。可以看出,本发明实施例可依据应用程序安全标签和数据安全标签,实现主体污点和客体污点的确定,进而进行信息流控制,能够有效、灵活、精确地控制敏感信息的传播,提升敏感信息的安全保护效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的敏感信息安全保护方法的流程图;
图2为本发明实施例提供的应用程序安全标签的标记方法流程图;
图3为本发明实施例中信息流控制的工作过程示意图;
图4为本发明实施例提供的敏感信息安全保护***的结构框图;
图5为本发明实施例提供的敏感信息安全保护***的另一结构框图;
图6为本发明实施例提供的敏感信息安全保护***的再一结构框图。
具体实施方式
本发明实施例实现敏感信息安全保护主要是基于信息流控制方式实现;信息流是指信息在***内部和***之间的传播和流动,***内部的信息流如移动智能终端内部的信息流动,***之间的信息流如不同移动智能终端之间的信息流动;信息流控制方式是指以相应的信息流控制策略,控制信息的流向;
信息流控制策略一般包括机密性策略和完整性策略;机密性策略是防止信息流向未授权获取该信息的主体;完整性策略是防止信息流向完整性高的主体或数据;
信息流控制机制实现的核心是将标签(污点)附着在信息上,标签随着信息传播(信息派生出的对象,也将会继承原有标签),并使用这些标签来限制程序间的信息流向;机密性策略所采用的机密性的标签,可以保护敏感信息不被非法或恶意用户读取;而完整性策略所采用的完整性的标签,可以保护敏感信息或存储敏感信息的存储单元免受不可信或恶意用户的破坏;
而本发明实施例基于信息流控制方式实现敏感信息安全保护的思路主要是,通过应用程序安全标签和敏感信息安全标签进行更为细粒度的信息流控制,从而提升敏感信息的安全保护效果,能够有效、灵活、精确地控制敏感信息的传播。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的敏感信息安全保护方法的流程图,该方法可在***的中间框架层的通信关键点进行,参照图1,该方法可以包括:
步骤S100、获取预标记的应用程序安全标签及敏感信息安全标签;
可选的,本发明实施例可依据安卓分层体系结构特点,在***时实运行层、***中间框架层修改或添加相应代码;利用***实时运行层提供的实时运行环境,实现敏感信息安全标签的标记与获取,保证在实时运行时所有的敏感信息的安全标签可实时标记和获取;而在***中间框架层,可将应用程序安全标签标记于虚拟机共享库中,以备实时地获取;
本发明实施例利用***实时运行层提供的实时运行环境,实现敏感信息安全标签的标记,及在中间框架层实现将应用程序安全标签标记于虚拟机共享库中后,可在进行敏感信息安全保护时,实时获取出预标记的应用程序安全标签及敏感信息安全标签。
步骤S110、根据所述应用程序安全标签及敏感信息安全标签,确定主体污点和客体污点;
主体是指对敏感信息的主动行为发出者,包括应用程序或进程;主体行为可以如对敏感信息所进行的读、写等行为;客体是指主体行为的承受者,包括应用程序、***文件、程序数据、操作***资源等,客体中至少具有敏感信息;
可选的,所获取的应用程序安全标签包含了应用程序的安全标记信息,可以指示应用程序的污点信息,从而在确定对敏感信息进行自动行为的主体后,本发明实施例可基于应用程序安全标签实现主体污点的确定;
所获取的敏感信息安全标签至少指示了敏感信息的污点信息,同时可以指示作为客体的各信息和应用程序的污点信息,实现客体污点的确定;如客体中具有敏感信息时,可实现敏感信息的污点确定。
步骤S120、根据所述主体污点和客体污点,控制敏感信息的流向。
在本发明实施例中,对于敏感信息的流向控制主要分为云信息流控制和云污点传播控制。
本发明实施例提供的敏感信息安全保护方法包括:获取预标记的应用程序安全标签及敏感信息安全标签;根据所述应用程序安全标签及敏感信息安全标签,确定主体污点和客体污点;根据所述主体污点和客体污点,控制敏感信息的流向。可以看出,本发明实施例可依据应用程序安全标签和数据安全标签,实现主体污点和客体污点的确定,进而进行信息流控制,能够有效、灵活、精确地控制敏感信息的传播,提升敏感信息的安全保护效果。
图2为本发明实施例提供的应用程序安全标签的标记方法流程图,该方法可在***中间框架层实现,在中间框架层将应用程序安全标签标记于虚拟机共享库中,以备后续能够实时地从虚拟机共享库中获取应用程序安全标签;
参照图2,标记应用程序安全标签的过程主要包括:
步骤S200、装载并解析策略文件,将解析出的应用程序的安全标记信息保存在新增的数据结构项中;
应用程序的安全标记信息可以“app.info.capmark”表示,策略文件可以xml文件形式保存,具体格式可以如下:
由于策略文件占用内存空间较小,为加快应用程序的启动,策略文件可以在***启动时进行装载解析,如在移动智能终端的***启动时进行策略文件的装载解析;并将应用程序的安全标记信息保存在新增数据结构项pkg.applicationInfo.capmark中;
可选的,装载并解析策略文件的过程中,策略文件可解析至HashMap(哈希地图)中;进而在每个应用程序进行应用信息初始化时,本发明实施例可以查询HashMap中相应应用程序的安全标记信息(可选的,不同应用程序的安全标记信息可通过capmark value(安全标记值)区分),并基于查询出的安全标记信息填充出相应的数据结构项;
具体的,本发明实施例可通过修改***应用程序信息初始化packagemanagerservice.java文件,在装载并解析策略文件的过程中,将策略文件解析至HashMap中,然后在每个应用程序进行应用信息初始化时,查询HashMap得出相应的安全标记信息,并填充相应的数据结构项;
策略文件解析算法源码如下所示:
步骤S210、当应用程序启动时,传入该应用程序的应用安全标记信息,并传入虚拟机启动参数;
当应用程序启动时,可通过特定应用安全标记信息传入方法,从数据结构项中得到该应用程序的应用安全标记信息并进行传入;可选的,本发明实施例可通过该应用程序的安全标记值,确定该应用程序相应的数据结构项,从而从该应用程序相应的数据结构项中得到该应用程序的应用安全标记信息;然后再调用特定虚拟机启动参数传入方法,传入虚拟机启动参数;
具体的,当应用程序启动时,其启动唯一入口位于activitymanagerservice.java文件。通过方法Process.start("android.app.ActivityThread",app.processName,uid,uid,gids,debugFlags,app.info.targetSdkVersion,app.info.capmark,null)传入应用安全标记信息app.info.capmark;而后调用startViaZygote方法并使用argsForZygote.add("—capmark="+capmark)传入虚拟机启动参数。
步骤S220、解析所述虚拟机启动参数,基于该应用程序的应用安全标记信息标记相应的应用程序安全标签,并将应用程序安全标签存入虚拟机共享库中。
本发明实施例可解析虚拟机启动参数,获取出与该应用程序的应用安全标记信息相应标记出的应用程序安全标签,并通过nativeForkAndSpecialize(uid,gid,gids,debugFlags,rlimits,capmark)将标记的应用程序安全标签存入新增加Dalvik虚拟机共享库libfcpolicy.so中;
解析虚拟机启动参数,标记应用程序安全标签的算法源码如下:
在本发明实施例中,共享库libfcplicy.so用以保存各应用程序安全标签,并提供java层查询接口;其实现是增加android_os_Fcpolidy.cpp文件并实现两个本地方法nativesetcapmark()和nativegetcapmark();并通过AndroidRuntime.cpp注册jni方法以提供java层调用接口。
为实现细粒度的信息流控制,敏感信息安全标签的标记必须足够的精细;敏感信息安全标签的标记可在***实时运行层实现,本发明实施例可利用***实时运行层提供的实时运行环境,实现敏感信息安全标签的标记与获取,保证在实时运行时所有的敏感信息的安全标签可实时标记和获取;
本发明实施例可采用TaintDroid污点标记方法,实现了对基本变量(bool,byte,char,short,int,long,float,double)和java对象(string,array)的污点标记,从而在***实时运行层实现敏感信息安全标签的标记;
TaintDroid利用了Android虚拟机的执行环境提供了一个实时的分析过程,其是一个高效的,全***动态污点跟踪和分析方法,可以跟踪敏感信息的来源;本发明实施例中所采用的TaintDroid污点标记方法可参见下表1所示:
表1
本发明实施例进行敏感信息的污点标记时,所标记的污点可以日志文件或添加到文件附加属性,并以字符串形式保存;相应的,从日志文件或文件附加属性中解析污点信息的方法可以如下:
本发明实施例基于应用程序安全标签和敏感信息安全标签,进行细粒度的信息流控制的策略可以如下。
首先对信息流控制策略模型的要素进行定义:
S={S1,S2,...,Sn|(M,B)},主体:主体指主动行为发出者,包括应用程序或进程;
O={O1,O2,...,On|(M,B)},客体:客体指主体行为的承受者,包括应用程序、***文件、程序数据、操作***资源等;
C={color1,color2,...,colorn},敏感信息所属种类:colori表示敏感信息基本种类;如color1表示地理位置信息种类,color2表示联系人信息种类;
B=C×(+,-),应用程序安全标签集:colori +表示应用程序能读取该类标签的敏感信息,colori-表示应用程序能发送该类标签的敏感信息;
T={taint1,taint2,...,taintn}其中敏感信息种类集:tainti表示由多种类敏感信息组成的一个敏感信息种类集,其可能由任意不同数量colori组成;例如某个字符串既包含联系人信息也包含短信内容信息;
M={m1,m2,...,mn},敏感信息:数据元mi表示应用程序所拥用的敏感信息;为详细刻画应用程序所拥有的敏感信息的不同状态,应用程序内不同数据mi可标记不同敏感信息种类集;
F={f|f=(ft(m),fb(S,O))},敏感信息-安全标签函数:敏感信息映射函数ft表示从敏感信息中提取敏感信息种类集;安全标签映射函数fb表示从应用程序中提取应用程序安全标签;
A={r,w,c},信息流向:r表示读,w表示主体写客体;
D={accept,deny},决定集:由允许(accept)或拒绝(deny)组成。
相应的,信息流控制的策略规则可以如下。
云信息流控制规则:
规则1,规则1表示主体能读客体,当且仅当主体污点包含客体污点,且主体能被所含的客体污点集中的所有污点颜色所污染,此处的客体污点集为主体污点包含的客体污点的集合;比如,***某文件污点信息中包含红色与绿色,某进程能读取该文件,则红色和绿色属于进程颜色集,且该进程必须具备被红色和绿色感染能力;即,当且仅当主体污点包含客体污点,且主体能被所含的客体污点集中的所有污点颜色所污染,则确定主体能读客体;
规则2,规则2表示主体能写客体,当且仅当客体污点包含主体污点,且客体能被所含的主体污点集中的所有污点颜色所污染,此处的主体污点集为客体污点包含的主体污点的集合;比如,***某进程向文件中写含红色污点的信息,则红色属于该文件颜色集,且该文件必须具备被红色感染能力;即当且仅当客体污点包含主体污点,且客体能被所含的主体污点集中的所有污点颜色所污染,则确定主体能写客体;
规则3,规则3表示主体能除去客体感染的污点颜色,当且仅当该污点颜色属于客体污点,且主体具有对该污点颜色的去污能力;比如,某文件包含红色污点,具备除红色能力的进程可以将红色污点从客体属性中除去;即当且仅当客体感染的污点颜色属于客体污点,且主体具有对该污点颜色的去污能力,则确定主体能除去客体感染的污点颜色;
云污点传播规则:
规则4,D(S,ms,r,O,mo)=accept→ft(ms)=ft(mo)∪ft(ms);规则4表示主体从客体中读数据存入数据m后,数据m污点将更新为客体污点与数据m污点的并集。比如,某进程数据污点包含绿色,某文件污点包含红色与黄色,当读动作发生后,进程数据污点更新为绿色,红色与黄色;即若主体从客体中读数据并存入数据m,则数据m的污点更新为客体污点与数据m污点的并集;
规则5,D(S,ms,w,O,mo)=accept→ft(mo)=ft(mo)∪ft(ms);规则5表示主体将数据m写入客体后,客体污点将更新为客体污点与数据m污点的并集;比如,某进程数据污点包含绿色,某文件污点包含红色与黄色,当写动作发生后,文件污点更新为绿色,红色与黄色;即若主体将数据m写入客体,则客体污点更新为客体污点与数据m污点的并集;
规则6,D(S,c,O,mo,colori)=accept→ft(mo)=ft(mo)-colori;规则6表示主体删除客体污点的某种污点颜色后,该污点颜色从客体污点中除去;比如,某文件污点包含红色与黄色,当删除黄色动作发生后,文件污点更新为红色;即若主体删除客体污点的某种污点颜色,则该污点颜色从客体污点中除去。
可选的,本发明实施例也可在应用程序层设置两个高层应用,用于配置进程能力标记和发出敏感信息泄露通知。
可以看出,本发明实施例可依据安卓分层体系结构特点,在***时实运行层、中间框架层和应用程序层修改或添加相应代码;利用***实时运行层提供的实时运行环境,实现数据安全标签的标记与获取,保证在实时运行时所有的敏感信息的安全标签可实时标记和获取;在中间框架层,将应用程序安全标签的标记于虚拟机共享库中,以备实时地获取;同时,在中间框架通信关键点实现依据应用程序安全标签和数据安全标签进行信息流控制;在应用程序层设置两个高层应用,用于配置进程能力标记和发出敏感数据泄露通知。
图3为本发明实施例中信息流控制的工作过程示意图,该图中示出了基本流程与流程实现的基本模块组成,如图3所示,工作过程可以如下:
①systemserver通过zygote启动时,默认设置能力标记0x7FFFFFFF;非systemserver通过zygote启动时,在其唯一入口Process.start处传入已解析策略能力标记信息,并保存在虚拟机共享库libfcpolicy.so中。
②***应用在获取敏感数据时,为相应数据进行相应污点标记。针对不同的数据类型,需要采用不同的标记添加方法。
③***发生binder通信时,设置相应钩子函数,将通信双方能力与通信数据的污点标记信息传入并依据模型控制规则返回判决结果。若允许此次通信,将源数据污点附加于目的数据上。否则拒绝此次通信,并将此次通信审计信息写入***日志。
④Method area中的类域(class fields)用于存储程序运行时的所有临时数据及其污点。
⑤应用程序在自身dalvik虚拟机内运行时,污点随产生信息流的指令执行而传播。
⑥应用程序在脱离dalvik虚拟机执行时,污点数据随返回值返回。
⑦Linux内核提供策略文件装载支持、文件附加属性支持、进程安全标记支持、binder驱动支持和日志审计支持。
⑧FCDroidNotify监视***产生的违反策略规则的日志,并将解析后日志记录通过向状态栏发送notification形式通知用户。
⑨***开机时,通过修改PMS,完成策略文件xml解析并保存在相应数据结构中以加快应用启动。
下面对本发明实施例提供的敏感信息安全保护***进行介绍,下文描述的敏感信息安全保护***可与上文描述的敏感信息安全保护方法相互对应参照。
图4为本发明实施例提供的敏感信息安全保护***的结构框图,参照图4,该敏感信息安全保护***可以包括:
应用程序安全标签获取模块100,同于获取预标记的应用程序安全标签,所述应用程序安全标签指示有应用程序的污点信息;
敏感信息安全标签获取模块200,用于获取预标记的敏感信息安全标签;所述敏感信息安全标签至少指示有敏感信息的污点信息;
污点确定模块300,用于根据所述应用程序安全标签及敏感信息安全标签,确定主体污点和客体污点;所述主体为对敏感信息的主动行为发出者,所述客体为主体行为的承受者;
控制模块400,用于根据所述主体污点和客体污点,控制敏感信息的流向。
可选的,应用程序安全标签的标记可在***中间框架层实现,且被标记于虚拟机共享库;
图5示出了本发明实施例提供的敏感信息安全保护***的另一结构框图,结合图4和图5所示,该***还可以包括:
应用程序安全标签标记模块500,用于装载并解析策略文件,将解析出的应用程序的安全标记信息保存在新增的数据结构项中;当应用程序启动时,传入该应用程序的应用安全标记信息,并传入虚拟机启动参数;解析所述虚拟机启动参数,基于该应用程序的应用安全标记信息标记相应的应用程序安全标签,并将应用程序安全标签存入虚拟机共享库中。
可选的,所述敏感信息安全标签的标记可在***实时运行层实现;
图6示出了本发明实施例提供的敏感信息安全保护***的再一结构框图,结合图4和图6所示,该***还可以包括:
敏感信息安全标签标记模块600,用于采用TaintDroid污点标记方法,对基本变量和java对象进行污点标记,以实现敏感信息安全标签的标记。
可选的,应用程序安全标签标记模块500和敏感信息安全标签标记模块600可同时存在。
可选的,控制模块400可进行云信息流控制,相应的,控制模块400根据所述主体污点和客体污点,控制敏感信息的流向的过程,具体可以是:
当且仅当主体污点包含客体污点,且主体能被所含的客体污点集中的所有污点颜色所污染,则确定主体能读客体;
或,当且仅当客体污点包含主体污点,且客体能被所含的主体污点集中的所有污点颜色所污染,则确定主体能写客体;
或,当且仅当客体感染的污点颜色属于客体污点,且主体具有对该污点颜色的去污能力,则确定主体能除去客体感染的污点颜色。
可选的,控制模块400可进行云污点传播控制,相应的,控制模块400根据所述主体污点和客体污点,控制敏感信息的流向的过程,具体可以是:
若主体从客体中读数据并存入数据m,则数据m的污点更新为客体污点与数据m污点的并集;
或,若主体将数据m写入客体,则客体污点更新为客体污点与数据m污点的并集;
或,若主体删除客体污点的某种污点颜色,则该污点颜色从客体污点中除去。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种敏感信息安全保护方法,其特征在于,包括:
获取预标记的应用程序安全标签及敏感信息安全标签;所述应用程序安全标签指示有应用程序的污点信息,所述敏感信息安全标签至少指示有敏感信息的污点信息;
根据所述应用程序安全标签及敏感信息安全标签,确定主体污点和客体污点;所述主体为对敏感信息的主动行为发出者,所述客体为主体行为的承受者;其中,基于所述应用程序安全标签实现所述主体污点的确定,基于所述敏感信息安全标签实现所述客体污点的确定;
根据所述主体污点和客体污点,控制敏感信息的流向。
2.根据权利要求1所述的敏感信息安全保护方法,其特征在于,所述应用程序安全标签的标记在***中间框架层实现,且被标记于虚拟机共享库;所述敏感信息安全标签的标记在***实时运行层实现。
3.根据权利要求2所述的敏感信息安全保护方法,其特征在于,所述应用程序安全标签的标记过程包括:
装载并解析策略文件,将解析出的应用程序的安全标记信息保存在新增的数据结构项中;
当应用程序启动时,传入该应用程序的应用安全标记信息,并传入虚拟机启动参数;
解析所述虚拟机启动参数,基于该应用程序的应用安全标记信息标记相应的应用程序安全标签,并将应用程序安全标签存入虚拟机共享库中。
4.根据权利要求2所述的敏感信息安全保护方法,其特征在于,所述敏感信息安全标签的标记过程包括:
采用TaintDroid污点标记方法,对基本变量和java对象进行污点标记,以实现敏感信息安全标签的标记。
5.根据权利要求1所述的敏感信息安全保护方法,其特征在于,所述根据所述主体污点和客体污点,控制敏感信息的流向包括:
当且仅当主体污点包含客体污点,且主体能被所含的客体污点集中的所有污点颜色所污染,则确定主体能读客体;
或,当且仅当客体污点包含主体污点,且客体能被所含的主体污点集中的所有污点颜色所污染,则确定主体能写客体;
或,当且仅当客体感染的污点颜色属于客体污点,且主体具有对该污点颜色的去污能力,则确定主体能除去客体感染的污点颜色。
6.根据权利要求1所述的敏感信息安全保护方法,其特征在于,所述根据所述主体污点和客体污点,控制敏感信息的流向包括:
若主体从客体中读数据并存入数据m,则数据m的污点更新为客体污点与数据m污点的并集;
或,若主体将数据m写入客体,则客体污点更新为客体污点与数据m污点的并集;
或,若主体删除客体污点的某种污点颜色,则该污点颜色从客体污点中除去。
7.一种敏感信息安全保护***,其特征在于,包括:
应用程序安全标签获取模块,同于获取预标记的应用程序安全标签,所述应用程序安全标签指示有应用程序的污点信息;
敏感信息安全标签获取模块,用于获取预标记的敏感信息安全标签;所述敏感信息安全标签至少指示有敏感信息的污点信息;
污点确定模块,用于根据所述应用程序安全标签及敏感信息安全标签,确定主体污点和客体污点;所述主体为对敏感信息的主动行为发出者,所述客体为主体行为的承受者;其中,基于所述应用程序安全标签实现所述主体污点的确定,基于所述敏感信息安全标签实现所述客体污点的确定;
控制模块,用于根据所述主体污点和客体污点,控制敏感信息的流向。
8.根据权利要求7所述的敏感信息安全保护***,其特征在于,还包括:
应用程序安全标签标记模块,用于装载并解析策略文件,将解析出的应用程序的安全标记信息保存在新增的数据结构项中;当应用程序启动时,传入该应用程序的应用安全标记信息,并传入虚拟机启动参数;解析所述虚拟机启动参数,基于该应用程序的应用安全标记信息标记相应的应用程序安全标签,并将应用程序安全标签存入虚拟机共享库中;
敏感信息安全标签标记模块,用于采用TaintDroid污点标记方法,对基本变量和java对象进行污点标记,以实现敏感信息安全标签的标记。
9.根据权利要求7所述的敏感信息安全保护***,其特征在于,所述控制模块具体用于:
当且仅当主体污点包含客体污点,且主体能被所含的客体污点集中的所有污点颜色所污染,则确定主体能读客体;
或,当且仅当客体污点包含主体污点,且客体能被所含的主体污点集中的所有污点颜色所污染,则确定主体能写客体;
或,当且仅当客体感染的污点颜色属于客体污点,且主体具有对该污点颜色的去污能力,则确定主体能除去客体感染的污点颜色。
10.根据权利要求7所述的敏感信息安全保护***,其特征在于,所述控制模块具体用于:
若主体从客体中读数据并存入数据m,则数据m的污点更新为客体污点与数据m污点的并集;
或,若主体将数据m写入客体,则客体污点更新为客体污点与数据m污点的并集;
或,若主体删除客体污点的某种污点颜色,则该污点颜色从客体污点中除去。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611037052 | 2016-11-23 | ||
CN2016110370521 | 2016-11-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106778328A CN106778328A (zh) | 2017-05-31 |
CN106778328B true CN106778328B (zh) | 2019-12-10 |
Family
ID=58902212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611066955.2A Active CN106778328B (zh) | 2016-11-23 | 2016-11-28 | 一种敏感信息安全保护方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106778328B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11336628B2 (en) | 2018-11-01 | 2022-05-17 | Actifile LTD | Methods and systems for securing organizational assets in a shared computing environment |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102916963A (zh) * | 2012-10-26 | 2013-02-06 | 中国人民解放军信息工程大学 | 一种数据安全交换方法、装置、节点及*** |
CN103177210A (zh) * | 2013-04-02 | 2013-06-26 | 中国人民大学 | 一种在Android中植入动态污点分析模块的方法 |
CN103440201A (zh) * | 2013-09-05 | 2013-12-11 | 北京邮电大学 | 动态污点分析装置及其在文件格式逆向解析中的应用 |
CN104008329A (zh) * | 2014-05-22 | 2014-08-27 | 中国科学院信息工程研究所 | 一种基于虚拟化技术的软件隐私泄露行为检测方法及*** |
CN104462973A (zh) * | 2014-12-18 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | 移动终端中应用程序的动态恶意行为检测***及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140130153A1 (en) * | 2012-11-08 | 2014-05-08 | International Business Machines Corporation | Sound and effective data-flow analysis in the presence of aliasing |
-
2016
- 2016-11-28 CN CN201611066955.2A patent/CN106778328B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102916963A (zh) * | 2012-10-26 | 2013-02-06 | 中国人民解放军信息工程大学 | 一种数据安全交换方法、装置、节点及*** |
CN103177210A (zh) * | 2013-04-02 | 2013-06-26 | 中国人民大学 | 一种在Android中植入动态污点分析模块的方法 |
CN103440201A (zh) * | 2013-09-05 | 2013-12-11 | 北京邮电大学 | 动态污点分析装置及其在文件格式逆向解析中的应用 |
CN104008329A (zh) * | 2014-05-22 | 2014-08-27 | 中国科学院信息工程研究所 | 一种基于虚拟化技术的软件隐私泄露行为检测方法及*** |
CN104462973A (zh) * | 2014-12-18 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | 移动终端中应用程序的动态恶意行为检测***及方法 |
Non-Patent Citations (2)
Title |
---|
基于污点标记的访问控制模型及其安卓实现;吴泽智 等;《计算机应用》;20140228;第473-476页 * |
细粒度信息流控制模型及其关键技术研究;吴泽智;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160715;第54-66页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106778328A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Marforio et al. | Application collusion attack on the permission-based security model and its implications for modern smartphone systems | |
Bugiel et al. | Xmandroid: A new android evolution to mitigate privilege escalation attacks | |
Vidas et al. | Curbing android permission creep | |
Afonso et al. | Going native: Using a large-scale analysis of android apps to create a practical native-code sandboxing policy | |
US20190026464A1 (en) | Mobile application management | |
US11805152B2 (en) | Domain specific language for defending against a threat-actor and adversarial tactics, techniques, and procedures | |
CN106101113A (zh) | 一种云计算数据安全标记管理方法及*** | |
US20240080335A1 (en) | Domain-Specific Language Simulant for Simulating a Threat-Actor and Adversarial Tactics, Techniques, and Procedures | |
Bastys et al. | Tracking Information Flow via Delayed Output: Addressing Privacy in IoT and Emailing Apps | |
CN112651039A (zh) | 一种融合业务场景的电力数据差异化脱敏方法及装置 | |
Yuksel et al. | A comprehensive analysis of Android security and proposed solutions | |
Sikder et al. | A survey on android security: development and deployment hindrance and best practices | |
Rai | Android Application Security Essentials | |
CN108566643A (zh) | App访问控制方法、***、终端设备及存储介质 | |
Chan et al. | A privilege escalation vulnerability checking system for android applications | |
CN106778328B (zh) | 一种敏感信息安全保护方法及*** | |
Spreitzenbarth | Dissecting the Droid: Forensic analysis of android and its malicious applications | |
CN115396140A (zh) | 应用访问控制方法、装置、存储介质及计算机设备 | |
Mollus et al. | Curtailing privilege escalation attacks over asynchronous channels on Android | |
Mutti et al. | Policy specialization to support domain isolation | |
Tchakounte | A Malware Detection System for Android | |
Oberoi | Androsat: Security analysis tool for android applications | |
El-Serngawy et al. | Securing business data on android smartphones | |
Pan et al. | Defensor: Lightweight and efficient security-enhanced framework for Android | |
Bellizzi et al. | Using Infrastructure-Based Agents to Enhance Forensic Logging of Third-Party Applications. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |