CN111159762B - 一种强制访问控制下的主体可信验证方法及系统 - Google Patents
一种强制访问控制下的主体可信验证方法及系统 Download PDFInfo
- Publication number
- CN111159762B CN111159762B CN201911341090.XA CN201911341090A CN111159762B CN 111159762 B CN111159762 B CN 111159762B CN 201911341090 A CN201911341090 A CN 201911341090A CN 111159762 B CN111159762 B CN 111159762B
- Authority
- CN
- China
- Prior art keywords
- application program
- loading
- memory
- access control
- reference value
- 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
Images
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
Abstract
本发明实施例提供的一种强制访问控制下的主体可信验证方法及系统,该方法包括:初始化阶段和权限审核阶段;具体包括:获取应用程序的二进制文件和对应的动态链接库并进行度量,获取初始基准值;权限审核阶段包括:将应用程序的进程加载至内存,并在加载过程中度量应用程序的ELF文件,并将度量结果与初始基准值进行比对,获取第一比对结果;根据所述第一比对结果,对应用程序的加载进行控制。本发明实施例提供的主体可信验证方法及系统,通过在强制访问控制模型中,在进程加载前、加载时以及运行时进行主体可信验证,实现了对进程加载阶段的可信验证,有效避免了加载进程的系统调用被篡改而导致基准值错误情况的发生,增强了系统的安全防护。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种强制访问控制下的主体可信验证方法及系统。
背景技术
在强制访问控制模型中,通过对系统中的主体、客体赋予相应的类型以及敏感级别,再结合策略规则,可以实现对主体访问客体这一过程的权限控制,并且可以足够细粒度地控制不同角色所执行的主体对客体有不同的权限,不同主体之间对同一个客体也有不同的权限。但是在传统的强制访问控制模型中,权限控制足够细化,但是却不够安全。
现有技术中记载了一种实时检查进程完整性的方法,包括监视即将在内存中运行的进程并判断进程是否为第一次执行的进程;如果进程为第一次执行的进程,则收集与进程的散列值和与进程相对应的整个程序的散列值并存储在进程参考表中;如果进程并非第一次执行的进程,则利用进程参考表中所存储的进程的散列值和与进程相对应的整个程序的散列值,来验证进程和与进程相对应的整个程序的完整性;在进程和与进程相对应的整个程序的完整性验证结果为不完整的情况下,则恢复进程和与进程相对应的整个程序。
上述方法通过对进程是否是第一次运行进行判断,如果进程是第一次运行,则对内存中的进程进行度量。但是,如果系统的加载进程的程序被篡改了,那么第一次将该程序加载到内存的过程中,应用程序的数据就被篡改了,就会导致从内存中获取的就是错误的基准值。
现有技术中还记载了一种基于国产TCM的动态度量方法,通过TCM安全模块对进程的程序区段进行分页度量;当度量异常时,内核模块立即向用户告警,并暂停程序执行;用户根据告警信息做出自己的选择——恢复执行程序还是停止执行。
该方法能够虽然能够实现动态的对进程进行度量,但是未考虑进程加载阶段,加载二进制文件这一操作的合法性,不能对这一操作的权限进行足够细粒度的控制。
综上所述,亟需提供一种在强制访问控制下能够对进程加载这一过程进行可信检测即的方法及系统。
发明内容
有鉴于此,本发明实施例提供一种强制访问控制下的主体可信验证方法及其系统,用以解决在应用程序加载过程中,进程的系统调用可能被篡改而导致基准值错误情况发生的缺陷。
第一方面,本发明实施例提供一种强制访问控制下的主体可信验证方法,包括:初始化阶段和权限审核阶段;
初始化阶段包括:
获取应用程序的二进制文件,以及与二进制文件对应的动态链接库;对二进制文件和所述动态链接库进行度量,获取初始基准值;
权限审核阶段包括:
将应用程序的进程加载至内存,并在加载过程中度量应用程序的ELF文件对应的进程数据,并将度量结果与初始基准值进行比对,获取第一比对结果;根据第一比对结果,对应用程序的加载进行控制。
进一步地,在度量应用程序的ELF文件,并将度量结果与初始基准值进行比对之前,还包括:获取加载进程的系统调用序列;基于强制访问控制模型的策略规则,根据系统调用序列判断应用程序的权限;确定应用程序的权限为合格,则度量应用程序的ELF文件,并将度量结果与初始基准值进行比对。
进一步地,上述确定应用程序的权限为合格,则度量应用程序的ELF文件,包括:若应用程序的权限为合格,则度量应用程序的ELF文件的代码段、只读数据段以及环境变量数据。
进一步地,在上述获取加载进程的系统调用序列之后,还包括:对系统调用序列进行分类,获取重要操作序列和非重要操作序列。
进一步地,上述在将应用程序的进程加载至内存后,实时度量进程在内存中的ELF文件对应的进程数据,包括:对于重要操作序列,仅对正在执行的进程在内存中的ELF文件所对应的局部进程数据进行度量;对于非重要操作序列,在每个预设时间段,对应用程序的进程在内存中的ELF文件进行整个代码段的度量。
进一步地,本发明实施例提供的强制访问控制下的主体可信验证方法,还包括实时度量阶段,包括:在将应用程序的进程加载至内存后,实时度量进程在内存中的ELF文件,并将度量结果与初始基准值进行比对,获取第二比对结果;根据第二比对结果,验证应用程序的进程在加载至内存的过程中是否被篡改。
进一步地,上述根据第一比对结果,对应用程序的加载进行控制,包括:确定第一比对结果为合格,则继续将应用程序的进程加载至内存;确定第一比对结果为不合格,则禁止应用程序的进程继续加载。
第二方面,本发明实施例提供一种强制访问控制下的主体可信验证系统,包括:位于内核空间的进程管理模块、强制访问控制模块以及度量模块,其中:
进程管理模块用于获取应用程序的二进制文件,以及与二进制文件对应的动态链接库,并调用度量模块对所述二进制文件和动态链接库进行度量,获取初始基准值;
进程管理模块还用于在将应用程序的进程加载至内存,并在加载过程中,调用度量模块度量应用程序的ELF文件,并将度量结果与初始基准值进行比对,获取第一比对结果;强制访问控制模块根据所述第一结果,对应用程序的加载进行控制。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述第一方面任一项所述的强制访问控制下的主体可信验证方法的步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面任一项所述的强制访问控制下的主体可信验证方法的步骤。
本发明实施例提供的强制访问控制下的主体可信验证方法及系统,通过在强制访问控制模型中,在进程加载前、加载时以及运行时进行主体可信验证,实现了对进程加载阶段的可信验证,有效避免了加载进程的系统调用被篡改而导致基准值错误情况的发生,增强了系统的安全防护。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种强制访问控制下的主体可信验证方法的流程示意图;
图2为本发明实施例中进程的内存布局示意图;
图3为本发明实施例中ELF文件结构示意图;
图4为本发明实施例提供的另一种强制访问控制下的主体可信验证方法的流程示意图;
图5为本发明实施例提供的一种强制访问控制下的主体可信验证系统的结构示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
访问控制的核心是授权策略。以授权策略来划分,访问控制模型可分为:传统的访问控制模型(如:DAC\MAC\ACL)、基于角色的访问控制(如:RBAC)模型、基于任务和工作流的访问控制(如:TBAC)模型、基于任务和角色的访问控制(如:T-RBAC)模型等。
其中,强制访问控制(简称:MAC)是一种强加给访问主体(即系统强制主体服从访问控制策略)的一种访问方式,利用上读/下写来保证数据的完整性,利用下读/上写来保证数据的保密性。MAC的主要特征是对所有主体及其所控制的客体(例如:进程、文件、段、设备)实施强制访问控制。为这些主体及客体指定敏感标记,这些标记是等级分类和非等级类别的组合,它们是实施MAC的依据。系统通过比较主体和客体的敏感标记来决定一个主体是否能够访问某个客体。用户的程序不能改变其本身及任何其它客体的敏感标记,从而系统可以防止特洛伊木马的攻击。
具体地,强制访问策略将每个用户及文件赋予一个访问级别,如,最高秘密级(TopSecret,记为T),秘密级(Secret,记为S),机密级(Confidential,记为C)及无级别级(Unclassified,记为U),其级别为T>S>C>U。系统根据主体和客体的敏感标记来决定访问模式。访问模式包括:下读(read down):用户级别大于文件级别的读操作;上写(Write up):用户级别小于文件级别的写操作;下写(Write down):用户级别等于文件级别的写操作;上读(read up):用户级别小于文件级别的读操作。一般来说,MAC采用可以采用限制访问控制、过程控制以及系统限制等方式实现控制。
基于对现有的强制访问控制模型的研究发现,虽然其权限控制足够细化,但是却不够安全,具体表现在系统的加载进程的程序若已经被篡改了,那么第一次将该程序加载到内存的过程中,应用程序的数据就被篡改了,就会导致从内存中获取的就是错误的基准值。
为克服上述缺陷,本发明实施例提供一种强制访问控制下的主体可信验证方法,如图1所示,主要包括:初始化阶段和权限审核阶段;其中,初始化阶段包括:步骤S1:获取应用程序的二进制文件,以及与二进制文件对应的动态链接库;步骤S2:对二进制文件和所述动态链接库进行度量,获取初始基准值。所述权限审核阶段包括:步骤S3:将应用程序的进程加载至内存,并在加载过程中度量应用程序的ELF文件对应的进程数据,并将度量结果与初始基准值进行比对,获取第一比对结果;步骤S4:根据第一比对结果,对应用程序的加载进行控制。
具体地,本发明实施例提供的强制访问控制下的主体可信验证方法,在应用程序首次运行时,读取该应用程序的二进制文件,以及与该二进制文件相对应的动态链接库。其中,图2示出了任意一个应用程序的进程内存布局示意图,即每个应用程序均存在与之对应的二进制文件,并反映在不同的进程内存布局上。
其中,对所述二进制文件和所述动态链接库进行度量,包括对应用程序对应的代码段、只读数据段、环境变量及参数等数据进行度量,分别得到对应的度量值,构成一个完整的初始基准值。
其中,在本发明实施例提供的强制访问控制下的主体可信验证方法可以是,在首次截获到应用程序的ELF文件时(ELF文件的结构如图3所示),使用hash算法对其度量,获得整个程序的基准值。
具体地,图3为本发明实施例中ELF文件结构示意图,其中,ELF文件在计算机科学中,是一种用于二进制文件、可执行文件、目标代码、共享库和核心转储格式文件,Linux下的目标文件和可执行文件都按照该格式进行存储,且一般是以Section的形式进行存储。一个ELF文件一般由4部分组成,分别是ELF头(ELF header)、程序头表(Program headertable)、节(Section,如图2中的.text、.data、.bass以及other Sections等)和节头表(Section header table)。实际上,一个文件中不一定包含全部内容,而且各部分的位置也不一定是固定不变的,但只有ELF头的位置是固定的,其余各部分的位置、大小等信息由ELF头中的各项值来决定。
进一步地,调用read()系统调用读取ELF文件,获得其代码段、只读数据段、动态链接库的基准值,用作以后度量内存中的进程的标准基准值(即初始基准值)。
进一步地,在权限审核阶段中,在该阶段,开始将应用程序的进程加载至内存。此时对应用程序的ELF文件进行度量,获取第一比对结果(即进行首次比对),并将该比对结果与初始基准值进行对比,即验证进程在加载到内存的过程中,是否有异常进程,如果验证通过,那么允许程序继续加载。若在比对的过程中发现对应用程序的ELF文件进行度量的结果与初始基准值进行比对的结果,不满足验证预设条件,则停止该应用程序的继续加载。
本发明实施例提供的主体可信验证方法,通过在强制访问控制模型中,在进程加载前、加载时以及运行时进行主体可信验证,实现了对进程加载阶段的可信验证,有效避免了加载进程的系统调用被篡改而导致基准值错误情况的发生,增强了系统的安全防护。
基于上述实施例的内容,作为一种可选实施例,在度量应用程序的ELF文件,并将度量结果与初始基准值进行比对之前,还可以包括:
获取加载进程的系统调用序列;基于强制访问控制模型的策略规则,根据系统调用序列判断所述应用程序的权限;确定应用程序的权限为合格,则度量应用程序的ELF文件,并将度量结果与初始基准值进行比对。
具体地,本发明本实施例在将开始应用程序的进程加载到内存这一过程中,截获加载进程的所有系统调用,组建成一个系统调用序列;并读取所处的强制访问控制模型的策略文件,获取策略规则。
进一步地,根据获取的系统调用序列,读取主体、客体的安全上下文并且判断当前用户是否拥有该权限,从而判断进程是否能够继续被运行;如果该应用进程的操作符合策略规则,那就执行下一步,即度量应用程序的ELF文件,并将度量结果与初始基准值进行比对。
本发明实施例提供的强制访问控制下的主体可信验证方法,通过在权限审核阶段首先对应用进程的操作是否符合策略规则进行预判断,并根据判断结果决定是否继续进行程序进程的继续加载,有效的提高了主体可信验证的安全性。
基于上述实施例的内容,作为一种可选实施例,上述确定应用程序的权限为合格,则度量所述应用程序的ELF文件,包括:若所述应用程序的权限为合格,则度量所述应用程序的ELF文件的代码段、只读数据段以及环境变量数据。
如图2所示,应用程序多对应的ELF文件在进程内存的布局是以二进制数据进行的,包括代码段(文本段)、只读数据段、未初始化数据段(BBS段)、堆、堆扩展空间、动态链接库及内存映射等、栈、栈扩展空间、环境变量数据(参数)。在本实施例中,选取其中的部分内存布局,例如代码段、只读数据段以及环境变量数据,利用哈希算法进行度量,并将度量结果与初始基准值进行比对,并根据比对结果对所述应用程序的加载进行控制。
基于上述实施例的内容,作为一种可选实施例,在获取加载进程的系统调用序列之后,还包括:对所述系统调用序列进行分类,获取重要操作序列和非重要操作序列。
在进程运行时,如果在每一步操作执行前都对进程进行度量,必然会导致应用程序的效率受到极大影响。所以本实施例对所有系统调用进行分类。具体地,本发明实施例中,在进程运行时,针对系统调用进行分类。即将获取到的与应用程序进程相对应的系统调用序列按照进程重要度做出区分,例如可以划分为两个子序列,包括重要操作序列和非重要操作序列。
进一步地,在将应用程序的进程加载至内存后,实时度量进程在内存中的ELF文件,则可以包括:对于重要操作序列,仅对正在执行的进程在内存中的ELF文件进行度量;对于所述非重要操作序列,在每个预设时间段,对应用程序的进程在内存中的ELF文件进行整个代码段的度量。
对于重要操作,每次执行前,只对正在执行的局部代码段进行度量。对于非重要操作,采用不定期度量的方式,即生成一个随机时间t,然后每次间隔t时间,对应用程序的整个代码段进行度量。这样既能够动态的验证进程的实时完整性,又把对应用程序的效率影响降到最低。即在执行写入等重要操作前,对进程执行时的局部代码进行度量。对于其它非重要操作,采用随机时间间隔,对进程的整个代码段进行度量。
本发明实施例,通过对所述系统调用序列进行分类,并按照重要度对进程进行区别度量,有效降低了频繁度量进程所带来的负荷,提高了本系统的运行效率。
基于上述实施例的内容,本发明实施例提供的强制访问控制下的主体可信验证方法,还包括实时度量阶段,具体为:在将应用程序的进程加载至内存后,实时度量所述进程在内存中的ELF文件对应的进程数据,并将度量结果与初始基准值进行比对,获取第二比对结果;根据第二比对结果,验证应用程序的进程在加载至内存的过程中是否被篡改。
具体地,在实时度量阶段,在应用程序的进程被完全记载至内存后,马上对进程进行一次验证,具体的,度量进程在内存中的代码段、只读数据段以及环境变量等数据,分别与初始阶段得到的初始基准值进行对比,以此来验证进程在加载到内存的过程中,数据没有被篡改。
进一步的,上述初始基准值被存储于基准库,而该基准库一般设置于硬件磁盘中,以保证数据的可信性及安全性。
本发明实施例提供的强制访问控制下的主体可信验证方法,通过在实时度量阶段,实时对相应的进程进行度量,并通过将度量结果与初始基准值值进行比对,以实时检测程序加载过程中,其进程是否被恶意篡改,增强了系统的安全防护等级。
进一步地,上述根据第一比对结果,对应用程序的加载进行控制,主要包括:若确定第一比对结果为合格,则继续将应用程序的进程加载至内存;若确定第一比对结果为不合格,则禁止应用程序的进程继续加载。
本发明实施例提供一种强制访问控制下的主体可信验证系统,如图5所示,包括:位于内核空间的进程管理模块、强制访问控制模块以及度量模块,其中:进程管理模块用于获取应用程序的二进制文件,以及与二进制文件对应的动态链接库,并调用度量模块对所述二进制文件和所述动态链接库进行度量,获取初始基准值;进程管理模块还用于在将应用程序的进程加载至内存,并在加载过程中,调用度量模块度量所述应用程序的ELF文件,并将度量结果与初始基准值进行比对,获取第一比对结果;强制访问控制模块根据所述第一比对结果,对应用程序的加载进行控制。
进一步地,针对进程加载前,加载时以及运行时的可信验证,本发明实施例提供的主体可信验证系统,主要包括以下几个部分:
位于内存空间的进程管理模块、强制访问控制模块以及度量模块;位于硬件磁盘的可信基准库和进制文件及动态连接库;位于用户空间的进程。
具体地,进程管理模块作为守护进程,在系统开始启动到关闭的整个过程中,一直运行于内存中。进程管理模块可用于对进程的加载前、加载时及运行时这一过程进行控制。在进程加载前的初始化阶段,能够调用度量模块对应用程序的二进制文件、动态链接库等关键文件进行度量。
强制访问控制模块能够在二进制文件的加载过程中,拦截系统调用,通过读取强制访问控制模型的策略文件,判断应用程序加载这一操作的合法性。
度量模块受进程管理模块调用,在进程的加载前会对应用程序的二进制文件以及其调用的动态链接库进行度量。此外,还用于读取二进制文件的代码段、只读数据段以及环境变量等信息,以进行度量并将获取的初始基准值存储到可信基准库中。在进程运行时,度量模块可用于实时读取进程在内存中的代码段、只读数据段、环境变量进行度量。
可信基准库负责存储主体的初始基准值,其安全性由可信硬件模块来保证。
本发明实施例提供的主体可信验证系统,通过设置进程管理模块、强制访问控制模块以及度量模块,使得在强制访问控制模型中,在进程加载前、加载时以及运行时进行主体可信验证,实现了对进程加载阶段的可信验证,有效避免了加载进程的系统调用被篡改而导致基准值错误情况的发生,增强了系统的安全防护。
如图4所示,本发明实施例提供了另一种强制访问控制下的主体可信验证方法,主要包括以下实施步骤:
1、在首次获取到程序的ELF文件时(ELF文件的结构如图3所示),度量模块使用hash算法对其度量,获得整个程序的初始基准值。
2、度量模块调用read()系统,调用读取ELF文件,获得其代码段、只读数据段、动态链接库的基准值,用作以后度量内存中的进程。
3、每次加载程序时,需要进行以下两个判断。
4、判断一:度量模块对程序的ELF文件重新进行度量,并与之前得到的基准值进行对比,如果相同,则进行下一步判断。
5、判断二:SELinux模块截获exec系统调用,度量模块先对SELinux的策略文件进行度量,如果度量通过,说明策略没有被篡改,然后可以判断运行该程序的操作是否符合策略规则。
6、如果以上两个判断都通过,则允许程序加载到内存。
7、在程序刚被加载到内存之后,度量模块需要对进程中的数据进行一次度量,以验证程序在加载的过程中没有被篡改。度量模块首先调用Ptrace函数,将度量模块所在进程绑定到要跟踪或控制的进程上。然后度量模块就可以读取/proc/<pid>/maps文件,maps文件中存储了进程号为<pid>的进程内存布局信息(内存布局如图2所示),从中可以获取到代码段、只读数据段、动态链接库的虚拟地址,然后度量模块根据这些地址,读取/proc/<pid>/mem文件,从而获取到该进程在内存中的代码段、只读数据段、动态链接库的数据,对其进行度量,获取hash值后与初始基准值进行对比。
8、在进程的后续运行中,在需要对进程进行验证时,度量模块则进行步骤7的操作,实时读取进程中的代码段、数据段、动态链接库的数据,然后进行度量。
本发明实施例提供的主体可信验证系统,在系统开启强制访问控制机制情况下,在进程加载之前,就分块读取应用程序二进制文件的代码段、只读数据段等进行度量,获取初始基准值(可视为标准基准值)。而不是在第一次程序加载到内存之后开始收集标准基准值,有效避免了加载进程的exec()系统调用被篡改而导致基准值错误的情况。
在进程加载的时候,通过强制访问控制模块对系统调用进行拦截,对这一操作的权限进行判定,从而较细粒度地控制了用户以及进程的权限。
在进程运行时,本发明实施例针对系统调用进行分类,在执行写入等重要操作前,对进程执行时的局部代码进行度量。对于其他非重要操作,采用随机时间间隔,对进程的整个代码段进行度量。有效降低了频繁度量进程所带来的负荷,提高了本系统的运行效率。
综上所述,本发明实施例提供的强制访问控制下的主体可信验证方法及其系统,在系统开启强制访问控制机制下,在进程的各个执行阶段分别进行基准值的收集、操作权限的判定以及实时度量进程,并且对系统调用进行了分类,对不同重要程度的系统调用采取不同的度量策略。从而保证了强制访问控制中主体的安全,并且能够实时对主体进行可信验证,而且对应用程序的效率影响非常小。本实施例能够较细化地控制进程的权限,并且在对系统性能影响很小的情况下有效增强了系统的安全。
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行如下步骤:包括初始化阶段和权限审核阶段;其中,初始化阶段包括:获取应用程序的二进制文件,以及与二进制文件对应的动态链接库;对二进制文件和所述动态链接库进行度量,获取初始基准值;权限审核阶段包括:将应用程序的进程加载至内存,并在加载过程中度量应用程序的ELF文件,并将度量结果与初始基准值进行比对,获取第一比对结果;根据第一比对结果,对应用程序的加载进行控制。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括以下步骤:初始化阶段和权限审核阶段;其中,初始化阶段包括:获取应用程序的二进制文件,以及与二进制文件对应的动态链接库;对二进制文件和所述动态链接库进行度量,获取初始基准值;权限审核阶段包括:将应用程序的进程加载至内存,并在加载过程中度量应用程序的ELF文件,并将度量结果与初始基准值进行比对,获取第一比对结果;根据第一比对结果,对应用程序的加载进行控制。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种强制访问控制下的主体可信验证方法,其特征在于,包括:初始化阶段和权限审核阶段;
所述初始化阶段包括:
获取应用程序的二进制文件,以及与所述二进制文件对应的动态链接库;
对所述二进制文件和所述动态链接库进行度量,获取初始基准值;
所述权限审核阶段包括:
将所述应用程序的进程加载至内存,并在加载过程中度量所述应用程序的ELF文件对应的进程数据,并将度量结果与所述初始基准值进行比对,获取第一比对结果;
根据所述第一比对结果,对所述应用程序的加载进行控制;
在所述度量所述应用程序的ELF文件,并将度量结果与所述初始基准值进行比对之前,还包括:
获取加载进程的系统调用序列;
基于强制访问控制模型的策略规则,根据所述系统调用序列判断所述应用程序的权限;
确定所述应用程序的权限为合格,则度量所述应用程序的ELF文件,并将度量结果与所述初始基准值进行比对;
所述强制访问控制下的主体可信验证方法,还包括实时度量阶段;
所述实时度量阶段包括:在将所述应用程序的进程加载至内存后,实时度量所述进程在内存中的ELF文件,并将度量结果与所述初始基准值进行比对,获取第二比对结果;
根据所述第二比对结果,验证所述应用程序的进程在加载至内存的过程中是否被篡改。
2.根据权利要求1所述的强制访问控制下的主体可信验证方法,其特征在于,所述确定所述应用程序的权限为合格,则度量所述应用程序的ELF文件,包括:
若所述应用程序的权限为合格,则度量所述应用程序的ELF文件的代码段、只读数据段以及环境变量数据。
3.根据权利要求1所述的强制访问控制下的主体可信验证方法,其特征在于,在所述获取加载进程的系统调用序列之后,还包括:
对所述系统调用序列进行分类,获取重要操作序列和非重要操作序列。
4.根据权利要求3所述的强制访问控制下的主体可信验证方法,其特征在于,所述在将所述应用程序的进程加载至内存后,实时度量所述进程在内存中的ELF文件对应的进程数据,包括:
对于所述重要操作序列,仅对正在执行的进程在内存中的ELF文件所对应的局部进程数据进行度量;
对于所述非重要操作序列,在每个预设时间段,对所述应用程序的进程在内存中的ELF文件进行整个代码段的度量。
5.根据权利要求1所述的强制访问控制下的主体可信验证方法,其特征在于,所述根据所述第一比对结果,对所述应用程序的加载进行控制,包括:
确定所述第一比对结果为合格,则继续将所述应用程序的进程加载至内存;
确定所述第一比对结果为不合格,则禁止所述应用程序的进程继续加载。
6.一种强制访问控制下的主体可信验证系统,其特征在于,包括:位于内核空间的进程管理模块、强制访问控制模块以及度量模块;
所述进程管理模块用于获取应用程序的二进制文件,以及与所述二进制文件对应的动态链接库,并调用所述度量模块对所述二进制文件和所述动态链接库进行度量,获取初始基准值;
所述进程管理模块还用于在将所述应用程序的进程加载至内存,并在加载过程中,调用所述度量模块度量所述应用程序的ELF文件,并将度量结果与所述初始基准值进行比对,获取第一比对结果;
在所述度量所述应用程序的ELF文件,并将度量结果与所述初始基准值进行比对之前,还包括:
获取加载进程的系统调用序列;
基于强制访问控制模型的策略规则,根据所述系统调用序列判断所述应用程序的权限;
确定所述应用程序的权限为合格,则度量所述应用程序的ELF文件,并将度量结果与所述初始基准值进行比对;
所述强制访问控制模块根据所述第一比对结果,对所述应用程序的加载进行控制;还包括执行实时度量阶段;所述实时度量阶段包括:在将所述应用程序的进程加载至内存后,实时度量所述进程在内存中的ELF文件,并将度量结果与所述初始基准值进行比对,获取第二比对结果;
根据所述第二比对结果,验证所述应用程序的进程在加载至内存的过程中是否被篡改。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的强制访问控制下的主体可信验证方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5任一项所述的强制访问控制下的主体可信验证方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911341090.XA CN111159762B (zh) | 2019-12-23 | 2019-12-23 | 一种强制访问控制下的主体可信验证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911341090.XA CN111159762B (zh) | 2019-12-23 | 2019-12-23 | 一种强制访问控制下的主体可信验证方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111159762A CN111159762A (zh) | 2020-05-15 |
CN111159762B true CN111159762B (zh) | 2022-08-12 |
Family
ID=70558092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911341090.XA Active CN111159762B (zh) | 2019-12-23 | 2019-12-23 | 一种强制访问控制下的主体可信验证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111159762B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113326520B (zh) * | 2021-06-11 | 2023-07-04 | 北京天融信网络安全技术有限公司 | 访问控制过程中确定主体的方法、装置、设备和存储介质 |
CN114168934A (zh) * | 2021-11-30 | 2022-03-11 | 麒麟软件有限公司 | 一种linux的内核级进程动态度量方法 |
CN114091027B (zh) * | 2021-12-01 | 2023-08-29 | 海光信息技术股份有限公司 | 信息配置方法、数据访问方法及相关装置、设备 |
CN114462041A (zh) * | 2021-12-24 | 2022-05-10 | 麒麟软件有限公司 | 基于双体系架构的动态可信访问控制方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107800536A (zh) * | 2016-08-30 | 2018-03-13 | Ncr公司 | 安全进程模仿检测 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5675047B2 (ja) * | 2008-12-15 | 2015-02-25 | キヤノン株式会社 | 文書処理装置およびコンピュータプログラム |
CN102270288B (zh) * | 2011-09-06 | 2013-04-03 | 中国人民解放军国防科学技术大学 | 基于反向完整性验证的操作系统可信引导方法 |
EP3440817B1 (en) * | 2016-04-06 | 2022-06-22 | Karamba Security | Automated security policy generation for controllers |
WO2017175157A1 (en) * | 2016-04-06 | 2017-10-12 | Karamba Security | Secure controller operation and malware prevention |
CN107657170B (zh) * | 2016-07-25 | 2020-12-01 | 北京计算机技术及应用研究所 | 支持智能修复的可信加载启动控制系统和方法 |
CN108399338B (zh) * | 2018-02-06 | 2022-03-18 | 南京航空航天大学 | 基于进程行为的平台完整性状态信息度量方法 |
-
2019
- 2019-12-23 CN CN201911341090.XA patent/CN111159762B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107800536A (zh) * | 2016-08-30 | 2018-03-13 | Ncr公司 | 安全进程模仿检测 |
Also Published As
Publication number | Publication date |
---|---|
CN111159762A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111159762B (zh) | 一种强制访问控制下的主体可信验证方法及系统 | |
CN107066311B (zh) | 一种内核数据访问控制方法与系统 | |
CN111400723A (zh) | 基于tee扩展的操作系统内核强制访问控制方法及系统 | |
US20170185344A1 (en) | Memory access control | |
US11593473B2 (en) | Stack pivot exploit detection and mitigation | |
CN112231726B (zh) | 基于可信验证的访问控制方法、装置和计算机设备 | |
US9230128B2 (en) | Assignment of security contexts to define access permissions for file system objects | |
CN102663313B (zh) | 一种实现计算机系统信息安全的方法 | |
Petracca et al. | On risk in access control enforcement | |
KR20210092745A (ko) | 보안 통신 방법 및 그 시스템 | |
CN108345804B (zh) | 一种可信计算环境中的存储方法和装置 | |
Shang et al. | ICS software trust measurement method based on dynamic length trust chain | |
EP3535681B1 (en) | System and method for detecting and for alerting of exploits in computerized systems | |
CN114443147B (zh) | 基于可信硬件技术的超级监控式无人飞行器可信检测方法 | |
CN111125793B (zh) | 一种访问控制中客体内存可信验证方法及系统 | |
CN110334514B (zh) | 一种基于可信计算平台验证度量报告的方法及装置 | |
US11263309B2 (en) | Block device signature-based integrity protection for containerized applications | |
CN114462041A (zh) | 基于双体系架构的动态可信访问控制方法及系统 | |
JP5126495B2 (ja) | 安全度評価と連動するセキュリティの方針設定装置、そのプログラムおよびその方法 | |
KR100985073B1 (ko) | 네트워크 공유폴더 접근 제어 장치 및 방법 | |
CN113515779A (zh) | 文件的完整性校验方法、装置、设备及存储介质 | |
CN111523115B (zh) | 信息确定方法、函数调用方法及电子设备 | |
Xinguang et al. | Filter-based trusted remote attestation for web services | |
Li et al. | A policy-based access control model for mobile terminal in SG-eIoT | |
CN117786668A (zh) | 一种应用程序动态完整性度量方法和系统 |
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 |