CN101997912A - 基于Android平台的强制访问控制装置及控制方法 - Google Patents

基于Android平台的强制访问控制装置及控制方法 Download PDF

Info

Publication number
CN101997912A
CN101997912A CN2010105207490A CN201010520749A CN101997912A CN 101997912 A CN101997912 A CN 101997912A CN 2010105207490 A CN2010105207490 A CN 2010105207490A CN 201010520749 A CN201010520749 A CN 201010520749A CN 101997912 A CN101997912 A CN 101997912A
Authority
CN
China
Prior art keywords
security server
kernel
security
access control
file
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.)
Pending
Application number
CN2010105207490A
Other languages
English (en)
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.)
SUZHOU LINGXIAO TECHNOLOGY Co Ltd
Original Assignee
SUZHOU LINGXIAO TECHNOLOGY 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 SUZHOU LINGXIAO TECHNOLOGY Co Ltd filed Critical SUZHOU LINGXIAO TECHNOLOGY Co Ltd
Priority to CN2010105207490A priority Critical patent/CN101997912A/zh
Publication of CN101997912A publication Critical patent/CN101997912A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明公开了一种基于Android平台的强制访问控制装置及控制方法,所述装置包括安全服务器,其特征在于所述Android平台内核嵌入与安全服务器通讯的HOOK模块,所述用于截获操作系统进程对内核对象的访问请求,并提供给安全服务器进行安全判断;所述HOOK模块根据安全服务器的安全判断结果控制访问请求的许可与否。本发明不允许主体干涉访问控制策略,通过比较主体与客体的安全标签来确定是否允许访问,比Android系统自带的两层安全机制具有更高的安全性。

Description

