CN112131582A - SELinux规则生成方法、装置和电子设备 - Google Patents
SELinux规则生成方法、装置和电子设备 Download PDFInfo
- Publication number
- CN112131582A CN112131582A CN202010887093.XA CN202010887093A CN112131582A CN 112131582 A CN112131582 A CN 112131582A CN 202010887093 A CN202010887093 A CN 202010887093A CN 112131582 A CN112131582 A CN 112131582A
- Authority
- CN
- China
- Prior art keywords
- selinux
- rule
- new
- operating system
- linux operating
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000012360 testing method Methods 0.000 claims abstract description 68
- 238000004891 communication Methods 0.000 claims description 20
- 230000002159 abnormal effect Effects 0.000 claims description 13
- 230000000694 effects Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
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)
- Automation & Control Theory (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例涉及计算机技术领域,公开了一种SELinux规则生成方法、装置和电子设备。该方法包括:运行测试程序,测试安装于硬件中的Linux操作系统;收集测试程序运行中产生的SELinux警告信息;根据收集到的SELinux警告信息,生成新的SELinux规则;将所述新的SELinux规则与已有的SELinux规则进行合并,生成合并后的SELinux规则。本发明实施例实现了自动化生成SELinux规则。
Description
技术领域
本发明实施例涉及通计算机技术领域,具体涉及一种SELinux规则生成方法、装置和电子设备。
背景技术
增强型Linux(Security-EnhancedLinux,SELinux)是Linux内核模块,也是Linux的一个安全子系统。SELinux是一种对强制访问控制(Mandatory Access Control)的实现,在该访问控制体系的限制下,进程只能访问在它的任务中所需要的文件,系统会禁止进程访问允许范围之外的文件。
云端智能机器人中,云端智能大脑通过机器人控制器对机器人赋能,机器人控制器与机器人本体上运行的操作系统为Linux操作系统时,SELinux在控制机器人控制器和机器人本体进程运行时对外接设备和数据的访问控制权限发生作用。
在开发和部署机器人控制器和机器人本体的程序时,需要设置SELinux强制访问规则。现有技术中尚未实现自动化生成SELinux规则。
发明内容
鉴于上述问题,本发明实施例提供了一种SELinux规则生成方法、装置和电子设备,实现了自动化生成SELinux规则。
根据本发明实施例的一个方面,提供了一种SELinux规则生成方法,包括:
运行测试程序,测试安装于硬件中的Linux操作系统;
收集测试程序运行中产生的SELinux警告信息;
根据收集到的SELinux警告信息,生成新的SELinux规则;
将所述新的SELinux规则与已有的SELinux规则进行合并,生成合并后的SELinux规则。
在一种可选的方式中,在所述运行测试程序之前,所述方法还包括:
进行Linux操作系统的自动化编译;
将编译完成的Linux操作系统更新到所述硬件中;
在所述生成合并后的SELinux规则之后,所述进行Linux操作系统的自动化编译还包括:
根据所述合并后的SELinux规则进行Linux操作系统的自动化编译;
所述测试安装于硬件中的Linux操作系统,包括:
测试安装于硬件中的更新后的Linux操作系统。
在一种可选的方式中,判断是否发生异常事件;
若发生异常事件,则输出用于提醒人工介入的提示信息。
在一种可选的方式中,所述异常事件包括:所述新的SELinux规则违反系统设定规则、合并SELinux规则时发生错误、编译Linux操作系统时发生错误、更新Linux操作系统时发生错误和测试程序运行和测试时发生错误中的一种或多种。
在一种可选的方式中,所述判断是否发生异常事件,包括:判断所述新的SELinux规则是否违反系统设定规则;
所述判断所述新的SELinux规则是否违反系统设定规则,包括:
进行Linux操作系统的自动化编译时,判断所述新的SELinux规则是否符合系统设定规则;
若不符合,触发编译告警,提示发生了新的SELinux规则违反系统设定规则的情况。
在一种可选的方式中,所述将所述新的SELinux规则与已有的SELinux规则进行合并,包括:
检查所述新的SELinux规则是否存在于已有的SELinux规则中;
若不存在,将所述新的SELinux规则与已有的SELinux规则进行合并。
在一种可选的方式中,所述SELinux警告信息包括SELinux警告日志,所述SELinux警告日志对应测试程序运行中检测到的违反SELinux规则的事件。
在一种可选的方式中,所述测试程序包括至少一个测试用例;
所述收集测试程序运行中产生的SELinux警告信息,包括:
将第一SELinux警告日志对应到生成所述第一SELinux警告日志的第一测试用例。
在一种可选的方式中,在根据所述第一SELinux警告日志生成新的第一SELinux规则,生成合并后的第一SELinux规则,并根据所述合并后的第一SELinux规则进行Linux操作系统的自动化编译后,再次运行所述第一测试用例;
若没有生成SELinux警告日志或生成的SELinux警告日志与所述第一SELinux警告日志不同,则确认所述新的第一SELinux规则已生效。
在一种可选的方式中,若生成的SELinux警告日志与所述第一SELinux警告日志相同,则确认所述新的第一SELinux规则未生效;
若所述新的第一SELinux规则未生效,确认测试程序运行和测试时发生错误。
在一种可选的方式中,所述SELinux警告信息与所述新的SELinux规则一一对应。
在一种可选的方式中,若所有的测试用例全部运行完成,没有生成警告日志,则结束。
根据本发明实施例的另一方面,提供了一种SELinux规则生成装置,包括:
测试模块,用于运行测试程序,测试安装于硬件中的Linux操作系统;
收集模块,用于收集测试程序运行中产生的SELinux警告信息;
生成模块,用于根据收集到的SELinux警告信息,生成新的SELinux规则;
合并模块,用于将所述新的SELinux规则与已有的SELinux规则进行合并,生成合并后的SELinux规则。
根据本发明实施例的另一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上所述的SELinux规则生成方法的操作。
根据本发明实施例的另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令在处理器上运行时,使得所述处理器执行如上所述的SELinux规则生成方法的操作。
本发明实施例通过收集测试程序运行中产生的SELinux警告信息,根据收集到的SELinux警告信息,生成新的SELinux规则,将所述新的SELinux规则与已有的SELinux规则进行合并,生成合并后的SELinux规则,实现了自动化生成SELinux规则。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例的云端智能机器人的实现结构示意图;
图2是本发明实施例的SELinux规则生成方法的流程图;
图3是本发明另一实施例的SELinux规则生成方法的流程图;
图4是本发明实施例的SELinux规则生成装置的结构框图;
图5是本发明另一实施例的SELinux规则生成装置的结构框图;
图6是本发明实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
如图1所示,为云端智能机器人的实现结构示意图。云端智能机器人中,云端智能大脑通过机器人控制器对机器人赋能,机器人控制器(也称为机器人控制模块,robotcontrol unit,RCU)与机器人本体上(控制柜,Cabinet Control Unit,CCU)运行的操作系统为Linux操作系统时,SELinux在控制机器人控制器和机器人本体进程运行时对外接设备和数据的访问控制权限发生作用。本发明实施例提供了一种自动生成SELinux规则的方法,可应用于云端智能机器人,在机器人控制器与机器人本体上执行本发明实施例提供的方法。当然,也可以应用于其他类型的机器人,或者其他安装有Linux操作系统的电子设备(例如服务器)等。
图2示出了本发明实施例的SELinux规则生成方法的流程图,该方法由安装有Linux操作系统的硬件执行。如图2所示,该方法包括以下步骤:
步骤11:运行测试程序,测试安装于硬件中的Linux操作系统。
所述测试程序包括至少一个测试用例(Test Case)。测试程序一般由多个测试用例组成。测试用例是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。测试用例内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求。
步骤12:收集测试程序运行中产生的SELinux警告信息。
本步骤可由运行日志收集器执行。所述SELinux警告信息一般是SELinux警告日志,所述SELinux警告日志对应测试程序运行中检测到的违反SELinux规则的事件。每个SELinux警告日志的产生,都可以对应到相应的测试用例。也即每个SELinux警告日志都是由相应的测试用例运行过程中产生的。因此,本步骤可以将例如第一SELinux警告日志对应到生成所述第一SELinux警告日志的第一测试用例。SELinux警告日志是生成新的SELinux规则的输入。
步骤13:根据收集到的SELinux警告信息,生成新的SELinux规则。
本步骤可由SELinux规则生成器执行。步骤12收集到了在本次测试用例运行过程中产生的所有SELinux警告信息,然后根据收集到的这些SELinux警告信息,生成新的SELinux规则。所述SELinux警告信息与所述新的SELinux规则也是一一对应的。
在Linux操作系统中,原本存在着已有的SELinux规则。经过一次测试之后,会生成新的SELinux规则。后续步骤中会将新的SELinux规则融入到已有的SELinux规则中,得到更新的SELinux规则,并根据更新的SELinux规则进行Linux操作系统的新一轮编译。
步骤14:将所述新的SELinux规则与已有的SELinux规则进行合并,生成合并后的SELinux规则。
本步骤可由SELinux规则合并器执行。在将所述新的SELinux规则与已有的SELinux规则进行合并时,需要检查所述新的SELinux规则是否存在于已有的SELinux规则中;若不存在,将所述新的SELinux规则与已有的SELinux规则进行合并。若已经存在,则无需将所述新的SELinux规则与已有的SELinux规则进行合并。具体的,SELinux配置文件的组织形式是:SELinux规则文件,每个SELinux规则文件中包含这一个项目的一条或者多个规则。例如,SELinux规则文件:device.te,其中包含规则allow device{ioctl,find}。
本发明实施例通过收集测试程序运行中产生的SELinux警告信息,根据收集到的SELinux警告信息,生成新的SELinux规则,将所述新的SELinux规则与已有的SELinux规则进行合并,生成合并后的SELinux规则,实现了自动化生成SELinux规则。
图3示出了本发明另一实施例的SELinux规则生成方法的流程图,该方法由安装有Linux操作系统的硬件执行。与图2所示实施例不同之处在于,本实施例中增加了Linux操作系统的编译和更新的步骤。如图3所示,该方法包括以下步骤:
步骤20A:进行Linux操作系统的自动化编译。
本步骤可由编译服务器(build server)执行。
步骤20B:将编译完成的Linux操作系统更新到所述硬件中。
本步骤可由测试程序烧写器(或称测试程序更新器)执行。
步骤21:运行测试程序,测试安装于硬件中的更新后的Linux操作系统。
步骤22:收集测试程序运行中产生的SELinux警告信息。
步骤23:根据收集到的SELinux警告信息,生成新的SELinux规则。
步骤24:将所述新的SELinux规则与已有的SELinux规则进行合并,生成合并后的SELinux规则。
然后,执行步骤20A,根据所述合并后的SELinux规则进行Linux操作系统的自动化编译。
其中,步骤21-24的实现可参考前述实施例中的步骤11-14,此处不再赘述。最后,若所有的测试用例全部运行完成,没有生成警告日志,则结束本方法。由于SELinux警告日志是生成新的SELinux规则的输入,没有警告日志相当于没有输入,无法生成新的SELinux规则,不用再进行下一步的操作。
在整个SELinux规则生成过程中,可以在某些节点判断是否发生异常事件;若发生异常事件,则输出用于提醒人工介入的提示信息。所述异常事件包括:所述新的SELinux规则违反系统设定规则、合并SELinux规则时发生错误、编译Linux操作系统时发生错误、更新Linux操作系统时发生错误和测试程序运行和测试时发生错误中的一种或多种。
判断新的SELinux规则是否违反系统设定规则,在步骤23生成新的SELinux规则时执行;判断合并SELinux规则时是否发生错误,在步骤24合并SELinux规则时执行;判断编译Linux操作系统时是否发生错误,在步骤20A编译Linux操作系统时执行;判断更新Linux操作系统时是否发生错误,在步骤20B更新Linux操作系统时执行;判断测试程序运行和测试时是否发生错误,在步骤22收集SELinux警告信息时执行。
例如,所述判断新的SELinux规则是否违反系统设定规则,包括:进行Linux操作系统的自动化编译时,判断所述新的SELinux规则是否符合系统设定规则;若不符合,触发编译告警,提示发生了新的SELinux规则违反系统设定规则的情况。系统管理员可以预先设置一些规则,系统中的程序不能违反预设的这些规则。例如,可以配置neverallow third-party-app{ioctl},即永远不允许第三方的应用程序使用系统的ioctl接口。当违反系统设定规则的SELinux配置进入SELinux规则文件后,在编译的时候,会触发编译告警和失败,提示用户发生了违反系统规则的情况。可以使用这些告警和失败信息来检测是否发生违反系统规则的情况。而违反系统规则产生的原因,一般是因为在应用程序中使用了不当的方法来访问设备或者文件。此时,可以通过人工介入解决违反系统规则的问题,例如通过在应用程序中进行修改来解决。
由于每个SELinux警告日志都是由相应的测试用例运行过程中产生的,SELinux警告信息与所述新的SELinux规则也是一一对应的。因此,在根据所述第一SELinux警告日志生成新的第一SELinux规则,生成合并后的第一SELinux规则,并根据所述合并后的第一SELinux规则进行Linux操作系统的自动化编译后,再次运行所述第一测试用例。若没有生成SELinux警告日志或生成的SELinux警告日志与所述第一SELinux警告日志不同,则确认所述新的第一SELinux规则已生效。然后,进行其他测试用例的测试,过程与第一测试用例的测试类似。
若生成的SELinux警告日志与所述第一SELinux警告日志相同,则确认所述新的第一SELinux规则未生效;若所述新的第一SELinux规则未生效,确认测试程序运行和测试时发生错误,也即发生了异常事件,输出用于提醒人工介入的提示信息。需要人工介入解决该异常事件。
以上的编译服务器、测试程序烧写器、运行日志收集器、SELinux规则生成器、SELinux规则合并器等,可以是一段计算机程序或者脚本,或者是两者兼具。
图4示出了本发明实施例的SELinux规则生成装置的结构示意图。如图4所示,该装置300包括:
测试模块31,用于运行测试程序,测试安装于硬件中的Linux操作系统;
收集模块32,用于收集测试程序运行中产生的SELinux警告信息;
生成模块33,用于根据收集到的SELinux警告信息,生成新的SELinux规则;
合并模块34,用于将所述新的SELinux规则与已有的SELinux规则进行合并,生成合并后的SELinux规则。
如图5所示,在一种可选的方式中,所述装置300还包括:
编译模块30A,用于进行Linux操作系统的自动化编译;更新模块30B,用于将编译完成的Linux操作系统更新到所述硬件中;还用于在所述生成合并后的SELinux规则之后,根据所述合并后的SELinux规则进行Linux操作系统的自动化编译;测试模块31还用于测试安装于硬件中的更新后的Linux操作系统。
在一种可选的方式中,所述装置300还包括:
判断模块35,用于判断是否发生异常事件;若发生异常事件,则输出用于提醒人工介入的提示信息。
在一种可选的方式中,所述异常事件包括:所述新的SELinux规则违反系统设定规则、合并SELinux规则时发生错误、编译Linux操作系统时发生错误、更新Linux操作系统时发生错误和测试程序运行和测试时发生错误中的一种或多种。
在一种可选的方式中,判断模块35还用于判断所述新的SELinux规则是否违反系统设定规则;所述判断所述新的SELinux规则是否违反系统设定规则,包括:进行Linux操作系统的自动化编译时,判断所述新的SELinux规则是否符合系统设定规则;若不符合,触发编译告警,提示发生了新的SELinux规则违反系统设定规则的情况。
在一种可选的方式中,合并模块34还用于检查所述新的SELinux规则是否存在于已有的SELinux规则中;若不存在,将所述新的SELinux规则与已有的SELinux规则进行合并。
在一种可选的方式中,所述SELinux警告信息包括SELinux警告日志,所述SELinux警告日志对应测试程序运行中检测到的违反SELinux规则的事件。
在一种可选的方式中,所述测试程序包括至少一个测试用例;收集模块32还用于将第一SELinux警告日志对应到生成所述第一SELinux警告日志的第一测试用例。
在一种可选的方式中,测试模块31还用于在根据所述第一SELinux警告日志生成新的第一SELinux规则,生成合并后的第一SELinux规则,并根据所述合并后的第一SELinux规则进行Linux操作系统的自动化编译后,再次运行所述第一测试用例;若没有生成SELinux警告日志或生成的SELinux警告日志与所述第一SELinux警告日志不同,则确认所述新的第一SELinux规则已生效。若生成的SELinux警告日志与所述第一SELinux警告日志相同,则确认所述新的第一SELinux规则未生效;若所述新的第一SELinux规则未生效,确认测试程序运行和测试时发生错误。若所有的测试用例全部运行完成,没有生成警告日志,则结束。
在一种可选的方式中,所述SELinux警告信息与所述新的SELinux规则一一对应。
图6示出了本发明实施例的电子设备的结构示意图,本发明具体实施例并不对该电子设备的具体实现做限定。
如图6所示,该电子设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。处理器402,用于执行程序410,具体可以执行上述SELinux规则生成方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机可执行指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有至少一可执行指令,该可执行指令在电子设备上运行时,使得所述电子设备执行上述任意方法实施例中的SELinux规则生成方法。
本发明实施例提供一种SELinux规则生成装置,用于执行上述SELinux规则生成方法。
本发明实施例提供了一种计算机程序,所述计算机程序可被处理器调用使电子设备执行上述任意方法实施例中的SELinux规则生成方法。
本发明实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令在计算机上运行时,使得所述计算机执行上述任意方法实施例中的SELinux规则生成方法。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
本发明还公开了:
A1.一种SELinux规则生成方法,其特征在于,包括:
运行测试程序,测试安装于硬件中的Linux操作系统;
收集测试程序运行中产生的SELinux警告信息;
根据收集到的SELinux警告信息,生成新的SELinux规则;
将所述新的SELinux规则与已有的SELinux规则进行合并,生成合并后的SELinux规则。
A2.根据权利要求A1所述的方法,其特征在于,在所述运行测试程序之前,所述方法还包括:
进行Linux操作系统的自动化编译;
将编译完成的Linux操作系统更新到所述硬件中;
在所述生成合并后的SELinux规则之后,所述进行Linux操作系统的自动化编译还包括:
根据所述合并后的SELinux规则进行Linux操作系统的自动化编译;
所述测试安装于硬件中的Linux操作系统,包括:
测试安装于硬件中的更新后的Linux操作系统。
A3.根据权利要求A1所述的方法,其特征在于,
判断是否发生异常事件;
若发生异常事件,则输出用于提醒人工介入的提示信息。
A4.根据权利要求A3所述的方法,其特征在于,所述异常事件包括:所述新的SELinux规则违反系统设定规则、合并SELinux规则时发生错误、编译Linux操作系统时发生错误、更新Linux操作系统时发生错误和测试程序运行和测试时发生错误中的一种或多种。
A5.根据权利要求A4所述的方法,其特征在于,所述判断是否发生异常事件,包括:判断所述新的SELinux规则是否违反系统设定规则;
所述判断所述新的SELinux规则是否违反系统设定规则,包括:
进行Linux操作系统的自动化编译时,判断所述新的SELinux规则是否符合系统设定规则;
若不符合,触发编译告警,提示发生了新的SELinux规则违反系统设定规则的情况。
A6.根据权利要求A1所述的方法,其特征在于,所述将所述新的SELinux规则与已有的SELinux规则进行合并,包括:
检查所述新的SELinux规则是否存在于已有的SELinux规则中;
若不存在,将所述新的SELinux规则与已有的SELinux规则进行合并。
A7.根据权利要求A1所述的方法,其特征在于,所述SELinux警告信息包括SELinux警告日志,所述SELinux警告日志对应测试程序运行中检测到的违反SELinux规则的事件。
A8.根据权利要求A1所述的方法,其特征在于,所述测试程序包括至少一个测试用例;
所述收集测试程序运行中产生的SELinux警告信息,包括:
将第一SELinux警告日志对应到生成所述第一SELinux警告日志的第一测试用例。
A9.根据权利要求A8所述的方法,其特征在于,在根据所述第一SELinux警告日志生成新的第一SELinux规则,生成合并后的第一SELinux规则,并根据所述合并后的第一SELinux规则进行Linux操作系统的自动化编译后,再次运行所述第一测试用例;
若没有生成SELinux警告日志或生成的SELinux警告日志与所述第一SELinux警告日志不同,则确认所述新的第一SELinux规则已生效。
A10.根据权利要求A8所述的方法,其特征在于,若生成的SELinux警告日志与所述第一SELinux警告日志相同,则确认所述新的第一SELinux规则未生效;
若所述新的第一SELinux规则未生效,确认测试程序运行和测试时发生错误。
A11.根据权利要求A1所述的方法,其特征在于,所述SELinux警告信息与所述新的SELinux规则一一对应。
A12.根据权利要求A8所述的方法,其特征在于,若所有的测试用例全部运行完成,没有生成警告日志,则结束。
B13.一种SELinux规则生成装置,其特征在于,包括:
测试模块,用于运行测试程序,测试安装于硬件中的Linux操作系统;
收集模块,用于收集测试程序运行中产生的SELinux警告信息;
生成模块,用于根据收集到的SELinux警告信息,生成新的SELinux规则;
合并模块,用于将所述新的SELinux规则与已有的SELinux规则进行合并,生成合并后的SELinux规则。
C14.一种电子设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求A1-A12任意一项所述的SELinux规则生成方法的操作。
D15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令在处理器上运行时,使得所述处理器执行如权利要求A1-A12任意一项所述的SELinux规则生成方法的操作。
Claims (10)
1.一种SELinux规则生成方法,其特征在于,包括:
运行测试程序,测试安装于硬件中的Linux操作系统;
收集测试程序运行中产生的SELinux警告信息;
根据收集到的SELinux警告信息,生成新的SELinux规则;
将所述新的SELinux规则与已有的SELinux规则进行合并,生成合并后的SELinux规则。
2.根据权利要求1所述的方法,其特征在于,在所述运行测试程序之前,所述方法还包括:
进行Linux操作系统的自动化编译;
将编译完成的Linux操作系统更新到所述硬件中;
在所述生成合并后的SELinux规则之后,所述进行Linux操作系统的自动化编译还包括:
根据所述合并后的SELinux规则进行Linux操作系统的自动化编译;
所述测试安装于硬件中的Linux操作系统,包括:
测试安装于硬件中的更新后的Linux操作系统。
3.根据权利要求1所述的方法,其特征在于,
判断是否发生异常事件;
若发生异常事件,则输出用于提醒人工介入的提示信息。
4.根据权利要求3所述的方法,其特征在于,所述异常事件包括:所述新的SELinux规则违反系统设定规则、合并SELinux规则时发生错误、编译Linux操作系统时发生错误、更新Linux操作系统时发生错误和测试程序运行和测试时发生错误中的一种或多种。
5.根据权利要求4所述的方法,其特征在于,所述判断是否发生异常事件,包括:判断所述新的SELinux规则是否违反系统设定规则;
所述判断所述新的SELinux规则是否违反系统设定规则,包括:
进行Linux操作系统的自动化编译时,判断所述新的SELinux规则是否符合系统设定规则;
若不符合,触发编译告警,提示发生了新的SELinux规则违反系统设定规则的情况。
6.根据权利要求1所述的方法,其特征在于,所述将所述新的SELinux规则与已有的SELinux规则进行合并,包括:
检查所述新的SELinux规则是否存在于已有的SELinux规则中;
若不存在,将所述新的SELinux规则与已有的SELinux规则进行合并。
7.根据权利要求1所述的方法,其特征在于,所述SELinux警告信息包括SELinux警告日志,所述SELinux警告日志对应测试程序运行中检测到的违反SELinux规则的事件。
8.一种SELinux规则生成装置,其特征在于,包括:
测试模块,用于运行测试程序,测试安装于硬件中的Linux操作系统;
收集模块,用于收集测试程序运行中产生的SELinux警告信息;
生成模块,用于根据收集到的SELinux警告信息,生成新的SELinux规则;
合并模块,用于将所述新的SELinux规则与已有的SELinux规则进行合并,生成合并后的SELinux规则。
9.一种电子设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7任意一项所述的SELinux规则生成方法的操作。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令在处理器上运行时,使得所述处理器执行如权利要求1-7任意一项所述的SELinux规则生成方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010887093.XA CN112131582A (zh) | 2020-08-28 | 2020-08-28 | SELinux规则生成方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010887093.XA CN112131582A (zh) | 2020-08-28 | 2020-08-28 | SELinux规则生成方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112131582A true CN112131582A (zh) | 2020-12-25 |
Family
ID=73847267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010887093.XA Pending CN112131582A (zh) | 2020-08-28 | 2020-08-28 | SELinux规则生成方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112131582A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685277A (zh) * | 2020-12-31 | 2021-04-20 | 海光信息技术股份有限公司 | 警告信息检查方法、装置、电子设备和可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007133632A (ja) * | 2005-11-10 | 2007-05-31 | Hitachi Software Eng Co Ltd | セキュリティポリシー設定方法及びプログラム |
CN102592092A (zh) * | 2012-01-09 | 2012-07-18 | 中标软件有限公司 | 一种基于SELinux安全子系统的策略适配系统及方法 |
CN106020923A (zh) * | 2016-06-02 | 2016-10-12 | 北京元心科技有限公司 | SELinux策略的编译方法及系统 |
CN111159713A (zh) * | 2019-12-23 | 2020-05-15 | 北京工业大学 | 基于SELinux的自学习可信策略构建方法及系统 |
-
2020
- 2020-08-28 CN CN202010887093.XA patent/CN112131582A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007133632A (ja) * | 2005-11-10 | 2007-05-31 | Hitachi Software Eng Co Ltd | セキュリティポリシー設定方法及びプログラム |
CN102592092A (zh) * | 2012-01-09 | 2012-07-18 | 中标软件有限公司 | 一种基于SELinux安全子系统的策略适配系统及方法 |
CN106020923A (zh) * | 2016-06-02 | 2016-10-12 | 北京元心科技有限公司 | SELinux策略的编译方法及系统 |
CN111159713A (zh) * | 2019-12-23 | 2020-05-15 | 北京工业大学 | 基于SELinux的自学习可信策略构建方法及系统 |
Non-Patent Citations (3)
Title |
---|
_DOWORK: "SELinux audit2allow命令使用", Retrieved from the Internet <URL:https://blog.csdn.net/q1183345443/article/details/90438283> * |
张大方: "《软件测试技术与管理》", 31 May 2007, 湖南大学出版社, pages: 66 * |
汪剑: "基于SEAndroid的安全探究及其动态多标签实现", 中国优秀硕士学位论文全文数据库 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685277A (zh) * | 2020-12-31 | 2021-04-20 | 海光信息技术股份有限公司 | 警告信息检查方法、装置、电子设备和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2018139136A5 (zh) | ||
US9229844B2 (en) | System and method for monitoring web service | |
EP2615554B1 (en) | Test case arrangement and execution | |
US10061777B1 (en) | Testing of lock managers in computing environments | |
CN112286828B (zh) | 一种区块链智能合约的测试方法和系统 | |
CN110851352A (zh) | 一种模糊测试系统及终端设备 | |
CN107193249B (zh) | 程序开发辅助装置以及程序开发辅助方法 | |
CN112131582A (zh) | SELinux规则生成方法、装置和电子设备 | |
Jiang et al. | Assuring the model evolution of protocol software specifications by regression testing process improvement | |
CN114237754A (zh) | 一种数据加载方法、装置、电子设备以及存储介质 | |
Sandgren et al. | Software safety analysis to support iso 26262-6 compliance in agile development | |
CN109582454A (zh) | 一种分布式存储集群中的权限释放控制方法、装置及设备 | |
CN113468058B (zh) | 软件即服务平台的回归测试方法、装置及电子设备 | |
Gallina et al. | Multiconcern, dependability-centered assurance via a qualitative and quantitative coanalysis | |
Gilliam et al. | Addressing software security and mitigations in the life cycle | |
CN111475400A (zh) | 一种业务平台的验证方法及相关设备 | |
CN112416799A (zh) | 一种代码质量预警方法、装置、电子设备及存储介质 | |
Honda et al. | Range analyzer: An automatic tool for arithmetic overflow detection in model-based development | |
CN111782499A (zh) | 测试用例生成方法及系统 | |
US20210406160A1 (en) | Verification device and verification method | |
Kravchenko et al. | Complex Dynamic Method of Web Applications Verification by the Criterion of Time Minimization | |
Wu et al. | Framework for assessing cloud trustworthiness | |
CN111198812B (zh) | 一种应用故障检测方法、应用故障检测装置及终端设备 | |
US20240061765A1 (en) | Distributed debugging environment for a continuous integration pipeline | |
US20220067239A1 (en) | Computer-implemented method and computerized device for testing a technical system |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 201111 Building 8, No. 207, Zhongqing Road, Minhang District, Shanghai Applicant after: Dayu robot Co.,Ltd. Address before: 200000 second floor, building 2, no.1508, Kunyang Road, Minhang District, Shanghai Applicant before: Dalu Robot Co.,Ltd. |