CN108292344A - 使用虚拟机扩展根操作在操作系统中对强制访问控制策略进行的完整性保护 - Google Patents
使用虚拟机扩展根操作在操作系统中对强制访问控制策略进行的完整性保护 Download PDFInfo
- Publication number
- CN108292344A CN108292344A CN201680021721.8A CN201680021721A CN108292344A CN 108292344 A CN108292344 A CN 108292344A CN 201680021721 A CN201680021721 A CN 201680021721A CN 108292344 A CN108292344 A CN 108292344A
- Authority
- CN
- China
- Prior art keywords
- access control
- mandatory access
- kernel
- extension
- policy
- 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
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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- 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
- G06F21/6281—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 at program execution time, where the protection is within the operating system
-
- 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/2113—Multi-level security, e.g. mandatory access control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
系统、装置和方法可以提供进行对强制访问控制策略的签名验证,并且如果签名验证成功,则将强制访问控制策略提供到内核存储器中。此外,可以保护内核存储器免受由具有系统级权限的一个或多个进程进行的未授权的写操作。在一个示例中,强制访问控制策略在不进行系统重新引导的情况下被提供。
Description
相关申请的交叉引用
本申请要求2015年12月24日提交的美国非临时专利申请第14/757,948号的优先权,该申请要求2015年5月13日提交的美国临时专利申请第62/161,098号的优先权。
技术领域
实施例通常涉及数据安全性。更具体地,实施例涉及使用虚拟机扩展根操作在操作系统中对强制访问控制策略进行的完整性保护。
背景技术
诸如例如INTEL VT-x的虚拟化技术可以以各种方式用于实现多个操作系统(OS)的完全虚拟化。虚拟化技术还可用于实现反病毒扫描引擎,其中该引擎可以被保护以免受以Ring-0权限运行的恶意软件威胁(例如,四(Ring 0-3)权限级别中权限最高的级别)。操作系统(如SELINUX,物联网OS(IoT-OS)和Clear LINUX OS)可以使用分层安全模块(LSM)形式的安全策略模块来实现强制访问控制(MAC)机制。通常,LSM可以被认为是OS受信计算基(TCB)的一部分,因为MAC实施是由LSM执行的。LSM可能取决于在系统引导时读入内核存储器的通常由系统管理员编著(author)的MAC策略。有时可能有必要修改/更新策略。通常,更新需要系统重新引导(system reboot),以便可以使用安全引导机制检查/验证新的策略签名。然而,随着云计算和IoT(物联网)计算的“始终在线(always-on)”的要求,进行重新引导可能是无法接受的。此外,MAC机制可能容易受到可能被盗用的其他Ring-0线程、中断处理程序和设备驱动器的干扰。
附图说明
通过阅读以下启发性的说明书和所附权利要求并且参考以下附图,本公开的实施例的各种新颖方面对于本领域普通技术人员将变得显而易见,在附图中:
图1是根据实施例的安全装置的示例的框图;且
图2A-2B是根据实施例的安全权限级别的示例的图;
图3是根据实施例的操作安全装置的方法的示例的流程图;
图4是根据实施例的处理器的示例的框图;且
图5是根据实施例的计算系统的示例的框图。
具体实施方式
现在转向图1,示出了使用虚拟机扩展根(VMXroot)操作在操作系统(OS)中对强制访问控制(MAC)策略进行完整性保护的计算数据安全系统100。系统100可以与系统处理器105接合,并且可以使用VMXroot进程(例如,INTEL VT-x)实现内核完整性实施(kernelintegrity enforcement),无需重新引导以重新配置MAC策略,同时保护内核的分层安全模块(LSM)组件免于被流氓Ring-0主体(rogue Ring-0 subject)修改。系统100大致可以包括硬件组件110、VMXroot组件120、Ring-0权限级别组件130和Ring-3权限级别组件140。硬件组件110可以包括策略包装密钥112和存储器模块114。策略包装密钥112可以向存储器模块114提供一个或多个加密密钥。一个或多个加密密钥可以由标准原语(例如,分组密码和密码散列函数)构建,并且可以用于保护密钥免于涉及不可靠地或不受信任地存储的实现,或当通过不受信任的网络发送密钥时的实现。存储器模块114可以包括非易失性计算机存储介质116(例如,闪速存储器),并且可以用于实现可用于生成加密密钥(例如,加密密钥126)的安全措施诸如受信平台模块(TPM),以帮助确保平台的完整性。TPM可以利用基于密码的消息认证码(CMAC)模块来生成/加密密码密钥126。CMAC模块可以改进存储器模块114的优化,包括例如帮助消除共同/重复表达的实例。
VMXroot组件120可以包括特定于操作系统的扩展监视器,例如扩展监视器引擎(xMon引擎)122,其可以接受关于要监视哪个Ring-0对象的指令。xMon引擎122可以包括安全存储模块124,其存储从存储器模块114接收的公共密钥125和密码密钥126(例如,包装密钥/KxMon)。VMXroot组件120还可以包括内核策略模块,例如,简化强制访问控制内核(SMACK)策略(KxMon)模块127和策略表128。XMon引擎122可接受关于使用SMACK策略模块127和策略表128监视哪个Ring-0对象的指令。SMACK策略模块127可以是内核安全模块,其通过一组定制的强制访问控制(MAC)规则来保护数据和进程交互免受恶意攻击或操纵。策略表128可以描述关于权限级别的系统保护策略,并且可以定义要保护的资产和资源,在违反策略的情况下采取的协议等。策略表128的完整性可以被验证为应用于xMon引擎122的安全引导机制的一部分。xMon引擎122可以使用动态存储器保护,其监视内核资源,内核资源包括计算资源(CR)、模型特定寄存器(MSR)和存储器事件。
Ring-0权限级别组件130可以包括内核模块132和诸如Kgt驱动器136的驱动器。内核模块132可以包括内核存储器134,其包括对MAC策略进行存储的LSM模块。当所示的xMon引擎122运行时,它获得用于对MAC策略进行签名和/或加密的密钥,例如密码密钥126。xMon引擎122还可以利用例如“Configfs”回调,经由Kgt驱动器136从LSM策略数据库(在下面讨论)获得经签名和/或加密的策略,该LSM策略数据库可以暴露给xMon引擎122。xMon引擎122可以将MAC策略写入内核存储器134,使得LSM可以开始实施在MAC策略中定义的特定于组织的MAC控件。因此,内核模块132可以应用MAC策略来保护一个或多个隔离容器安全边界,例如MAC隔离容器142a-n。其他OS进程随后可以在内核存储器134的MAC策略(即,LSM模块)的控制下启动。例如,Ring-3进程可以在由MAC策略定义的容器例如MAC隔离容器142a-n(在下面讨论)中运行。
如已经提及的,Ring-3权限级别组件140可以包括一个或多个MAC隔离容器142a-n。MAC隔离容器142a-n可以由与虚拟文件系统135通信的运行时处理器144a-n(例如,Python)来定义,以实施MAC策略。例如,当MAC隔离容器142a-n在安全相关的系统调用(例如,打开调用)上陷入内核时,MAC隔离容器142a-n可以采取行动以应用新的(即经更新的)MAC策略规则。通常,可能存在多个MAC隔离容器,例如,MAC隔离容器142a-n,其对多个线程/应用进行沙盒处理。应用程序可能会交互(往往是频繁交互),但是遵循MAC策略规则。例如,完整性模型(例如,BIBA安全模型)可以要求主体(subject)(例如,经沙盒处理的应用)在主体被授权以在对象内写/修改数据之前就支配该对象的完整性级别。其他模型也可能优化保密性、利益冲突等。MAC策略可能有例外,例如,给权限用户授权以覆盖实例(在该实例中MAC策略阻止操作),但是由于可谅解的情况(即,数据被手动筛选以获得完整性),写入规则可能会被覆盖。
可以通过受信编著控制台137来更新MAC策略,其可以包括JavaScript对象表示法(JSON或.json)格式的策略数据。经更新的策略(LSM策略)可以由来自受信编著控制台137的管理员密钥来提供/管理,并经由虚拟文件系统138提供给Kgt驱动器136。Kgt驱动器136可以将经更新的LSM MAC策略转发到xMon引擎122,在此可以使用公共密钥(诸如例如嵌入在xMon引擎122的安全存储模块124中的公共密钥125)来验证它。如果策略经过验证,出于性能原因,可以将本地密钥(对称的)用于对策略加密和/或执行CMAC。因此,经更新的策略可以被提供(即写入)到内核存储器134中,内核存储器134可以被保护以免于其他Ring-0(及以上)进程的写操作,而不需要重新引导来重新配置MAC策略,同时还保护内核的LSM组件免于流氓Ring-0主体的修改。因此,所示出的系统100的重新引导功能独立于扩展监视器引擎122。系统100因此可以允许MAC策略的动态更新而不需要系统重新引导,支持更快的后续引导时间,并且减小未经授权的权限级别主体所带来的安全风险。系统100还可以允许xMon引擎122通过内核存储器134的LSM模块实施只读策略,以便更新MAC策略(无需允许按照历史要求进行写操作)。
现在转向图2A-2B,示出了用于与图1中描绘的系统100一起使用的安全权限级别的示例。INTEL x86指令集架构(ISA)中的权限级别控制当前在处理器(诸如系统处理器105(图1))上运行的程序对系统资源(例如存储器区域、输入/输出(I/O)端口以及执行某些特殊机器指令的能力)的访问程度。因此,权限级别可以使OS和CPU(中央处理单元,主机处理器)能够限制用户模式程序可以做什么。图2A描绘了用于处理器(诸如Intel x86微处理器)中的权限级别200的示例。有四个权限级别,从0级到3级,并且通常有三种主要资源被保护:存储器、I/O端口以及执行某些机器指令的能力。权限级别(0-3)通常被称为环或保护环(0-3),并反映相对于权限(限制)为相反的关系,即Ring-0是最高权限的,Ring-3是最低权限的。大多数调制解调器操作系统使用Ring-0用于内核/可执行程序,而Ring-3用于应用程序。Ring-1和Ring-2通常可以用于设备驱动器。因为Ring-0定义了最高权限级别,所以对于级别n为可用的任何资源也可以用于级别0-n。然而,当较低权限进程(例如,Ring-3)尝试访问较高权限进程(例如,Ring-0)时,可向OS通报一般保护错误(general protectionfault)。图2B描绘了在处理器(例如Intel x86微处理器)中使用的权限级别250的另一示例。因为大多数调制解调器操作系统仅使用两个权限级别Ring-0和Ring-3(如图1所示),图2B描绘了仅包括Ring-0和Ring-3的权限级别的示例。Ring-0可用于内核操作,而Ring-3可用于应用程序。因此,所有用户代码通常以Ring-3运行,所有内核代码通常以Ring-0运行。
图3提供根据实施例的操作安全装置的方法300的示例的流程图。流程图包括方法300的配置和操作步骤的详细流程。图3的方法300可以在一个或多个模块中实现为存储在诸如为随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、闪存等机器或计算机可读存储介质中的一组逻辑指令,实现为诸如例如可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)的可配置逻辑,实现为使用例如专用集成电路(ASIC)之类的电路技术的固定功能逻辑硬件,互补金属氧化物半导体(CMOS)或晶体管-晶体管逻辑(TTL)技术或其任何组合。方法300定义根据实施例的用于安全装置的虚拟机扩展根操作的示例,并且可以例如与图1中所示的系统100一起实现。
继续参考图1和图3,所示的处理框提供用于确定是否已经接收到MAC策略。MAC策略(LSM策略)可以包括关于要监视哪个Ring-0对象的指令。可以通过扩展监视器(例如扩展监视引擎122)基于内核策略(例如,SMACK策略)和例如SMACK策略127之类的策略表以及例如策略表128之类的策略表来做出确定,并且可以配置MAC策略而不需要系统重新引导。如果在处理框310没有接收到MAC策略,则处理返回到“开始”。否则,在图示的处理框320处,通过扩展监视器引擎利用诸如公共密钥125和密码密钥126之类的公共密钥和密码密钥中的一个或多个来执行MAC策略的认证。在图示的处理框330处,MAC策略可以经由例如xMon更新到内核模块,例如内核模块132,以便保护/实施(enforce)一个或多个隔离容器的安全边界,诸如例如MAC隔离容器142a-n之类的。在图示的处理框340处,MAC策略可以经由例如Kgt驱动器136的驱动器转发到一个或多个MAC隔离容器,以便应用新的(经更新的)MAC策略。在图示的处理框350处,确定策略更新是否为必需的。如果为“否”,则该处理返回到“开始”。如果为“是”,则在图示的处理框360处,MAC策略可以经由受信编著控制台(例如,与虚拟文件系统(例如虚拟文件系统135)通信的受信编著控制台137)利用运行时进程来提供/管理(即更新)。经更新的MAC策略可以经由虚拟文件系统经由驱动器(例如Kgt驱动器136)被输出到扩展监视引擎。可以提供经更新的MAC策略而不需要重新引导系统。在所示的处理框370,可以将经更新的MAC策略转发到扩展监视器,并且然后处理返回到“开始”。所示的方法因此允许包括扩展监视器的虚拟机扩展根组件(诸如例如VMX根120)对MAC策略进行签名验证,如果签名验证成功则将MAC策略提供到内核存储器中,并保护内核存储器免受由一个或多个缺乏权限的进程进行的未经授权的写操作。虚拟机根组件可以利用至少部分地由图3限定的虚拟机扩展根操作。所讨论的各种优点在不要求系统处理器重新引导的情况下实现(例如,系统处理器的重新引导功能可以独立于扩展监视器)。
图4示出了根据一个实施例的处理器核心400。处理器核心400可以是任何类型的处理器的核心,诸如微处理器,嵌入式处理器,数字信号处理器(DSP),网络处理器或执行代码的其他设备。尽管图4中仅示出了一个处理器核心400,处理元件可以替代地包括多于一个的如图4中所示的处理器核心400。处理器核心400可以是单线程核心,或者对于至少一个实施例,处理器核心400可以是多线程的,因为它可以包括每个核心多于一个的硬件线程上下文(或“逻辑处理器”)。
图4还示出了耦合到处理器核心400的存储器470。存储器470可以是本领域技术人员已知或对于本领域技术人员以其他方式可用的各种各样的存储器中的任何一种(包括存储器层级中的各层)。存储器470可以包括要由处理器核心400执行的一个或多个代码413指令,其中代码413可以实现已经讨论过的方法300(图3)。处理器核心400遵循由代码413指示的指令的程序序列。每个指令可以进入前端部分410并被一个或多个解码器420处理。解码器420可以产生一个微操作作为其输出,诸如预定义格式的固定宽度微操作,或者可以产生反映原始代码指令的其他指令、微指令或控制信号。所示的前端部分410还包括寄存器重命名逻辑425和调度逻辑430,其通常分配资源并将与对用于执行的指令进行转换相对应的操作进行排队。
处理器核心400被示出为包括具有一组执行单元455-1至455-N的执行逻辑450。一些实施例可以包括专用于特定功能或功能集合的多个执行单元。其他实施例可以仅包括一个执行单元或可执行特定功能的一个执行单元。所示的执行逻辑450执行由代码指令指定的操作。
在由代码指令指定的操作的执行完成之后,后端逻辑460对代码413的指令进行引退。在一个实施例中,处理器核心400允许乱序执行,但要求对指令的按顺序的引退。引退逻辑465可以采用本领域技术人员已知的各种形式(例如,重新排序缓冲器等)。以这种方式,处理器核心400在代码413的执行期间被变换(transform),至少在以下方面:解码器产生的输出、由寄存器重命名逻辑425使用的硬件寄存器和表、以及由执行逻辑250修改过的任何寄存器(未示出)。
尽管图4中未示出,处理元件可以包括与处理器核心400一起在芯片上的其他元件。例如,处理元件可以包括与处理器核心400一起的存储器控制逻辑。处理元件可以包括I/O控制逻辑和/或可以包括与存储器控制逻辑集成的I/O控制逻辑。处理元件还可以包括一个或多个高速缓存。
现在参考图5,示出了根据实施例的计算系统1000实施例的框图。系统1000(即,多处理器系统)包括第一处理元件1070和第二处理元件1080。虽然示出了两个处理元件1070和1080,但是应当理解,系统1000的实施例也可以仅包括一个这样的处理元件。
系统1000被示为点对点互连系统,其中第一处理元件1070和第二处理元件1080经由点对点互连1050耦合。应当理解,如图5中所示的任何或所有互连可以被实现为多点分支总线(multi-drop bus)而不是点对点互连。
如图5所示,处理元件1070和1080中的每一个可以是多核处理器,包括第一处理器核心和第二处理器核心(即,处理器核1074a和1074b以及处理器核1084a和1084b)。这样的核心1074a,1074b,1084a,1084b可以被配置为以与上面结合图4讨论的类似的方式执行指令代码。
每个处理元件1070、1080可以包括至少一个共享高速缓存1896a,1896b。共享高速缓存1896a、1896b可以分别存储由处理器的一个或多个组件(例如核心1074a、1074b和1084a、1084b)使用的数据(例如,指令)。例如,共享高速缓存1896a、1896b可以将存储在存储器1032、1034中的数据以本地方式缓存,以便处理器的组件更快地访问。在一个或多个实施例中,共享高速缓存1896a、1896b可以包括一个或多个中级(mid-level)的高速缓存,例如级别2(L2),级别3(L3),级别4(L4)或其他级别的高速缓存,最后一级的高速缓存(LLC),和/或其组合。
尽管仅示出了两个处理元件1070、1080,但是应当理解,实施例的范围不限于此。在其他实施例中,一个或多个附加处理元件可以存在于给定的处理器中。可替代地,一个或多个处理元件1070、1080可以是处理器之外的元件,例如加速器或现场可编程门阵列。例如,附加处理元件可以包括与第一处理器1070相同的附加处理器,与第一处理器1070处理器异构或不对称的附加处理器,加速器(例如,图形加速器或数字信号处理(DSP)单元),现场可编程门阵列或任何其它处理元件。就包括建筑、微建筑、热能、功耗特征等在内的诸多优点度量而言,在处理元件1070和1080之间可以存在各种差异。这些差异可以有效地自我表现为处理元件1070、1080之间的不对称性和异构性。对于至少一个实施例,各种处理元件1070、1080可以驻留在相同的管芯封装中。
第一处理元件1070还可以包括存储器控制器逻辑(MC)1072和点对点(PP)接口1076和1078。类似地,第二处理元件1080可以包括MC 1082和PP接口1086和1088。如图6所示,MC 1072和1082将处理器耦合到相应的存储器,即存储器1032和存储器1034,存储器1032和存储器1034可以是主存储器的局部附接到各个处理器的部分。虽然MC 1072和1082被示为集成到处理元件1070和1080中,但对于替代实施例,MC逻辑可以是处理元件1070、1080之外的离散逻辑,而不是集成在其中。
第一处理元件1070和第二处理元件1080可以分别经由P-P互连1076,1086耦合到I/O子系统1090。如图5所示,I/O子系统1090包括PP接口1094和1098。此外,I/O子系统1090包括用于将I/O子系统1090与高性能图形引擎1038相耦合的接口1092。在一个实施例中,可以使用总线1049将图形引擎1038耦合到I/O子系统1090。可替代地,点对点互连可以耦合这些组件。
依次,I/O子系统1090可以经由接口1096耦合到第一总线1016。在一个实施例中,第一总线1016可以是外围组件互连(PCI)总线或诸如PCI Express总线之类的总线,或另外的第三代I/O互连总线,但是实施例的范围不限于此。
如图5所示,各种I/O设备1014(例如,扬声器,照相机,传感器)可以与能够将第一总线1016耦合到第二总线1020的总线桥接器1018一起耦合到第一总线1016。在一个实施例中,第二总线1020可以是低引脚数(LPC)总线。在一个实施例中,各种设备可以耦合到第二总线1020,包括例如键盘/鼠标1012、通信设备1026和诸如可以包括代码1030的磁盘驱动器或其他大容量存储设备的数据存储单元1019。所示代码1030可以实现已经讨论的方法300(图3),并且可以类似于已经讨论的代码413(图4)。此外,音频I/O 1024可以耦合到第二总线1020,并且电池1010可以向计算系统1000供电。
注意,可以考虑其他实施例。例如,代替图5的点对点架构,系统可以实现多点分支总线或另一种这样的通信拓扑。另外,可以替代地使用比图5所示更多或更少的集成芯片对图5的元件进行分区。
附加说明和示例:
示例1可以包括计算数据安全系统,其包括系统处理器和虚拟机扩展根组件,所述虚拟机扩展根组件包括扩展监视器,所述扩展监视器用于:进行对强制访问控制策略的签名验证,如果签名验证成功,则将强制访问控制策略提供到内核存储器中,并且保护内核存储器免受由一个或多个缺乏权限的进程进行的未经授权的写操作,其中扩展监视器不需要系统处理器重新引导。
示例2可以包括示例1的系统,其中经由虚拟机扩展根操作来提供强制访问控制策略。
示例3可以包括示例1的系统,其中扩展监视器包括安全存储模块,其用于存储至少一个公共密钥和至少一个密码密钥。
示例4可以包括示例3的系统,其中扩展监视器用于:接收内核策略和策略表,并且至少部分地基于内核策略和策略表来更新强制访问控制策略。
示例5可以包括示例1的系统,其中第一权限级别组件包括:用于存储强制访问控制策略的内核模块,以及用于向扩展监视器提供强制访问控制策略的内核驱动器。
示例6可以包括示例5的系统,其中第一权限级别组件包括:用于提供经更新的强制访问控制策略的受信编著控制台,以及向扩展监视器输出经更新的强制访问控制策略的虚拟文件系统。
示例7可以包括示例5的系统,其中第二权限级别组件包括一个或多个强制访问控制隔离容器,其包括运行时处理器,所述运行时处理器用于接收对强制访问控制策略的更新,其中每个强制访问控制隔离容器用于实施安全边界。
示例8可以包括示例1的系统,其中第二权限级别包括硬件组件,其包括用于向扩展监视器提供策略包装密钥的存储器模块。
示例9可以包括至少一个计算机可读存储介质,其包括一组指令,所述一组指令当被计算系统执行时,使得计算系统进行对强制访问控制策略的签名验证,如果签名验证成功,则将强制访问控制策略提供到内核存储器,并且通过一个或多个缺少权限的进程来保护内核存储器免受未经授权的写操作。
示例10可以包括示例9的介质,其中所述指令在被执行时使得所述计算设备在不进行系统重新引导的情况下更新强制访问控制策略。
示例11可以包括示例9的介质,其中所述指令在被执行时使得所述计算设备经由虚拟机扩展根操作来提供所述强制访问控制策略。
示例12可以包括示例9中任一项的介质,其中所述指令在被执行时使得计算设备:接收内核策略和策略表,并且至少部分地基于内核策略和策略表来更新强制访问控制策略。
示例13可以包括示例12的介质,其中所述指令在被执行时,使得计算设备:存储强制访问控制策略,并且向扩展监视器提供强制访问控制策略。
示例14可以包括示例13的介质,其中所述指令在被执行时,使得计算设备提供经更新的强制访问控制策略,并且扩展监视器输出经更新的强制访问控制策略。
示例15可以包括示例13或14中任一项的介质,其中所述指令在被执行时使得所述计算设备接收对强制访问控制策略的更新以实施一个或多个安全边界。
示例16可以包括操作计算数据安全系统的方法,包括进行对强制访问控制策略的签名验证,如果签名验证成功,将强制访问控制策略提供到内核存储器中,以及保护内核存储器免受由一个或多个缺乏权限的进程进行的未经授权的写操作。
示例17可以包括示例16的方法,其中强制访问控制策略在不进行系统重新引导的情况下被更新。
示例18可以包括示例16的方法,其中通过虚拟机扩展根操作来提供强制访问控制策略。
示例19可以包括示例16的方法,包括接收内核策略和策略表,以及至少部分地基于内核策略和策略表来更新强制访问控制策略。
示例20可以包括示例16的方法,包括存储强制访问控制策略,以及向扩展监视器提供强制访问控制策略。
示例21可以包括示例20的方法,包括提供经更新的强制访问控制策略,以及向扩展监视器提供经更新的强制访问控制策略。
示例22可以包括示例20或21中任一项的方法,包括接收对强制访问控制策略的更新以实施一个或多个安全边界。
示例23可以包括计算数据安全装置,其包括虚拟机扩展根组件,该虚拟机扩展根组件包括扩展监视器,其用于:进行对强制访问控制策略的签名验证,如果签名验证成功则将强制访问控制策略提供到内核存储器中;以及保护内核存储器免受由一个或多个缺乏权限的进程进行的未经授权的写操作,其中扩展监视器不需要系统处理器重新引导。
示例24可以包括示例23的装置,其中通过虚拟机扩展根操作来提供强制访问控制策略。
示例25可以包括示例23的装置,其中扩展监视器包括用于存储至少一个公共密钥和至少一个加密密钥的安全存储模块。
示例26可以包括示例23或25中任一个的装置,其中扩展监视器接收内核策略和策略表,并且至少部分地基于内核策略和策略表来更新强制访问控制策略。
示例27可以包括示例23的装置,包括具有存储强制访问控制策略的内核模块的第一权限级别组件,并向扩展监视器提供强制访问控制策略。
示例28可以包括示例27的装置,其中第一权限级别组件包括提供经更新的强制访问控制策略,以及向扩展监视器提供经更新的强制访问控制策略。
示例29可以包括示例27或28的装置,包括具有一个或多个强制访问控制隔离容器的第二权限级别组件,包括运行时处理器,其接收对强制访问控制策略的更新,其中强制访问控制隔离容器实施安全边界。
示例30可以包括示例23的装置,包括硬件组件,该硬件组件包括用于向扩展监视器提供策略包装密钥的存储器模块。
示例31可以包括计算数据安全装置,其包括:用于进行对强制访问控制策略的签名验证的模块,用于在签名验证成功时将强制访问控制策略提供到内核存储器的模块,以及用于保护内核存储器免受由一个或多个缺乏权限的进程进行的未经授权的写操作的模块,其中该装置不需要系统重新引导。
示例32可以包括示例31的设备,其中通过用于虚拟机扩展根操作的模块来提供强制访问控制策略。
示例33可以包括示例31的装置,包括用于存储至少一个公共密钥和至少一个密码密钥的安全存储模块。
示例34可以包括示例31或33的装置,包括用于接收内核策略和策略表的模块,以及用于至少部分地基于内核策略和策略表来更新强制访问控制策略的模块。
示例35可以包括示例31的装置,包括用于存储强制访问控制策略的模块,以及用于向虚拟机扩展根操作的模块提供强制访问控制策略的模块。
示例36可以包括示例35的装置,包括用于提供经更新的强制访问控制策略的模块,以及用于向用于虚拟机扩展根操作的模块输出经更新的强制访问控制策略的模块。
示例37可以包括示例35或36中任一个的装置,包括一个或多个强制访问控制隔离容器模块,用于接收对强制访问控制策略的更新,其中每个强制访问控制隔离容器模块实施安全边界。
示例38可以包括示例31的装置,包括用于向扩展监视器提供策略包装密钥的存储器模块。
因此,本文描述的技术可以使用VMXroot环境中的扩展监视器(xMon)来提供几个显著的优点,包括但不限于,保护LSM的完整性,向内核存储器提供(写入)LSM策略,使用仅适用于xMon的包装/签名密钥保护LSM策略,保护其他内核资源,并遵从MAC策略实施Ring-3容器。
另外,xMon可以在VMXroot环境中使用,以将内核TCB分离为只读分区和只写分区,其中VMXroot进程保留写权限,其中对写保护存储器的违反可能导致内核故障。此外,本文描述的技术可以用于实现用于云应用和IoT应用的容器,该容器被强化以防对LSM(其是TCB资源)的Ring-0攻击。
实施例适用于所有类型的半导体集成电路(“IC”)芯片。这些IC芯片的示例包括但不限于处理器、控制器、芯片组件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片、片上系统(SoC)、SSD/NAND控制器ASIC等。此外,在一些附图中,信号导线用线表示。有些可能是不同的,以指示更多的组成信号路径;可能具有数字标签,以指示多个组成信号路径;和/或可能在一个或多个端部具有箭头以指示主信息流方向。然而,这不应以限制性的方式来解释。相反,这样的附加细节可以与一个或多个示例性实施例结合地使用,以便于更容易理解电路。所表示的任何信号线,无论是否具有附加信息,实际上可以包括可以在多个方向上行进的一个或多个信号,并且可以用任何合适类型的信号方案来实现,例如用差分对实现的数字线或模拟线、光纤线和/或单端线。
可以给定示例的尺寸/型号/值/范围,但是本发明的实施例不限于这些。随着制造技术(例如,光刻法)日益成熟,预期可以制造出更小尺寸的设备。另外,为简化图示和论述,以及为了不使实施例的一些方面不清楚,可以或者可以不在图中显示出公知的到IC芯片和其他组件的电源/接地连接。此外,为了避免使实施例不清楚,以及还考虑到关于这些框图布置的实现的细节高度依赖于将在其中实现实施例的计算机系统(即,这些细节应当在本领域技术人员的眼界之内)的事实,可以以框图形式示出这些布置。在为了描述示例性的实施例而阐述了具体的细节(例如,电路)的情况下,本领域技术人员将明白,实施例能够在不具有这些具体细节或者具有这些具体细节的变型例的情况下来实践。因此,说明书应视为示例性的,而不是限制性的。
术语“耦合”在本文中可用来指代任何类型的所讨论中的组件之间的关系,无论是直接的或间接的,并且可适用于电气连接、机械连接、流体连接、光学连接、电磁连接、机电连接或其他连接。另外,术语“第一”、“第二”等可在本文中仅用来方便讨论,除非特别指出,否则不表达任何特定的时间的或年代的意义。
如本申请和权利要求书中所使用的,由术语“一个或多个”表示的项目列表可以表示所列项目的任何组合。例如,短语“A,B或C中的一个或多个”可以是A;B;C;A和B;A和C;B和C;或A、B和C。
本领域技术人员从前面的说明书中将理解,实施例的宽泛的技术能够以多种形式来实现。因此,虽然已经结合特定实例描述了本发明的实施例,本发明的实施例的真正范围不应受限于此,因为在研究了附图、说明书和随附的权利要求书之后,其他的变型例对于本领域技术人员而言将变得显而易见。
Claims (25)
1.一种计算数据安全系统,包括:
系统处理器;和
虚拟机扩展根组件,包括扩展监视器,所述扩展监视器用于:
进行对强制访问控制策略的签名验证;
如果所述签名验证成功,则将所述强制访问控制策略提供到内核存储器中;并且
保护所述内核存储器免受由一个或多个缺乏权限的进程进行的未经授权的写操作,
其中,所述系统处理器的重新引导功能独立于所述扩展监视器。
2.根据权利要求1所述的系统,其中,经由虚拟机扩展根操作来提供所述强制访问控制策略。
3.根据权利要求1所述的系统,其中,所述扩展监视器包括安全存储模块,所述安全存储模块用于存储至少一个公共密钥和至少一个密码密钥。
4.根据权利要求1或3中任一项所述的系统,其中,所述扩展监视器用于:接收内核策略和策略表,以及至少部分地基于所述内核策略和所述策略表来更新所述强制访问控制策略。
5.根据权利要求1所述的系统,还包括:
第一权限级别组件,包括:
内核模块,用于存储强制访问控制策略;以及
内核驱动器,用于向所述扩展监视器提供所述强制访问控制策略。
6.根据权利要求5所述的系统,其中,所述第一权限级别组件还包括:
受信编著控制台,用于提供经更新的强制访问控制策略;和
虚拟文件系统,用于向所述扩展监视器输出所述经更新的强制访问控制策略。
7.根据权利要求5或6中任一项所述的系统,还包括:
第二权限级别组件,包括:
一个或多个强制访问控制隔离容器,其包括运行时处理器,所述运行时处理器用于接收对所述强制访问控制策略的更新,其中每个所述强制访问控制隔离容器用于实施安全边界。
8.根据权利要求1所述的系统,还包括硬件组件,其包括用于向所述扩展监视器提供策略包装密钥的存储器模块。
9.至少一个计算机可读存储介质,包括一组指令,所述一组指令当由计算设备执行时使得所述计算设备:
进行对强制访问控制策略的签名验证;
如果所述签名验证成功,则将所述强制访问控制策略提供到内核存储器中;并且
保护内核存储器免受由一个或多个缺乏权限的进程进行的未经授权的写操作。
10.根据权利要求9所述的介质,其中,所述指令在被执行时使得所述计算设备在不进行系统重新引导的情况下对所述强制访问控制策略进行更新。
11.根据权利要求9所述的介质,其中,所述指令在被执行时使得所述计算设备经由虚拟机扩展根操作来提供所述强制访问控制策略。
12.根据权利要求9所述的介质,其中,所述指令在被执行时使所述计算设备:
接收内核策略和策略表,以及
至少部分地基于所述内核策略和所述策略表来更新所述强制访问控制策略。
13.根据权利要求12所述的介质,其中,所述指令在被执行时使所述计算设备:
存储所述强制访问控制策略;以及
向扩展监视器提供所述强制访问控制策略。
14.根据权利要求13所述的介质,其中,所述指令在被执行时使所述计算设备:
提供经更新的强制访问控制策略;并且
向所述扩展监视器输出所述经更新的强制访问控制策略。
15.根据权利要求13或14中任一项所述的介质,其中,所述指令在被执行时使得所述计算设备接收对所述强制访问控制策略的更新以实施一个或多个安全边界。
16.一种操作计算数据安全系统的方法,包括:
进行对强制访问控制策略的签名验证;
如果所述签名验证成功,则将所述强制访问控制策略提供到内核存储器中;以及
保护所述内核存储器免受由一个或多个缺乏权限的进程进行的未经授权的写操作。
17.根据权利要求16所述的方法,其中所述指令,其中所述强制访问控制策略在不进行系统重新引导的情况下被更新。
18.根据权利要求16所述的方法,其中,经由虚拟机扩展根操作来提供所述强制访问控制策略。
19.根据权利要求16所述的方法,还包括:
接收内核策略和策略表,以及
至少部分地基于所述内核策略和所述策略表来更新所述强制访问控制策略。
20.根据权利要求16所述的方法,还包括:
存储所述强制访问控制策略;以及
向扩展监视器提供所述强制访问控制策略。
21.根据权利要求20所述的方法,还包括:
提供经更新的强制访问控制策略;以及
向所述扩展监视器提供所述经更新的强制访问控制策略。
22.根据权利要求20或21中任一项所述的方法,还包括接收对所述强制访问控制策略的更新以实施一个或多个安全边界。
23.一种计算数据安全装置,包括:
虚拟机扩展根组件,包括扩展监视器,所述扩展监视器用于:
进行对强制访问控制策略的签名验证;
如果所述签名验证成功,则将所述强制访问控制策略提供到内核存储器中;并且
保护所述内核存储器免受由一个或多个缺乏权限的进程进行的未经授权的写操作,
其中,所述系统处理器的重新引导功能独立于所述扩展监视器。
24.根据权利要求23所述的装置,其中,经由虚拟机扩展根操作来提供所述强制访问控制策略。
25.根据权利要求23所述的装置,其中,所述扩展监视器包括安全存储模块,所述安全存储模块用于存储至少一个公共密钥和至少一个密码密钥。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562161098P | 2015-05-13 | 2015-05-13 | |
US62/161,098 | 2015-05-13 | ||
US14/757,948 US10552638B2 (en) | 2015-05-13 | 2015-12-24 | Integrity protection of a mandatory access control policy in an operating system using virtual machine extension root operations |
US14/757,948 | 2015-12-24 | ||
PCT/US2016/028407 WO2016182704A1 (en) | 2015-05-13 | 2016-04-20 | Integrity protection of a mandatory access control policy in an operating system using virtual machine extension root operations |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108292344A true CN108292344A (zh) | 2018-07-17 |
Family
ID=57249365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680021721.8A Pending CN108292344A (zh) | 2015-05-13 | 2016-04-20 | 使用虚拟机扩展根操作在操作系统中对强制访问控制策略进行的完整性保护 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10552638B2 (zh) |
EP (1) | EP3295357B1 (zh) |
CN (1) | CN108292344A (zh) |
WO (1) | WO2016182704A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10855465B2 (en) | 2016-11-10 | 2020-12-01 | Ernest Brickell | Audited use of a cryptographic key |
US11405201B2 (en) | 2016-11-10 | 2022-08-02 | Brickell Cryptology Llc | Secure transfer of protected application storage keys with change of trusted computing base |
US11398906B2 (en) | 2016-11-10 | 2022-07-26 | Brickell Cryptology Llc | Confirming receipt of audit records for audited use of a cryptographic key |
US10652245B2 (en) * | 2017-05-04 | 2020-05-12 | Ernest Brickell | External accessibility for network devices |
EP3413531A1 (en) * | 2017-06-07 | 2018-12-12 | Hewlett-Packard Development Company, L.P. | Intrusion detection systems |
US10572185B2 (en) * | 2018-06-01 | 2020-02-25 | Western Digital Technologies, Inc. | Non-volatile storage system with command replay |
US11520748B2 (en) * | 2018-11-30 | 2022-12-06 | Hewlett Packard Enterprise Development Lp | Applying append-only policies for files |
US10949532B2 (en) * | 2018-12-13 | 2021-03-16 | Beijing Jingdong Shangke Information Technology Co., Ltd. | System and method for monitoring file integrity of multiple containers using one agent |
FR3105855B1 (fr) * | 2019-12-31 | 2022-01-07 | Kalray | Processeur à distribution configurable des ressources privilégiées et exceptions aux anneaux de protection |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1964359A (zh) * | 2005-11-07 | 2007-05-16 | 国际商业机器公司 | 用于远程验证系统完整性的方法和系统 |
US20130036448A1 (en) * | 2011-08-03 | 2013-02-07 | Samsung Electronics Co., Ltd. | Sandboxing technology for webruntime system |
CN104067218A (zh) * | 2011-12-28 | 2014-09-24 | 英特尔公司 | 分配存储器访问控制策略 |
WO2015021547A1 (en) * | 2013-08-12 | 2015-02-19 | Graphite Software Corporation | Operating system integrated domain management |
CN104508676A (zh) * | 2012-08-03 | 2015-04-08 | 阿尔卡特朗讯公司 | 虚拟机中的强制保护控制 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5500811A (en) | 1995-01-23 | 1996-03-19 | Microunity Systems Engineering, Inc. | Finite impulse response filter |
US6144710A (en) | 1998-04-23 | 2000-11-07 | Lucent Technologies, Inc. | Joint maximum likelihood sequence estimator with dynamic channel description |
US6650699B1 (en) | 1999-01-21 | 2003-11-18 | International Business Machines Corporation | Methods and apparatus for timing recovery from a sampled and equalized data signal |
US7665125B2 (en) * | 2002-09-23 | 2010-02-16 | Heard Robert W | System and method for distribution of security policies for mobile devices |
US20050004957A1 (en) | 2003-07-05 | 2005-01-06 | General Instrument Corporation | Single instruction multiple data implementations of finite impulse response filters |
US7424610B2 (en) * | 2003-12-23 | 2008-09-09 | Intel Corporation | Remote provisioning of secure systems for mandatory control |
US8087065B2 (en) | 2006-11-17 | 2011-12-27 | Mcafee, Inc. | Method and system for implementing mandatory file access control in native discretionary access control environments |
US8359467B2 (en) | 2007-07-07 | 2013-01-22 | Hewlett-Packard Development Company, L.P. | Access control system and method |
US8032942B2 (en) * | 2007-12-31 | 2011-10-04 | Intel Corporation | Configuration of virtual trusted platform module |
US20090222880A1 (en) * | 2008-03-03 | 2009-09-03 | Tresys Technology, Llc | Configurable access control security for virtualization |
US8904472B2 (en) | 2010-11-12 | 2014-12-02 | Riaz Ahmed SHAIKH | Validation of consistency and completeness of access control policy sets |
US8701157B1 (en) * | 2011-10-28 | 2014-04-15 | Google Inc. | Configuring policy settings on client computing devices |
EP2795464B1 (en) | 2011-12-22 | 2019-01-23 | Intel Corporation | Enabling efficient nested virtualization |
WO2014209269A1 (en) | 2013-06-24 | 2014-12-31 | Intel Corporation | A protected memory view for nested page table access by virtual machine guests |
US9626184B2 (en) | 2013-06-28 | 2017-04-18 | Intel Corporation | Processors, methods, systems, and instructions to transcode variable length code points of unicode characters |
-
2015
- 2015-12-24 US US14/757,948 patent/US10552638B2/en not_active Expired - Fee Related
-
2016
- 2016-04-20 WO PCT/US2016/028407 patent/WO2016182704A1/en unknown
- 2016-04-20 EP EP16793136.9A patent/EP3295357B1/en active Active
- 2016-04-20 CN CN201680021721.8A patent/CN108292344A/zh active Pending
-
2019
- 2019-12-27 US US16/728,916 patent/US20200250343A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1964359A (zh) * | 2005-11-07 | 2007-05-16 | 国际商业机器公司 | 用于远程验证系统完整性的方法和系统 |
US20130036448A1 (en) * | 2011-08-03 | 2013-02-07 | Samsung Electronics Co., Ltd. | Sandboxing technology for webruntime system |
CN104067218A (zh) * | 2011-12-28 | 2014-09-24 | 英特尔公司 | 分配存储器访问控制策略 |
CN104508676A (zh) * | 2012-08-03 | 2015-04-08 | 阿尔卡特朗讯公司 | 虚拟机中的强制保护控制 |
WO2015021547A1 (en) * | 2013-08-12 | 2015-02-19 | Graphite Software Corporation | Operating system integrated domain management |
Also Published As
Publication number | Publication date |
---|---|
WO2016182704A1 (en) | 2016-11-17 |
US20160335429A1 (en) | 2016-11-17 |
US10552638B2 (en) | 2020-02-04 |
EP3295357A4 (en) | 2018-10-31 |
US20200250343A1 (en) | 2020-08-06 |
EP3295357A1 (en) | 2018-03-21 |
EP3295357B1 (en) | 2019-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108292344A (zh) | 使用虚拟机扩展根操作在操作系统中对强制访问控制策略进行的完整性保护 | |
US20200302090A1 (en) | Selectively Disabling Configurable Communication Paths of a Multiprocessor Fabric | |
CN108292337B (zh) | 虚拟化环境下安全堡垒区域的可信开启 | |
US10102380B2 (en) | Method and apparatus to provide secure application execution | |
US9904632B2 (en) | Technique for supporting multiple secure enclaves | |
US9230112B1 (en) | Secured booting of a field programmable system-on-chip including authentication of a first stage boot loader to mitigate against differential power analysis | |
JP4925422B2 (ja) | データ処理装置内コンテンツへのアクセス管理 | |
CN105389513B (zh) | 一种虚拟可信平台模块vTPM的可信执行方法和装置 | |
CN105009135B (zh) | 用于执行二进制转换的方法、设备和系统 | |
KR20170095161A (ko) | 시큐어 시스템 온 칩 | |
Jacob et al. | How to break secure boot on fpga socs through malicious hardware | |
US20120265975A1 (en) | Microcontroller with Embedded Secure Feature | |
CN109416718A (zh) | 云数据中心中应用容器的可信部署 | |
CN107667350A (zh) | 基于虚拟化的平台保护技术 | |
CN108027779A (zh) | 允许受保护的容器存储器与输入/输出设备之间的安全通信的处理器、方法、系统和指令 | |
CN101176100A (zh) | 提供基于软件的安全协处理器的方法和装置 | |
US20220188224A1 (en) | Cryptographic separation of mmio on device | |
CN106030602B (zh) | 基于虚拟化的块内工作负荷隔离 | |
US20140164789A1 (en) | Authenticating microcode patches with external encryption engine | |
Nakai et al. | Towards isolated AI accelerators with OP-TEE on soc-FPGAs | |
Ozga | Towards a formally verified security monitor for VM-based confidential computing | |
US20240193564A1 (en) | Forensics Module and Embedded System | |
US20240187231A1 (en) | Forensics Module and Integrated System | |
US20220116403A1 (en) | Telemetry restriction mechanism | |
WO2024040508A1 (en) | Memory preserved warm reset mechanism |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180717 |
|
WD01 | Invention patent application deemed withdrawn after publication |