基于Android平台的强制访问控制装置及控制方法
技术领域
本发明属于智能手机安全技术领域,涉及一种Android系统的安全加固方法,具体涉及一种基于Android平台的强制访问控制装置及控制方法,可以实现对Android系统的强制访问控制。
背景技术
目前,智能手机越来越普及,智能手机操作系统也种类繁多,而其中由google提出的手机操作系统Android已经引起了业界的广泛关注,并越来越普及,并衍生出Ophone、Lephone等Android核心的智能手机操作系统,因为对Android系统的安全加固具有重要意义。Android系统本身采用了两层安全机制,首先,Android基于Linux内核,因此,它继承了Linux内核所提供的基于用户的自主访问控制机制,即系统拥有若干个用户,每个用户都属于一个主组,同时可以属于多个添加组,系统给每个用户分配唯一的用户id;每个文件都属于一个单独的用户和组,并且拥有三组写、读和执行的权限,这三组分别用来表明所属组、所属用户以及其他用户对该文件的访问权限,在Android系统中,默认情况下为每个应用程序分配一个唯一的用户id,每个应用程序都只能读、写和执行自己的文件,并不能读、写和执行其他程序的文件。其次,Android系统在应用程序级上提供了一种授权机制,Android操作系统定义了一百多种权限用来控制应用程序对于系统资源的访问,默认情况下应用程序没有任何权限,但应用程序可以指明自己所需要的权限。系统在安装应用程序的时候授予它所申请的权限,即指定其可以使用的系统资源等,所授予的这些权限是在应用程序安装时确定的,以后不能更改。但是,Android系统采用的两层安全机制存在着缺陷,首先,自主访问控制机制最大的缺陷是存在超级用户,该用户拥有完全的系统访问控制权限,恶意软件可以通过系统中应用软件的漏洞来获取超级用户权限,进而控制整个系统;其次,就是应用程序层的权限控制粒度较粗,以至于某些情况不能满足安全控制的要求。因此,Android系统的安全目前不能得到充分保障。
发明内容
本发明目的在于提供一种基于Android平台的强制访问控制装置,解决了现有技术中Android智能平台仅采用两层安全机制,导致Android平台的安全性得不到充分保障等问题。
为了解决现有技术中的这些问题,本发明提供的技术方案是:
一种基于Android平台的强制访问控制装置,包括安全服务器,其特征在于所述Android平台内核嵌入与安全服务器通讯的HOOK模块,所述用于截获操作系统进程对内核对象的访问请求,并提供给安全服务器进行安全判断;所述HOOK模块根据安全服务器的安全判断结果控制访问请求的许可与否。
优选的,所述HOOK模块在内核模块的敏感对象数据结构中设置安全标识符或设置HOOK函数监控内核操作函数而截获内核操作。
优选的,所述安全服务器包括用于统一管理安全上下文的对象管理器和用于加载、初始化和管理策略数据库的策略管理器;所述安全服务器根据访问请求的对象确定对象管理器的安全上下文,然后查询策略管理器,依据策略数据库中的安全规则,判定是否有执行该请求的权限HOOK模块根据安全服务器的安全判断结果控制访问请求的许可与否。
优选的,所述安全上下文包括Android系统中进程的域信息和文件的型信息,且与HOOK模块为敏感对象设置的安全标识符一一对应。
优选的,所述安全标识符为HOOK模块在敏感对象的数据结构内设置的安全字段。
优选的,所述策略数据库内存储了域与型以及域与域之间的访问规则和进行跨域操作的域转移规则;所述安全服务器进行权限判定是根据策略数据库的规则判定对象的访问请求是否许可。
优选的,所述策略数据库通过读取由策略编译器将策略源文件编译成的符合策略数据库结构的二进制策略文件而形成,系统启动时加载到内核中为安全服务器进行权限判定时提供依据。
本发明的另一目的在于提供一种基于Android平台的强制访问控制方法,其特征在于所述Android平台的内核嵌入HOOK模块和与HOOK模块通讯的安全服务器,所述方法包括以下步骤:
(1)用户进程通过系统调用向Android内核模块发送访问对象请求;
(2)HOOK模块截获操作系统进程对内核对象的访问请求,并提供给安全服务器进行安全判断;
(3)安全服务器进行权限判定后,HOOK模块根据安全服务器的判断结果许可访问对象请求与否。
优选的,所述方法设置在Linux自主访问控制执行步骤之后,执行内核对象访问之前。
本发明提供的Android系统强制访问控制的实现方法,通过加设在Android操作系统的Hook模块和安全服务器,可以实现动态、可靠、细粒度的访问控制机制;其中,HOOK模块的主要任务:确定敏感对象并对其设置hook点(即监控点);依据对象管理器的要求为敏感对象设置安全域,用于存储安全标识符;对系统的关键操作进行监控,并将敏感的访问请求信息发送至安全服务器请求判断。
本发明技术方案中所述的安全服务器包括对象管理器、策略管理器;本发明将Android系统中进程和文件的集合视为对象,通过控制进程对文件的访问实现强制访问控制,将进程视为主体,文件视为客体,向进程赋予不同的域,向文件赋予不同的型,通过比较域与型之间的关系确定主体是否可以访问客体,主体的域和客体的型统称为安全上下文,所述的对象管理器用于统一管理安全上下文;所述的策略管理器用于加载、初始化和管理策略数据库,策略数据库保存了两种安全规则:一种规则是域与型以及域与域之间的访问规则,另一种规则是用来规范跨域操作的域转移规则,策略数据库为安全服务器进行权限判定提供依据。
Android系统强制访问控制的实现方法包括:Hook模块截获操作系统进程对内核对象的访问请求,并提供给安全服务器进行安全判断;安全服务器依据对象管理器确定进程与其所访问对象的安全标签,然后查询策略管理器,依据策略数据库中的安全规则,判定是否有执行该请求的权限,如果有权限,则向Hook模块返回允许,并执行该请求;如果没有权限,则返回不允许,并拒绝该请求。
对Android系统进行监控的目的在于保证智能手机的基本安全性,包括系统进程、文件(在Android系统中,网络等设备可以统一视为文件管理)的安全性。用户进程执行请求的步骤如下:
(1)执行系统调用;
(2)定位和查找要访问的客体;
(3)进行错误检查;
(4)进一步进行Linux自主访问控制检查;
(5)将该访问请求发送至安全服务器,安全服务器依照其安全策略进行安全性检查,决定是否允许执行该操作;
(6)如果允许该操作,则访问该客体;如果拒绝该操作,则放弃访问该课题。
Hook模块管理内核对象主要有两个手段:一是设置安全域,即在内核对象对应的数据结构中添加安全字段(称为安全标识符),安全标识符与对象管理器中的安全上下文一一对应,安全上下文描述了对象的安全属性;二是利用Hook函数监控内核操作函数,截获内核操作。Hook函数可以截获重要的系统调用,然后由安全服务器仲裁这些对内核对象的访问。
所述的安全服务器包括对象管理器、策略管理器,本发明技术方案将Android系统视为文件和进程的集合,通过向进程赋予不同的域并向文件赋予不同的型而进行访问控制,安全上下文指的是主体的域和客体的型。所述的对象管理器用于对安全上下文进行统一的管理,在本发明中,定义两个数据类型:安全标识符和安全上下文,安全标识符是安全上下文的索引,安全上下文是由可变长字符串表示的。在对操作系统进行访问控制时,一般会给内核对象做标记,也就是为内核对象分配安全上下文,出于安全性的考虑,应该将安全上下文进行统一管理,对象管理器应该实现对内核对象的安全上下文的统一管理。对象管理器为安全上下文提供安全标识符。安全标识符是一个整数,对象管理器把它映射到对应的安全上下文,作为主客体的安全标记,安全上下文保存在对象管理器中,安全上下文是由安全标识符索引的,安全标识符与安全上下文一一对应。安全标识符是一个整数,对象管理器负责安全标识符到安全上下文的映射,对象管理器集中管理安全上下文,提高了系统的安全性。
所述的策略管理器用于加载、初始化和管理策略数据库,策略数据库保存了两种安全规则:一种规则是域与型以及域与域之间的访问规则,使用这些规则进行访问控制;另一种规则是域转移规则,即将一个进程的域转移给另外一个进程的规则,可以满足进程隔离以及最小特权的安全要求。策略编译器把策略源文件编译成符合策略数据库结构的二进制策略文件,策略数据库通过读取二进制策略文件形成,为安全服务器进行权限判定时提供依据,它在系统启动时加载到内核中。
上述的Android系统访问控制的实现,其中访问控制的流程如下:
Hook模块把截获的访问请求发给安全服务器,安全服务器查询策略管理器,依据策略数据库中的安全规则,判定是否有执行该请求的权限,如果有权限,则向Hook模块返回允许,并执行该请求;如果没有权限,则返回不允许,并拒绝该请求。
本发明实现的访问控制机制是细粒度的强制访问控制机制,本发明将Android系统视为文件和进程的集合,通过将进程赋予不同的域和给文件赋予不同的型而进行访问控制的,从一个域去访问一个型以及从一个域访问其他的域都是由策略控制的。如果在策略中规定某个域是不能通过某种访问模式去访问某个型的,那么这个域的进程则不能通过该种访问模式访问具有此型的对象。即在一个进程试图去访问一个文件的时候,本系统在做标准的系统许可性检查之前,先根据域与型之间的访问规则判断是否允许访问,如果该域拥有被访问的文件所属的型要求的访问权限,那么这个访问是允许的,接着继续执行正常的系统许可性检查。
本系统定义了一个数据结构(即安全上下文的数据结构)来统一地描述系统的域的属性和型的属性;本系统用授权规则来描述系统的访问规则;本系统定义了域转移规则和初始域特性。本系统将进程分配到不同的域中,不同的文件分配到不同的型中,同时定义了不同的域访问不同的型的访问规则,以及进程在不同的域内进行转移的规则,这样可以保护信息的完整性。
相对于现有技术中的方案,本发明的优点是:
本发明解决了现有技术中Android系统现有安全机制中存在的不足,通过HOOK模块和安全服务器的设置对Android系统进行安全加固,实现强制访问控制功能。
本发明技术方案提供的是一种适用于Android系统的,更具有“强制性”的访问控制机制,它不允许主体干涉,系统为主体和客体赋予特定的安全上下文,系统依据主/客体的安全上下文以及安全规则来判断主体是否有访问客体的权限,安全规则指的是策略数据库中的策略。该访问控制机制比Android系统自带的两层安全机制具有更高的安全性,可以实现动态、细粒度的访问控制。
本发明涉及基于Android系统的安全加固的实现,为Android系统实现了强制访问控制功能,它包括:Hook(钩子)模块和安全服务器;Hook模块把截获到的主体对客体的访问请求发给安全服务器,安全服务器查询其所包含的对象服务器,确定主体与客体的安全标签,然后查询其所包含的策略管理器,依据策略管理器中数据库所存储的安全规则,判定行为主体是否有执行该请求的权限,如果有权限,则向Hook模块返回允许,该请求被执行;如果没有权限,则返回不允许,该请求被拒绝。本发明所实现的访问控制不允许主体干涉访问控制策略,通过比较主体与客体的安全标签来确定是否允许访问,因此本发明是一种更具有“强制性”的访问控制机制,比Android系统自带的两层安全机制具有更高的安全性。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1为本发明实施例的系统框架示意图;
图2为本发明实施例的主体访问客体流程示意图;
图3为本发明实施例的工作流程示意图。
具体实施方式
以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的条件。
实施例Android的安全访问控制实现
以下实施例具体实现了基于Android的安全加固过程,其采用的基本技术方案如上所述,包括:Hook模块和安全服务器,系统的具体框架如图1所示。所述的Hook模块用于截获操作系统对内核对象的访问请求,并提供给安全服务器进行安全判断,Hook模块提供一类Hook函数以便截获重要的系统调用,Hook函数本质上是在Android系统内核源码中增加一些具有仲裁功能的API,如图2所示,这些Hook函数添加在Linux自主访问控制执行之后、内核对象访问函数执行之前,这样就可以实现强制访问控制的功能。所述的安全服务器包括对象管理器和策略管理器,安全服务器的功能是处理HOOK模块的判定请求,以及管理内核对象的安全上下文。本系统的具体实施方式如下:
本系统为安全模块提供接口,在内核引导时,它被初始化成一些虚函数,这些虚函数接着由Hook模块实现,用一个全局表存储这些虚函数的指针,内核引导的过程中,系统使用特殊的空函数来初始化全局表security_ops(即linux中原始定义的全局表),此时security_ops保存的是空函数。
本系统将实现后的系统API保存在自定义数据结构pfac_ops中,然后使用register_security()函数向系统注册该安全模块,register_security()函数将设置全局表security_ops,全局表security_ops中的函数指针指向pfac_ops结构定义的Hook函数指针,这些API就以函数指针的形式保存在全局表security_ops中,如果某个函数指针没有指向任何Hook函数,则系统依旧使用空函数。当安全模块被加载后,它就成为系统安全策略的决策中心。HOOK模块中,系统为各个内核对象均添加了安全域(security field),安全域在内核对象被创建时同时初始化。在security域中保存了内核对象的安全标识符,Hook模块维护了内核对象到安全标识符的映射。例如:在创建一个新进程的时候,系统会将此进程对应的结构体task_struct中的security域指向一个进程安全结构(task_security_struct)(进程安全结构)。Hook模块在内核中安插了各类监控点,在此以security_task_create()函数(创建任务的函数)为例介绍这些监控点,do_fork()函数(建立子进程函数)会调用该函数,它的具体实现如下:
int security_task_create(unsigned long clone_flags)
{
return security_ops->task_create(clone_flags);
}
struct security_operations pfac_ops={
.task_create=pfac_task_create,
};
全局表security_ops指向pfac_ops结构定义的钩子函数指针,调用security_ops的task_create()函数,就是调用pfac_task_create()函数,pfac_task_create()函数是一个Hook函数的具体实现,pfac_task_create()函数的功能是检查当前的进程是否有创建进程的权限,该函数把访问请求发给安全服务器,安全服务器查询策略管理器,依据策略数据库中的安全规则,判定当前的进程是否有创建进程的权限,如果有权限,则创建进程,如果没有权限,则不创建进程。
本安全模块不属于标准内核代码,所以在Android系统的Linux内核中并没有本框架的代码。由上面的分析可以得出在搭建本监控系统的时候,需要完成以下几步:
(1)首先要将本监控系统的补丁文件和代码文件放到内核相应的目录下(/kernel/security/pfac),接着为内核打上本监控系统提供的补丁;
(2)用本监控系统提供的配置文件覆盖/kernel/目录下的配置文件:因为我们编译内核的时候要使用到模拟器中的配置文件,所以我们要使用下面的命令导出配置文件:adb pull/proc/config.gz.这时候adb工具会连接模拟器,并从它里面下载一个叫做config.gz的文件到当前目录下,接着我们解压config.gz文件,用它覆盖/kernel/目录下的config文件;
(3)用本监控系统提供的根文件系统:
本监控系统需要file_context文件和policy文件,并且需要修改系统的/init文件,这三个文件是需要存储在文件系统中的,因此,我们需要修改文件系统,步骤如下:
把ram disk.img重命名为ramdisk.cpio.gz;
解压:#gzip-d ramdisk.cpio.gz,#cpio-i-F ramdisk.cpio;
把file_context文件和policy文件放入文件系统中,并且修改/init文件;
重新压缩:#cpio-i-t-F../ramdisk.cpio|cpio-o-H newc-O../ramdisk_new.cpio。
(4)用本监控系统提供的Makefile文件覆盖/kernel/security/目录下的Makefile文件,与此同时,还要修改/kernel/目录下的Makefile文件,接着使用make命令编译内核:
由于本监控系统是进行内核级别的修改,所以要重新编译内核。
首先修改kernel目录中的Makefile文件,方法如下:
修改CROSS_COMPILE变量为:
CROSS_COMPILE=arm-none-linux-gnueabi-
这个是我们安装的交叉编译器的工具链的前缀了,旨在告诉make,在编译的时候要使用我们的工具链。
在Makefile中注释掉LDFLAGS_BUILD_ID这个变量:
LDFLAGS_BUILD_ID=$(patsubst-Wl$(comma)%,%,\
           $(call ld-option,-Wl$(com ma)--build-id,))
