CN101334825B - 应用程序管理和运行系统及方法 - Google Patents

应用程序管理和运行系统及方法 Download PDF

Info

Publication number
CN101334825B
CN101334825B CN2007101181875A CN200710118187A CN101334825B CN 101334825 B CN101334825 B CN 101334825B CN 2007101181875 A CN2007101181875 A CN 2007101181875A CN 200710118187 A CN200710118187 A CN 200710118187A CN 101334825 B CN101334825 B CN 101334825B
Authority
CN
China
Prior art keywords
application program
virtual machine
data
platform data
program management
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.)
Active
Application number
CN2007101181875A
Other languages
English (en)
Other versions
CN101334825A (zh
Inventor
冯荣峰
林洋
胡民
王凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN2007101181875A priority Critical patent/CN101334825B/zh
Priority to US12/215,783 priority patent/US20090019437A1/en
Publication of CN101334825A publication Critical patent/CN101334825A/zh
Application granted granted Critical
Publication of CN101334825B publication Critical patent/CN101334825B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine

Landscapes

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

Abstract

本发明披露了一种应用程序管理和运行系统及方法,其中,应用程序管理和运行系统包括:虚拟机管理器,用于管理至少一个虚拟机;至少一个虚拟机,用于处理至少一个应用程序,并将每个应用程序使用的应用程序数据和虚拟机处理应用程序所需的平台数据分别独立地保存到一个或多个存储器中,以及从一个或多个存储器分别读取应用程序数据和平台数据。虚拟机上运行的至少一个应用程序可以共享一个或多个存储器中的平台数据。虚拟机在运行至少一个应用程序的同时,可以修改存储器中的应用程序数据。

Description

应用程序管理和运行系统及方法
技术领域
本发明涉及计算机领域,尤其涉及应用程序管理和运行系统和方法。
背景技术
对于类似网络银行、网络证券等高安全、高隐私的应用程序,我们缺乏一个有说服力的可信的运行环境。虽然银行和安全厂商做了各种努力,加强安全性,但从2006年的安全厂商提供的各类统计数据可以看到,各类针对网银、浏览器的恶意软件依然肆行
现有的解决方案1披露了一种VMWare、Intel TXT等为应用程序创建独立的虚拟机。
该方案的缺点是:如果为每个应用提供单独的虚拟机,则会占用过多的硬盘空间;如果多个应用共享一个虚拟机,则应用之间会有相互影响。一个应用给系统带来的破坏可能会扩散到该系统上的所有其他应用。
现有的解决方案2在便携式设备上运行关键应用,该方案的缺点是:仍使用原先的操作系统,只是会调用便携式设备上的配置数据,安全性较低。
发明内容
针对以上的一个或多个问题,本发明提供了一种应用程序管理和运行系统及方法,能够提供可信的环境,保护平台数据受保护,存储量比较小,使得应用程序之间不会相互影响,容易维护。
根据本发明的应用程序管理和运行系统包括:第一装置,在安装应用程序的情况下,使虚拟机将应用程序数据和所述虚拟机处理所述应用程序所需的平台数据分别独立地保存到一个或多个存储器中;第二装置,在运行所述应用程序的情况下,使所述虚拟机从所述存储器分别读取所述应用程序数据和所述平台数据,并且在运行过程中修改所述应用程序数据。
应用程序管理和运行系统还包括:第三装置,用于在所述虚拟机和正常操作系统并存的情况下,使所述虚拟机监控所述应用程序的安装和执行,在安装所述应用程序之前,提示用户选择是否进入通过所述虚拟机分别存储所述应用程序数据和所述平台数据的安全模式。
虚拟机上运行的至少一个应用程序可以共享一个或多个存储器中的平台数据。虚拟机在运行至少一个应用程序的同时,可以修改存储器中的应用程序数据。
根据本发明的应用程序管理和运行方法包括以下步骤:步骤S202,在安装应用程序的情况下,虚拟机将应用程序数据和虚拟机处理应用程序所需的平台数据分别独立地保存到一个或多个存储器中;步骤S204,在运行应用程序的情况下,虚拟机从存储器分别读取应用程序数据和平台数据,并且在运行过程中修改应用程序数据。
在虚拟机和正常操作系统并存的情况下,虚拟机监控应用程序的安装和执行,在安装应用程序之前,提示用户选择是否进入通过虚拟机分别存储应用程序数据和平台数据的安全模式。
在本发明中,用于存储平台数据的存储器可以为可读写存储器。用于存储应用程序的存储器可以为可读写存储器或只读存储器。
在本发明中,应用程序数据与平台数据分离存储,平台数据高度保护(只读,只能在认证情况下可修改),平台数据可以被多个应用程序共同使用。本发明能够可信的环境,对平台数据的保护,使得应用程序之间不会相互影响,仅较小的存储要求,平台数据是共享的,更易维护和管理,更容易针对操作系统和应用程序进行升级和恢复。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明的应用程序管理和运行系统的框图;
图2是根据本发明的应用程序管理和运行方法的流程图;
图3是根据本发明的安装应用程序的流程图;以及
图4是根据本发明的运行应用程序的流程图。
具体实施方式
下面参考附图,详细说明本发明的具体实施方式。
图1是根据本发明的应用程序管理和运行系统的框图。如图1所示,本发明的应用程序管理和运行包括:虚拟机管理器102,用于管理至少一个虚拟机;至少一个虚拟机104,用于处理至少一个应用程序,并将每个应用程序使用的应用程序数据和虚拟机处理应用程序所需的平台数据分别独立地保存到一个或多个存储器中,以及从一个或多个存储器分别读取应用程序数据和平台数据。
在虚拟机和正常操作系统并存的情况下,应用程序管理和运行系统还包括:监控装置110,用于监控应用程序的安装和执行,在正常操作系统安装应用程序时,选择是否进入通过虚拟机分别存储应用程序数据和平台数据的安全模式。
虚拟机上运行的至少一个应用程序共享一个或多个存储器中的平台数据。虚拟机在运行至少一个应用程序的同时,可以修改存储器中的应用程序数据。
在本发明中,用于存储平台数据的存储器可以为可读写存储器。用于存储应用程序的存储器可以为可读写存储器或只读存储器。具体地,图1可以是一个支持软件安全部署和执行的PC架构图。其中,持久存储区域(比如系统硬盘)中,可以存在多个操作系统和应用程序。虚拟机管理器可以是Hypervisor,允许同时运行一个或者多个可信计算环境。操作系统m、n(OS m,OS n)是受Hypervisor管理的操作系统数据。通常情况下只读,除非有明确的升级操作系统的指令。应用程序(App i和App j)在安装时必须选定操作系统平台,安装后的数据(包括对操作系统改动,比如注册表信息)都写到另外一个存储区域,而不改动操作系统数据。
图2是根据本发明的安全软件运行方法的流程图。如图2所示,本发明的安全软件运行方法包括以下步骤:步骤S202,在安装应用程序的情况下,虚拟机将应用程序数据和虚拟机处理应用程序所需的平台数据分别独立地保存到一个或多个存储器中;步骤S204,在运行应用程序的情况下,虚拟机从存储器分别读取应用程序数据和平台数据,并且在运行过程中修改应用程序数据。
在虚拟机和正常操作系统并存的情况下,虚拟机监控应用程序的安装和执行,在安装应用程序之前,提示用户选择是否进入通过虚拟机分别存储应用程序数据和平台数据的安全模式。
应用程序数据与平台数据分离存储,易于维护和管理(如对操作系统和应用程序的升级和恢复)。平台数据可以被多个应用程序共同使用,使得有较小的存储要求。平台数据高度保护(只读,只能在认证情况下可修改),使得应用程序的运行环境可靠,而且不同应用程序之间不会相互影响。
系统存储区域可有多个操作系统和应用程序。虚拟机管理器(Hypervisor)管理允许同时运行至少一个操作系统。应用程序安装时须选定安装在哪个操作系统,安装数据及应用程序运行数据都存在另一个存储区域,而不对操作系统数据修改。
图3是根据本发明的安装应用程序的流程图。如图3所示,安装应用程序的流程包括:
步骤S302,下载应用程序安装包到本地。
步骤S304,判断是否需要进入安全模式。
步骤S306,如果进入安全模式,则选择操作系统的版本。
步骤S308,执行应用程序的安装,将应用程序数据保存到Appi,并记录管理信息。
图4是根据本发明的运行应用程序的流程图。如图4所示,应用程序运行流程包括:
步骤S402,选定要指定的应用程序。
步骤S404,根据应用程序的管理信息指示Hypervisor运行OS m和App i中的数据。
步骤S406,运行应用程序,并将应用程序数据的修改保存的到App i中。
以下更具体地描述本发明的一个实施例。
基于虚拟机技术来实现Hypervisor,支持在一个PC中调度和执行不同的操作系统和应用程序。
可采用公知的技术,在操作系统中或者在Hypervisor中增加一个监控模块,监控软件的安装和执行从而确保安装和执行过程中的任何数据变更会保存到应用程序m中而不是操作系统n中。对于windows系统,考虑到注册表的特殊性,必须在操作系统中部署专门的模块,进行注册表监控。必须从注册表项的角度考虑到注册表问题,应该在操作系统中部署监控模块。
一个要解决的问题是:如何组合操作系统和应用程序执行。可基于专利US2005240918,由虚拟机虚拟一个设备,而对该设备的写入最终会写入到App i区域。安装时,操作系统中的监控程序会把所有新安装的文件以及对注册表的改动写到虚拟设备中。运行时,监控程序会优先去读写该虚拟设备。
在一个独立的PC中,构建应用程序数据与操作系统分离的存储架构,从而实现为关键应用程序提供独立的可信计算环境。
采用本方案之后的优势是能够提供可信的环境,平台数据受保护,应用程序之间不会受影响,仅有较小的存储要求,且数据是共享的,易维护和管理,更容易针对操作系统和应用程序进行升级和恢复。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种应用程序管理和运行系统,其特征在于包括:
第一装置,在安装应用程序的情况下,使虚拟机将应用程序数据和所述虚拟机处理所述应用程序所需的平台数据分别独立地保存到一个或多个存储器中;
第二装置,在运行所述应用程序的情况下,使所述虚拟机从所述存储器分别读取所述应用程序数据和所述平台数据,并且在运行过程中修改所述应用程序数据。
2.根据权利要求1所述的应用程序管理和运行系统,其特征在于,用于存储所述平台数据的存储器为可读写存储器。
3.根据权利要求1所述的应用程序管理和运行系统,其特征在于,用于存储所述应用程序的存储器为可读写存储器或只读存储器。
4.根据权利要求2或3所述的应用程序管理和运行系统,其特征在于,还包括第三装置,用于在所述虚拟机和正常操作系统并存的情况下,使所述虚拟机监控所述应用程序的安装和执行,在安装所述应用程序之前,提示用户选择是否进入通过所述虚拟机分别存储所述应用程序数据和所述平台数据的安全模式。
5.根据权利要求4所述的应用程序管理和运行系统,其特征在于,所述虚拟机上运行的所述至少一个应用程序共享所述一个或多个存储器中的平台数据。
6.一种应用程序管理和运行方法,其特征在于,包括以下步骤:
步骤S202,在安装应用程序的情况下,虚拟机将应用程序数据和所述虚拟机处理所述应用程序所需的平台数据分别独立地保存到一个或多个存储器中;
步骤S204,在运行所述应用程序的情况下,所述虚拟机从所述存储器分别读取所述应用程序数据和所述平台数据,并且在运行过程中修改所述应用程序数据。
7.根据权利要求6所述的应用程序管理和运行方法,其特征在于,用于存储所述平台数据的存储器为可读写存储器。
8.根据权利要求6所述的应用程序管理和运行方法,其特征在于,用于存储所述应用程序的存储器为可读写存储器或只读存储器。
9.根据权利要求7或8所述的应用程序管理和运行方法,其特征在于,在所述虚拟机和正常操作系统并存的情况下,所述虚拟机监控所述应用程序的安装和执行,在安装所述应用程序之前,提示用户选择是否进入通过所述虚拟机分别存储所述应用程序数据和所述平台数据的安全模式。
CN2007101181875A 2007-06-29 2007-06-29 应用程序管理和运行系统及方法 Active CN101334825B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2007101181875A CN101334825B (zh) 2007-06-29 2007-06-29 应用程序管理和运行系统及方法
US12/215,783 US20090019437A1 (en) 2007-06-29 2008-06-30 Application management and execution system and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101181875A CN101334825B (zh) 2007-06-29 2007-06-29 应用程序管理和运行系统及方法

Publications (2)

Publication Number Publication Date
CN101334825A CN101334825A (zh) 2008-12-31
CN101334825B true CN101334825B (zh) 2011-08-24

Family

ID=40197417

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101181875A Active CN101334825B (zh) 2007-06-29 2007-06-29 应用程序管理和运行系统及方法

Country Status (2)

Country Link
US (1) US20090019437A1 (zh)
CN (1) CN101334825B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8555380B2 (en) * 2008-02-28 2013-10-08 Intel Corporation Automatic modification of executable code
US8468356B2 (en) * 2008-06-30 2013-06-18 Intel Corporation Software copy protection via protected execution of applications
US8407700B2 (en) * 2009-03-03 2013-03-26 Symantec Corporation Methods and systems for merging virtualization sublayers
CN101964068A (zh) * 2009-07-22 2011-02-02 深圳市江波龙电子有限公司 一种sd卡及其数据访问控制方法
US8938782B2 (en) * 2010-03-15 2015-01-20 Symantec Corporation Systems and methods for providing network access control in virtual environments
JP5533315B2 (ja) * 2010-06-16 2014-06-25 富士ゼロックス株式会社 情報処理システム、管理装置、処理要求装置及びプログラム
US9009384B2 (en) 2010-08-17 2015-04-14 Microsoft Technology Licensing, Llc Virtual machine memory management in systems with asymmetric memory
CN102402440B (zh) * 2010-09-17 2015-06-03 联想(北京)有限公司 应用程序的推送提示方法和装置
CN103019752B (zh) * 2011-09-20 2016-08-03 金蝶软件(中国)有限公司 应用程序的升级方法及装置
US9245095B2 (en) 2011-10-25 2016-01-26 Ca, Inc. System and method for license management of virtual machines at a virtual machine manager
CN103309754B (zh) * 2012-03-15 2017-02-15 宇龙计算机通信科技(深圳)有限公司 终端和数据分区管理方法
US20140040231A1 (en) * 2012-08-06 2014-02-06 Hsiu-Ping Lin Methods and systems for searching software applications
US9703582B1 (en) * 2012-09-07 2017-07-11 Tellabs Operations, Inc. Share access of allocated storage space via in-memory file system between virtual machines
US20150254123A1 (en) * 2012-10-01 2015-09-10 Abb Technology Ltd Symmetric Multi-Processor Arrangement, Safety Critical System, And Method Therefor
CN103049268B (zh) * 2012-12-25 2016-08-03 中国科学院深圳先进技术研究院 一种基于Naplet的应用开发管理系统
US10049233B2 (en) * 2014-10-09 2018-08-14 Canon Denshi Kabushiki Kaisha Information processing apparatus, security management method and information processing system that switches from one monitoring unit to another in accordance with operating mode
US11068136B1 (en) * 2014-11-11 2021-07-20 Amazon Technologies, Inc. Application fulfillment platform with automated license management mechanisms

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0362105B1 (en) * 1988-09-29 1994-11-30 International Business Machines Corporation Method for processing program threads of a distributed application program by a host computer and an intelligent work station in an SNA LU 6.2 network environment
US5408617A (en) * 1991-04-12 1995-04-18 Fujitsu Limited Inter-system communication system for communicating between operating systems using virtual machine control program
US20050193372A1 (en) * 1997-09-03 2005-09-01 Bo Wu System and process for object rendering on thin client platforms
US20060288168A1 (en) * 2005-03-01 2006-12-21 Will Stevenson Transportable computing environment
CN1916855A (zh) * 2005-08-19 2007-02-21 联想(北京)有限公司 一种虚拟机系统及其硬件配置方法
CN1916854A (zh) * 2005-08-19 2007-02-21 联想(北京)有限公司 一种管理与配置虚拟机的系统和方法
CN1987886A (zh) * 2006-12-22 2007-06-27 北京飞天诚信科技有限公司 一种在软件保护装置中实现软件保护的方法与装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7600216B2 (en) * 2004-04-22 2009-10-06 Gteko, Ltd Method for executing software applications using a portable memory device
US7647589B1 (en) * 2005-02-07 2010-01-12 Parallels Software International, Inc. Methods and systems for safe execution of guest code in virtual machine context
US7913252B2 (en) * 2006-04-11 2011-03-22 Installfree, Inc. Portable platform for executing software applications in a virtual environment
US7765374B2 (en) * 2007-01-25 2010-07-27 Microsoft Corporation Protecting operating-system resources

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0362105B1 (en) * 1988-09-29 1994-11-30 International Business Machines Corporation Method for processing program threads of a distributed application program by a host computer and an intelligent work station in an SNA LU 6.2 network environment
US5408617A (en) * 1991-04-12 1995-04-18 Fujitsu Limited Inter-system communication system for communicating between operating systems using virtual machine control program
US20050193372A1 (en) * 1997-09-03 2005-09-01 Bo Wu System and process for object rendering on thin client platforms
US20060288168A1 (en) * 2005-03-01 2006-12-21 Will Stevenson Transportable computing environment
CN1916855A (zh) * 2005-08-19 2007-02-21 联想(北京)有限公司 一种虚拟机系统及其硬件配置方法
CN1916854A (zh) * 2005-08-19 2007-02-21 联想(北京)有限公司 一种管理与配置虚拟机的系统和方法
CN1987886A (zh) * 2006-12-22 2007-06-27 北京飞天诚信科技有限公司 一种在软件保护装置中实现软件保护的方法与装置

Also Published As

Publication number Publication date
US20090019437A1 (en) 2009-01-15
CN101334825A (zh) 2008-12-31

Similar Documents

Publication Publication Date Title
CN101334825B (zh) 应用程序管理和运行系统及方法
CN100399268C (zh) 一种不依赖操作系统更新软件数据的计算机系统及方法
US8510542B2 (en) Flash memory device having memory partitions and including an embedded general purpose operating system for booting a computing device
CN100432931C (zh) 嵌入式系统动态补丁长跳转的实现方法
CN101593083B (zh) 对计算机配置信息进行保护和恢复的装置、计算机和方法
CN102981931A (zh) 虚拟机备份方法及装置
CN102314373A (zh) 一种基于虚拟化技术实现安全工作环境的方法
CN1818873A (zh) 用于虚拟机中的集中式软件管理的系统和方法
CN102150105A (zh) 虚拟容器的部署和管理
CN104823160A (zh) 虚拟机-保留主机更新
CN102236750A (zh) 在云存储系统中进行权限控制的方法和装置
CN101430700B (zh) 文件系统管理装置和方法以及存储装置
CN101241464A (zh) 一种检测堆栈帧破坏的方法
CN103988177A (zh) 基于维护寄存器的离线虚拟机的维护
JP2001337792A (ja) ディスクアレイ装置
CN106406939A (zh) 一种基于emmc芯片的移动终端防回滚方法及系统
CN106648970A (zh) 文件备份方法和分布式文件系统
CN105637521A (zh) 一种数据处理方法及智能终端
CN107566169A (zh) 一种基于openwrt的固件升级方法及路由器
JP2007133544A (ja) 障害情報解析方法及びその実施装置
CN102110007A (zh) 一种bios/uefi与虚拟机监控器交互方法及系统
CN101833496B (zh) 基于硬盘的主机防客体重用性能的检测装置及其检测方法
CN100514305C (zh) 实现操作系统安全控制的系统及方法
CN103309696B (zh) 一种Java卡扩展库更新方法、装置和Java卡
CN100403212C (zh) 一种实现操作系统隔离的系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant