CN111159713A - 基于SELinux的自学习可信策略构建方法及系统 - Google Patents

基于SELinux的自学习可信策略构建方法及系统 Download PDF

Info

Publication number
CN111159713A
CN111159713A CN201911341073.6A CN201911341073A CN111159713A CN 111159713 A CN111159713 A CN 111159713A CN 201911341073 A CN201911341073 A CN 201911341073A CN 111159713 A CN111159713 A CN 111159713A
Authority
CN
China
Prior art keywords
strategy
file
policy
learning
selinux
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
CN201911341073.6A
Other languages
English (en)
Other versions
CN111159713B (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.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
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 Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN201911341073.6A priority Critical patent/CN111159713B/zh
Publication of CN111159713A publication Critical patent/CN111159713A/zh
Application granted granted Critical
Publication of CN111159713B publication Critical patent/CN111159713B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供的一种基于SELinux的自学习可信策略构建方法及系统,该方法包括:获取需要添加进策略文件的应用程序;进入策略学习模式,将SELinux设置为宽容模式;允许并执行应用程序的所有操作,获取日志文件里记录的拒绝信息;读取拒绝信息,将拒绝信息转化成策略文件;将策略文件加载至内核。本发明实施例提供的自学习可信策略构建方法及系统,对新安装的应用程序,通过将SELinux设置为宽容模式,以一个训练过程构建策略文件,执行需要添加进策略文件的应用程序操作,在不添加前置操作策略的情况下,后置操作仍被允许执行而不会使学习过程停止,实现在不影响程序运行的情况下,构建应用程序所需的可信策略。

Description

基于SELinux的自学习可信策略构建方法及系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于SELinux的自学习可信策略构建方法及系统。
背景技术
SELinux安全模块的默认规则是,在强制模式下,策略文件中没有定义的一切操作都将被拒绝执行并把拒绝信息写入日志文件;在宽容模式下,SELinux允许应用程序的所有操作,将策略文件中没有定义的操作信息写入日志文件。日志文件里的拒绝信息主要包含:主体和客体信息以及安全上下文、主体对客体的操作等。如果策略文件中定义了某个操作信息,执行该操作时不会被SELinux拒绝,日志文件里也就不会记录相应的拒绝信息。当系统新安装一个应用程序时,该应用程序的任何操作都会被拒绝。保证应用程序的可信受控运行需要为应用程序构建合理的访问策略规则。为了保证策略规则的完整性及可信性,该构建过程建立在受保护的可信系统基础之上。
现有技术中存在着诸多关于可信策略构建方法,其中专利申请号为CN201210563375.X的专利文件中,公开了一种基于自学习的Linux安全策略配置方法,用于解决Linux操作系统安全策略配置困难的问题,包括:在SELinux的安全服务器区嵌入策略学习模块;该策略学习模块对配置管理员用户提供了一个自动学习开关,使得安全服务器通过判断开关状态来自动生成访问控制策略。开关处于开启状态时,记录LSM拦截的所有主客体之间的访问请求,自动生成相应的访问控制策略,同时放行请求;当开关关闭,策略学习模块将不发挥作用,安全服务器将返回现有的访问控制策略。
该方案的实施步骤主要包括:(1)安装Linux操作系统,并将改进后的SELinux作为安装项;(2)进入Linux操作系统,开启策略学习模块流程,并开启所述策略学习模块的学习开关;(3)部署应用软件与业务系统;(4)经过一段时间的安全稳定运行,关闭所述策略学习模块的学习开关;(5)手动调整,合并部分自动生成的访问控制策略;(6)经过一段时间的稳定运行,对安全日志进行审计,记录并生成没有正常运行的主体名单及访问的客体名单;(7)手动调整所述自动生成的访问控制策略,为所述没有正常运行的主体名单中的主体添加对应客体的访问权限;(8)安全策略配置结束。
由于上述方案公开的安全策略的构建方法是利用LSM接口拦截获取主客体安全上下文,并且逐条生成安全策略,导致对于有依赖关系的操作,需要先添加前置操作的安全策略,才能添加后置操作的安全策略。因此,其在构建策略时,会影响了程序运行;且在安全策略构建结束后,制定的可信策略可能被恶意篡改,无法保证策略的完整性。
在专利申请号为CN201610031855.X的专利文件中,公开了一种安全配置方法,包括:确定应用是否设置有安全标识;当所述应用设置有所述安全标识时,采用本地预设的强制访问控制安全系统SELinux安全策略保护所述应用的安全。本发明实施例还公开了一种安全配置方法,包括:接收用户输入的标记指示;根据所述标记指示,为应用设置安全标识。
由于上述方案是利用本地预设的安全策略,对不同的安全标识配置策略,然后为新安装的应用程序配置需要的安全标识,导致该方案无法为特定应用程序配置特定策略。
综上所述,亟需提供一种可信策略构建方法,能够对每个特定应用程序配置特定策略,并在策略构建的过程中,保证程序的正常运行。
发明内容
有鉴于此,本发明实施例提供一种基于SELinux的自学习可信策略构建方法及其系统,用以解决目前在对特定应用程序进行策略构建的过程中,该应用程序的不能正常运行的缺陷。
第一方面,本发明实施例提供一种基于SELinux的自学习可信策略构建方法,包括:获取需要添加进策略文件的应用程序;进入策略学习模式,将SELinux设置为宽容模式;允许并执行应用程序的所有操作,并获取日志文件里记录的拒绝信息;读取拒绝信息,并将拒绝信息转化成策略文件;将策略文件加载至内核。
进一步地,在将策略文件加载至内核之后,包括:对策略文件进行度量,若确定策略文件完整,则退出策略学习模式,将SELinux设置为强制模式。
进一步地,在对策略文件进行度量,若确定策略文件完整之后,还包括:将策略文件的度量值作为标准度量值,存入可信基准库中。
进一步地,在将SELinux设置为强制模式之后,还包括:提取出拒绝信息中需要添加进策略文件里的操作拒绝信息;将操作拒绝信息转化成附加策略文件;利用附加策略文件对所述策略文件进行更新,获取新生成策略文件;将新生成策略文件加载至内核,以替换策略文件。
进一步地,在利用附加策略文件对所述策略文件进行更新,获取新生成策略文件之后,还包括:对新生成策略文件进行度量,并将获取的新生成度量值存入可信基准库中,替换策略文件的度量值。
进一步地,在上述提取出拒绝信息中需要添加进所述策略文件里的操作拒绝信息之前,还包括:确定SELinux中预存储有策略文件,则直接应用程序执行。
第二方面,本发明实施例提供一种基于SELinux的自学习可信策略构建系统,包括:策略学习模块、日志读取模块、策略读取模块以及策略更新模块;日志读取模块,用于在策略学习模块允许并执行应用程序的所有操作的过程中,获取日志文件里记录的拒绝信息;策略读取模块,用于读取拒绝信息,并将拒绝信息转化成策略文件;策略更新模块,用于将策略文件加载至内核。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述第一方面任一项所述的基于SELinux的自学习可信策略构建方法的步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面任一项所述的基于SELinux的自学习可信策略构建方法的步骤。
本发明实施例提供的基于SELinux的自学习可信策略构建方法及系统,对新安装的应用程序,通过将SELinux设置为宽容模式,以一个训练过程构建策略文件,执行需要添加进策略文件的应用程序操作,在不添加前置操作策略的情况下,后置操作仍被允许执行而不会使学习过程停止,实现在不影响程序运行的情况下,构建应用程序所需的可信策略。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于SELinux的自学习可信策略构建方法的流程示意图;
图2为本发明实施例提供的一种在SELinux宽容模式下可信策略构建流程示意图;
图3为本发明实施例提供的一种在SELinux强制模式下,应用运行自学习可信策略及策略更新示意图;
图4本发明实施例提供的一种基于SELinux的自学习可信策略构建系统的结构示意图;
图5为本发明实施例提供的另一种基于SELinux的自学习可信策略构建方法的方案构架示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
可信策略是用于定义主体读取对象的规则类数据库,每个规则中记录了哪个类型的主体使用哪个方法读取哪一个对象是允许还是拒绝,并且同时定义了哪种行为是允许或拒绝。其中,对象(object)是指所有可以读取的对象,包括文件、目录和进程、端口等;一般将进程称作为主体。
安全增强型Linux(Security-Enhanced Linux,简称:SELinux),它是一个Linux内核模块,也是Linux的一个安全子系统。SELinux的主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。在没有使用SELinux的操作系统中,决定一个资源是否能被访问的因素是:某个资源是否拥有对应用户的权限(例如:读、写、执行)。只要访问这个资源的进程符合以上的条件就可以被访问。尤其是这种权限管理机制的主体是用户,也称为自主访问控制(DAC),在本实施例中将其称作宽容模式。
在使用了SELinux的操作系统中,决定一个资源是否能被访问的因素除了上述因素之外,还需要判断每一类进程是否拥有对某一类资源的访问权限。因此,即使进程是以root身份运行的,也需要判断进程的类型以及允许访问的资源类型才能决定是否允许访问某个资源。进程的活动空间也可以被压缩到最小。即使是以root身份运行的服务进程,一般也只能访问到其所需要的资源。即使程序出了漏洞,影响范围也只有在其允许访问的资源范围内。安全性大大增加,这种权限管理机制的主体是进程,也称为强制访问控制(MAC),在本实施例中将其称作强制模式。
本发明实施例提供一种基于SELinux的自学习可信策略构建方法,如图1所示,包括但不限于以下步骤:
步骤S1:获取需要添加进策略文件的应用程序;步骤S2:进入策略学习模式,将SELinux设置为宽容模式;步骤S3:允许并执行应用程序的所有操作,并获取日志文件里记录的拒绝信息;步骤S4:读取所述拒绝信息,并将所述拒绝信息转化成策略文件;骤S5:将策略文件加载至内核。
在本发明实施例提供的可信策略构建过程,对于新安装的应用程序,调用策略学习模块,将SELinux设置为宽容模式,以一个训练过程构建策略文件。首先,获取并执行需要添加进策略文件的应用程序操作,此时允许应用程序的所有操作,并且在日志文件里记录下策略文件中没有定义的拒绝信息,这样可以保证当应用程序的各操作存在依赖关系时,在不添加前置操作策略的情况下后置操作仍允许执行而不会使学习过程停止,实现了在不影响程序运行的情况下构建应用程序所需的操作策略。这个自学习的过程应该尽可能多地执行应用程序的全部操作,目的是为应用程序构建一个完整的策略文件。自学习过程结束后,读取日志文件里的拒绝信息,并将拒绝信息自动地转化成策略文件。
图2为本发明实施例提供的一种在SELinux宽容模式下可信策略构建流程示意图,如图2所示,在本实施例中,在受保护的可信系统基础之上,对于任意一个没有定义策略规则的新应用,在进入到策略学习模式后,首先将SELinux设置为宽容模式,以保证该应用程序的所有操作均被允许执行。获取到一种操作的请求访问数据,其中获取操作的方式,可以按照该应用程序执行过程中的产生的操作进行顺序选取。进一步地,检测SELinux安全模块中是否存在与所述请求访问数据相关的策略文件;当不存在时,则利用audit日志模块记录对应的拒绝信息至audil.log日志文件中。
按照上述方法,在应用程序被执行的过程中,依次迭代对下一个操作所对应的请求访问数据进行处理,直至与所述应用程序相对应的所有操作均被遍历,获取到最终的日志文件。利用audit2allow读取该日志文件中的拒绝信息,自动生成策略文件,并进一步地将该策略文件加载至内核中,完成该应用程序的可信策略构建。
进一步地,tcpdump是根据使用者的定义对网络上的数据包进行截获的包分析工具。本发明实施例以构建tcpdump的策略文件为例,还提供另一种基于SELinux的自学习可信策略构建方法,包括:
1)开启策略学习模块,将SELinux设置为宽容模式(setenforce 0);
2)正常运行tcpdump,此时所有操作都被允许执行,但日志文件里会记录下拒绝信息,保证需要的操作都被执行一遍;
3)获取日志文件里已经出现tcpdump相关拒绝操作的denied信息,将这些信息分析整理后输出到avc.txt。(cat/var/log/audit/audit.log|grep tcpdump>avc.txt);
4)使用audit2allow命令将日志文件里的拒绝信息转化成策略文件(audit2allow-M tcpdump-i avc.txt);
5)使用semodule命令将刚生成的策略tcpdump.pp(在当前目录下)加载到内核(semodule-i tcpdump.pp);
6)至此tcpdump的策略学习过程完成。
本发明实施例提供的基于SELinux的自学习可信策略构建方法,对新安装的应用程序,通过将SELinux设置为宽容模式,以一个训练过程构建策略文件,执行需要添加进策略文件的应用程序操作,在不添加前置操作策略的情况下,后置操作仍被允许执行而不会使学习过程停止,实现在不影响程序运行的情况下,构建应用程序所需的可信策略。
基于上述实施例的内容,作为一种可选实施例,在将策略文件加载至内核之后,包括:对策略文件进行度量,若确定策略文件完整,则退出策略学习模式,将SELinux设置为强制模式。
进一步地,在对所述策略文件进行度量,若确定所述策略文件完整之后,还包括:将策略文件的度量值作为标准度量值,存入可信基准库中。
进一步地,在将SELinux设置为强制模式之后,还包括:提取出拒绝信息中需要添加进策略文件里的操作拒绝信息;将操作拒绝信息转化成附加策略文件;利用附加策略文件对所述策略文件进行更新,获取新生成策略文件;将新生成策略文件加载至所述内核,以替换策略文件。
进一步地,在利用附加策略文件对所述策略文件进行更新,获取新生成策略文件之后,还包括:对新生成策略文件进行度量,并将获取的新生成度量值存入可信基准库中,替换策略文件的度量值。
具体地,如图3所示,在本发明实施例中,在策略学习过程结束后,可以退出策略学习模式,并将SELinux设置为强制模式,此时SELinux只允许策略文件里定义的操作执行。首先,计算策略文件的哈希值,并将该哈希值作为策略文件的基准值存入可信基准库。此时,则需要判断在策略学习过程中,有没有完整地执行应用程序所需的全部操作,以及所构建的策略文件是否是完整的,即应先度量策略文件的完整性,若策略文件完整时,再进入SELinux处理流程。若策略文件不完整,则拒绝继续执行该应用程序,因为在策略学习过程中,没有完整地执行应用程序所需的全部操作,构建的策略文件也就相应地不完整。
调用策略更新模块更新完善策略规则,此时在SELinux强制模式下,策略文件里没有定义的操作会被禁止执行,日志文件也会记录下该操作的拒绝信息,对日志文件里的拒绝信息进行分析处理后,提取出策略学习过程中遗漏的、需要添加进策略文件里的操作拒绝信息,转化成策略文件。更新策略规则后,同样调用策略度量模块更新策略文件的基准值,存入可信基准库。
本发明实施例通过为每个应用程序构建对应的策略文件,并且计算策略文件的哈希值存储到可信基准库中作为完整性判断的依据。策略构建结束后在SELinux强制模式下运行该应用程序时,首先度量策略文件的基准值并与可信基准库中的值对比,若与可信基准库中的基准值不同,说明策略文件不完整,无论策略文件中是否定义了此操作信息,均拒绝访问;与可信基准库中的基准值匹配时,进入SELinux处理流程:若策略文件里定义了该操作信息,则允许该操作执行;若策略文件里没有定义该操作信息,则拒绝该操作执行,并且日志文件里记录下该操作的拒绝信息。
进一步地,再次进入值策略学习模式,利用audit2allow读取日志文件里的拒绝信息,自动生成策略模块(即策略文件),并将生成的策略模块加载至内核。
进一步地,基于更新后的策略文件,计算新的标准度量值(即新生成度量值),并将获取的新生成度量值存入可信基准库中,替换所述策略文件的度量值。
本发明实施例提供的针对特定应用程序的策略规则只作用于该应用程序,不影响其他应用程序的运行。当需要为其他应用程序构建安全策略时,只需对新应用程序重复上述过程,构建新的策略文件即可。
需要说明的是,上述将策略文件加载至内核,则标志着策略学习过程完成,此时,则需要判断在策略学习过程中,有没有完整地执行应用程序所需的全部操作,以及所构建的策略文件是否是完整的。
结合上述实施例中记载的构建tcpdump的策略文件为例,本发明所述提供的基于SELinux的自学习可信策略构建方法,还可以包括以下步骤:
1)当tcpdump的策略学习过程完成后,关闭策略学习模块。计算策略文件的哈希值,并将获取的度量值作为标准度量值作为并存入可信基准库;
2)将SELinux设置为强制模式(setenforce 1);
3)运行tcpdump,先度量策略文件完整性,当策略文件完整时进入SELinux处理流程,策略文件中定义的操作信息可以执行,没有定义的信息将拒绝执行,并在日志文件里记录拒绝信息。
4)若需要更新策略文件添加应用程序的新策略,则整理分析日志文件里的拒绝信息,选出要增加的新策略。此时,可以选择修改最初的策略文件添加新策略重新生成策略文件;也可以将需要添加的新策略生成新的策略文件。更新策略文件后,同样更新策略文件的基准值,以作为新生成度量值存入可信基准库中,替换元策略文件的度量值。
其中,在步骤3)之前,还可以对原日志文件的内容进行清空(/var/log/audit/audit.log)。
进一步地,在上述提取出拒绝信息中需要添加进策略文件里的操作拒绝信息之前,还包括:确定SELinux中预存储有策略文件,则直接允许应用程序执行。
在本实施例中当SELinux中预存储有策略文件,则证明策略文件是无须更新的,因此,可以直接允许应用程序的继续执行。
综上所述,本发明实施例提供的基于SELinux的自学习可信策略构建方法,实现了在不修改应用程序本身以及不影响程序运行的情况下,以一种自学习的方法将学习过程中的操作信息转化为应用的策略文件,并且可以更新完善不完整的策略文件。而且,各个应用之间的策略互不影响,不同应用程序有不同的策略规则,可以为特定策略构建特定策略,通过度量策略文件保证策略文件的完整性。
本发明实施例提供一种基于SELinux的自学习可信策略构建系统,如图4所示,包括但不限于:策略学习模块1、日志读取模块2、策略读取模块3以及策略更新模块4,其中:
策略学习模块1主要用于获取需要添加进策略文件的应用程序以及进入策略学习模式,将SELinux设置为宽容模式;
日志读取模块2主要用于在策略学习模块1允许并执行所述应用程序的所有操作的过程中,获取日志文件里记录的拒绝信息;
策略读取模块3主要用于读取拒绝信息,并将拒绝信息转化成策略文件;
策略更新模块4主要用于将策略文件加载至内核。
进一步地,上述自学习可信策略构建系统还包括:策略度量模块,用于对策略文件进行度量;若确定策略文件完整,策略学习模块则控制SELinux退出策略学习模式,并将SELinux设置为强制模式;同时,将策略文件的度量值作为标准度量值,存入可信基准库中。
如图5所示,本发明实施例提供另一基于SELinux的自学习可信策略构建系统,其中整个系统的体系构架主要包括:用于可信策略构建的策略学习模块以及策略更新模块,前者主要是执行上述实施例中记载的在SELinux宽容模式下的策略可信构建步骤,后者主要是用于执行在SELinux强制模式下的应用运行以及策略更新的步骤。其中,策略构建主要是建立在对日志文件以及策略文件的读写以及更新的基础上实现。其中,每个策略文件的可以利用策略度量模块进行度量,以生成标准度量值,并保存于可信基准库中。
本发明实施例提供的基于SELinux的自学习可信策略构建系统,对新安装的应用程序,通过将SELinux设置为宽容模式,以一个训练过程构建策略文件,执行需要添加进策略文件的应用程序操作,在不添加前置操作策略的情况下,后置操作仍被允许执行而不会使学习过程停止,实现在不影响程序运行的情况下,构建应用程序所需的可信策略,与现有技术相比,本实施例可以保证策略文件可信,能在不修改应用程序本身以及不影响程序运行的情况下为应用程序构建策略文件,且各个应用程序之间的策略互不影响,不同应用程序有不同的策略规则,可以针对特定策略构建特定策略,提高了系统的安全性能。
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行如下步骤:获取需要添加进策略文件的应用程序;进入策略学习模式,将SELinux设置为宽容模式;允许并执行应用程序的所有操作,并获取日志文件里记录的拒绝信息;读取拒绝信息,并将拒绝信息转化成策略文件;将策略文件加载至内核。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括以下步骤:获取需要添加进策略文件的应用程序;进入策略学习模式,将SELinux设置为宽容模式;允许并执行应用程序的所有操作,并获取日志文件里记录的拒绝信息;读取拒绝信息,并将拒绝信息转化成策略文件;将策略文件加载至内核。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种基于SELinux的自学习可信策略构建方法,其特征在于,包括:
获取需要添加进策略文件的应用程序;
进入策略学习模式,将SELinux设置为宽容模式;
允许并执行所述应用程序的所有操作,并获取日志文件里记录的拒绝信息;
读取所述拒绝信息,并将所述拒绝信息转化成策略文件;
将所述策略文件加载至内核。
2.根据权利要求1所述的基于SELinux的自学习可信策略构建方法,其特征在于,在将所述策略文件加载至内核之后,包括:
对所述策略文件进行度量,若确定所述策略文件完整,则退出策略学习模式,将所述SELinux设置为强制模式。
3.根据权利要求2所述的基于SELinux的自学习可信策略构建方法,其特征在于,在所述对所述策略文件进行度量,若确定所述策略文件完整之后,还包括:
将所述策略文件的度量值作为标准度量值,存入可信基准库中。
4.根据权利要求2所述的基于SELinux的自学习可信策略构建方法,其特征在于,在所述将所述SELinux设置为强制模式之后,还包括:
提取出所述拒绝信息中需要添加进所述策略文件里的操作拒绝信息;
将所述操作拒绝信息转化成附加策略文件;
利用所述附加策略文件对所述策略文件进行更新,获取新生成策略文件;
将所述新生成策略文件加载至所述内核,以替换所述策略文件。
5.根据权利要求4所述的基于SELinux的自学习可信策略构建方法,其特征在于,在所述利用所述附加策略文件对所述策略文件进行更新,获取新生成策略文件之后,还包括:
对所述新生成策略文件进行度量,并将获取的新生成度量值存入可信基准库中,替换所述策略文件的度量值。
6.根据权利要求4所述的基于SELinux的自学习可信策略构建方法,其特征在于,在所述提取出所述拒绝信息中需要添加进所述策略文件里的操作拒绝信息之前,还包括:
确定所述SELinux中预存储有所述策略文件,则直接允许所述应用程序执行。
7.一种基于SELinux的自学习可信策略构建系统,其特征在于,包括:
策略学习模块,用于获取需要添加进策略文件的应用程序以及进入策略学习模式,将SELinux设置为宽容模式;
日志读取模块,用于在所述策略学习模块允许并执行所述应用程序的所有操作的过程中,获取日志文件里记录的拒绝信息;
策略读取模块,用于读取所述拒绝信息,并将所述拒绝信息转化成策略文件;
策略更新模块,用于将所述策略文件加载至内核。
8.根据权利要求7所述的基于SELinux的自学习可信策略构建系统,其特征在于,还包括:
策略度量模块,用于对所述策略文件进行度量;
若确定所述策略文件完整,策略学习模块则控制所述SELinux退出策略学习模式,并将所述SELinux设置为强制模式;
同时,将所述策略文件的度量值作为标准度量值,存入可信基准库中。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述基于SELinux的自学习可信策略构建方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述基于SELinux的自学习可信策略构建方法的步骤。
CN201911341073.6A 2019-12-23 2019-12-23 基于SELinux的自学习可信策略构建方法及系统 Active CN111159713B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911341073.6A CN111159713B (zh) 2019-12-23 2019-12-23 基于SELinux的自学习可信策略构建方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911341073.6A CN111159713B (zh) 2019-12-23 2019-12-23 基于SELinux的自学习可信策略构建方法及系统

Publications (2)

Publication Number Publication Date
CN111159713A true CN111159713A (zh) 2020-05-15
CN111159713B CN111159713B (zh) 2022-05-10

Family

ID=70558113

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911341073.6A Active CN111159713B (zh) 2019-12-23 2019-12-23 基于SELinux的自学习可信策略构建方法及系统

Country Status (1)

Country Link
CN (1) CN111159713B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901146A (zh) * 2020-06-28 2020-11-06 北京可信华泰信息技术有限公司 一种对象访问的控制方法和装置
CN111897768A (zh) * 2020-06-28 2020-11-06 北京可信华泰信息技术有限公司 一种对象访问策略的配置方法和装置
CN112131582A (zh) * 2020-08-28 2020-12-25 达闼机器人有限公司 SELinux规则生成方法、装置和电子设备
CN112733149A (zh) * 2021-01-12 2021-04-30 北京旋极安辰计算科技有限公司 一种操作系统中可信静态度量策略自学习的方法
CN114297151A (zh) * 2021-11-26 2022-04-08 惠州市德赛西威智能交通技术研究院有限公司 一种SELinux策略智能生成方法,工具及存储介质
US11775643B2 (en) 2020-10-16 2023-10-03 Industrial Technology Research Institute Method and system for labeling object and generating security policy of operating system
CN117131518A (zh) * 2023-02-22 2023-11-28 荣耀终端有限公司 配置SELinux安全策略的方法、系统及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080104665A1 (en) * 2006-10-31 2008-05-01 Microsoft Corporation Analyzing access control configurations
CN103176817A (zh) * 2012-12-21 2013-06-26 中国电力科学研究院 一种基于自学习的Linux安全策略配置方法
CN106330984A (zh) * 2016-11-29 2017-01-11 北京元心科技有限公司 访问控制策略的动态更新方法及装置
CN106845243A (zh) * 2016-12-13 2017-06-13 北京元心科技有限公司 提高启动安全的方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080104665A1 (en) * 2006-10-31 2008-05-01 Microsoft Corporation Analyzing access control configurations
CN103176817A (zh) * 2012-12-21 2013-06-26 中国电力科学研究院 一种基于自学习的Linux安全策略配置方法
CN106330984A (zh) * 2016-11-29 2017-01-11 北京元心科技有限公司 访问控制策略的动态更新方法及装置
CN106845243A (zh) * 2016-12-13 2017-06-13 北京元心科技有限公司 提高启动安全的方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YUANRANHAO: "自定义SELinux策略", 《道客巴巴》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901146A (zh) * 2020-06-28 2020-11-06 北京可信华泰信息技术有限公司 一种对象访问的控制方法和装置
CN111897768A (zh) * 2020-06-28 2020-11-06 北京可信华泰信息技术有限公司 一种对象访问策略的配置方法和装置
CN111897768B (zh) * 2020-06-28 2024-02-02 北京可信华泰信息技术有限公司 一种对象访问策略的配置方法和装置
CN112131582A (zh) * 2020-08-28 2020-12-25 达闼机器人有限公司 SELinux规则生成方法、装置和电子设备
US11775643B2 (en) 2020-10-16 2023-10-03 Industrial Technology Research Institute Method and system for labeling object and generating security policy of operating system
CN112733149A (zh) * 2021-01-12 2021-04-30 北京旋极安辰计算科技有限公司 一种操作系统中可信静态度量策略自学习的方法
CN114297151A (zh) * 2021-11-26 2022-04-08 惠州市德赛西威智能交通技术研究院有限公司 一种SELinux策略智能生成方法,工具及存储介质
CN117131518A (zh) * 2023-02-22 2023-11-28 荣耀终端有限公司 配置SELinux安全策略的方法、系统及存储介质