否则,编译出来的内核太大,无法使用。
使用make命令开始编译,最终会在/android/kernel/arch/arm/boot目录下面生成一个zImage,这个就是我们要的内核映像了。
(5)使用新的内核启动:
用新内核启动的命令为:
emulator-avd myavd1.6-kernel
/android/kernel/arch/arm/boot/zImage-skin HVGA-P-HTCMagic-scale 0.8&。
(6)重新编译过的内核在启动的时候就会注册本安全模块来实施强制访问控制了。系统启动的时候首先是内核进行初始化,接着执行/init文件并且生成init进程(1号进程),然后就由init进程去完成系统初始化的其它工作。安全服务器使用的策略数据库是策略源文件由策略编译器编译得来的二进制文件,它是保存在磁盘上的,为了使本安全模块工作,需要在内核初始化完成之后立刻加载该文件,接着再初始化系统的其他部分。为了达到这个目标,我们首先需要在系统根目录下创建出策略文件/pfac/policy,然后修改/init文件,使系统开始执行的第一个任务就是加载/pfac/policy文件,在加载成功的情况下继续执行其它任务。
本发明的初始化流程如下:pfac_init()函数的功能是注册安全模块,从此,这个安全模块就成为系统安全策略的决策中心,主体的系统调用对内核对象的访问权限就由这个安全模块决定;接着调用pfac_load_policy()函数加载和初始化策略数据库,安全服务器在加载完policydb以后,接着会调用css_complete_init()函数来完成安全服务器的初始化工作。
由于使用Android操作系统的智能手机的操作系统是在出厂的时候固化在手机上的,所以当策略改变的时候,我们要修改文件系统,步骤如下:
把ramdisk.img重命名为ramdisk.cpio.gz;
解压:#gzip-d ramdisk.cpio.gz,#cpio-i-F ramdisk.cpio;
修改文件夹中的file_context文件和policy文件;
重新压缩:#cpio -i -t -F../ram dis k.cpio|cpio-o-H newc-O../ram disk_new.cpio。
以下我们将以一个具体的实例说明本发明内容的执行过程。当一个安全标识符为5的进程希望读取一个安全标识符为3的文件,如图2所示,本发明中进程对文件的访问流程如下:
(1)进程执行访问文件的系统调用;
(2)进程定位和查找其要访问的文件;
(3)进程进行错误检查;
(4)进程进行Linux自主访问控制检查;
(5)Hook函数拦截住系统操作,通过安全模块判定是否允许执行该操作;
(6)如果允许该操作,则进程可以访问该文件。
在第5步,Hook模块截获了访问请求并将其发给安全服务器,安全服务器将进程和文件的安全标识符转化为安全上下文,假设进程的安全上下文为vim_exec_t,文件的安全上下文为denydir_dir_t,查询安全服务器可知有一条安全策略是拒绝安全上下文为vim_exec_t的进程读取安全上下文为denydir_dir_t的文件,安全服务器将拒绝返回给Hook模块,进程无法读取该文件,这便实现了Android系统中的强制访问控制功能。
如图3所示,安全服务器判断的具体工作流程如下:
1.安全服务器接口收到hook函数的判定请求
2.安全服务器接口向安全服务器发出判定请求;
3.对象管理器将进程和文件的安全标识符转化为安全上下文,进程的安全上下文为vim_exec_t,文件的安全上下文为denydir_dir_t,安全服务器根据策略数据库中的策略文件判断是否允许该进程访问该文件;
4.查询策略数据库可知有一条安全策略是拒绝安全上下文为vim_exec_t的进程读取安全上下文为denydir_dir_t的文件,安全服务器得到判定结果为拒绝;
5.安全服务器将拒绝交给安全服务器的接口;
6.由安全服务器的接口返回拒绝给Hook模块。
目前,本发明已经在模拟器和真机上实现,本发明是一种更具有“强制性”的访问控制机制,它不允许主体干涉,系统为主体和客体赋予特定的安全上下文,系统依据主/客体的安全上下文以及安全规则来判断主体是否有访问客体的权限。该访问控制机制比Android系统自带的两层安全机制具有更高的安全性。
上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。

