CN113065131A - 插件的安全控制方法、装置和存储介质 - Google Patents
插件的安全控制方法、装置和存储介质 Download PDFInfo
- Publication number
- CN113065131A CN113065131A CN201911419867.XA CN201911419867A CN113065131A CN 113065131 A CN113065131 A CN 113065131A CN 201911419867 A CN201911419867 A CN 201911419867A CN 113065131 A CN113065131 A CN 113065131A
- Authority
- CN
- China
- Prior art keywords
- plug
- interface
- access
- authority
- security
- 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
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Virology (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种插件的安全控制方法、装置和存储介质。该方法包括:接收插件对设备能力接口的访问请求;查询所述插件对应的接口权限配置策略库,确定所述插件对所述设备能力接口是否具有访问权限,其中,所述插件的接口权限配置策略库中记录有所述插件对多个设备能力接口的访问权限;根据所述插件对所述设备能力接口是否具有访问权限的确定结果,控制所述插件对所述设备能力接口的访问。通过本发明,解决了如何控制插件的安全运行的问题,进而达到了提升设备运行稳定性和安全性的效果。
Description
技术领域
本发明涉及插件运行安全控制技术领域,具体而言,涉及一种插件的安全控制方法、装置和存储介质。
背景技术
开放服务网关协议(Open Service Gateway Initiative,简称为OSGi)作为一种开源的插件管理框架,越来越多的应用于各种嵌入式设备中,如家庭网关、机顶盒等家庭组网设备。这些设备利用OSGi系统的插件动态部署技术,提升了设备的业务动态扩展能力,相比传统的静态部署,业务部署方式更轻量更灵活。
但是,插件的业务运行依赖设备本身的一些能力接口,比如,插件需要查询设备的数据信息(如网络数据、系统资源使用情况等),以便插件与插件业务云完成业务交互。同时插件也需要改变设备的数据以便启动相应的软件服务(如开启ftp网络服务、特征报文抓取分析、文件存储操作等),设备能力接口对插件的开放,技术上满足了插件业务动态部署的需求,但随之带来了比较大的安全风险,比如插件随意访问设备接口、插件越权访问设备接口等情形,特别地,如果插件恶意的利用接口安全漏洞对设备进行攻击或者获取敏感数据,将给设备运行带来非常大的安全隐患。
发明内容
本发明实施例提供了一种插件的安全控制方法、装置和存储介质,以至少解决如何控制插件的安全运行的问题。
根据本发明的一个实施例,提供了一种插件的安全控制方法,包括:接收插件对设备能力接口的访问请求;查询所述插件对应的接口权限配置策略库,确定所述插件对所述设备能力接口是否具有访问权限,其中,所述插件的接口权限配置策略库中记录有所述插件对多个设备能力接口的访问权限;根据所述插件对所述设备能力接口是否具有访问权限的确定结果,控制所述插件对所述设备能力接口的访问。
在至少一个示例性实施例中,根据所述插件对所述设备能力接口是否具有访问权限的确定结果,控制所述插件对所述设备能力接口的访问包括以下至少之一:在确定所述插件对所述设备能力接口具有访问权限的情况下,向所述插件返回所述设备能力接口的实例引用;在确定所述插件对所述设备能力接口不具有访问权限的情况下,向所述插件返回空实例引用或失败指示信息。
在至少一个示例性实施例中,接收到插件对设备能力接口的访问请求之前,还包括:接收所述插件的安装命令,并从所述安装命令中解析出所述插件的安全参数,其中,所述插件的安全参数用于指示所述插件被允许访问的设备能力接口;根据所述安全参数生成所述插件的所述接口权限配置策略库。
在至少一个示例性实施例中,所述方法还包括:插件安全权限执行单元在虚拟机启动时激活框架的安全机制,并启动所述框架内的插件生命周期管理单元和插件接口权限管理单元;接收所述插件的安装命令,并从所述安装命令中解析出所述插件的安全参数包括:所述插件生命周期管理单元接收所述插件的所述安装命令,并从所述安装命令中解析出所述插件的安全参数,其中,所述插件的安全参数用于指示所述插件被允许访问的设备能力接口的子类;根据所述安全参数生成所述插件的所述接口权限配置策略库包括:所述插件接口权限管理单元根据所述安全参数和所述设备上设备能力接口的子类划分,确定所述插件被允许访问的所有设备能力接口,并根据所述插件被允许访问的所有设备能力接口,生成所述插件的所述接口权限配置策略库。
在至少一个示例性实施例中,所述方法还包括以下至少之一:在所述插件请求访问目录的情况下,根据所述插件的目录访问权限,确定是否允许所述插件访问所述目录;在所述插件请求调用接口的情况下,根据所述接口对应的安全检查规则对接口参数执行安全检查;在所述插件请求访问系统调用能力的情况下,根据系统访问权限确定是否允许所述插件访问所述系统调用能力。
在至少一个示例性实施例中,所述方法还包括:通过插件运行防火墙单元生成全局策略配置表,其中,所述全局策略配置表包括以下至少之一:所述目录访问权限、所述安全检查规则、所述系统访问权限。
在至少一个示例性实施例中,在所述插件请求调用接口的情况下,根据所述接口对应的安全检查规则对接口参数执行安全检查包括:查询接口安全配置策略表,确定所述接口是否启用所述安全检查规则,其中,所述接口安全配置策略表记录用于指示各个接口是否启用安全检查规则的指示信息;在所述接口启用所述安全检查规则的情况下,根据所述接口对应的安全检查规则对接口参数执行安全检查。
在至少一个示例性实施例中,在所述插件请求访问系统调用能力的情况下,根据系统访问权限确定是否允许所述插件访问所述系统调用能力包括:根据权能配置基于最小集原则确定所述系统访问权限,其中,所述系统访问权限指示所述插件被允许访问的系统调用能力;根据所述系统访问权限确定是否允许所述插件访问所述系统调用能力。
根据本发明的另一个实施例,提供了一种插件的安全控制装置,包括插件安全权限执行单元,用于:接收插件对设备能力接口的访问请求;查询所述插件对应的接口权限配置策略库,确定所述插件对所述设备能力接口是否具有访问权限,其中,所述插件的接口权限配置策略库中记录有所述插件对多个设备能力接口的访问权限;根据所述插件对所述设备能力接口是否具有访问权限的确定结果,控制所述插件对所述设备能力接口的访问。
在至少一个示例性实施例中,所述插件安全权限执行单元用于通过以下方式至少之一控制所述插件对所述设备能力接口的访问:在确定所述插件对所述设备能力接口具有访问权限的情况下,向所述插件返回所述设备能力接口的实例引用;在确定所述插件对所述设备能力接口不具有访问权限的情况下,向所述插件返回空实例引用或失败指示信息。
在至少一个示例性实施例中,所述装置还包括:插件生命周期管理单元,用于接收所述插件的安装命令,并从所述安装命令中解析出所述插件的安全参数,其中,所述插件的安全参数用于指示所述插件被允许访问的设备能力接口;插件接口权限管理单元,用于根据所述安全参数生成所述插件的所述接口权限配置策略库。
在至少一个示例性实施例中,所述插件安全权限执行单元用于在虚拟机启动时激活框架的安全机制,并启动所述框架内的所述插件生命周期管理单元和所述插件接口权限管理单元;所述插件生命周期管理单元用于接收所述插件的所述安装命令,并从所述安装命令中解析出所述插件的安全参数,其中,所述插件的安全参数用于指示所述插件被允许访问的设备能力接口的子类;所述插件接口权限管理单元用于根据所述安全参数和所述设备上设备能力接口的子类划分,确定所述插件被允许访问的所有设备能力接口,并根据所述插件被允许访问的所有设备能力接口,生成所述插件的所述接口权限配置策略库。
在至少一个示例性实施例中,所述装置还包括插件运行防火墙单元,用于执行以下至少之一:在所述插件请求访问目录的情况下,根据所述插件的目录访问权限,确定是否允许所述插件访问所述目录;在所述插件请求调用接口的情况下,根据所述接口对应的安全检查规则对接口参数执行安全检查;在所述插件请求访问系统调用能力的情况下,根据系统访问权限确定是否允许所述插件访问所述系统调用能力。
在至少一个示例性实施例中,所述插件运行防火墙单元还用于生成全局策略配置表,其中,所述全局策略配置表包括以下至少之一:所述目录访问权限、所述安全检查规则、所述系统访问权限。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,由于在接收到插件对设备能力接口的访问请求时,能够通过查询所述插件对应的接口权限配置策略库,确定所述插件对所述设备能力接口是否具有访问权限,从而根据确定结果控制所述插件对所述设备能力接口的访问,因此,可以解决如何控制插件的安全运行的问题,实现了对插件安全运行的有效控制,提升了设备运行的稳定性和安全性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例1的插件的安全控制方法的流程图;
图2是根据本发明实施例2的插件的安全控制装置的结构框图;
图3是根据本发明实施例2的插件的安全控制装置的第一示例性结构框图;
图4是根据本发明实施例2的插件的安全控制装置的第二示例性结构框图;
图5是根据本发明实施例4的系统总体框图;
图6是根据本发明实施例4的插件接口权限设置流程的示意图;
图7是根据本发明实施例4的插件安全访问控制流程的示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
在本实施例中提供了一种插件的安全控制方法,图1是根据本发明实施例1的插件的安全控制方法的流程图,如图1所示,该流程包括如下步骤:
步骤S102,接收插件对设备能力接口的访问请求;
步骤S104,查询所述插件对应的接口权限配置策略库,确定所述插件对所述设备能力接口是否具有访问权限,其中,所述插件的接口权限配置策略库中记录有所述插件对多个设备能力接口的访问权限;
步骤S106,根据所述插件对所述设备能力接口是否具有访问权限的确定结果,控制所述插件对所述设备能力接口的访问。
通过上述步骤,由于在接收到插件对设备能力接口的访问请求时,能够通过查询所述插件对应的接口权限配置策略库,确定所述插件对所述设备能力接口是否具有访问权限,从而根据确定结果控制所述插件对所述设备能力接口的访问,因此,可以解决如何控制插件的安全运行的问题,实现了对插件安全运行的有效控制,提升了设备运行的稳定性和安全性。
可选地,上述步骤的执行主体可以为能够支持插件访问、调用设备能力接口的设备等,但不限于此。
在至少一个示例性实施例中,步骤S106可以包括以下至少之一:
步骤S106-1,在确定所述插件对所述设备能力接口具有访问权限的情况下,向所述插件返回所述设备能力接口的实例引用;
步骤S106-2,在确定所述插件对所述设备能力接口不具有访问权限的情况下,向所述插件返回空实例引用或失败指示信息。
通过以上方案,在确定所述插件对所述设备能力接口不具有访问权限的情况下,向所述插件返回空实例引用或失败指示信息,可以保证不具备访问权限的插件无法得到正确的设备能力接口的实例引用,从而无法访问该设备能力接口。
在至少一个示例性实施例中,步骤S102之前,还可以包括:
接收所述插件的安装命令,并从所述安装命令中解析出所述插件的安全参数,其中,所述插件的安全参数用于指示所述插件被允许访问的设备能力接口;
根据所述安全参数生成所述插件的所述接口权限配置策略库。
通过以上方案,可以在接收到插件的安装命令时,根据安装命令中的安全参数实现对当前插件的接口权限配置策略库的设置,从而便于后续插件请求调用设备能力接口时实现访问控制。
在至少一个示例性实施例中,插件安全权限执行单元可以在虚拟机启动时激活框架的安全机制,并启动所述框架内的插件生命周期管理单元和插件接口权限管理单元。
在至少一个示例性实施例中,接收所述插件的安装命令,并从所述安装命令中解析出所述插件的安全参数的过程可以通过以下方式实现:所述插件生命周期管理单元接收所述插件的所述安装命令,并从所述安装命令中解析出所述插件的安全参数,其中,所述插件的安全参数用于指示所述插件被允许访问的设备能力接口的子类。
相应地,在至少一个示例性实施例中,根据所述安全参数生成所述插件的所述接口权限配置策略库的过程可以通过以下方式实现:所述插件接口权限管理单元根据所述安全参数和所述设备上设备能力接口的子类划分,确定所述插件被允许访问的所有设备能力接口,并根据所述插件被允许访问的所有设备能力接口,生成所述插件的所述接口权限配置策略库。
除了对插件访问设备能力接口进行权限控制,还可以进一步对插件接口参数进行安全性检查、对插件运行起来后的资源和系统调用能力访问进行权限控制,确保插件不越权访问设备,避免设备被恶意攻击的风险。因此,在至少一个示例性实施例中,所述方法还包括以下至少之一:
在所述插件请求访问目录的情况下,根据所述插件的目录访问权限,确定是否允许所述插件访问所述目录;
在所述插件请求调用接口的情况下,根据所述接口对应的安全检查规则对接口参数执行安全检查,该过程可以通过以下步骤实现:查询接口安全配置策略表,确定所述接口是否启用所述安全检查规则,其中,所述接口安全配置策略表记录用于指示各个接口是否启用安全检查规则的指示信息;在所述接口启用所述安全检查规则的情况下,根据所述接口对应的安全检查规则对接口参数执行安全检查。
在所述插件请求访问系统调用能力的情况下,根据系统访问权限确定是否允许所述插件访问所述系统调用能力,该过程可以通过以下步骤实现:根据权能配置基于最小集原则确定所述系统访问权限,其中,所述系统访问权限指示所述插件被允许访问的系统调用能力;根据所述系统访问权限确定是否允许所述插件访问所述系统调用能力。
在至少一个示例性实施例中,所述方法还可以包括:通过插件运行防火墙单元生成全局策略配置表,其中,所述全局策略配置表包括以下至少之一:所述目录访问权限、所述安全检查规则、所述系统访问权限。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种插件的安全控制装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2是根据本发明实施例2的插件的安全控制装置的结构框图,如图2所示,该装置包括插件安全权限执行单元22,用于:
接收插件对设备能力接口的访问请求;
查询所述插件对应的接口权限配置策略库,确定所述插件对所述设备能力接口是否具有访问权限,其中,所述插件的接口权限配置策略库中记录有所述插件对多个设备能力接口的访问权限;
根据所述插件对所述设备能力接口是否具有访问权限的确定结果,控制所述插件对所述设备能力接口的访问。
在至少一个示例性实施例中,所述插件安全权限执行单元22用于通过以下方式至少之一控制所述插件对所述设备能力接口的访问:
在确定所述插件对所述设备能力接口具有访问权限的情况下,向所述插件返回所述设备能力接口的实例引用;
在确定所述插件对所述设备能力接口不具有访问权限的情况下,向所述插件返回空实例引用或失败指示信息。
图3是根据本发明实施例2的插件的安全控制装置的第一示例性结构框图,如图3所示,在至少一个示例性实施例中,所述装置还包括:
插件生命周期管理单元32,用于接收所述插件的安装命令,并从所述安装命令中解析出所述插件的安全参数,其中,所述插件的安全参数用于指示所述插件被允许访问的设备能力接口;
插件接口权限管理单元34,用于根据所述安全参数生成所述插件的所述接口权限配置策略库。
在至少一个示例性实施例中,所述插件安全权限执行单元22用于在虚拟机启动时激活框架的安全机制,并启动所述框架内的所述插件生命周期管理单元32和所述插件接口权限管理单元34;所述插件生命周期管理单元32用于接收所述插件的所述安装命令,并从所述安装命令中解析出所述插件的安全参数,其中,所述插件的安全参数用于指示所述插件被允许访问的设备能力接口的子类;所述插件接口权限管理单元34用于根据所述安全参数和所述设备上设备能力接口的子类划分,确定所述插件被允许访问的所有设备能力接口,并根据所述插件被允许访问的所有设备能力接口,生成所述插件的所述接口权限配置策略库。
图4是根据本发明实施例2的插件的安全控制装置的第二示例性结构框图,如图4所示,在至少一个示例性实施例中,所述装置还包括插件接口服务单元42和插件运行防火墙单元44。
所述插件接口服务单元42用于为所述插件提供所述设备能力接口。
所述插件运行防火墙单元44用于执行以下至少之一:
在所述插件请求访问目录的情况下,根据所述插件的目录访问权限,确定是否允许所述插件访问所述目录;
在所述插件请求调用接口的情况下,根据所述接口对应的安全检查规则对接口参数执行安全检查;
在所述插件请求访问系统调用能力的情况下,根据系统访问权限确定是否允许所述插件访问所述系统调用能力。
在至少一个示例性实施例中,所述插件运行防火墙单元44还用于生成全局策略配置表,其中,所述全局策略配置表包括以下至少之一:所述目录访问权限、所述安全检查规则、所述系统访问权限。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
步骤S1,接收插件对设备能力接口的访问请求;
步骤S2,查询所述插件对应的接口权限配置策略库,确定所述插件对所述设备能力接口是否具有访问权限,其中,所述插件的接口权限配置策略库中记录有所述插件对多个设备能力接口的访问权限;
步骤S3,根据所述插件对所述设备能力接口是否具有访问权限的确定结果,控制所述插件对所述设备能力接口的访问。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
实施例4
本实施例以OSGi插件服务框架为例,描述了插件的安全控制方法的详细实施例。该插件运行安全控制方法可以对插件安全运行进行有效控制,提升设备运行稳定性和安全性。
该OSGi插件运行安全控制方法包括如下软件单元:
(1)插件接口权限管理单元
设备能力接口按业务范围划分为不同的子类(仅为说明专利实施举例)具体见下表1:
表1:设备能力接口的子类划分
接口子类描述 | 接口能力范围 |
net | 网络业务 |
sys | 系统业务 |
usb | 存储业务 |
wifi | 无线业务 |
all | 所有能力集 |
OSGi插件从插件云部署安装到设备时,插件云下达插件安装命令到设备上插件生命周期管理单元(需要在插件云和设备间预先建立安全的管理通道),插件生命周期管理单元负责解析命令并提取其中的安全参数,发给插件接口权限管理单元处理。插件安装命令报文中定义的安全参数如下。
插件安装命令报文(仅为说明专利实施举例)所包括的内容具体见下表2:
表2:插件安装命令报文内容
参数 | 功能 |
name | 插件名称 |
version | 插件版本 |
downUrl | 插件下载网址 |
safeaccess | 插件安全参数列表 |
safeaccess参数功能:
定义插件可执行的设备接口能力集:all或者net、sys、usb、wifi的任意组合。
如仅允许插件访问网络和存储业务接口类,不允许访问其它接口类,参数设置如下:safeaccess:”net|usb”。
插件接口权限管理单元负责解析安全参数,做进一步的权限控制,具体如下:
OSGi插件接口权限对应Java服务类的自定义集合(一个服务类包括多个服务接口),插件接口权限管理单元解析完安全参数后,将安全接口能力级映射到相应的一组自定义的插件接口使用权限集合,完成对插件接口使用权限的管理。
(2)插件接口服务单元
该单元基于OSGi框架服务注册机制,对插件提供设备能力接口,这个是插件访问设备接口的入口,只有通过插件接口权限安全控制认证后才能真正访问设备能力接口,比如插件不具备usb接口能力级权限,在插件接口权限控制层会进行控制,插件是获取不到对应的接口服务实例引用的,进而无法达到设备接口入口,起到接口安全隔离的作用。
(3)插件运行防火墙单元
该单元根据设备安全访问策略形成全局策略配置表,见下表3:
表3:全局策略配置表
具体的实现:
目录访问权限:通过配置OSGi安全策略实现,也可以通过linux安全模块appamor技术实现。
参数安全检查:通过查询接口安全配置策略表,如果启用安全检查规则,执行对应的安全检查函数,完成接口安全检查。
系统访问权限:通过linux cap技术,对OSGi环境可以访问的系统调用能力进行安全控制,按最小集原则提供系统访问权限,提高系统安全性。
(4)插件安全权限执行单元
进一步划分为两部分:
A)OSGi安全控制层
OSGi基于Java虚拟机之上运行,虚拟机安全层做全局配置,使得OSGi框架的安全机制生效。
在Java虚拟机启动运行时,配置如下参数:
-Dorg.osgi.framework.security=osgi
-Djava.security.policy=private.policy
进一步的,利用OSGi安全机制中的权限信息和条件权限对插件进行设置管理。
B)插件接口权限执行
OSGi插件访问插件接口服务单元的接口前,需要先在OSGi框架内获取该设备接口服务的实例引用,如果在接口权限配置策略库中匹配不到此接口服务,会返回一个空实例引用,导致插件调用接口失败,即对插件来说此接口是不可见的,如果匹配成功,会返回真正的接口实例引用,进而进入接口服务单元进行接口的调度执行,通过此机制实现接口的安全隔离,避免了插件对接口的无限制使用。
以下详细描述OSGi插件运行安全控制方法的处理步骤,整个流程涉及到插件接口权限管理单元、插件接口服务单元、插件运行防火墙单元、插件安全权限执行单元的操作。
图5是根据本发明实施例4的系统总体框图,具体的描述如下:
S501、OSGi插件从插件云部署安装到设备时,插件云下达插件安装命令到设备上插件生命周期管理单元,插件生命周期管理单元解析命令并提取安全参数,发给插件接口权限管理单元。
S502、插件接口权限管理单元解析完安全参数后,将安全接口能力级映射到相应的一组自定义的插件接口使用权限集合,生成插件接口权限配置策略库。进一步地,根据权限配置策略库生成条件权限信息,由S505的插件安全权限执行单元进行实际控制。
S503、插件安全权限执行单元,在Java虚拟机启动时进行全局的安全配置,激活OSGi框架的安全机制。具体操作:在Java虚拟机启动时设置参数-Dorg.osgi.framework.security=osgi和-Djava.security.policy=private.policy,以便利用OSGi安全机制中的权限信息和条件权限。
S504、插件接口服务单元,基于OSGi框架服务注册机制,对插件提供设备能力接口,这个是插件访问设备接口的入口,只有通过插件接口权限安全控制认证后才能真正访问设备能力接口。设备能力接口通常以JNI方式提供给OSGi环境使用,因与本专利要求点不相关,故这里不再赘述。
S505、插件安全权限执行单元,在插件真正访问插件接口服务单元的接口前,先通过OSGi框架服务获取该设备接口服务的实例引用,如果在接口权限配置策略库中匹配不到此接口服务,会返回一个空实例引用,导致插件调用接口失败,即对插件来说此接口不可见的,如果匹配成功,会返回真正的接口实例引用,进而进入接口服务单元进行接口的调度执行。
S506、插件运行防火墙单元,根据设备安全访问策略形成全局策略配置表。
此单元用来对插件接口参数进行安全性检查、对插件运行起来后的资源和系统调用能力访问进行权限控制,确保插件不越权访问设备,避免设备被恶意攻击的风险。
S506-1、通过OSGi框架本身支持的条件安全策略实现对目录访问的控制,限制插件对插件工作目录外的空间进行访问。也可以通过linux安全技术(如appamor)实现对插件目录访问的控制。
S506-2、通过查询接口安全配置策略表,如果接口启用安全检查规则,则执行对应的接口安全检查函数,对接口参数安全性进行检查,如果检查结果失败,接口执行终止,返回接口执行安全错误,确保接口不跨越安全边界执行对设备的操作,提升接口执行安全性。
S506-3、基于linux cap技术,通过查询安全配置策略表中的权能配置(cap能力配置),对OSGi插件环境可以访问的系统调用能力进行安全控制,按最小集原则提供系统访问权限,提高系统运行安全性。
图6是根据本发明实施例4的插件接口权限设置流程的示意图,如图6所示,该流程包括以下步骤:
S601、插件安全权限执行单元,在Java虚拟机启动时进行全局的安全配置,激活OSGi框架的安全机制。具体:在Java虚拟机启动时设置参数-Dorg.osgi.framework.security=osgi和-Djava.security.policy=private.policy,以便利用OSGi安全机制中的权限信息和条件权限。(同S503)
S602、启动OSGi框架内的插件生命周期管理单元和插件接口权限管理单元。
S603、插件云与设备建立安全插件管理通道,下发插件部署安装命令到插件生命周期管理单元,插件生命周期管理单元解析命令并提取安全参数,发给插件接口权限管理单元。
S604、插件接口权限管理单元解析完安全参数后,将安全接口能力级映射到相应的一组自定义的插件接口使用权限集合,生成插件接口权限配置策略库。
图7是根据本发明实施例4的插件安全访问控制流程的示意图,如图7所示,该流程包括以下步骤:
S701、插件调用插件接口服务单元注册到OSGi框架的接口。
S702、插件接口权限控制单元查询插件接口权限配置策略库(S604生成),匹配成功,则返回接口实例引用,进入插件接口服务单元执行。匹配失败,则返回空接口实例引用,接口无权限执行。
S703、进入插件接口服务单元,通过查询接口安全配置策略表,如果接口启用安全检查规则,则执行对应的接口安全检查函数,对接口参数安全性进行检查,如果检查结果失败,接口执行终止,返回接口执行安全错误。(对应S506-2)。
S704、插件运行,插件运行防火墙单元启动,对插件的资源访问权限进行控制,通过OSGi框架本身支持的条件安全策略实现对目录访问的控制,限制插件对插件工作目录外的空间进行访问。也可以通过linux安全技术(如appamor)实现对插件目录访问的控制。基于linux cap技术,通过查询安全配置策略表中的权能配置(cap能力配置),对OSGi插件环境可以访问的系统调用能力进行安全控制,按最小集原则提供系统访问权限,提高系统运行安全性。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种插件的安全控制方法,其特征在于,包括:
接收插件对设备能力接口的访问请求;
查询所述插件对应的接口权限配置策略库,确定所述插件对所述设备能力接口是否具有访问权限,其中,所述插件的接口权限配置策略库中记录有所述插件对多个设备能力接口的访问权限;
根据所述插件对所述设备能力接口是否具有访问权限的确定结果,控制所述插件对所述设备能力接口的访问。
2.根据权利要求1所述的方法,其特征在于,根据所述插件对所述设备能力接口是否具有访问权限的确定结果,控制所述插件对所述设备能力接口的访问包括以下至少之一:
在确定所述插件对所述设备能力接口具有访问权限的情况下,向所述插件返回所述设备能力接口的实例引用;
在确定所述插件对所述设备能力接口不具有访问权限的情况下,向所述插件返回空实例引用或失败指示信息。
3.根据权利要求1所述的方法,其特征在于,接收到插件对设备能力接口的访问请求之前,还包括:
接收所述插件的安装命令,并从所述安装命令中解析出所述插件的安全参数,其中,所述插件的安全参数用于指示所述插件被允许访问的设备能力接口;
根据所述安全参数生成所述插件的所述接口权限配置策略库。
4.根据权利要求3所述的方法,其特征在于,
所述方法还包括:插件安全权限执行单元在虚拟机启动时激活框架的安全机制,并启动所述框架内的插件生命周期管理单元和插件接口权限管理单元;
接收所述插件的安装命令,并从所述安装命令中解析出所述插件的安全参数包括:所述插件生命周期管理单元接收所述插件的所述安装命令,并从所述安装命令中解析出所述插件的安全参数,其中,所述插件的安全参数用于指示所述插件被允许访问的设备能力接口的子类;
根据所述安全参数生成所述插件的所述接口权限配置策略库包括:所述插件接口权限管理单元根据所述安全参数和所述设备上设备能力接口的子类划分,确定所述插件被允许访问的所有设备能力接口,并根据所述插件被允许访问的所有设备能力接口,生成所述插件的所述接口权限配置策略库。
5.根据权利要求1所述的方法,其特征在于,还包括以下至少之一:
在所述插件请求访问目录的情况下,根据所述插件的目录访问权限,确定是否允许所述插件访问所述目录;
在所述插件请求调用接口的情况下,根据所述接口对应的安全检查规则对接口参数执行安全检查;
在所述插件请求访问系统调用能力的情况下,根据系统访问权限确定是否允许所述插件访问所述系统调用能力。
6.根据权利要求5所述的方法,其特征在于,还包括:
通过插件运行防火墙单元生成全局策略配置表,其中,所述全局策略配置表包括以下至少之一:所述目录访问权限、所述安全检查规则、所述系统访问权限。
7.根据权利要求5所述的方法,其特征在于,在所述插件请求调用接口的情况下,根据所述接口对应的安全检查规则对接口参数执行安全检查包括:
查询接口安全配置策略表,确定所述接口是否启用所述安全检查规则,其中,所述接口安全配置策略表记录用于指示各个接口是否启用安全检查规则的指示信息;
在所述接口启用所述安全检查规则的情况下,根据所述接口对应的安全检查规则对接口参数执行安全检查。
8.根据权利要求5所述的方法,其特征在于,在所述插件请求访问系统调用能力的情况下,根据系统访问权限确定是否允许所述插件访问所述系统调用能力包括:
根据权能配置基于最小集原则确定所述系统访问权限,其中,所述系统访问权限指示所述插件被允许访问的系统调用能力;
根据所述系统访问权限确定是否允许所述插件访问所述系统调用能力。
9.一种插件的安全控制装置,其特征在于,包括插件安全权限执行单元,用于:
接收插件对设备能力接口的访问请求;
查询所述插件对应的接口权限配置策略库,确定所述插件对所述设备能力接口是否具有访问权限,其中,所述插件的接口权限配置策略库中记录有所述插件对多个设备能力接口的访问权限;
根据所述插件对所述设备能力接口是否具有访问权限的确定结果,控制所述插件对所述设备能力接口的访问。
10.根据权利要求9所述的装置,其特征在于,所述插件安全权限执行单元用于通过以下方式至少之一控制所述插件对所述设备能力接口的访问:
在确定所述插件对所述设备能力接口具有访问权限的情况下,向所述插件返回所述设备能力接口的实例引用;
在确定所述插件对所述设备能力接口不具有访问权限的情况下,向所述插件返回空实例引用或失败指示信息。
11.根据权利要求9所述的装置,其特征在于,还包括:
插件生命周期管理单元,用于接收所述插件的安装命令,并从所述安装命令中解析出所述插件的安全参数,其中,所述插件的安全参数用于指示所述插件被允许访问的设备能力接口;
插件接口权限管理单元,用于根据所述安全参数生成所述插件的所述接口权限配置策略库。
12.根据权利要求11所述的装置,其特征在于,
所述插件安全权限执行单元用于在虚拟机启动时激活框架的安全机制,并启动所述框架内的所述插件生命周期管理单元和所述插件接口权限管理单元;
所述插件生命周期管理单元用于接收所述插件的所述安装命令,并从所述安装命令中解析出所述插件的安全参数,其中,所述插件的安全参数用于指示所述插件被允许访问的设备能力接口的子类;
所述插件接口权限管理单元用于根据所述安全参数和所述设备上设备能力接口的子类划分,确定所述插件被允许访问的所有设备能力接口,并根据所述插件被允许访问的所有设备能力接口,生成所述插件的所述接口权限配置策略库。
13.根据权利要求9所述的装置,其特征在于,还包括插件运行防火墙单元,用于执行以下至少之一:
在所述插件请求访问目录的情况下,根据所述插件的目录访问权限,确定是否允许所述插件访问所述目录;
在所述插件请求调用接口的情况下,根据所述接口对应的安全检查规则对接口参数执行安全检查;
在所述插件请求访问系统调用能力的情况下,根据系统访问权限确定是否允许所述插件访问所述系统调用能力。
14.根据权利要求13所述的装置,其特征在于,所述插件运行防火墙单元还用于生成全局策略配置表,其中,所述全局策略配置表包括以下至少之一:所述目录访问权限、所述安全检查规则、所述系统访问权限。
15.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至8任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911419867.XA CN113065131A (zh) | 2019-12-31 | 2019-12-31 | 插件的安全控制方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911419867.XA CN113065131A (zh) | 2019-12-31 | 2019-12-31 | 插件的安全控制方法、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113065131A true CN113065131A (zh) | 2021-07-02 |
Family
ID=76557908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911419867.XA Pending CN113065131A (zh) | 2019-12-31 | 2019-12-31 | 插件的安全控制方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113065131A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485895A (zh) * | 2021-07-22 | 2021-10-08 | 北京天空卫士网络安全技术有限公司 | 一种用于确定io设备类型的方法和装置 |
-
2019
- 2019-12-31 CN CN201911419867.XA patent/CN113065131A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485895A (zh) * | 2021-07-22 | 2021-10-08 | 北京天空卫士网络安全技术有限公司 | 一种用于确定io设备类型的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109547570B (zh) | 服务注册方法、装置、注册中心管理设备及存储介质 | |
KR101456489B1 (ko) | CLDC OSGi 환경에서 어플리케이션의 접속 권한을관리하는 방법 및 장치 | |
CN105427096B (zh) | 支付安全沙箱实现方法及系统与应用程序监控方法及系统 | |
US9258320B2 (en) | System for testing computer application | |
US10628228B1 (en) | Tiered usage limits across compute resource partitions | |
US9866547B2 (en) | Controlling a discovery component, within a virtual environment, that sends authenticated data to a discovery engine outside the virtual environment | |
CN110278192B (zh) | 外网访问内网的方法、装置、计算机设备及可读存储介质 | |
CN107015996A (zh) | 一种资源访问方法、装置及系统 | |
US10489145B2 (en) | Secure update of firmware and software | |
KR20050089072A (ko) | 모바일 장치들 상의 라이브러리들을 공유하기 위한 방법 및장치 | |
US7770202B2 (en) | Cross assembly call interception | |
CN113986459A (zh) | 一种容器访问的控制方法、系统、电子设备及存储介质 | |
US9652223B2 (en) | Method and apparatus for executing integrated application program | |
US20230061228A1 (en) | Managing shared applications at the edge of a content delivery network | |
CN108289080B (zh) | 一种访问文件系统的方法、装置和系统 | |
CN113312168A (zh) | 页面访问方法与电子设备 | |
CN113486277A (zh) | Web应用访问方法、装置、电子设备及存储介质 | |
CN113065131A (zh) | 插件的安全控制方法、装置和存储介质 | |
WO2018023368A1 (en) | Enhanced security using scripting language-based hypervisor | |
CN105404827B (zh) | 控制应用程序之间通信的方法、装置及系统 | |
CN115269198B (zh) | 基于服务器集群的访问请求处理方法及相关设备 | |
CN106936643B (zh) | 一种设备联动方法以及终端设备 | |
CN113645060B (zh) | 一种网卡配置方法、数据处理方法及装置 | |
CN114462016A (zh) | 资源请求方法、装置及系统 | |
CN113190861A (zh) | SonarQube项目操作权限配置方法及装置 |
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 |