CN101401069A - 安全的操作系统切换 - Google Patents

安全的操作系统切换 Download PDF

Info

Publication number
CN101401069A
CN101401069A CNA2007800091333A CN200780009133A CN101401069A CN 101401069 A CN101401069 A CN 101401069A CN A2007800091333 A CNA2007800091333 A CN A2007800091333A CN 200780009133 A CN200780009133 A CN 200780009133A CN 101401069 A CN101401069 A CN 101401069A
Authority
CN
China
Prior art keywords
operating system
switch
storer
memory
effective
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
Application number
CNA2007800091333A
Other languages
English (en)
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Publication of CN101401069A publication Critical patent/CN101401069A/zh
Pending legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

此处公开了用于安全的操作系统切换的方法和装置。在一个实施例中,所述方法包括识别多个操作系统中下一个有效的第二操作系统;一旦所述第二操作系统变为有效,使存储器访问控制器能够独占访问针对所述第二操作系统的存储器的一部分;以及使所述第二操作系统变为有效。

Description

安全的操作系统切换
本专利申请要求2006年3月16日提交的名称为“Secure OperatingSystem Switching”,序列号no.60/783,286的对应临时专利申请的优先权,并将其结合在此作为参考。
技术领域
本发明涉及计算机系统中的操作系统领域;更具体地,本发明涉及在计算机系统上使用的操作系统之间的切换。
背景技术
计算机系统由许多硬件组件组成,例如,CPU、RAM、盘片、键盘、显示器、串口等。其他一些略微抽象,却是OS的运行同样关心的,如中断、PCI总线等。
当系统中只有一个OS在运行时,该OS能够看见、拥有并管理系统中的全部硬件组件。
近年来,人们在相同的计算机上放置了多于一个的操作系统(OS)。在企业服务器领域,这样的特征允许将一个服务器放在一个VM上,并带来好得多的可管理性。在软件开发中,这使开发者能够快速测试出在各种OS以及相同OS的各种版本上的软件可移植性。甚至在个人计算中,人们使用多个OS用于支持不同的应用并用于测试新的OS版本,或甚至测试下载的软件。在如智能电话之类的嵌入式设备上,人们可以为不同的目的而拥有两个OS:一个针对私人使用而一个针对公务。
对于多OS而言,最重要的技术是虚拟机(VM)技术,该技术原先是由IBM为大型计算机而开发的。近来,在VM技术中重新开始了新的关注,包括新产品和如VMW之类的研究项目。这些提供了良好的安全性和隔离。然而,典型地,这些确实都承受了性能的损失。一项研究表明,取决于应用,VM技术可以将应用减慢10%至80%。
此外,VM技术的实现和移植很复杂。例如为了很好地支持访客(guest)系统,需要以这样或那样的方式将所有下层设备虚拟化,以便由该访客系统访问。随着每天面世的新硬件列表的增长,这一限制可能局限了基于VM的方法的应用性。
对于不需要多个OS同时运行的应用场景,现有的简单的解决方案没有这些问题。已经有如来自GNU.org的GRUB以及来自PowerQuest(Symantec)的BootMagic之类的多引导解决方案。也有一些硬件交换和手动选择方案,这些方案让人们选择不同的引导设备并有效地使多个OS能够运行在相同的计算机上。不幸的是,缓慢而繁琐的切换过程限制了其应用范围。
OS切换是另一种选择方案,用于支持多OS。操作系统(OS)切换是一种使多个操作系统(OS)能够在相同的计算机上同时运行的技术。在一个实施例中,每个OS拥有一部分系统内存和存储器,并轮流运行。在一个实施例中,通过修改功率管理模块中的挂起/继续功能来实现从一个OS到另一个的切换。
当多个OS同时运行时,一个基本问题是,如何将每个硬件组件导出至每个OS。现有三种根本不同的技术:独占分割、时间复用以及抽象(abstraction)。在独占分割中,硬件组件独占地属于一个OS,系统中的任何其他OS永远不能访问该硬件组件。例如,可以将存储器划分为两半,两个OS每个拥有一半。又例如,可以将以太网控制器分配给一个OS,而其他OS或者不能访问以太网,或者通过与作为拥有者的OS通话来间接地访问以太网。在时间复用中,任何时候一个OS独占地拥有并管理硬件组件。然而,随时间变化,拥有权可以从一个OS切换至另一个。典型地,CPU就是按照这种方式被共享的。在抽象中,OS不能看见并管理真实的硬件组件;代之以通过另一个软件层来访问该硬件。虚拟化是抽象的一种特殊形式,在虚拟化中,抽象软件的接口看上去像是传统设备,而取代了典型的功能调用接口。
多OS解决方案可以使用上述技术的组合。即使对于相同的硬件组件,也可以组合不同的技术。例如,以太网控制器可以独占地属于一个OS。如果在该OS中的应用实现了虚拟以太网控制器,并将其导出至其他OS,则其他OS可以通过该虚拟以太网控制器的抽象接口来间接地访问该以太网控制器。
基于VM的多OS解决方案采用抽象或虚拟化来管理大多数硬件组件。另一方面,多引导解决方案通过重新引导对整个系统使用时间复用。
OS切换技术的一个示例描述在2001年8月30日提出的美国专利申请No.20010018717A1中,其名称为“Computer System,OperatingSystem Switching System,Operating System Mounting Method,Operating System Switching Method,Storage Medium,and ProgramTransmission Apparatus”,其中在未尝试虚拟化任何硬件组件的情况下支持多个OS。
如美国专利申请No.20010018717A1中所描述的现有的OS切换解决方案不能在多个OS之间提供强大的隔离。该OS切换的一个问题是缺少OS间的强大的隔离和保护,表现为缺少存储器隔离以及缺少强制控制转移。更具体地,对于缺少存储器隔离,所有OS共享相同的物理存储器。当OS内核在特许(privilege)模式下运行时,它能够修改任何存储器内容,包括属于其他OS以及OS切换器的内容。如果是这样,或者由于错误(bug)或者由于恶意病毒,其他OS以及甚至整个系统将崩溃。同样,对于缺少强制控制转移,上述实现方式依赖于当前有效的OS放弃CPU并进入OS切换器以便执行OS切换。潜在地,错误的或被恶意攻击的OS可能永远不会进入OS切换器。由此,其他OS被永远有效地挂起,除非将整个系统关闭并重新引导。因此,主要由于缺少存储器隔离和强制控制转移,这些OS切换的实现方式具有安全漏洞。
发明内容
此处公开了用于安全的操作系统切换的方法和装置。在一个实施例中,所述方法包括识别多个操作系统中下一个有效的第二操作系统;一旦所述第二操作系统变为有效,使存储器访问控制器能够独占访问针对所述第二操作系统的存储器的一部分;以及使所述第二操作系统变为有效。
附图说明
从以下给出的详细描述,以及从本发明的各种实施例的附图中,可以更全面的理解本发明,然而,这些详细描述和附图不应被认为是将本发明限制为具体实施例,而仅是为了解释和理解。
图1示意了用于执行两个OS之间的OS切换的OS切换伪代码的一个实施例;
图2示意了伪代码,该伪代码描述了当在OS间切换时发生强制OS切换的一般场景;
图3示意了图2所示的强制OS切换;
图4是用于使多个操作系统能够在计算机上同时运行的过程的实施例的流程图;
图5示意了用于利用延迟策略执行强制OS切换的伪代码;
图6示意了图5中描述的强制OS切换的场景;
图7是示例性计算机系统的框图;
图8是存储器访问控制器的一个实施例的框图;
图9是切换策略强制执行装置的一个实施例的框图。
具体实施方式
描述了安全的操作系统(OS)切换。在下层硬件的支持下,所公开的OS切换被实现为具有强大的隔离。在一个实施例中,安全的OS切换使用英国剑桥的ARM Holding公司的TrustZone技术以及加利福尼亚州圣克拉拉的因特尔公司的VT-x技术。
在以下的描述中,阐述了许多细节,以提供本发明的更全面的描述。然而,本领域技术人员应理解,没有这些具体细节,也可以实现本发明。在其他示例中,以框图的形式来示出众所周知的结构和设备,而不详细描述,以避免使本发明变得不清楚。
以对计算机存储器中的数据比特的运算的算法和符号表示的方式来呈现以下的详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用于向本领域其他技术人员最有效地传递其工作的实质的方法。此处,一般地,算法被是导致所需结果的自我一致(self-consistent)的步骤序列。步骤是需要物理量的物理操作的步骤。通常,但不必要地,这些量采取能被存储、转移、组合、比较或操作的电或磁信号的形式。已经证实,有时,尤其出于通用的目的,将这些信号称为比特、值、元素、符号、字符、项、数或类似物是很方便的。
然而,应记住,所有这些以及类似的词都与合适的物理量相关联,并仅是对这些量施加的方便的标签。除非特别声明,否则,如在以下的描述中显而易见的,可以认识到,在整个说明书中,利用如“处理”或“计算(computing)”或“计算(calculating)”或“确定”或“显示”之类的词的讨论,是指计算机系统或类似电子计算设备的动作和过程,所述动作和过程将计算机系统的寄存器或存储器中表示为物理(电子)量的数据操作并变换为类似地表示为计算机系统的存储器或寄存器或其他这样的信息存储、传送或显示设备中的物理量的其他数据。
本发明也涉及用于执行此处的操作的装置。可以为所需目的特别构造该装置,或者,该装置可以包括通用计算机,由该计算机中存储的计算机程序来选择性的激活或重新配置该计算机。这样的计算机程序可以被存储在计算机可读存储介质中,例如但不限于:任何种类的盘,包括软盘、光盘、CD-ROM、以及磁光盘、只读存储器(ROM)、随机访问存储器(RAM)、EPROM、EEPROM、磁或光卡、或适于存储电子指令的任何种类的媒质,每个这样的存储介质与计算机总线连接。
此处所呈现的算法和显示不是固有地与任何特定计算机或其他装置相关。根据此处的教导,可以将各种通用系统与程序一起使用,或者,可以证实,构造更特殊的装置来执行所需的方法步骤是方便的。从以下描述中,各种这样的系统的所需结构将变得清楚。此外,本发明不是根据任何特定的变成语言来描述的。可以认识到,可以使用各种变成语言来实现如此处所描述的本发明的教导。
机器可读介质包括用于以机器(例如计算机)可读的形式存储或传送信息的机制。例如,机器可读介质包括只读存储器(“ROM”);随机访问存储器(“RAM”);磁盘存储媒质;光存储媒质;闪存设备;点、光、声或其他传播信号的形式(例如载波、红外信号、数字信号等)等。
安全的OS切换
为了执行安全的OS切换,使用被称为OS切换器的一件逻辑上独立的软件。在一个实施例中,在CPU执行OS切换器代码时,该CPU处于切换器模式。否则,为了此处的目的,该CPU运行在传统模式下。
在一个实施例中,OS切换将多个计算机系统仿真为一个,其中,在任何时候,其中只有一个是有效的,而其他被挂起。在OS切换过程中,由于OS内核典型地未准备处理硬件拥有权的突然丢失或CPU执行控制的丢失,因此需要特别注意。对于独占分割的资源,如果该设备没有产生如中断之类的异步事件,则典型地,软件没有观察到OS切换的任何副作用。如果该设备产生异步事件,则软件需要知道在关闭当前OS时可能丢失这样的事件。可选地,当前OS可以在被关闭之前关闭该设备,使其在关闭OS时不产生任何同步事件。对于时间复用的资源,在OS切换过程中,多个OS访问时间复用的设备。在关闭当前OS之前,强制保存该设备的状态,并在再次切换至原先的OS时恢复原先的状态。当然,如果该设备能够产生异步事件,则OS需要知道在关闭当前OS时可能丢失这样的事件。因此,使用OS功率挂起和继续(resume)功能。
原理上,有效OS在被关闭之前立即执行挂起功能。下一个有效的OS执行继续功能来继续其正常操作。在大多数现代OS中存在该挂起/继续功能,以便计算机可以进入挂起模式而不消耗任何功率。在特定的预配置事件中,系统可以快速地再次继续其操作,典型地,在小于1秒的时间段之内。
在一个实施例中,OS功率挂起功能包括以下操作:由用户或OS/BIOS事件启动系统挂起功能、被挂起的OS内核保存并关闭各种子系统(例如过程、存储器、定时器等)、被挂起的OS中的驱动器保存并关闭硬件设备、以及OS或BIOS指示CPU和整个系统进入挂起模式。在这种情况下,整个系统由当前运行的(有效)OS、所有时间复用的硬件资源以及属于该当前有效的OS的任何分割的硬件资源组成。作为OS功率继续功能的一个实施例,执行以下功能:继续的OS中的驱动器恢复(restore)硬件、继续的OS中的内核恢复并继续各种子系统(例如过程、存储器、定时器等)的操作、以及整个系统继续正常操作。
在一个实施例中,在OS和OS切换器之间分割系统存储器。除了存储器和存储之外,其他所有硬件资源是时间复用的。当前拥有所有时间复用资源(包括CPU)的OS此处被称为有效OS或当前有效OS。
强大的存储器隔离
为了固定这些安全漏洞,使用特定的硬件能力。为了更强大的存储器隔离,使用存储器访问控制器,该存储器访问控制器提供了在传统模式期间禁用对特定存储器区域的访问的能力。此外,在一个实施例中,仅当CPU处于切换器模式时才发生对存储器访问控制器的任何修改。否则,OS可以修改该控制器使其获得对所有存储器的访问。
使用这些能力,OS切换的实现方式的一个实施例如下。当系统启动时,CPU处于切换器模式,使其能够设置针对任何存储器区域的可访问性。每次CPU控制到达下一个有效OS时,不论是第一次引导还是从之前的执行继续,OS切换器设置该存储器访问控制器,使得在传统模式下只能访问属于该下一个有效OS的存储器区域。如果有必要,该OS切换器连续地监控,以确保有效OS不访问不属于它的存储器区域。
图1示意了用于执行两个OS之间的OS切换的OS切换伪代码的一个实施例。参照图1,OS切换过程开始于OS#1中启动OS切换(1)。OS切换可以由用户或OS事件启动。响应于OS切换的启动,OS#1中的内核保存并关闭各种子系统(例如过程、存储器、定时器等)(2)。OS#1中的驱动器保存并关闭硬件设备(3)。此后,CPU退出OS#1并进入OS切换器(4)。
OS切换器识别下一个OS,即OS#2,并执行用于切换的整理(housekeeping)活动(例如,记录日志数据用于管理、报表或调试目的、额外的保存和存储等)(5)。OS切换器设置存储器访问控制器,使得在OS#2继续之后,只能访问属于该下一个有效OS的存储器(6)。在一个实施例中,在OS#2继续之后,OS切换器继续监控违反(violation)存储器访问的情况。
接着,该OS切换器跳转至OS#2中的系统继续功能(7)。在执行该系统继续功能时,OS#2中的驱动器恢复硬件设备状态(A),OS2中的内核恢复并继续各种子系统(例如过程、存储器、定时器等)的操作(9)此后,OS#2继续正常操作(10)。
在一个实施例中,切换器代码本身也隐藏在传统模式中。这是很重要的,因为否则任何OS可以修改该OS切换器代码以便放松对其自己的访问限制。
存储器访问控制器执行存储器访问控制。图8是存储器访问控制器的一个实施例的框图。参照图8,存储器访问控制器801包括具有n行的表格802。表格802中的每一行与存储器中的区域相对应。例如,第一行与存储器区域0相对应,第二行与存储器区域1相对应,第三行与存储器区域2相对应,等等,直到倒数第二行与存储器区域n-2相对应,最后一行与存储器区域n-1相对应。所述行包括存储器区域的地址,以及指示该存储器区域的状态的标志803。在一个实施例中,状态0指示了该区域当前是被禁用的(当前有效OS不可访问),而状态1指示了该区域当前是被允许的(有效OS可以访问)。
在一个存储器区域中,例如存储器区域0是用于执行存储器控制器操作的存储器访问控制代码810。存储器访问控制代码810在OS切换器代码811中,并且,在系统上执行该代码时,基于OS切换器代码811所指示的哪个OS将要有效以及哪个将要无效来设置标志803。存储器访问控制代码810也接收存储器访问违反信号850,以允许存储器访问控制器处理存储器访问的违反。
强制控制转移
在一个实施例中,为了可靠地切换,要做出确定,确定当前有效OS何时不能合作而允许OS切换发生。这可以继续通过确定当前有效OS不执行挂起操作或在预定的时间段内未完成挂起操作来识别。当这种情况发生时,执行强制切换来关闭当前有效OS。在一个实施例中,当OS被强制关闭时,它再也不能正常继续。在这种情况下,如果该OS下一次需要运行,则需要新的引导。
在一个实施例中,通过特定的外部事件来启动切换,例如但不限于:按下切换按钮或接收到特殊的到达的包。何时执行强制切换是基于特定的策略。例如,一种策略可能如下:在按下切换按钮后预定的时间(例如2秒),如果还没有发生切换,则执行强制切换。另一种策略可能提供了专用的强制切换按钮。
在一个实施例中,为了实现不同的策略,使用的不同的硬件支持。在一个实施例中,使用切换按钮和时间来实现按下切换按钮策略之后的2秒的延迟。在这种情况下,OS切换器访问切换按钮和定时器,以确定是否强制执行该策略。为了此处的目的,这些硬件资源被称为用于强制切换的策略实现硬件。
在一个实施例中,为了在OS切换过程中执行控制转移,包括了系统中的硬件,使得由策略实现硬件产生的事件被路由至OS切换器,运行在传统模式下的OS不能改变策略实现硬件的状态及其事件的路由。
在一个实施例中,OS切换器在系统启动过程中实现了强制切换策略,该OS切换器设置策略实现硬件的状态并将其事件路由至该OS切换器自身。该OS切换器也检测到OS切换的启动,并决定是否应执行强制OS切换。如果是,则该OS切换器通过外部源获得CPU控制,将当前有效OS标记为关闭,并切换至下一个OS。
图2示意了伪代码,该伪代码描述了当从OS#1切换至OS#2时发生强制OS切换的一般场景。参照图2,该强制OS切换过程开始于OS#1中启动OS切换(1)。OS切换可以由用户或OS事件启动。在OS#1中启动OS切换之后,OS#1不能完成挂起过程,不能进入OS切换器(2)。这发生之后,发生强制切换事件,控制回到OS切换器(3)。在一个实施例中,该强制切换事件可以是定时器到期。
响应于该强制切换事件,该OS切换器认识到发生了强制OS切换(4)。该OS切换器识别下一个OS,即OS#2,并执行用于切换的整理活动(例如将OS#1标记为处于关闭状态)。该OS切换器跳转至OS#2中的系统继续功能(5)。在这个状态,OS#2中的驱动器恢复硬件设备状态(6),OS2中的内核恢复并继续各种子系统(例如过程、存储器、定时器等)的操作(7)。此后,OS#2继续正常操作(8)。
图3示意了图2所示的强制OS切换。在图3中,图2所示的每个操作被示为与OS切换器以及两个OS,即OS#1和OS#2的交互。
切换策略强制执行装置控制切换策略的强制执行。图9是切换策略强制执行装置的一个实施例的框图。参照图9,切换策略强制执行硬件901-903包括分别包括状态911-913。并产生中断950。虽然只示出了3个切换策略强制执行硬件的框,但是系统可以具有多于或少于3个这样的硬件。事件路由控制器904将中断950路由至切换策略强制执行代码922,在该系统上执行切换策略强制执行代码922作为OS切换器921的部分。OS切换器位于存储器区域905中,而有效OS916位于存储器区域906中,存储器区域906不同于存储器区域905。
注意,切换策略强制执行硬件901-903、事件路由控制器904和OS切换器921是有效OS906不能访问的对象,或者是有效OS906不能修改其状态(即状态911-913)的对象。
实现安全的OS切换
图4是用于使多个操作系统能够在计算机上同时运行的过程的实施例的流程图。这一过程是由处理逻辑来执行的,该处理逻辑可以包括硬件(电路、专用逻辑等)、软件(如运行在通用计算机系统或专用机器上的软件)或其组合。
参照图4,该过程开始于一个有效的OS,且处理逻辑响应于操作系统切换事件来启动操作系统切换(处理框401)。在一个实施例中,该OS切换事件是用户事件。在一个实施例中,响应于按下切换按钮来产生该OS切换事件。在一个实施例中,该切换按钮被映射为具有OS不能改变的状态、或者OS不能阻止的一个或多个中断的安全设备。在另一个实施例中,在定时器达到预定的时间之后产生该切换事件;响应于按下切换按钮来触发该定时器的运行。
在一个实施例中,响应于操作系统切换事件来启动操作系统切换包括:确定强制切换事件发生并执行强制控制转移。在一个实施例中,在当前有效的操作系统不能变为无效以及不能允许一个操作系统变为有效之后发生强制切换事件。
一旦启动了OS切换,处理逻辑识别下一个有效的OS(处理框402)。
在一个实施例中,响应于切换事件,与当前有效OS相关联的处理逻辑执行挂起操作(处理框403)。在一个实施例中,当前OS通过保存与一个或更多子系统以及一个或更多硬件设备相关联的状态来执行挂起操作。
在识别下一个有效的OS之后,一旦该OS变为有效,处理逻辑使存储器访问控制器(例如保护控制器)能够独占访问针对该下一个有效的OS的一部分存储器(处理框404)。在一个实施例中,使存储器访问控制器能够独占访问针对该下一个有效的OS的一部分存储器包括:将存储器静态分割为第二操作系统可访问的不安全存储器以及第二操作系统不可访问的安全存储器。在一个实施例中,该安全存储器和不安全存储器包括芯片上的存储器的部分。
接下来,处理逻辑使该OS变为有效(处理框405)。在一个实施例中,使该第二操作系统变为有效包括对新的有效OS执行继续操作,以使该新的有效OS继续操作。在一个实施例中,下一个有效的OS的处理逻辑通过其一个或更多驱动器恢复硬件设备状态、其内核恢复并继续一个或更多子系统的操作来执行继续操作,接着继续正常操作。在一个实施例中,该过程也包括接收从当前有效OS切换至下一个有效的OS的指示,以及使当前OS保存与当前有效的操作系统相关联的状态。在一个实施例中,响应于用户动作或操作系统事件来接收该指示。
在下一个有效的OS变为有效之后,处理逻辑监控除了变为有效的OS之外的其他OS的违反存储器访问的情况(处理框406)。
使用TrustZone来实现安全的OS切换
TrustZone是对ARMCPU架构的扩展,可以从英国剑桥的ARMHolding得到。TrustZone将CPU执行分为安全模式和不安全模式。它将所有其他硬件资源分类为分割为安全资源或不安全资源。当CPU在不安全模式下(通常称为不安全界(world))执行时,它只能访问不安全硬件资源。当CPU在安全模式下(通常成为安全界)执行时,它可以访问安全以及不安全的硬件资源。
此外,TrustZone可以将特定中断安全地路由至安全环境中。
在一个实施例中,为了实现安全的OS切换,使用了来自TrustZone的以下特征:
●“NS”比特:CPU状态寄存器中的新比特,用于指示CPU是否运行在不安全模式下(NS=1)。这与现有的特许模式、用户模式以及几个其他异常处理模式不相关(orthogonal)。
●监控模式:一种CPU模式,用于在安全执行模式和不安全执行模式之间切换CPU。可以通过新的指令(SMI)或特定的模式切换异常来进入该模式。
●保护控制器:一种可编程控制器,确定在不安全模式下能够访问哪些外围设备而不能访问哪些外围设备。在一个实施例中,将该控制器所控制的全部外围设备分为两类:安全的和不安全的。仅当CPU处于安全模式下时,才许可对安全设备的访问。
●中断:在TrustZone架构中有两种中断控制器。一个用于从安全设备中路由中断,一种用于从不安全设备中路由中断。将该中断方案与保护控制器一起使用,可以假定向安全环境传送安全设备事件,不安全界不能改变该事件。
使用TrustZone来实现安全的OS切换
由于有多种方式来实现存储器隔离和强制控制转移,因此有许多方式来使用TrustZone以实现安全的OS切换。在以下的讨论中,描述了多个用于实现安全的OS切换的方法。
由于安全的OS切换需要两种不同的CPU模式,即切换器模式和传统模式,因此,在一个实施例中,将该传统模式映射为TrustZone中的不安全模式,在该模式下,限制了其存储器访问和CPU控制。将该切换器模式映射为TrustZone中的安全模式。在另一个实施例中,可以在TrustZone中的新的监控模式中实现该切换器代码。TrustZone中的监控模式能够过滤中断并将其分配给安全或不安全环境。在一个实施例中,切换器代码在监控模式中实现,并且在切换器代码较小时是一个有用的选择。在又另一个实施例中,将切换器代码分为两部分:性能关键部分被放入切换器模式(不安全环境),而大小大得多的性能非关键部分被放入安全环境中。
当CPU运行不安全执行模式时,它不能访问任何是安全设备的外围设备,包括存储器芯片。当保护控制器控制存储器芯片时,可以将该存储器芯片动态地分类为安全设备或不安全设备。
例如,假定该系统具有3个存储器芯片,这3个存储器芯片被静态分割,以使两个OS每个使用一个,而第三个用于OS切换器。TrustZone的保护控制器控制所有存储器芯片。在OS切换过程中,在监控模式或安全执行模式下运行的切换器代码可以修改该保护控制器,使得只有属于下一个有效OS的存储器芯片是不安全存储器设备,而将其他两个存储器芯片标记为安全设备。当继续下一个有效OS时,它只能访问被标记为不安全设备的存储器芯片,而不能访问被标记为安全设备的其他两个存储器芯片。在一个实施例中,该保护控制器通过在寄存器中存储比特来执行这一操作,寻址硬件在运行时将检查该寄存器中的比特。
在一个实施例中,使用TrustZone知道的存储器控制器(即使用TrustZone的保护控制器用于存储器保护的存储器控制器),可以将相同存储器芯片的部分动态地配置为安全的或不安全的。其基本操作类似于上述的场景,除了多个OS共享存储器的部分以及TrustZone知道的存储器控制器控制这些存储器部分的安全属性之外。在一个实施例中,TrustZone使用比特样式(pattern)来指定特定的存储器地址应是安全的。
在一个实施例中,使用TrustZone中的安全中断路由特征来实现强制OS切换。不同的强制OS切换策略需要不同的实现方式。
在一个实施例中,系统中包括了分离的强制OS切换按钮。这样的系统可以包括常规OS切换按钮。当用户按下该常规OS切换按钮,并且如果有效OS不能响应,则用户按下该强制OS切换按钮来启动强制OS切换。在这种情况下,该强制OS切换按钮被映射为安全设备,使得OS不能改变其状态或阻止其中断。此外,通过安全中断控制器来路由其中断,并将其发送至OS切换器所运行的安全环境。给定了这样的配置,当按下强制切换按钮时,保证发生切换器代码内对CPU的控制。该切换器可以接着继续系统中的下一个有效OS。
在一个实施例中,也实现了复杂的强制OS切换策略。例如,可以使用新的策略,在按下切换按钮2秒后,如果当前有效OS不能主动地进入OS切换器,则该新策略启动强制OS切换。在这种情况下,OS切换按钮被映射为安全设备并需要安全定时器。当按下切换按钮时,切换器代码开启2秒定时器,并将该事件转发至当前OS。如果当前有效OS在2秒内进入OS切换器,则取消该定时器,按正常继续OS切换。如果当前有效OS不能这样做,则2秒定时器到期,CPU控制回到切换器代码,该切换器代码接着决定执行强制OS切换。
图5示意了用于执行具有2秒延迟策略的强制OS切换的伪代码。在这一特定情况下,在初始按下切换按钮之后,OS#1在2秒内不能进入OS切换器。由此,定时器到期,OS切换器执行向OS#2的强制切换。
参照图5,伪代码开始于包括多个操作的启动过程。首先,将切换按钮和一个专用定时器标记为安全设备(1)。接下来,将该切换按钮和该专用定时器的中断路由至该OS切换器(2)。此后,针对该强制切换场景设置了图5的其余部分。
在图5中的强制切换场景中,用户按下切换按钮来启动OS切换(1)。接下来,将由切换按钮产生的中断路由至OS切换器,该OS切换器设置2秒定时器(2)。接下来,该OS切换器接着将该中断转发至OS#1,OS#1是当前有效OS(3)。注意,在(3)中,该OS切换器有许多方式来向有效OS转发该中断。在一个实施例中,该OS切换器通过该OS切换器与当前有效OS之间的特殊的功能调用接口来转发该中断。在另一个实施例中,该切换器设置硬件状态,使得当该OS切换器将CPU控制交回当前有效OS时,发生另一个中断,而这个中断被路由至有效OS,而不是路由至该OS切换器。
在该OS向当前有效OS(OS#1)转发该中断之后,OS#1不能在2秒内完成挂起过程(4)。接着该定时器到期,接着将该中断路由至该OS切换器(5)。此时,该OS切换器意识到这是一个强制OS切换的情形、标识下一个有效OS(OS#2)并执行用于切换的整理活动(例如将OS#1标记为处于关闭状态)(6)。
此后,该OS切换器跳转至OS#2中的系统继续功能(7),OS#2中的驱动器恢复硬件状态(8),OS 2中的内核恢复并继续各种子系统(例如过程、存储器、定时器等)的操作(9)。接着,OS#2继续正常操作
(10)。
图6示意了图5中描述的强制OS切换的场景。如图所示,OS#1和OS#2被示为与OS切换器交互。在图6中,在圆括号中示出了结合图5所描述的每个操作,以实现具有2秒延迟策略以及TrustZone实现方式的强制OS切换。
使用Intel的VT-x来实现安全的OS切换
可以使用Intel的VT(虚拟化技术)来实现安全的OS切换,即针对Intel IA-32的VT的指定版本被称为VT-x。一般地,使用合适的虚拟机监控(VMM)的实现方式,可以运行与传统的IA-32兼容的OS而无需任何修改。用于安全的OS切换的VT-x的一些特征如下:
●VMM根(root)和非根(non-root)操作:在保持所有传统特征的同时,具有VT-x功能的CPU具有两种不同的操作模式,被称为根操作和非根操作。一般地,VMM运行在根操作模式下,而访客OS运行在非根操作下。加入了各种指令以便于操作模式的转移。此外,定义了许多配置条件,以自动从非根操作转移至根操作模式。
●异常位图:在一个实施例中,32比特的字段指示了访客OS中导致被陷于根操作(即VMM)中的异常的种类。
●IO位图地址:8KB大小的存储器区域,其每个比特与IO空间中的32字节区域相对应。如果对应比特被设为1而“激活IP图”比特也是1,则访问该32字节IO区域将导致该访客OS被陷于VMM中。
●存储器管理:为了确保访客OS不能访问不属于它的存储器,VT-x引入了一系列特征来完成这一目标。例如,CR3是保存页面表的根的物理地址的寄存器。访客OS改变CR3的任何尝试将导致被陷于VMM。从那里,该VMM可以向该访客OS提供影象(shadow)页面表,VMM始终跟踪并检查对该影象页面表的操作。
有许多可能的方法来在使用VT-x的OS切换中实现多个OS间的强大的安全性和隔离。在一个实施例中,将传统模式映射为VT-x中的非根操作模式,而在根操作模式(特别是在环0)中实现切换器代码。为了确保在传统模式下OS的继续运行,在OS切换器中实现了特定的仿真,包括针对CPUID、MOV等的指令仿真。
对于基于分页的操作系统,为了防止对不属于该OS的任何存储器的访问,使用影像页面表机制。
当OS首次通过设置CR3来设立页面表或修改页面表条目时,它将被陷于根操作模式下,在该模式下,该OS切换器可以制作该页面表的拷贝,该拷贝被称为影象页面表。验证所有的表条目以确保没有页面表条目映射到不属于该OS的物理页面。同样,如果页面表中包括这样的页面表,则在影象页面表中,将该页面表条目修改为只读。在返回该OS之前,使用该影象页面表来设置CR3。随后,当该OS试图修改任何表条目时,由于该页面表区域被映射为只读,因此将发生被陷于该OS切换器。该OS切换器可以确认该修改有效,并向原始页面表和影象页面表传播该改变。接着,OS切换器照常继续执行。通过这样的对页面表条目的持续的检查和有效确认,该OS切换器确保了任何OS不能访问不属于该OS的存储器区域。
如上所述,强制控制转移的关键是识别策略实现硬件。一旦识别,执行操作以确保OS不能修改策略实现硬件,并确保向OS切换器安全地传送其中断。
在IA-32系统上,OS可以通过IO指令或映射到存储器的IO操作来访问设备。如果通过IO指令来访问策略实现设备,则该OS切换器设置IO位图地址,使得访客OS不能读取或写入IO空间中的对应区域。如果通过存储器映射来访问设备,则与上述对存储器隔离的讨论类似,OS切换器进行检查,以确保策略实现设备不被映射到任何OS,使得这些OS不能访问这些设备。
通过将所有中断路由至OS切换器,将该策略实现设备的中断安全地传送至该OS切换器。对于该OS切换器不关心的中断,该OS切换器将其转发至当前有效OS。否则,该OS切换器正确地处理该中断。
为了确保中断传送和设备访问的安全,也可以使用与保护该策略实现设备相同的方案来保护位于CPU和策略实现设备之间的任何中间设备不被访客OS访问。
安全的独占分割
在一个OS切换实施例中,所有硬件资源都被暴露给有效OS。一些是时间复用的硬件资源,而一些是分割后的硬件资源。部分分割(如存储器划分和独占分割)需要来自OS的合作。使用如TrustZone和VT-x之类的新的硬件能力,这样的分割成为可能。同样可行的是其他硬件资源,如以太网控制器的强制分割。例如,如果以太网控制器独占地属于一个OS,则可以使用TrustZone中的保护控制器,或者使用VT-x的页面条目有效确认来控制对该以太网控制器的访问,使得只有该所有者OS可以访问它。
计算机系统的示例
图7是示例性计算机系统的框图,该示例性计算机系统可以执行此处描述的一个或更多操作。参照图7,计算机系统700可以包括示例性客户端或服务器计算机系统。计算机系统700包括用于通信信息的通信机制或总线711,以及与总线711连接的、用于处理信息的处理器712。处理器712包括微处理器,但不限于微处理器,例如PentiumTM、PowerPCTM、AlphaTM等。
系统700还包括与总线711连接的、用于存储处理器712要执行的信息和指令的随机访问存储器(RAM),或者其他动态存储设备704(被称为主存储器)。主存储器704也可以用于存储处理器712执行指令期间的临时变量或其他中间信息。
计算机系统700也包括与总线711连接的、用于存储针对处理器712的信息和指令的只读存储器(ROM)和/或其他静态存储设备706,以及数据存储设备707,如磁盘或光盘及其对应盘片驱动器。数据存储设备707与总线711连接,用于存储信息和指令。
计算机系统700可以进一步与显示设备721连接,如阴极射线管(CRT)或液晶显示器(LCD),该显示设备721与总线711连接,用于向计算机用户显示信息。包括字母数字和其他键的字母数字输入设备722也可以与总线711连接,用于与处理器712通信信息和命令选择。附加用户输入设备是光标控制723,如鼠标、跟踪球、跟踪板、触针或光标方向键,该光标控制723与总线711连接,用于与处理器712通信方向信息和命令选择,并用于控制显示器721上的光标运动。
另一种可以与总线711连接的设备是硬拷贝设备724,该设备可以用于在如纸张、胶片的介质或类似种类媒质上标记信息。另一种可以与总线711连接的设备是有线/无线通信能力725,用于与电话或手持掌上设备通信。
注意,本发明中可以使用系统700的任何或全部组件及相关联的硬件。然而,可以认识到,该计算机系统的其他配置可以包括一些或全部这些设备。
在阅读了以上的描述之后,毫无疑问,对于本领域普通技术人员而言,本发明的许多变换或修改是显而易见的,但是,应理解,以示意方式示出和描述的任何具体实施例不应被认为是限制。因此,对各个实施例的细节的引用不应限制权利要求的范围,权利要求自身仅引用了被认为是本发明的本质的那些特征。

Claims (4)

1.一种用于使多个操作系统能够在计算机上同时运行的方法,其中,所述多个操作系统中的第一操作系统是当前有效的,所述方法包括:
识别多个操作系统中下一个有效的第二操作系统;
一旦所述第二操作系统变为有效,使存储器访问控制器能够独占访问针对所述第二操作系统的存储器的一部分;以及
使所述第二操作系统变为有效。
2.一种制造品,具有一个或多个计算机可读存储介质,在所述一个或多个计算机可读存储介质上存储有指令,当系统执行所述指令时,所述指令使所述系统执行用于使多个操作系统能够在计算机上同时运行的方法,其中,所述多个操作系统中的第一操作系统是当前有效的,所述方法包括:
识别多个操作系统中下一个有效的第二操作系统;
一旦所述第二操作系统变为有效,使存储器访问控制器能够独占访问针对所述第二操作系统的存储器的一部分;以及
使所述第二操作系统变为有效。
3.一种系统,包括:
CPU;
存储器,用于存储操作系统切换器,所述操作系统切换器具有存储器访问控制器模块,所述存储器访问控制器模块启用和禁用所述多个操作系统对多个区域的访问,其中,当所述切换器使当前有效的操作系统变为无效,并使一个操作系统变为有效时,在切换模式期间,所述存储器访问控制器禁用对针对除所述一个操作系统之外的操作系统的多个存储器区域的访问。
4.一种方法,包括:
使用n OS切换器来执行安全的操作系统切换,所述OS切换器维持OS之间的安全隔离,以防止一个OS读取另一个OS的存储器,并防止一个OS使另一个OS或系统崩溃。
CNA2007800091333A 2006-03-16 2007-03-16 安全的操作系统切换 Pending CN101401069A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US78328606P 2006-03-16 2006-03-16
US60/783,286 2006-03-16

Publications (1)

Publication Number Publication Date
CN101401069A true CN101401069A (zh) 2009-04-01

Family

ID=38522981

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007800091333A Pending CN101401069A (zh) 2006-03-16 2007-03-16 安全的操作系统切换

Country Status (6)

Country Link
US (1) US7950020B2 (zh)
EP (1) EP1994468A2 (zh)
JP (1) JP4903257B2 (zh)
KR (1) KR101019937B1 (zh)
CN (1) CN101401069A (zh)
WO (1) WO2007109145A2 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102122250A (zh) * 2011-01-26 2011-07-13 威盛电子股份有限公司 计算机系统及其操作系统切换方法
CN102369510A (zh) * 2009-03-20 2012-03-07 惠普公司 使用存储器分段和基于acpi的上下文切换加载操作系统
CN103477343A (zh) * 2011-02-24 2013-12-25 信特尼有限公司 操作特别是移动终端中的微处理器单元的方法
CN104123146A (zh) * 2013-04-25 2014-10-29 深圳市天方信安电子科技有限公司 一种双系统之间实现热切换的方法
CN104143065A (zh) * 2014-08-28 2014-11-12 北京握奇智能科技有限公司 安全智能终端设备、及信息处理方法
CN104252388A (zh) * 2013-06-27 2014-12-31 中国银联股份有限公司 移动设备中的非可信环境与可信环境之间的切换
CN104516747A (zh) * 2013-09-27 2015-04-15 联想(北京)有限公司 一种系统切换方法及电子设备
CN104679563A (zh) * 2015-02-28 2015-06-03 西安酷派软件科技有限公司 一种系统切换的方法及装置
CN103902316B (zh) * 2012-12-27 2017-07-25 联想(北京)有限公司 切换方法和电子设备
CN107220192A (zh) * 2017-05-31 2017-09-29 广州视源电子科技股份有限公司 电子设备、通道切换的控制方法及控制电路
CN107526693A (zh) * 2017-08-11 2017-12-29 致象尔微电子科技(上海)有限公司 一种基于线性映射表的内存隔离方法

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8341649B2 (en) * 2004-07-06 2012-12-25 Wontok, Inc. System and method for handling an event in a computer system
US7765558B2 (en) * 2004-07-06 2010-07-27 Authentium, Inc. System and method for handling an event in a computer system
US7877592B2 (en) 2006-12-04 2011-01-25 Ntt Docomo, Inc. System and methods for efficient and cooperative operating system switching
US20080244262A1 (en) * 2007-03-30 2008-10-02 Intel Corporation Enhanced supplicant framework for wireless communications
WO2009039376A2 (en) * 2007-09-20 2009-03-26 C & S Operations, Inc. Computer system with tunneling
WO2009073011A1 (en) * 2007-12-06 2009-06-11 Ntt Docomo, Inc. System and methods for efficient and cooperative operating system switching
US9235705B2 (en) * 2008-05-19 2016-01-12 Wontok, Inc. Secure virtualization system software
US8578483B2 (en) * 2008-07-31 2013-11-05 Carnegie Mellon University Systems and methods for preventing unauthorized modification of an operating system
US9348633B2 (en) * 2009-07-20 2016-05-24 Google Technology Holdings LLC Multi-environment operating system
US8868899B2 (en) * 2009-07-20 2014-10-21 Motorola Mobility Llc System and method for switching between environments in a multi-environment operating system
US9207968B2 (en) * 2009-11-03 2015-12-08 Mediatek Inc. Computing system using single operating system to provide normal security services and high security services, and methods thereof
US8433889B2 (en) 2010-04-28 2013-04-30 Acer Cloud Technology, Inc. Operating system context switching
US8407783B2 (en) 2010-06-17 2013-03-26 Mediatek Inc. Computing system providing normal security and high security services
JP2012155600A (ja) * 2011-01-27 2012-08-16 Fujitsu Ltd 情報処理装置、制御方法、および制御プログラム
CN102135910B (zh) * 2011-03-03 2014-05-14 威盛电子股份有限公司 切换操作系统的方法及使用此方法的电子装置
DE102011018431A1 (de) 2011-04-21 2012-10-25 Giesecke & Devrient Gmbh Verfahren zur Anzeige von Informationen auf einer Anzeigeeinrichtung eines Endgeräts
US20130054473A1 (en) * 2011-08-23 2013-02-28 Htc Corporation Secure Payment Method, Mobile Device and Secure Payment System
JP2014211662A (ja) * 2011-09-01 2014-11-13 パナソニック株式会社 アクセス制御装置及びアクセス制御方法
DE102011115135A1 (de) 2011-10-07 2013-04-11 Giesecke & Devrient Gmbh Mikroprozessorsystem mit gesicherter Laufzeitumgebung
KR20130101629A (ko) * 2012-02-16 2013-09-16 삼성전자주식회사 보안 실행 환경 지원 휴대단말에서 컨텐츠 출력 방법 및 장치
KR101259824B1 (ko) * 2012-02-24 2013-04-30 주식회사 텔스카 시큐어 os를 이용한 모바일 디바이스의 비밀번호 입력 시스템 및 입력 방법
KR101947651B1 (ko) 2012-03-21 2019-02-13 삼성전자주식회사 보안 모바일 웹 클라이언트 및 웹 서버 시스템
CN102662745B (zh) * 2012-04-18 2015-01-21 国家电网公司 一种虚拟机管理系统与方法
US9483635B2 (en) 2012-08-03 2016-11-01 North Carolina State University Methods, systems, and computer readable medium for active monitoring, memory protection and integrity verification of target devices
EP2741229B1 (en) * 2012-12-07 2018-10-17 Samsung Electronics Co., Ltd Priority-based application execution method and apparatus of a dual-mode data processing device
US9104862B2 (en) 2013-04-01 2015-08-11 Uniquesoft, Llc Secure computing device using new software versions
US10275593B2 (en) * 2013-04-01 2019-04-30 Uniquesoft, Llc Secure computing device using different central processing resources
US9361456B2 (en) 2013-04-01 2016-06-07 Uniquesoft, Llc Secure computing device using a library of programs
KR102100456B1 (ko) * 2013-05-09 2020-04-13 삼성전자주식회사 전자장치에서 디지털 저작권 관리 서비스를 제공하기 위한 장치 및 방법
CN104281950A (zh) 2013-07-11 2015-01-14 腾讯科技(深圳)有限公司 提高电子支付安全性的方法及装置
US20150052616A1 (en) * 2013-08-14 2015-02-19 L-3 Communications Corporation Protected mode for securing computing devices
US9218508B2 (en) * 2013-09-06 2015-12-22 Getac Technology Corporation Electronic device and protection method thereof
US9563457B2 (en) 2013-11-18 2017-02-07 Bitdefender IPR Management Ltd. Enabling a secure environment through operating system switching
US9830178B2 (en) * 2014-03-06 2017-11-28 Intel Corporation Dynamic reassignment for multi-operating system devices
US9483295B2 (en) * 2014-03-31 2016-11-01 International Business Machines Corporation Transparent dynamic code optimization
US20170269939A1 (en) * 2014-08-25 2017-09-21 Hewlett-Packard Development Company, L.P. Selection of an operating system
CN105468659B (zh) * 2014-09-28 2019-01-04 阿里巴巴集团控股有限公司 一种数据同步方法及装置
US9696790B2 (en) * 2014-10-24 2017-07-04 Advanced Micro Devices, Inc. Power management through power gating portions of an idle processor
GB2539436B (en) 2015-06-16 2019-02-06 Advanced Risc Mach Ltd Secure initialisation
GB2539428B (en) 2015-06-16 2020-09-09 Advanced Risc Mach Ltd Data processing apparatus and method with ownership table
GB2539433B8 (en) 2015-06-16 2018-02-21 Advanced Risc Mach Ltd Protected exception handling
GB2539435B8 (en) 2015-06-16 2018-02-21 Advanced Risc Mach Ltd Data processing memory access control, in which an owning process for a region of memory is specified independently of privilege level
GB2539429B (en) 2015-06-16 2017-09-06 Advanced Risc Mach Ltd Address translation
CN107567616A (zh) 2015-06-26 2018-01-09 惠普发展公司,有限责任合伙企业 操作系统管理
CN107924441A (zh) * 2015-08-25 2018-04-17 株式会社Seltech 具有虚拟机管理器的系统
CN110209615B (zh) * 2015-10-16 2023-09-12 华为技术有限公司 执行不可屏蔽中断的方法和装置
US10146940B2 (en) 2016-01-13 2018-12-04 Gbs Laboratories, Llc Multiple hardware-separated computer operating systems within a single processor computer system to prevent cross-contamination between systems
WO2017127631A1 (en) 2016-01-22 2017-07-27 Sony Interactive Entertainment Inc Spoofing cpuid for backwards compatibility
JP6615726B2 (ja) * 2016-09-16 2019-12-04 株式会社東芝 情報処理装置、情報処理方法及びプログラム
US10353815B2 (en) 2017-05-26 2019-07-16 Microsoft Technology Licensing, Llc Data security for multiple banks of memory
US10587575B2 (en) 2017-05-26 2020-03-10 Microsoft Technology Licensing, Llc Subsystem firewalls
US10346345B2 (en) * 2017-05-26 2019-07-09 Microsoft Technology Licensing, Llc Core mapping
US10482258B2 (en) 2017-09-29 2019-11-19 Nxp Usa, Inc. Method for securing runtime execution flow
US11286023B2 (en) 2018-08-28 2022-03-29 Argo Rocket Marine, Inc. Rotatable hull and multidirectional vessel
WO2021194501A1 (en) * 2020-03-27 2021-09-30 Hewlett-Packard Development Company, L.P. Alternate operating systems
US20220113982A1 (en) * 2020-10-09 2022-04-14 Arris Enterprises Llc Selective switching of an active partition in an electronic device
US12079379B2 (en) * 2020-12-03 2024-09-03 Huawei Technologies Co., Ltd. Peripheral component interconnect express protection controller

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8520662D0 (en) * 1985-08-17 1985-09-25 Wellcome Found Tricyclic aromatic compounds
JPS6310784A (ja) * 1986-03-03 1988-01-18 Kyowa Hakko Kogyo Co Ltd 抗アレルギー剤
US6173417B1 (en) 1998-04-30 2001-01-09 Intel Corporation Initializing and restarting operating systems
JP2001256066A (ja) 2000-02-29 2001-09-21 Internatl Business Mach Corp <Ibm> コンピュータシステム、オペレーティングシステムの切り替えシステム、オペレーティングシステムの実装方法、オペレーティングシステムの切り替え方法、記憶媒体及びプログラム伝送装置
GB0226874D0 (en) * 2002-11-18 2002-12-24 Advanced Risc Mach Ltd Switching between secure and non-secure processing modes
US8612992B2 (en) * 2003-04-09 2013-12-17 Jaluna Sa Operating systems
ATE409904T1 (de) * 2003-04-09 2008-10-15 Jaluna Sa Betriebssysteme
KR20070005917A (ko) * 2003-09-30 2007-01-10 쟈루나 에스에이 운영체제
EP1678617A4 (en) 2003-10-08 2008-03-26 Unisys Corp COMPUTER SYSTEM PARAVIRTUALIZATION BY USING A HYPERVISOR IMPLEMENTED IN A PARTITION OF THE HOST SYSTEM
CA2577493A1 (en) * 2004-08-18 2006-02-23 Jaluna Sa Operating systems

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102369510B (zh) * 2009-03-20 2016-06-22 惠普公司 使用存储器分段和基于acpi的上下文切换加载操作系统
CN102369510A (zh) * 2009-03-20 2012-03-07 惠普公司 使用存储器分段和基于acpi的上下文切换加载操作系统
CN102122250B (zh) * 2011-01-26 2013-09-25 威盛电子股份有限公司 计算机系统及其操作系统切换方法
CN102122250A (zh) * 2011-01-26 2011-07-13 威盛电子股份有限公司 计算机系统及其操作系统切换方法
CN103477343A (zh) * 2011-02-24 2013-12-25 信特尼有限公司 操作特别是移动终端中的微处理器单元的方法
CN103902316B (zh) * 2012-12-27 2017-07-25 联想(北京)有限公司 切换方法和电子设备
CN104123146A (zh) * 2013-04-25 2014-10-29 深圳市天方信安电子科技有限公司 一种双系统之间实现热切换的方法
CN104252388A (zh) * 2013-06-27 2014-12-31 中国银联股份有限公司 移动设备中的非可信环境与可信环境之间的切换
CN104252388B (zh) * 2013-06-27 2018-10-23 中国银联股份有限公司 移动设备中的非可信环境与可信环境之间的切换
CN104516747A (zh) * 2013-09-27 2015-04-15 联想(北京)有限公司 一种系统切换方法及电子设备
CN104143065A (zh) * 2014-08-28 2014-11-12 北京握奇智能科技有限公司 安全智能终端设备、及信息处理方法
CN104679563A (zh) * 2015-02-28 2015-06-03 西安酷派软件科技有限公司 一种系统切换的方法及装置
CN107220192A (zh) * 2017-05-31 2017-09-29 广州视源电子科技股份有限公司 电子设备、通道切换的控制方法及控制电路
CN107220192B (zh) * 2017-05-31 2020-08-14 广州视源电子科技股份有限公司 电子设备、通道切换的控制方法及控制电路
CN107526693A (zh) * 2017-08-11 2017-12-29 致象尔微电子科技(上海)有限公司 一种基于线性映射表的内存隔离方法

Also Published As

Publication number Publication date
WO2007109145A3 (en) 2008-10-02
KR101019937B1 (ko) 2011-03-09
JP2009530715A (ja) 2009-08-27
EP1994468A2 (en) 2008-11-26
US20080092145A1 (en) 2008-04-17
US7950020B2 (en) 2011-05-24
JP4903257B2 (ja) 2012-03-28
KR20080094952A (ko) 2008-10-27
WO2007109145A2 (en) 2007-09-27

Similar Documents

Publication Publication Date Title
CN101401069A (zh) 安全的操作系统切换
RU2374675C2 (ru) Системы и способы использования синтезированных команд в виртуальной машине
CN109923546B (zh) 虚拟机安全性应用程序的事件过滤
EP1939754B1 (en) Providing protected access to critical memory regions
JP5904514B1 (ja) 仮想マシンのスナップショットに対して更新を自動的に適用する方法、並びに、そのコンピュータ・システム及びコンピュータ・システム用プログラム
EP3370153B1 (en) Method and device for generating virtual machine snapshot
CN1991808B (zh) 用于访客访问存储器映射的设备的方法和装置
CN109558211A (zh) 保护可信应用与普通应用的交互完整性和保密性的方法
US20070067590A1 (en) Providing protected access to critical memory regions
EP1879108A1 (en) Method and computer system for restarting an operating system without interrupting operation of other different operating systems running concurrently to said operating system
EP3120238B1 (en) Access isolation for multi-operating system devices
CN106970823B (zh) 高效的基于嵌套虚拟化的虚拟机安全保护方法及系统
CN1545657A (zh) 计算机硬盘数据备份及恢复方法
CN101211271A (zh) 根据活动性状态控制虚拟机
EP3436947B1 (en) Secure driver platform
CN109074321B (zh) 用于保护虚拟计算实例的存储器的方法和系统
CN103810422A (zh) 一种基于镜像智能管理的安全虚拟化隔离方法
CN107003891A (zh) 虚拟机切换方法、装置、电子设备和计算机程序产品
JP2018523201A (ja) ファームウェア関連イベント通知
CN105718277A (zh) 一种bios更新的保护方法、装置和系统
EP0719430A1 (en) Processor fault recovery system
CN103996004B (zh) 一种基于虚拟化的高可用系统设计方法
US10592267B2 (en) Tree structure for storing monitored memory page data
JP2016197360A (ja) 情報処理装置、情報処理装置の制御プログラム及び情報処理装置の制御方法
KR20190060109A (ko) 명령어 레벨 데이터 격리 방법 및 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20090401