Claims (9)

1.一种基于Android平台的强制访问控制装置,包括安全服务器,其特征在于所述Android平台内核嵌入与安全服务器通讯的HOOK模块,所述用于截获操作系统进程对内核对象的访问请求,并提供给安全服务器进行安全判断;所述HOOK模块根据安全服务器的安全判断结果控制访问请求的许可与否。
2.根据权利要求1所述的基于Android平台的强制访问控制装置,其特征在于所述HOOK模块在内核模块的敏感对象数据结构中设置安全标识符或设置HOOK函数监控内核操作函数而截获内核操作。
3.根据权利要求1所述的基于Android平台的强制访问控制装置,其特征在于所述安全服务器包括用于统一管理安全上下文的对象管理器和用于加载、初始化和管理策略数据库的策略管理器;所述安全服务器根据访问请求的对象确定对象管理器的安全上下文,然后查询策略管理器,依据策略数据库中的安全规则,判定是否有执行该请求的权限;HOOK模块根据安全服务器的安全判断结果控制访问请求的许可与否。
4.根据权利要求3所述的基于Android平台的强制访问控制装置,其特征在于所述安全上下文包括Android系统中进程的域信息和文件的型信息,且与HOOK模块为敏感对象设置的安全标识符一一对应。
5.根据权利要求4所述的基于Android平台的强制访问控制装置,其特征在于所述安全标识符为HOOK模块在敏感对象的数据结构内设置的安全字段。
6.根据权利要求3所述的基于Android平台的强制访问控制装置,其特征在于所述策略数据库内存储了域与型以及域与域之间的访问规则和进行跨域操作的域转移规则;所述安全服务器进行权限判定是根据策略数据库的规则判定对象的访问请求是否许可。
7.根据权利要求6所述的基于Android平台的强制访问控制装置,其特征在于所述策略数据库通过读取由策略编译器将策略源文件编译成的符合策略数据库结构的二进制策略文件而形成,系统启动时加载到内核中为安全服务器进行权限判定时提供依据。
8.一种基于Android平台的强制访问控制方法,其特征在于所述Android平台的内核嵌入HOOK模块和与HOOK模块通讯的安全服务器,所述方法包括以下步骤:
(1)用户进程通过系统调用向Android内核模块发送访问对象请求;
(2)HOOK模块截获操作系统进程对内核对象的访问请求,并提供给安全服务器进行安全判断;
(3)安全服务器进行权限判定后,HOOK模块根据安全服务器的判断结果许可访问对象请求与否。
9.根据权利要求8所述的方法,其特征在于所述方法设置在Linux自主访问控制执行步骤之后,执行内核对象访问之前。
CN2010105207490A 2010-10-27 2010-10-27 基于Android平台的强制访问控制装置及控制方法 Pending CN101997912A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105207490A CN101997912A (zh) 2010-10-27 2010-10-27 基于Android平台的强制访问控制装置及控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105207490A CN101997912A (zh) 2010-10-27 2010-10-27 基于Android平台的强制访问控制装置及控制方法