Also Published As

Publication number Publication date
CN111159713B (zh) 2022-05-10

Similar Documents

Publication Publication Date Title
CN111159713B (zh) 基于SELinux的自学习可信策略构建方法及系统
US11017107B2 (en) Pre-deployment security analyzer service for virtual computing resources
RU2514140C1 (ru) Система и способ увеличения качества обнаружений вредоносных объектов с использованием правил и приоритетов
US9081967B2 (en) System and method for protecting computers from software vulnerabilities
CN102799817B (zh) 用于使用虚拟化技术进行恶意软件保护的系统和方法
US9432406B2 (en) System and method for resolving conflicts between application control rules
US9342696B2 (en) Attesting use of an interactive component during a boot process
US20130007527A1 (en) System and method for automated solution of functionality problems in computer systems
US9208315B2 (en) Identification of telemetry data
CN106934282A (zh) 使用用于残疾用户的api控制对数据的访问的系统和方法
RU2666645C1 (ru) Система и способ обеспечения безопасного изменения конфигурации систем
US20070006297A1 (en) Identifying dependencies of an application upon a given security context
Sellwood et al. Sleeping android: The danger of dormant permissions
US20160087989A1 (en) Assignment of Security Contexts to Define Access Permissions for File System Objects
KR20230156129A (ko) 블록체인 기반의 책임 있는 분산 컴퓨팅 시스템
US7779480B2 (en) Identifying dependencies of an application upon a given security context
US7620995B2 (en) Identifying dependencies of an application upon a given security context
CN116522308A (zh) 数据库账号托管方法、装置、计算机设备及存储介质
EP2819346B1 (en) System and method for automatically configuring application control rules
RU2571380C2 (ru) Система и способ для изоляции ресурсов посредством использования ресурсных менеджеров
US20180260563A1 (en) Computer system for executing analysis program, and method of monitoring execution of analysis program
CN115292708A (zh) 基于字节码的执行权限分析方法及装置
EP2835757B1 (en) System and method protecting computers from software vulnerabilities
US11775272B1 (en) Deployment of software programs based on security levels thereof
CN117807568B (zh) 基于Linux操作系统的安装权限控制方法、装置、电子设备及存储介质

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