Publications (1)

Publication Number Publication Date
CN101997912A true CN101997912A (zh) 2011-03-30

Family

ID=43787483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105207490A Pending CN101997912A (zh) 2010-10-27 2010-10-27 基于Android平台的强制访问控制装置及控制方法

Country Status (1)

Country Link
CN (1) CN101997912A (zh)

Cited By (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102186167A (zh) * 2011-04-11 2011-09-14 中兴通讯股份有限公司 一种对应用进行监控的方法及系统
CN102495988A (zh) * 2011-12-19 2012-06-13 北京诺思恒信科技有限公司 一种基于域的访问控制方法及系统
CN102904889A (zh) * 2012-10-12 2013-01-30 北京可信华泰信息技术有限公司 支持跨平台统一管理的强制访问控制系统及方法
CN102930202A (zh) * 2012-11-05 2013-02-13 曙光信息产业(北京)有限公司 在Linux系统中执行操作的方法
CN102984125A (zh) * 2012-10-31 2013-03-20 蓝盾信息安全技术股份有限公司 一种移动数据隔离的系统及方法
CN103067392A (zh) * 2012-12-28 2013-04-24 中国人民解放军理工大学 一种基于Android终端的安全访问控制方法
CN103297438A (zh) * 2013-06-20 2013-09-11 上海辰锐信息科技公司 一种用于移动终端安全机制的缓存访问控制方法
CN103312810A (zh) * 2013-06-21 2013-09-18 上海辰锐信息科技公司 一种远程虚拟文件系统
WO2013182006A1 (zh) * 2012-06-07 2013-12-12 北京奇虎科技有限公司 一种用于拦截应用程序对服务的调用的方法和装置
CN103514030A (zh) * 2012-07-24 2014-01-15 Tcl集团股份有限公司 Android系统的事件收集上报系统及其收集上报方法
CN103581187A (zh) * 2013-11-05 2014-02-12 曙光云计算技术有限公司 访问权限的控制方法及控制系统
CN103679009A (zh) * 2012-09-19 2014-03-26 珠海市君天电子科技有限公司 终端安全防御的方法及终端安全防御装置
CN103677829A (zh) * 2013-12-13 2014-03-26 北京同有飞骥科技股份有限公司 对象操作访问控制的系统和方法
CN103886249A (zh) * 2012-12-20 2014-06-25 腾讯科技(深圳)有限公司 系统超级用户权限下执行进程的方法及装置
CN104008337A (zh) * 2014-05-07 2014-08-27 广州华多网络科技有限公司 一种基于Linux系统的主动防御方法及装置
CN104035787A (zh) * 2014-07-01 2014-09-10 深圳数字电视国家工程实验室股份有限公司 一种基于Andriod内核的强制访问控制方法及装置
CN104102878A (zh) * 2013-04-10 2014-10-15 中国科学院计算技术研究所 一种Linux平台下的恶意代码分析方法及系统
CN104133726A (zh) * 2014-08-13 2014-11-05 浪潮电子信息产业股份有限公司 一种进程上下文强制访问控制方法
CN104268470A (zh) * 2014-09-26 2015-01-07 酷派软件技术(深圳)有限公司 安全控制方法和安全控制装置
CN104298925A (zh) * 2014-10-14 2015-01-21 北京可信华泰信息技术有限公司 操作系统主动免疫平台的设计和实现方法
CN104318171A (zh) * 2014-10-09 2015-01-28 中国科学院信息工程研究所 基于权限标签的Android隐私数据保护方法及系统
CN104732147A (zh) * 2015-04-13 2015-06-24 成都睿峰科技有限公司 一种应用程序处理方法
CN104850625A (zh) * 2015-05-20 2015-08-19 浪潮电子信息产业股份有限公司 一种数据库安全防护方法及装置
CN104951707A (zh) * 2015-05-13 2015-09-30 上海交通大学 基于Android平台的敏感资源访问控制策略系统
CN105184167A (zh) * 2015-07-21 2015-12-23 电子科技大学 基于TPM细粒度权限的Android系统安全增强系统及方法
CN105468976A (zh) * 2015-12-08 2016-04-06 北京元心科技有限公司 一种基于容器的多系统的入侵监控方法和装置
CN105786821A (zh) * 2014-12-19 2016-07-20 北京神州泰岳信息安全技术有限公司 数据库审计方法及装置
CN105959322A (zh) * 2016-07-13 2016-09-21 浪潮(北京)电子信息产业有限公司 一种基于多保护策略融合的强制访问控制方法及系统
CN106411814A (zh) * 2015-07-27 2017-02-15 深圳市中兴微电子技术有限公司 一种策略管理方法及系统
CN106709351A (zh) * 2017-02-22 2017-05-24 郑州云海信息技术有限公司 一种软件基本信任机制的处理方法及相关设备
CN107408180A (zh) * 2015-01-22 2017-11-28 迈克菲有限责任公司 应用程序接口调用的恶意启用的检测
CN107547520A (zh) * 2017-07-31 2018-01-05 中国科学院信息工程研究所 Flask安全模块、构建方法及移动Web系统
CN107609410A (zh) * 2017-09-11 2018-01-19 厦门市美亚柏科信息股份有限公司 基于HOOK的Android系统数据保护方法、终端设备及存储介质
CN108270782A (zh) * 2018-01-15 2018-07-10 中国科学院信息工程研究所 一种基于安全标签的访问控制方法及系统
CN108959923A (zh) * 2018-05-31 2018-12-07 深圳壹账通智能科技有限公司 综合安全感知方法、装置、计算机设备和存储介质
CN109672681A (zh) * 2018-12-25 2019-04-23 上海点融信息科技有限责任公司 入侵检测方法及入侵检测装置
CN109740310A (zh) * 2018-12-29 2019-05-10 北京嘉楠捷思信息技术有限公司 用于嵌入式操作系统的内核对象访问方法和装置
CN109818937A (zh) * 2018-05-04 2019-05-28 360企业安全技术(珠海)有限公司 针对安卓权限的控制方法、装置、及存储介质、电子装置
CN110086786A (zh) * 2019-04-15 2019-08-02 努比亚技术有限公司 可穿戴设备及其数据监控方法和计算机可读存储介质
CN110381068A (zh) * 2019-07-23 2019-10-25 迈普通信技术股份有限公司 强制访问控制方法、装置、网络设备及存储介质
CN110958399A (zh) * 2019-12-09 2020-04-03 Oppo广东移动通信有限公司 高动态范围图像hdr实现方法及相关产品
CN111328395A (zh) * 2017-11-08 2020-06-23 西门子股份公司 用于提供对网络设备的硬件组件接口的受限访问的方法
CN112989429A (zh) * 2021-05-18 2021-06-18 长扬科技(北京)有限公司 一种强制访问的控制方法和装置
CN113438216A (zh) * 2021-06-15 2021-09-24 中国国家铁路集团有限公司 一种基于安全标记的访问控制方法
CN114826636A (zh) * 2021-01-29 2022-07-29 华为技术有限公司 访问控制系统及相关方法和设备
CN116541085A (zh) * 2023-07-05 2023-08-04 成都阿加犀智能科技有限公司 一种Android/Linux融合方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004036350A2 (en) * 2002-10-16 2004-04-29 Vormetric, Inc. Secure file system server architecture and methods
CN1763710A (zh) * 2004-10-22 2006-04-26 中国人民解放军国防科学技术大学 基于能力的特权最小化方法
CN101114323A (zh) * 2006-07-28 2008-01-30 上海山丽信息安全有限公司 监控键盘钩子的装置
CN101420773A (zh) * 2008-12-12 2009-04-29 南京大学 传感器网络操作系统自保护系统
CN101727555A (zh) * 2009-12-04 2010-06-09 苏州昂信科技有限公司 一种操作系统的访问控制方法及其实现平台
CN101727545A (zh) * 2008-10-10 2010-06-09 中国科学院研究生院 一种安全操作系统强制访问控制机制的实施方法
CN101783799A (zh) * 2010-01-13 2010-07-21 苏州国华科技有限公司 一种强制访问控制方法及其系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004036350A2 (en) * 2002-10-16 2004-04-29 Vormetric, Inc. Secure file system server architecture and methods
CN1763710A (zh) * 2004-10-22 2006-04-26 中国人民解放军国防科学技术大学 基于能力的特权最小化方法
CN101114323A (zh) * 2006-07-28 2008-01-30 上海山丽信息安全有限公司 监控键盘钩子的装置
CN101727545A (zh) * 2008-10-10 2010-06-09 中国科学院研究生院 一种安全操作系统强制访问控制机制的实施方法
CN101420773A (zh) * 2008-12-12 2009-04-29 南京大学 传感器网络操作系统自保护系统
CN101727555A (zh) * 2009-12-04 2010-06-09 苏州昂信科技有限公司 一种操作系统的访问控制方法及其实现平台
CN101783799A (zh) * 2010-01-13 2010-07-21 苏州国华科技有限公司 一种强制访问控制方法及其系统

Cited By (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012139323A1 (zh) * 2011-04-11 2012-10-18 中兴通讯股份有限公司 一种对应用进行监控的方法及系统
CN102186167A (zh) * 2011-04-11 2011-09-14 中兴通讯股份有限公司 一种对应用进行监控的方法及系统
CN102186167B (zh) * 2011-04-11 2016-02-10 中兴通讯股份有限公司 一种对应用进行监控的方法及系统
CN102495988A (zh) * 2011-12-19 2012-06-13 北京诺思恒信科技有限公司 一种基于域的访问控制方法及系统
WO2013182006A1 (zh) * 2012-06-07 2013-12-12 北京奇虎科技有限公司 一种用于拦截应用程序对服务的调用的方法和装置
CN103514030A (zh) * 2012-07-24 2014-01-15 Tcl集团股份有限公司 Android系统的事件收集上报系统及其收集上报方法
CN103514030B (zh) * 2012-07-24 2016-12-21 Tcl集团股份有限公司 Android系统的事件收集上报系统及其收集上报方法
CN103679009A (zh) * 2012-09-19 2014-03-26 珠海市君天电子科技有限公司 终端安全防御的方法及终端安全防御装置
CN102904889A (zh) * 2012-10-12 2013-01-30 北京可信华泰信息技术有限公司 支持跨平台统一管理的强制访问控制系统及方法
CN102904889B (zh) * 2012-10-12 2016-09-07 北京可信华泰信息技术有限公司 支持跨平台统一管理的强制访问控制系统及方法
CN102984125A (zh) * 2012-10-31 2013-03-20 蓝盾信息安全技术股份有限公司 一种移动数据隔离的系统及方法
CN102984125B (zh) * 2012-10-31 2016-01-13 蓝盾信息安全技术股份有限公司 一种移动数据隔离的系统及方法
CN102930202A (zh) * 2012-11-05 2013-02-13 曙光信息产业(北京)有限公司 在Linux系统中执行操作的方法
CN103886249A (zh) * 2012-12-20 2014-06-25 腾讯科技(深圳)有限公司 系统超级用户权限下执行进程的方法及装置
WO2014094531A1 (en) * 2012-12-20 2014-06-26 Tencent Technology (Shenzhen) Company Limited Method and device for implementing a process under a superuser privilege, and mobile terminal
US20150281206A1 (en) * 2012-12-20 2015-10-01 Tencent Technology (Shenzhen) Company Limited Method and Device for Implementing a Process Under a Superuser Privilege, and Mobile Terminal
US9819664B2 (en) * 2012-12-20 2017-11-14 Tencent Technology (Shenzhen) Company Limited Method and device for implementing a process under a superuser privilege, and mobile terminal
CN103067392A (zh) * 2012-12-28 2013-04-24 中国人民解放军理工大学 一种基于Android终端的安全访问控制方法
CN103067392B (zh) * 2012-12-28 2015-07-01 中国人民解放军理工大学 一种基于Android终端的安全访问控制方法
CN104102878A (zh) * 2013-04-10 2014-10-15 中国科学院计算技术研究所 一种Linux平台下的恶意代码分析方法及系统
CN104102878B (zh) * 2013-04-10 2017-02-08 中国科学院计算技术研究所 一种Linux平台下的恶意代码分析方法及系统
CN103297438B (zh) * 2013-06-20 2016-05-11 上海辰锐信息科技公司 一种用于移动终端安全机制的缓存访问控制方法
CN103297438A (zh) * 2013-06-20 2013-09-11 上海辰锐信息科技公司 一种用于移动终端安全机制的缓存访问控制方法
CN103312810A (zh) * 2013-06-21 2013-09-18 上海辰锐信息科技公司 一种远程虚拟文件系统
CN103312810B (zh) * 2013-06-21 2017-01-25 上海辰锐信息科技公司 一种远程虚拟文件系统
CN103581187B (zh) * 2013-11-05 2017-02-15 曙光云计算技术有限公司 访问权限的控制方法及控制系统
CN103581187A (zh) * 2013-11-05 2014-02-12 曙光云计算技术有限公司 访问权限的控制方法及控制系统
CN103677829A (zh) * 2013-12-13 2014-03-26 北京同有飞骥科技股份有限公司 对象操作访问控制的系统和方法
CN103677829B (zh) * 2013-12-13 2016-08-17 北京同有飞骥科技股份有限公司 对象操作访问控制的方法
CN104008337B (zh) * 2014-05-07 2019-08-23 广州华多网络科技有限公司 一种基于Linux系统的主动防御方法及装置
CN104008337A (zh) * 2014-05-07 2014-08-27 广州华多网络科技有限公司 一种基于Linux系统的主动防御方法及装置
CN104035787A (zh) * 2014-07-01 2014-09-10 深圳数字电视国家工程实验室股份有限公司 一种基于Andriod内核的强制访问控制方法及装置
CN104133726A (zh) * 2014-08-13 2014-11-05 浪潮电子信息产业股份有限公司 一种进程上下文强制访问控制方法
CN104268470B (zh) * 2014-09-26 2018-02-13 酷派软件技术(深圳)有限公司 安全控制方法和安全控制装置
CN104268470A (zh) * 2014-09-26 2015-01-07 酷派软件技术(深圳)有限公司 安全控制方法和安全控制装置
CN104318171A (zh) * 2014-10-09 2015-01-28 中国科学院信息工程研究所 基于权限标签的Android隐私数据保护方法及系统
CN104318171B (zh) * 2014-10-09 2017-11-07 中国科学院信息工程研究所 基于权限标签的Android隐私数据保护方法及系统
CN104298925B (zh) * 2014-10-14 2017-07-21 北京可信华泰信息技术有限公司 操作系统主动免疫平台的设计和实现方法
CN104298925A (zh) * 2014-10-14 2015-01-21 北京可信华泰信息技术有限公司 操作系统主动免疫平台的设计和实现方法
CN105786821A (zh) * 2014-12-19 2016-07-20 北京神州泰岳信息安全技术有限公司 数据库审计方法及装置
US10909236B2 (en) 2015-01-22 2021-02-02 Mcafee, Llc Detection of malicious invocation of application program interface calls
CN107408180A (zh) * 2015-01-22 2017-11-28 迈克菲有限责任公司 应用程序接口调用的恶意启用的检测
CN104732147A (zh) * 2015-04-13 2015-06-24 成都睿峰科技有限公司 一种应用程序处理方法
CN104951707A (zh) * 2015-05-13 2015-09-30 上海交通大学 基于Android平台的敏感资源访问控制策略系统
CN104850625B (zh) * 2015-05-20 2018-05-04 浪潮电子信息产业股份有限公司 一种数据库安全防护方法及装置
CN104850625A (zh) * 2015-05-20 2015-08-19 浪潮电子信息产业股份有限公司 一种数据库安全防护方法及装置
CN105184167B (zh) * 2015-07-21 2017-12-08 电子科技大学 基于TPM细粒度权限的Android系统安全增强系统及方法
CN105184167A (zh) * 2015-07-21 2015-12-23 电子科技大学 基于TPM细粒度权限的Android系统安全增强系统及方法
CN106411814A (zh) * 2015-07-27 2017-02-15 深圳市中兴微电子技术有限公司 一种策略管理方法及系统
CN105468976A (zh) * 2015-12-08 2016-04-06 北京元心科技有限公司 一种基于容器的多系统的入侵监控方法和装置
CN105468976B (zh) * 2015-12-08 2019-11-12 北京元心科技有限公司 一种基于容器的多系统的入侵监控方法和装置
CN105959322A (zh) * 2016-07-13 2016-09-21 浪潮(北京)电子信息产业有限公司 一种基于多保护策略融合的强制访问控制方法及系统
CN106709351A (zh) * 2017-02-22 2017-05-24 郑州云海信息技术有限公司 一种软件基本信任机制的处理方法及相关设备
CN107547520A (zh) * 2017-07-31 2018-01-05 中国科学院信息工程研究所 Flask安全模块、构建方法及移动Web系统
CN107609410A (zh) * 2017-09-11 2018-01-19 厦门市美亚柏科信息股份有限公司 基于HOOK的Android系统数据保护方法、终端设备及存储介质
CN107609410B (zh) * 2017-09-11 2019-07-02 厦门市美亚柏科信息股份有限公司 基于HOOK的Android系统数据保护方法、终端设备及存储介质
CN111328395B (zh) * 2017-11-08 2024-03-26 西门子股份公司 用于提供对网络设备的硬件组件接口的受限访问的方法
US11657183B2 (en) 2017-11-08 2023-05-23 Siemens Aktiengesellschaft Method for providing restricted access to hardware component interfaces of a network device
CN111328395A (zh) * 2017-11-08 2020-06-23 西门子股份公司 用于提供对网络设备的硬件组件接口的受限访问的方法
CN108270782B (zh) * 2018-01-15 2020-05-26 中国科学院信息工程研究所 一种基于安全标签的访问控制方法及系统
CN108270782A (zh) * 2018-01-15 2018-07-10 中国科学院信息工程研究所 一种基于安全标签的访问控制方法及系统
CN109818937A (zh) * 2018-05-04 2019-05-28 360企业安全技术(珠海)有限公司 针对安卓权限的控制方法、装置、及存储介质、电子装置
CN108959923A (zh) * 2018-05-31 2018-12-07 深圳壹账通智能科技有限公司 综合安全感知方法、装置、计算机设备和存储介质
CN109672681A (zh) * 2018-12-25 2019-04-23 上海点融信息科技有限责任公司 入侵检测方法及入侵检测装置
CN109740310A (zh) * 2018-12-29 2019-05-10 北京嘉楠捷思信息技术有限公司 用于嵌入式操作系统的内核对象访问方法和装置
CN110086786A (zh) * 2019-04-15 2019-08-02 努比亚技术有限公司 可穿戴设备及其数据监控方法和计算机可读存储介质
CN110381068A (zh) * 2019-07-23 2019-10-25 迈普通信技术股份有限公司 强制访问控制方法、装置、网络设备及存储介质
CN110958399A (zh) * 2019-12-09 2020-04-03 Oppo广东移动通信有限公司 高动态范围图像hdr实现方法及相关产品
CN114826636A (zh) * 2021-01-29 2022-07-29 华为技术有限公司 访问控制系统及相关方法和设备
CN112989429A (zh) * 2021-05-18 2021-06-18 长扬科技(北京)有限公司 一种强制访问的控制方法和装置
CN112989429B (zh) * 2021-05-18 2021-08-17 长扬科技(北京)有限公司 一种强制访问的控制方法和装置
WO2022242034A1 (zh) * 2021-05-18 2022-11-24 长扬科技(北京)有限公司 一种强制访问的控制方法和装置
CN113438216A (zh) * 2021-06-15 2021-09-24 中国国家铁路集团有限公司 一种基于安全标记的访问控制方法
CN113438216B (zh) * 2021-06-15 2023-02-28 中国国家铁路集团有限公司 一种基于安全标记的访问控制方法
CN116541085A (zh) * 2023-07-05 2023-08-04 成都阿加犀智能科技有限公司 一种Android/Linux融合方法、装置、设备及存储介质
CN116541085B (zh) * 2023-07-05 2023-09-12 成都阿加犀智能科技有限公司 一种Android/Linux融合方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN101997912A (zh) 基于Android平台的强制访问控制装置及控制方法
CN109710384B (zh) 一种安全的Java智能合约解释执行引擎及方法
US9443101B2 (en) Low-cost specification and enforcement of a privacy-by-consent-policy for online services
JP4628149B2 (ja) アクセス制御装置及びアクセス制御方法
KR101456489B1 (ko) CLDC OSGi 환경에서 어플리케이션의 접속 권한을관리하는 방법 및 장치
CN105046116B (zh) Android系统中保护dex文件不被反编译的方法
US7770202B2 (en) Cross assembly call interception
CN102955915B (zh) 一种Java应用安全访问控制方法及其装置
CN104508676B (zh) 虚拟机中的强制保护控制
KR20160098912A (ko) 어플리케이션 퍼미션 재조정 방법 및 이를 수행하는 사용자 단말
CN112115117B (zh) 一种覆盖数据全生命周期的大数据区块链权限管理方法和系统
RU2359316C2 (ru) Способ администрирования компонентов программного обеспечения, интегрированных в мобильную систему
CN101395587A (zh) 防止可执行程序被修改
CN107135223A (zh) 海量数据管理系统的数据持久化方法
CN105786551A (zh) 一种应用程序运行访问控制方法和系统
CN107566375A (zh) 访问控制方法和装置
US20070038572A1 (en) Method, system and computer program for metering software usage
CN111090442B (zh) 一种应用更新方法、装置和存储介质
CN105760164B (zh) 一种用户空间文件系统中acl权限的实现方法
CN110162963B (zh) 一种识别过权应用程序的方法
CN103413093B (zh) 一种基于内存隔离的xen云平台虚拟机隔离方法
CN107229866B (zh) 一种检验与监控byod环境下移动应用安全的方法
Chang et al. Towards a multilayered permission‐based access control for extending Android security
US8621557B2 (en) Information processing system judging whether manipulation is possible or not based on access control policy and method of operation thereof
Kim et al. Detecting illegally-copied apps on android devices

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110330