DE102012210887B4 - Verfahren zum Einrichten einer sicher verwalteten Ausführungsumgebung für eine virtuelle Maschine und eine Computervorrichtung - Google Patents

Verfahren zum Einrichten einer sicher verwalteten Ausführungsumgebung für eine virtuelle Maschine und eine Computervorrichtung Download PDF

Info

Publication number
DE102012210887B4
DE102012210887B4 DE102012210887.4A DE102012210887A DE102012210887B4 DE 102012210887 B4 DE102012210887 B4 DE 102012210887B4 DE 102012210887 A DE102012210887 A DE 102012210887A DE 102012210887 B4 DE102012210887 B4 DE 102012210887B4
Authority
DE
Germany
Prior art keywords
section
operating system
application
virtual machine
security agent
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
DE102012210887.4A
Other languages
English (en)
Other versions
DE102012210887A1 (de
Inventor
Sanehiro Furuichi
Masami Tada
Aratsu Taku
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102012210887A1 publication Critical patent/DE102012210887A1/de
Application granted granted Critical
Publication of DE102012210887B4 publication Critical patent/DE102012210887B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/445Program loading or initiating
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • 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/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

Computervorrichtung, die mit einer virtualisierten Umgebung ausgestattet ist,in der eine virtuelle Maschine in einem Host-Betriebssystem eingerichtet wird, wobei sich ein erster Sicherheitsagent im Host-Betriebssystem befindet und wobei sich ein zweiter Sicherheitsagent in einem Gast-Betriebssystem der virtuellen Maschine befindet, wobeider erste Sicherheitsagent Folgendes aufweist:einen Zugangskontrollabschnitt zum Steuern des Zugriffs durch eine Anwendung im Host-Betriebssystem;einen ersten Darstellungsbefehl-Hook-Abschnitt zum selektiven Hooken eines von einer Anwendung einer virtuellen Maschine ausgegebenen Bildschirmdarstellungsbefehls; undeinen Verschlüsselungsverarbeitungs-Abschnitt zum Ausführen einer Verschlüsselungsverarbeitung des vom ersten Darstellungsbefehl-Hook-Abschnitt gehookten Bildschirmdarstellungsbefehls mit Hilfe eines Verschlüsselungssystems mit allgemeinem Schlüssel; undwobei der zweite Sicherheitsagent Folgendes aufweist:einen Zugangskontrollabschnitt zum Steuern eines Zugriffs durch eine Anwendung im Gast-Betriebssystem;einen zweiten Darstellungsbefehl-Hook-Abschnitt zum selektiven Hooken eines von einer Anwendung im Gast-Betriebssystem ausgegebenen Bildschirmdarstellungsbefehls; undeinen Verschlüsselungsverarbeitungs-Abschnitt zum Ausführen einer Verschlüsselungsverarbeitung des vom zweiten Darstellungsbefehl-Hook-Abschnitt gehookten Bildschirmdarstellungsbefehls mit Hilfe eines Verschlüsselungssystems mit allgemeinem Schlüssel.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft eine Sicherheitstechnologie für Personal Computer und im Besonderen eine Computervorrichtung, die mit einer virtualisierten Umgebung ausgestattet ist, in der eine virtuelle Maschine in einem Host-Betriebssystem eingerichtet wird und Verfahren zum Unterstützen der Einrichtung einer sicher verwalteten Ausführungsumgebung für eine virtuelle Maschine für eine Benutzerdatenstation .
  • Stand der Technik
  • In letzter Zeit hat die Verwendung einer virtualisierten Umgebung in einem Personal Computer (PC) Aufmerksamkeit erregt. Gleichzeitig werden Virtualisierungsanwendungen für PCs und Betriebssysteme mit einer standardmäßig installierten virtuellen Umgebung angeboten, und erwartungsgemäß werden die Möglichkeiten für Endbenutzer zur Verwendung einer virtualisierten Umgebung in einem PC zukünftig immer weiter ausgebaut. Im Folgenden wird hier ein Überblick über Virtualisierung in einem PC gegeben.
  • 10 zeigt einen PC 200 (reale Maschine), in dem eine sogenannte Host-basierte virtualisierte Umgebung eingerichtet worden ist. Der PC 200 (reale Maschine) ist mit Hardware 202 und einem auf der Hardware 202 installierten Host-Betriebssystem 204 ausgestattet, und verschiedene Anwendungen sind im Host-Betriebssystem 204 installiert. Eine virtuelle Maschine 400 kann als eine im Host-Betriebssystem 204 ausgeführte Anwendung bezeichnet werden. Die virtuelle Maschine 400 ist mit einer allgemeinen Plattform 401 und einem virtuellen Hardware-Bereich 402 ausgestattet. Der virtuelle Hardware-Bereich 402 ist ein Funktionsteil, der Hardware der realen Maschine emuliert (beispielsweise eine Zentraleinheit (CPU), eine Festplatte, ein BIOS, eine Netzwerkkarte (NIC), eine Tastatur und eine Maus), und ein Benutzer kann im virtuellen Hardware-Bereich 402 ein Betriebssystem (Gast-Betriebssystem 404) installieren, das sich vom Host-Betriebssystem 204 unterscheidet.
  • 11 zeigt einen Zustand, in dem ein Fensterbildschirm 2000 der virtuellen Maschine 400 auf einer oberen Schicht eines Host-Betriebssystembildschirms 1000 der realen Maschine 200 angezeigt wird. Ein Betriebssystembildschirm des in der virtuellen Maschine installierten Gast-Betriebssystems 404 wird auf dem Fensterbildschirm 2000 der virtuellen Maschine 400 angezeigt. Der Benutzer kann zwei verschiedene Betriebssystemumgebungen gleichzeitig verwenden, indem er zwischen den beiden auf einer Anzeige angezeigten Betriebssystembildschirmen wechselt.
  • Damit eine Anwendung, die nur in einem älteren Betriebssystem funktioniert, im neuesten Host-Betriebssystem ausgeführt werden kann, ist im Allgemeinen die Verwendung einer virtuellen Maschine Voraussetzung. Wenn das Host-Betriebssystem 204 der realen Maschine beispielsweise den Betrieb von Anwendungen D und E nicht unterstützt, kann der Benutzer die Anwendungen D und E verwenden, indem er sie im Gast-Betriebssystem 404 (älteres Betriebssystem) der virtuellen Maschine 400 installiert. Auf einen von der Anwendung D oder E ausgegebenen Befehl hin versucht das Gast-Betriebssystem 404, den virtuellen Hardware-Bereich 402 als reale Hardware zu steuern. Die virtuelle Maschine 400 übersetzt einen vom Gast-Betriebssystem 404 ausgegebenen Hardware-Steuerungsbefehl in ein Format, mit dem die reale Maschine kompatibel ist, und überträgt ihn an das Host-Betriebssystem 204. Infolgedessen wird es möglich, dass die Anwendungen D und E, die nicht mit dem Host-Betriebssystem 204 kompatibel sind, die Hardware 202 der realen Maschine steuern. Zweifellos verbessert die Technik einer Virtualisierung in einem PC den Komfort für Benutzer, wie oben beschrieben wird. Andererseits verursacht die Virtualisierungstechnik jedoch ein lästiges Problem für Administratoren. Dieser Punkt wird im Folgenden beschrieben.
  • In vielen Firmen ist es erforderlich, dass sich in von Angestellten genutzten PCs eine Sicherheitsanwendung befindet, um die Angestellten zum Beachten einer Sicherheitsrichtlinie zu veranlassen. Das offengelegte Japanische Patentanmeldung Nr. 2007-287078 ( JP2007-287078A ) offenbart ein Programm, das die Notwendigkeit einer persönlichen Datenverwaltung für Daten beurteilt, die von einer Anwendung in Echtzeit ausgegeben werden, und auf der Grundlage eines Ergebnisses der Beurteilung die Verarbeitung durch die Anwendung fortsetzt, abbricht oder ändert. Eine solche Sicherheitsanwendung steuert einen Dateizugriff und einen Netzzugriff durch eine Anwendung, die entsprechend einer Sicherheitsrichtlinie in einem Betriebssystem ausgeführt wird. Wenn die Sicherheitsanwendung jedoch auf eine virtualisierte Umgebung angewendet wird, tritt ein Problem auf, wie im Folgenden gezeigt wird.
  • Zusätzlich ist Dokument US 2011 / 0 153 853 A1 ein nur Web-Zugriff über ein öffentliches Netzwerk für Anwendungen beschrieben, die auf virtuellen Desktops und einer Mehrzahl von Servern betrieben werden. Daneben ist im Dokument US 2009 / 0 254 990 A1 ein verteiltes und koordinierendes Sicherheitssystem mit einer Erkennung und Verhinderung von unerlaubten Zugriff auf virtuelle Maschinen in einem virtualisierten Server beschrieben. Schließlich beschreibt das Dokument US 2004 / 0 239 700 A1 ein UI-getriebenes Zugriffssteuerungssystem und ein entsprechendes Verfahren für Darstellungen von Ergebnissen von Transformationen, die auf Zugriffssteuerungseinstellungen angewendet werden.
  • 12 zeigt einen Zustand, in dem ein Sicherheitsagent 500, bei dem es sich um eine Sicherheitsanwendung vom herkömmlichen Typ handelt, in das Host-Betriebssystem einer realen Maschine eingeführt wird, die mit einer virtuellen Maschinenumgebung ausgestattet ist. Der Sicherheitsagent 500 ist so konfiguriert, dass er Folgendes aufweist: einen Zugangskontrollabschnitt (access control section) 502, der Zugriffe im Zusammenhang mit einem festgelegten Prozess oder Objekt auf der Grundlage einer Sicherheitsrichtlinie überwacht, einen Protokollüberwachungsabschnitt (log monitoring section) 504, der ein Überwachungsprotokoll aufzeichnet, und dergleichen. Der Zugangskontrollabschnitt 502 ist ein Funktionsteil, der einen Dateizugriff und einen Netzzugriff durch eine Anwendung auf der Grundlage einer entsprechend der Sicherheitsrichtlinie festgelegten Zugangskontrollliste (access control list) steuert. Wenn in der Sicherheitsrichtlinie festgelegt ist, dass die Verwendung von „Anwendung A“ unzulässig ist, hookt bzw. dockt ein für den Zugangskontrollabschnitt 502 bereitgestelltes API-Hooking-Mittel (API hooking means, bzw. Andockmittel) einen Dateizugriff oder dergleichen für die im Host-Betriebssystem 204 ausgeführte „Anwendung A“ und überträgt einen Fehler an diese zurück.
  • Wird andererseits die Verwendung der virtuellen Maschine 400 von der Sicherheitsrichtlinie zugelassen, wird die Zugangskontrollliste des Zugangskontrollabschnitts 502 so festgelegt, dass ein Dateizugriff und dergleichen von der virtuellen Maschine 400 zulässig sind. Hier tritt ein Problem auf, wenn die „Anwendung A“ im Gast-Betriebssystem 404 der virtuellen Maschine 400 installiert ist. In diesem Fall wird ein Dateizugriff von der „Anwendung A“, der ursprünglich unzulässig sein sollte, vom Zugangskontrollabschnitt 502 gestattet. Der Grund hierfür besteht darin, dass der Zugangskontrollabschnitt 502 nicht zwischen einem Dateizugriff von der im Gast-Betriebssystem 404 ausgeführten „Anwendung A“ und einem Dateizugriff von der „Anwendung D“ oder der „Anwendung E“ unterscheiden kann, und indem er beide als Dateizugriffe von der virtuellen Maschine 400 erkennt (als eine von im Host-Betriebssystem 204 ausgeführten Anwendungen), gestattet er den Zugriff auf der Grundlage der Zugangskontrollliste.
  • Selbstverständlich wird dieses Problem einmal dadurch gelöst, dass derselbe im Host-Betriebssystem 204 installierte Sicherheitsagent 500 auch im Gast-Betriebssystem 404 installiert wird. Leider ist dieses Problem nicht so einfach. Der Grund hierfür ist, dass, selbst wenn ein Administrator den Sicherheitsagenten 500 obligatorisch auf der Seite des Gast-Betriebssystems 404 installiert, ein Benutzer diesen mit seiner eigenen Berechtigung problemlos deinstallieren kann, und der Administrator, der keine Berechtigung in einer virtuellen Maschinenumgebung hat, kann nicht wissen, dass der Sicherheitsagent 500 von der virtuellen Maschine deinstalliert wurde. In der vorliegenden Situation kann der Administrator daher den Benutzer lediglich auffordern, den Sicherheitsagenten einzurichten, wobei alles Weitere der Gewissenhaftigkeit des Benutzers überlassen bleibt. Das heißt, in der vorliegenden Situation ist eine virtuelle Maschinenumgebung eine Blackbox, die ein Administrator nicht verwalten kann. Dies so zu belassen, führt zu steigenden Sicherheitsrisiken.
  • Der im Weiteren beschriebenen Erfindung liegt also die Aufgabe zu Grunde, eine sicherere Verwaltung für Ausführungsumgebungen für eine virtuelle Maschine vorzuschlagen, welche nicht die oben genannten Nachteile aufweist.
  • Zusammenfassung der Erfindung
  • Diese Aufgabe wird durch die Gegenstände der unabhängigen Ansprüche gelöst. Weitere Ausführungsformen sind durch jeweils abhängige Ansprüche beschrieben.
  • Die vorliegende Erfindung wurde also angesichts des Problems in Verfahren nach dem Stand der Technik entwickelt, und ihre Aufgabe ist die Bereitstellung eines Verfahrens zum Einrichten einer sicher verwalteten Ausführungsumgebung für eine virtuelle Maschine und ein hierfür verwendetes Programm.
  • (Lösung für Probleme)
  • Infolge einer aufmerksamen Überprüfung eines Verfahrens zur Einrichtung einer sicher verwalteten Ausführungsumgebung für eine virtuelle Maschine stellten sich die Erfinder eine Konfiguration vor, in der nach dem Installieren eines Programms mit einem integrierten Mittel zum selektiven Maskieren eines Fensterbildschirms einer virtuellen Maschine und einer integrierten Sicherheitsfunktion in einem Host-Betriebssystem einer Benutzerdatenstation mit Administratorberechtigung ein Programm für einen Benutzer bereitgestellt wird, in dem eine Sicherheitsfunktion, die der Administrator in die virtuelle Maschine einführen möchte, und ein Mittel zum Freigeben der Maskierung integriert sind, und erzielten diese Erfindung.
  • Das heißt, gemäß der vorliegenden Erfindung wird ein in einem Computer ausführbares Programm bereitgestellt, das einen Computer veranlasst, Folgendes zu realisieren: ein Zugangskontrollmittel zum Steuern des Zugriffs durch eine Anwendung; ein Darstellungsbefehl-Hook-Mittel (rendering instruction hooking means) zum Hooken eines Bildschirmdarstellungsbefehls, wobei das Darstellungsbefehl-Hook-Mittel einen ersten Modus zum selektiven Hooken eines von einer Anwendung der virtuellen Maschine ausgegebenen Bildschirmdarstellungsbefehls und einen zweiten Modus zum Hooken eines von einer Anwendung ausgegebenen Bildschirmdarstellungsbefehls aufweist; ein Verschlüsselungsverarbeitungsmittel (cryptographic processing means) zum Ausführen einer Verschlüsselungsverarbeitung des gehookten Bildschirmdarstellungsbefehls durch ein Verschlüsselungssystem mit allgemeinem Schlüssel; und ein Modusumschaltmittel (mode switching means) zum Umschalten des Betriebsmodus des Darstellungsbefehl-Hook-Mittels. In der vorliegenden Erfindung kann das Modusumschaltmittel ein Mittel aufweisen, um zu beurteilen, ob ein Host-Betriebssystem oder ein Gast-Betriebssystem ein mit dem Programm installiertes Betriebssystem ist, und um das Darstellungsbefehl-Hook-Mittel zum Zeitpunkt eines realen Maschinenmodus, in dem das Betriebssystem das Host-Betriebssystem ist, in den ersten Modus zu versetzen, und zum Zeitpunkt eines virtuellen Maschinenmodus, in dem das Betriebssystem das Gast-Betriebssystem ist, in den zweiten Modus zu versetzen. Außerdem ist eine Konfiguration möglich, die den Computer veranlasst, ein Geheimschlüssel-Verwaltungsmittel zum Verwalten eines geheimen Schlüssels zu realisieren, der für die Verschlüsselungsverarbeitung verwendet wird.
  • In der vorliegenden Erfindung kann das Geheimschlüssel-Verwaltungsmittel Folgendes aufweisen: ein Schlüsselerzeugungsmittel zum Erzeugen eines Zufallsschlüssels als geheimen Schlüssel; und ein Schlüsselübertragungs-/ empfangsmittel zum Ausführen der Übertragung/des Empfangs des Zufallsschlüssels an einen/von einem anderen Prozess, und das Geheimschlüssel-Verwaltungsmittel kann so konfiguriert werden, dass es den Zufallsschlüssel zur Zeit des realen Maschinenmodus an den anderen Prozess überträgt und den Zufallsschlüssel zur Zeit des virtuellen Maschinenmodus von dem anderen Prozess empfängt. Außerdem kann das Schlüsselübertragungs-/ empfangsmittel in der vorliegenden Erfindung so konfiguriert werden, dass es die Übertragung/den Empfang des Zufallsschlüssels über eine benannte Pipe (engl. „named pipe“) oder einen Mechanismus mit gemeinsam genutztem Ordner ausführt.
  • Außerdem wird gemäß der vorliegenden Erfindung ein Verfahren zum Unterstützen der Einrichtung einer sicher verwalteten Ausführungsumgebung für eine virtuelle Maschine für ein Benutzerterminal bereitgestellt, wobei das Verfahren die folgenden Schritte umfasst: Installieren einer ersten Sicherheitsanwendung in einem Host-Betriebssystem der Benutzerdatenstation mit Administratorberechtigung; und Bereitstellen einer zweiten Sicherheitsanwendung für einen Benutzer der Benutzerdatenstation, wobei die erste Sicherheitsanwendung ein von einem Computer ausführbares Programm ist, das einen Computer veranlasst, Folgendes zu realisieren: ein Zugangskontrollmittel zum Steuern des Zugriffs durch eine Anwendung; ein erstes Darstellungsbefehl-Hook-Mittel zum selektiven Hooken eines Bildschirmdarstellungsbefehls, der von einer Anwendung der virtuellen Maschine ausgegeben wurde; und ein Verschlüsselungsverarbeitungsmittel zum Ausführen einer Verschlüsselungsverarbeitung des Bildschirmdarstellungsbefehls, der vom ersten Darstellungsbefehl-Hook-Mittel gehookt wurde, mit Hilfe eines Verschlüsselungssystems mit allgemeinem Schlüssel; und wobei die zweite Sicherheitsanwendung ein von einem Computer ausführbares Programm ist, das einen Computer veranlasst, Folgendes zu realisieren: ein Zugangskontrollmittel zum Steuern des Zugriffs durch eine Anwendung; ein zweites Darstellungsbefehl-Hook-Mittel zum selektiven Hooken eines von einer Anwendung ausgegebenen Bildschirmdarstellungsbefehls; und ein Verschlüsselungsverarbeitungsmittel zum Ausführen einer Verschlüsselungsverarbeitung des Bildschirmdarstellungsbefehls, der vom zweiten Darstellungsbefehl-Hook-Mittel gehookt wurde, mit Hilfe eines Verschlüsselungssystems mit allgemeinem Schlüssel.
  • Außerdem wird gemäß der vorliegenden Erfindung eine Computervorrichtung bereitgestellt, die mit einer virtualisierten Umgebung ausgestattet ist, in der eine virtuelle Maschine in einem Host-Betriebssystem eingerichtet wird, wobei sich ein erster Sicherheitsagent im Host-Betriebssystem und sich ein zweiter Sicherheitsagent in einem Gast-Betriebssystem der virtuellen Maschine befindet, wobei der erste Sicherheitsagent Folgendes umfasst: einen Zugangskontrollabschnitt zum Steuern des Zugriffs einer Anwendung im Host-Betriebssystem; einen ersten Darstellungsbefehl-Hook-Abschnitt zum selektiven Hooken eines von der virtuellen Maschine ausgegebenen Bildschirmdarstellungsbefehls; und einen Verschlüsselungsverarbeitungs-Abschnitt zum Ausführen einer Verschlüsselungsverarbeitung des Bildschirmdarstellungsbefehls, der vom ersten Darstellungsbefehl-Hook-Abschnitt gehookt wurde, mit Hilfe eines Verschlüsselungssystems mit allgemeinem Schlüssel; und wobei der zweite Sicherheitsagent Folgendes umfasst: einen Zugangskontrollabschnitt zum Steuern des Zugriffs einer Anwendung im Gast-Betriebssystem; einen zweiten Darstellungsbefehl-Hook-Abschnitt zum selektiven Hooken eines Bildschirmdarstellungsbefehls, der von einer Anwendung im Gast-Betriebssystem ausgegeben wurde; und einen Verschlüsselungsverarbeitungs-Abschnitt zum Ausführen einer Verschlüsselungsverarbeitung des Bildschirmdarstellungsbefehls, der vom zweiten Darstellungsbefehl-Hook-Abschnitt gehookt wurde, mit Hilfe eines Verschlüsselungssystems mit allgemeinem Schlüssel.
  • [Vorteilhafte Auswirkung der Erfindung]
  • Wie oben beschrieben wird, werden gemäß der vorliegenden Erfindung ein Verfahren zum Einrichten einer sicher verwalteten Ausführungsumgebung für eine virtuelle Maschine und ein hierfür verwendetes Programm bereitgestellt.
  • In Ausführungsformen des von einem Computer ausführbaren Programms kann das Modusumschaltmittel ein Mittel zur Beurteilung umfassen, ob ein Host-Betriebssystem oder ein Gast-Betriebssystem ein mit dem Programm installiertes Betriebssystem ist, und kann das Darstellungsbefehl-Hook-Mittel zur Zeit eines realen Maschinenmodus, in dem das Betriebssystem das Host-Betriebssystem ist, in den ersten Modus versetzen, und zum Zeitpunkt eines virtuellen Maschinenmodus, in dem das Betriebssystem das Gast-Betriebssystem sein kann, in den zweiten Modus versetzen.
  • In Ausführungsformen des in einem Computer ausführbaren Programms kann das Programm außerdem einen Computer veranlassen, ein Geheimschlüssel-Verwaltungsmittel zum Verwalten eines geheimen Schlüssels zu realisieren, der für die Verschlüsselungsverarbeitung verwendet wird.
  • Außerdem kann das Geheimschlüssel-Verwaltungsmittel in Ausführungsformen Folgendes umfassen:
    • ein Schlüsselerzeugungsmittel zum Erzeugen eines Zufallsschlüssels als geheimen Schlüssel; und
    • ein Schlüsselübertragungs-/empfangsmittel zum Ausführen der Übertragung/des Empfangs des Zufallsschlüssels an einen/von einem anderen Prozess.
  • Außerdem kann das Schlüsselübertragungs-/empfangsmittel in Ausführungsformen des von einem Computer ausführbaren Programms den Zufallsschlüssel zum Zeitpunkt des realen Maschinenmodus an den anderen Prozess übertragen und zur Zeit des virtuellen Maschinenmodus den Zufallsschlüssel von dem anderen Prozess empfangen.
  • In Ausführungsformen des von einem Computer ausführbaren Programms kann das Schlüsselübertragungs-/empfangsmittel die Übertragung/den Empfang des Zufallsschlüssels über eine benannte Pipe ausführen.
  • Außerdem kann das Schlüsselübertragungs-/empfangsmittel in Ausführungsformen des von einem Computer ausführbaren Programms die Übertragung/den Empfang des Zufallsschlüssels über einen Mechanismus mit gemeinsam genutzten Ordner ausführen.
  • Außerdem kann das Geheimschlüssel-Verwaltungsmittel in Ausführungsformen des von einem Computer ausführbaren Programms den geheimen Schlüssel auf der Grundlage einer Einstellungseingabe von außerhalb einstellen.
  • In Ausführungsformen des von einem Computer ausführbaren Programms kann das Modusumschaltmittel auf eine Moduseinstellungseingabe von außerhalb hin das Darstellungsbefehl-Hook-Mittel in den ersten Modus oder in den zweiten Modus versetzen.
  • Figurenliste
    • 1 ist eine funktionelle Darstellung eines Sicherheitsagenten der vorliegenden Ausführungsform;
    • 2 ist eine Darstellung, die einen Host-Betriebssystembildschirm zum Zeitpunkt der Installation des Sicherheitsagenten der vorliegenden Ausführungsform zeigt;
    • 3 ist eine Darstellung, die einen Zustand zeigt, in dem der Sicherheitsagent der vorliegenden Ausführungsform im Host-Betriebssystem eines PCs installiert wird, in dem eine virtualisierte Umgebung eingerichtet wurde;
    • 4 ist eine Darstellung, die einen Fensterbildschirm einer virtuellen Maschine in einem unlesbaren Zustand zeigt;
    • 5 ist eine Darstellung, die einen Eigenschaftenbildschirm zum Einstellen eines „Einstellmodus“ („Setup Mode“) zeigt;
    • 6 ist eine Darstellung, die einen Zustand zeigt, in dem der Sicherheitsagent der vorliegenden Ausführungsform in den „Einstellmodus“ gesetzt worden ist;
    • 7 ist eine Darstellung, die einen Fensterbildschirm der virtuellen Maschine zum Zeitpunkt der Installation des Sicherheitsagenten der vorliegenden Ausführungsform zeigt;
    • 8 ist eine Darstellung, die einen Zustand zeigt, in dem der Sicherheitsagent der vorliegenden Ausführungsform sowohl im Host-Betriebssystem als auch in einem Gast-Betriebssystem installiert wird;
    • 9 ist eine Darstellung, die einen PC zeigt, in dem der Sicherheitsagent der vorliegenden Ausführungsform installiert ist, wobei eine Konfiguration mit dynamischem Aktualisieren eines geheimen Schlüssels angewandt wird;
    • 10 ist eine Darstellung, die einen PC zeigt, in dem eine Host-basierte virtualisierte Umgebung eingerichtet wurde;
    • 11 ist eine Darstellung, die einen Zustand zeigt, in dem ein Fensterbildschirm der virtuellen Maschine in einer oberen Schicht eines Host-Betriebssystembildschirms der realen Maschine angezeigt wird;
    • 12 ist eine Darstellung, die einen Zustand zeigt, in dem ein Sicherheitsagent herkömmlichen Typs in das Host-Betriebssystem einer realen Maschine eingeführt wurde, die mit einer Umgebung für eine virtuelle Maschine ausgestattet ist; und
    • 13 ist eine Darstellung, die einen Zustand zeigt, in dem der Sicherheitsagent herkömmlichen Typs sowohl im Host-Betriebssystem als auch in einem Gast-Betriebssystem installiert worden ist.
  • Beschreibung einer Ausführungsform
  • Gemäß einem Verfahren der vorliegenden Erfindung ist es möglich, eine sicher verwaltete Ausführungsumgebung für eine virtuelle Maschine einzurichten. Es wird vorausgesetzt, dass das Verfahren der vorliegenden Erfindung auf eine Host-basierte virtualisierte Umgebung angewendet werden kann, und eine neuartige Sicherheitsanwendung der vorliegenden Erfindung wird für dessen Realisierung verwendet. Die Sicherheitsanwendung der vorliegenden Erfindung wird als ein Programmprodukt bereitgestellt, wobei vorausgesetzt wird, dass dieses sowohl in einem Host-Betriebssystem einer Benutzerdatenstation als auch in einem Gast-Betriebssystem einer virtuellen Maschine installiert wird. Hier bezieht sich das Programmprodukt auf ein Aufzeichnungsmedium, in dem ein Programm aufgezeichnet wird, und auf eine Form der Bereitstellung durch ein Netz. Das Programmprodukt gemäß der vorliegenden Erfindung realisiert ein im Folgenden beschriebenes Funktionsmittel in einem Personal Computer, indem es im Computer installiert wird.
  • 1 zeigt eine funktionelle Darstellung eines Sicherheitsagenten 100, der eine Ausführungsform der Sicherheitsanwendung der vorliegenden Erfindung ist. Der Sicherheitsagent 100 der vorliegenden Erfindung ist so konfiguriert, dass er einen Sicherheitsfunktionsabschnitt 110 und einen Bildschirmmasken-Verarbeitungsabschnitt (screen mask processing section) 120 aufweist. Der Sicherheitsfunktionsabschnitt 110 ist so konfiguriert, dass er mindestens einen Zugangskontrollabschnitt 112 aufweist. Der Zugangskontrollabschnitt 112 ist ein Funktionsteil, der eine obligatorische Zugangskontrolle für einen Dateizugriff und einen Netzzugriff durch eine in einem Betriebssystem ausgeführte Anwendung ausführt, und er beurteilt, ob der Zugriff durch eine Anwendung gemäß einer von einem Administrator festgelegten Sicherheitsrichtlinie gestattet wird oder nicht. Im Besonderen wird der Kontrollinhalt auf der Grundlage einer Zugangskontrollliste (ACL) ermittelt, in der die Sicherheitsrichtlinie eingestellt wird. Neben dem Zugangskontrollabschnitt 112 kann ein notwendiger Funktionsteil, wie zum Beispiel ein Protokollüberwachungsabschnitt, in geeigneter Weise zum Sicherheitsfunktionsabschnitt 110 hinzugefügt werden.
  • Andererseits wird der Bildschirmmasken-Verarbeitungsabschnitt 120 so konfiguriert, dass er einen Darstellungsbefehl-Hook-Abschnitt 122, einen Verschlüsselungsverarbeitungs-Abschnitt 124, einen Geheimschlüssel-Verwaltungsabschnitt 126 und einen Modusumschaltabschnitt 128 aufweist. Der Darstellungsbefehl-Hook-Abschnitt 122 ist ein API-Hooking-Mittel zum Hooken eines Bildschirmdarstellungsbefehls, der von einer in einem Betriebssystem ausgeführten Anwendung an eine GDI (Graphical Device Interface) ausgegeben wurde, und er weist vorzugsweise drei Betriebsmodi auf. Bei den drei Modi handelt es sich um die folgenden: einen ersten Modus zum selektiven Hooken von ausschließlich einem Bildschirmdarstellungsbefehl, der von einer Anwendung der virtuellen Maschine ausgegeben wurde, einen zweiten Modus zum Hooken eines Bildschirmdarstellungsbefehls, der von einer in einem Betriebssystem ausgeführten Anwendung ausgegeben wurde (darunter mit dem Betriebssystem verbundene Programme), und einen dritten Modus, in dem kein Bildschirmdarstellungsbefehl gehookt wird.
  • Der Verschlüsselungsverarbeitungs-Abschnitt 124 ist ein Funktionsteil, der mit Hilfe eines Verschlüsselungssystems mit allgemeinem Schlüssel eine Verschlüsselungsverarbeitung (Verschlüsselung/Entschlüsselung) eines Bildschirmdarstellungsbefehls ausführt, der vom Darstellungsbefehl-Hook-Abschnitt 122 gehookt wurde. In der vorliegenden Ausführungsform kann ein bereits bekanntes Verfahren, beispielsweise Blockverschlüsselung (block cipher) und Stromverschlüsselung (stream cipher) unter Verwendung einer EXKLUSIV-ODER-Operation für jedes Bit, als Verschlüsselungssystem mit allgemeinem Schlüssel verwendet werden.
  • Der Geheimschlüssel-Verwaltungsabschnitt 126 ist ein Funktionsteil, der einen geheimen Schlüssel als Grundlage von Schlüsseldaten verwaltet, die in der vom Verschlüsselungsverarbeitungs-Abschnitt ausgeführten EXKLUSIV-ODER-Operation für jedes Bit (im Folgenden einfach als XOR-Operation bezeichnet) verwendet werden. Wenn eine Blockverschlüsselung angewandt wird, erzeugt der Verschlüsselungsverarbeitungs-Abschnitt 124 einen erweiterten Schlüssel auf der Grundlage des aus dem Geheimschlüssel-Verwaltungsabschnitt 126 gelesenen geheimen Schlüssels und führt eine XOR-Operation unter Verwendung des erweiterten Schlüssels aus. Wenn eine Stromverschlüsselung angewandt wird, erzeugt der Verschlüsselungsverarbeitungs-Abschnitt 124 eine Pseudo-Zufallsfolge (Schlüsselstrom) mit dem aus dem Geheimschlüssel-Verwaltungsabschnitt 126 gelesenen geheimen Schlüssel als Anfangswert und führt eine XOR-Operation unter Verwendung des Schlüsselstroms aus.
  • Bei der vorliegenden Erfindung wird vorausgesetzt, dass zwei im Host-Betriebssystem einer realen Maschine und im Gast-Betriebssystem einer virtuellen Maschine installierte Sicherheitsagenten 100 denselben geheimen Schlüssel (d.h., einen allgemeinen Schlüssel) verwalten. Die einfachste Möglichkeit zum Garantieren der Identität der geheimen Schlüssel zwischen beiden Sicherheitsagenten besteht darin, denselben geheimen Schlüssel für alle Programmprodukte bei deren Herstellung festzulegen. In diesem Fall bleibt der geheime Schlüssel als ein feststehender Wert im Geheimschlüssel-Verwaltungsabschnitt 126. Außerdem kann die vorliegende Erfindung ein zweites Verfahren, in dem ein Administrator und ein Benutzer einen geheimen Schlüssel zum Zeitpunkt der Installation einer Anwendung festlegen, und ein drittes Verfahren anwenden, in dem ein Sicherheitsagent 100 automatisch einen geheimen Schlüssel erzeugt und den anderen Sicherheitsagenten 100 über den geheimen Schlüssel benachrichtigt.
  • Der Sicherheitsagent 100 hat vorzugsweise drei Betriebsmodi. Ein erster Modus ist der „Reale Maschinenmodus“, um den Betrieb des Sicherheitsagenten 100 im Host-Betriebssystem einer realen Maschine zu veranlassen, und ein zweiter Modus ist der „Virtuelle Maschinenmodus“, um den Betrieb des Sicherheitsagenten 100 im Gast-Betriebssystem einer virtuellen Maschine zu veranlassen. Ein dritter Modus ist der „Einstellmodus“ zum Installieren des Sicherheitsagenten 100 im Gast-Betriebssystem der virtuellen Maschine. Der Modusumschaltabschnitt 128 ist ein Funktionsteil, der den Darstellungsbefehl-Hook-Abschnitt 122 und den Zugangskontrollabschnitt 112 betreibt, um diese drei Betriebsmodi zu realisieren, und er wechselt auf einen Befehl von außerhalb hin oder automatisch zwischen den Betriebsmodi. Die Konfiguration des Sicherheitsagenten 100 der vorliegenden Ausführungsform wurde beschrieben. Als Nächstes wird ein Verfahren der vorliegenden Erfindung beschrieben, das unter Verwendung des Sicherheitsagenten 100 realisiert wird, d.h., ein Verfahren zum Bereitstellen einer sicher verwalteten Ausführungsumgebung für eine virtuelle Maschine.
  • Nach der Installation des Sicherheitsagenten 100 der vorliegenden Ausführungsform im PC eines Benutzers stellt ein Administrator im Verfahren der vorliegenden Erfindung einen dem Sicherheitsagenten 100 ähnlichen Sicherheitsagenten 100 für den Benutzer bereit und weist den Benutzer an, diesen in einer virtuellen Maschine zu installieren. In diesem Fall scheint es so, dass der Benutzer der Anweisung des Administrators nicht unbedingt Folge leisten muss, da der Benutzer weiß, dass der Administrator nicht nachvollziehen kann, ob der Sicherheitsagent 100 tatsächlich in der virtuellen Maschine installiert worden ist. Hinsichtlich dieses Punktes schafft das Verfahren der vorliegenden Erfindung eine Situation, in der der Benutzer nicht umhin kann, die Anweisung des Administrators zu befolgen. Der spezifische Inhalt der Situation wird im Folgenden der Reihe nach beschrieben. In der nachstehenden Beschreibung wird in geeigneter Weise auf 1 Bezug genommen.
  • (Schritt 1)
  • Als Erstes installiert der Administrator den Sicherheitsagenten 100 der vorliegenden Ausführungsform im Host-Betriebssystem des Benutzer-PCs. Anschließend werden ein Betriebsmodus und ein geheimer Schlüssel für den Sicherheitsagenten 100 festgelegt. In der vorliegenden Erfindung ist auch eine Konfiguration möglich, in der diese automatisch festgelegt werden. Dieser Punkt wird an späterer Stelle beschrieben. Hier erfolgt eine Beschreibung mit einer beispielhaften Ausführungsform, in welcher der Betriebsmodus und der geheime Schlüssel manuell festgelegt werden.
  • 2 zeigt einen Host-Betriebssystembildschirm 1000 zum Zeitpunkt der Ausführung der Installationsvorgänge. Auf dem Host-Betriebssystembildschirm 1000 wird ein Installationsassistent (installation wizard) 1004 angezeigt. Der Administrator wählt den „Realen Maschinenmodus“ auf einem Betriebsmodus-Auswahlbildschirm 1004a des in 2(a) gezeigten Installationsassistenten. Anschließend gibt der Administrator über einen Kennworteinstellungs-Bildschirm 1004b des in 2(b) gezeigten Installationsassistenten ein Kennwort ein. Der ausgewählte „Reale Maschinenmodus“ wird für den Modusumschaltabschnitt 128 des durch die obige Prozedur im Host-Betriebssystem des PC installierten Sicherheitsagenten 100 festgelegt, und das eingegebene Kennwort wird für den Geheimschlüssel-Verwaltungsabschnitt 126 als ein geheimer Schlüssel festgelegt. In der vorliegenden Ausführungsform wird der Sicherheitsagent 100 mit Administratorberechtigung im Host-Betriebssystem installiert, und der Benutzer kann diesen nicht ohne Genehmigung deinstallieren und ist hinsichtlich einer Änderung des Einstellungsinhaltes (Betriebsmodus und Kennwort) eingeschränkt. In der vorliegenden Ausführungsform ist auch eine Konfiguration möglich, in welcher der Betriebsmodus und das Kennwort von einem speziellen Dialogbildschirm anstelle des Installationsassistenten-Bildschirms festgelegt werden. Die vorliegende Erfindung ist nicht auf die spezifischen Konfigurationen beschränkt.
  • Wenn der Sicherheitsagent 100 nur im Host-Betriebssystem des PCs installiert wird, wird eine virtualisierte Umgebung im Wesentlichen deaktiviert. Dieser Punkt wird im Folgenden auf der Grundlage von 3 beschrieben. 3 zeigt einen Zustand, in dem der Sicherheitsagent 100 im Host-Betriebssystem 204 des PCs installiert ist, in dem eine virtualisierte Umgebung eingerichtet ist. Im Fall des in 3 gezeigten Beispiels wird eine Anwendung 400 für eine virtuelle Maschine (im Folgenden als virtuelle Maschine 400 bezeichnet) zusammen mit drei Anwendungen „Anwendung A“, „Anwendung B“ und „Anwendung C“ im Host-Betriebssystem entwickelt. In 3 werden der virtuelle Hardware-Bereich und die allgemeine Plattform der virtuellen Maschine 400 weggelassen (ebenso in den nachstehenden Figuren). Außerdem werden im Gast-Betriebssystem 404 der virtuellen Maschine 400 drei Anwendungen „Anwendung A“, „Anwendung D“ und „Anwendung E“ entwickelt. Hier muss die „Anwendung A“ als eine Anwendung betrachtet werden, deren Verwendung durch eine Sicherheitsrichtlinie untersagt wird.
  • Wie zuvor beschrieben wurde, wird der Modusumschaltabschnitt 128 des Sicherheitsagenten 100 im Host-Betriebssystem 204 in den „Realen Maschinenmodus“ versetzt. In diesem Fall setzt der Modusumschaltabschnitt 128 den Darstellungsbefehl-Hook-Abschnitt 122 in den ersten Modus, d.h., den Modus zum selektiven Hooken von ausschließlich einem Bildschirmdarstellungsbefehl, der von der virtuellen Maschine 400 ausgegeben wurde. In diesem Fall ist ein Verfahren wünschenswert, bei dem in einem Bereich, der von einem die virtuelle Maschine 400 anzeigenden Fenster belegt wird, nur das als Client-Bereich bezeichnete Innere des Fensters gehookt wird und ein Fensterrahmen sowie ein Titelbereich, die als Nicht-Client-Bereiche bezeichnet werden, nicht gehookt werden. Infolgedessen werden Bildschirmdarstellungsbefehle, die von der in der virtuellen Maschine 400 ausgeführten „Anwendung A“, „Anwendung D“ und „Anwendung E“ ausgegeben werden, und Bildschirmdarstellungsbefehle, die von mit dem Gast-Betriebssystem 404 verbundenen Darstellungsanwendungen (zum Darstellen eines Bildschirmhintergrundes oder eines Desktop) ausgegeben werden, durch den Darstellungsbefehl-Hook-Abschnitt 122 gehookt. Daraufhin liest der Verschlüsselungsverarbeitungs-Abschnitt 124 das für den Geheimschlüssel-Verwaltungsabschnitt 126 festgelegte Kennwort (den geheimen Schlüssel) aus und führt eine Verschlüsselung der vom Darstellungsbefehl-Hook-Abschnitt 122 gehookten Bildschirmdarstellungsbefehle in einem Verschlüsselungssystem mit allgemeinem Schlüssel aus.
  • Wenn die verschlüsselten Bildschirmdarstellungsbefehle vom Bildschirmmasken-Verarbeitungsabschnitt 120 an das Host-Betriebssystem 204 übertragen und nach der Verarbeitung durch die GDI und einen nicht gezeigten Videotreiber an eine Anzeigeeinheit ausgegeben werden, wird ein Fensterbildschirm 2000 der virtuellen Maschine 400 in einen unlesbaren Zustand versetzt, wie in 4 gezeigt wird, und der Benutzer kann keinen Arbeitsgang auf dem Bildschirm ausführen. Infolgedessen ist es im Wesentlichen unmöglich, eine der in der virtualisierten Umgebung betriebenen Anwendungen (die unzulässige „Anwendung A“ sowie „Anwendung D“ und „Anwendung E“) zu verwenden.
  • (Schritt 2)
  • Wenn der Benutzer die Installation des Sicherheitsagenten 100 im PC abgeschlossen hat, kündigt der Administrator dem Benutzer an, dass die Maske des Fensterbildschirms freigegeben wird, sobald der Sicherheitsagent 100 in der virtuellen Maschine 400 installiert ist. Anschließend stellt der Administrator für das Gast-Betriebssystem des Benutzers einen Sicherheitsagenten 100 zusammen mit für den Sicherheitsagenten 100 des Host-Betriebssystems 204 festgelegten Kennwortdaten (geheimer Schlüssel) bereit und überlässt alles Weitere dem Benutzer. Wenn eine solche Situation vom Administrator geschaffen wird, bleibt dem Benutzer, der eine virtualisierte Umgebung verwenden möchte, jedoch nichts anderes übrig, als den Sicherheitsagenten 100, dessen Installation vom Administrator gewünscht wird, in der virtuellen Maschine 400 zu installieren.
  • (Schritt 3)
  • Wenn der Benutzer die Ankündigung des Administrators empfängt, installiert er den Sicherheitsagenten 100 in der virtuellen Maschine 400. Es ist jedoch nicht möglich, den Installationsvorgang in dem Zustand auszuführen, in dem der Fensterbildschirm 2000 der virtuellen Maschine 400 maskiert ist. Daher wird der Sicherheitsagent 100 im Host-Betriebssystem 204 in den „Einstellmodus“ versetzt. Für eine Änderung des Einstellungsinhaltes des Sicherheitsagenten 100 im Host-Betriebssystem 204 ist grundsätzlich die Administratorberechtigung erforderlich, wie zuvor beschrieben wurde. In der vorliegenden Ausführungsform wird dem Benutzer jedoch lediglich die Einstellung des „Einstellmodus“ gestattet. In diesem Fall kann der Benutzer einen Eigenschaftenbildschirm 1006 des Sicherheitsagenten 100 aufrufen, wie in 5(a) gezeigt wird, und den „Einstellmodus“ einstellen.
  • 6 zeigt einen Zustand, in dem der Sicherheitsagent 100 im Host-Betriebssystem 204 in den „Einstellmodus“ versetzt wurde. Im „Einstellmodus“ versetzt der Modusumschaltabschnitt 128 den Darstellungsbefehl-Hook-Abschnitt 122 in den dritten Modus, d.h., den Modus, in dem Bildschirmdarstellungsbefehle nicht gehookt werden. Infolgedessen passieren von der virtuellen Maschine 400 ausgegebene Bildschirmdarstellungsbefehle den Sicherheitsagenten 100 und werden umgehend an das Host-Betriebssystem 204 übertragen. Daher kehrt der Fensterbildschirm 2000 der virtuellen Maschine 400 in einen normalen Zustand zurück, wie in 5(b) gezeigt wird.
  • Gleichzeitig fordert der Modusumschaltabschnitt 128 den Zugangskontrollabschnitt 112 auf, den Inhalt der Zugangsbeschränkung für die virtuelle Maschine 400 im „Einstellmodus“ zu ändern. Insbesondere fordert der Modusumschaltabschnitt 128 den Zugangskontrollabschnitt 112 auf, alle Dateizugriffe und Netzzugriffe mit Ausnahme von Dateizugriffen auf eine EXE-Datei 210, die das Programm des Sicherheitsagenten 100 enthält, zu untersagen, darunter von der virtuellen Maschine 400 ausgegebene Dateizugriffe. Daraufhin ändert der Zugangskontrollabschnitt 112 eine ACL entsprechend der Anforderung. Unter der oben beschriebenen Einstellungsbedingung ist es dem Benutzer gestattet, über den Fensterbildschirm 2000 auf die EXE-Datei 210 zuzugreifen, die Ausführung des Installationsvorgangs des Sicherheitsagenten 100 wird für den Benutzer möglich.
  • Da von der virtuellen Maschine 400 ausgegebene Bildschirmdarstellungsbefehle übertragen werden, ohne gehookt zu werden, werden im „Einstellmodus“ alle Bildschirme einschließlich Bildschirmen der unzulässigen „Anwendung A“ angezeigt. Aufgrund der Änderung des Kontrollinhaltes durch den Zugangskontrollabschnitt 112 werden jedoch alle Dateizugriffe (mit Ausnahme der EXE-Datei 210) und Netzzugriffe von der virtuellen Maschine 400 gesperrt, und währenddessen wird die „Anwendung A“ blockiert und kann nicht verwendet werden. Das heißt, im „Einstellmodus“ wird der Sicherheitszustand des PCs ordnungsgemäß aufrechterhalten. Es sei jedoch darauf hingewiesen, dass die „Anwendung D“ und die „Anwendung E“, deren Verwendung ursprünglich zugelassen war, in diesem Zustand ebenfalls nicht verwendet werden können.
  • 7 zeigt den Fensterbildschirm 2000 der virtuellen Maschine 400 zum Zeitpunkt der Ausführung des Installationsvorgangs. Auf dem Fensterbildschirm 2000 wird ein Installationsassistent 2004 angezeigt. Der Benutzer wählt den „Virtuellen Maschinenmodus“ auf einem Betriebsmodus-Auswahlbildschirm 2004a des in 7(a) gezeigten Installationsassistenten. Anschließend gibt der Benutzer ein vom Administrator bereitgestelltes Kennwort über einen Kennworteinstellungs-Bildschirm 2004b des in 7(b) gezeigten Installationsassistenten ein. Wenn der Installationsvorgang entsprechend dem Installationsassistenten beendet worden ist, ruft der Benutzer erneut den Eigenschaftenbildschirm 1006 des Sicherheitsagenten 100 im Host-Betriebssystem auf und stellt den „Einstellmodus“ zurück. Daraufhin kehrt der Sicherheitsagent 100 im Host-Betriebssystem 204 in den „Realen Maschinenmodus“ zurück. Alternativ ist es auch eine Konfiguration möglich, in der das Host-Betriebssystem 204 die Beendigung der Installation automatisch erkennt und der Sicherheitsagent 100 im Host-Betriebssystem 204 daraufhin in den „Realen Maschinenmodus“ zurückkehrt.
  • 8 zeigt einen Zustand, in dem der Sicherheitsagent 100 sowohl im Host-Betriebssystem 204 als auch im Gast-Betriebssystem 404 installiert ist. Um zwischen den beiden Agenten unterscheiden zu können, wird der Sicherheitsagent 100 im Host-Betriebssystem 204 in 8 als ein Sicherheitsagent 100(H) und der Sicherheitsagent 100 im Gast-Betriebssystem als ein Sicherheitsagent 100(G) gezeigt.
  • Durch die in 7(a) gezeigte Einstellung eines Betriebsmodus durch den Benutzer wird der „Virtuelle Maschinenmodus“ für den Sicherheitsagenten 100(G) eingestellt. In diesem Fall versetzt der Modusumschaltabschnitt 128G den Darstellungsbefehl-Hook-Abschnitt 122G in den zweiten Modus, das heißt, den Modus zum Hooken von Bildschirmdarstellungsfehlen, die von Anwendungen in einem Betriebssystem ausgegeben werden. Infolgedessen werden Bildschirmdarstellungsbefehle, die von der in der virtuellen Maschine 400 ausgeführten „Anwendung A“, „Anwendung D“ und „Anwendung E“ ausgegeben werden, und Bildschirmdarstellungsbefehle, die von mit dem Gast-Betriebssystem 404 verbundenen Darstellungsanwendungen ausgegeben werden, durch den Darstellungsbefehl-Hook-Abschnitt 122G gehookt. Daraufhin liest der Verschlüsselungsverarbeitungs-Abschnitt 124G ein für den Geheimschlüssel-Verwaltungsabschnitt 126G festgelegtes Kennwort (geheimer Schlüssel) aus und führt eine Verschlüsselungsverarbeitung (Verschlüsselung) der vom Darstellungsbefehl-Hook-Abschnitt 122G gehookten Bildschirmdarstellungsbefehle im Verschlüsselungssystem mit allgemeinem Schlüssel aus. Es sei darauf hingewiesen, dass durch das in 7(b) gezeigte Festlegen eines Kennwortes durch den Benutzer derselbe geheime Schlüssel, der für den Geheimschlüssel-Verwaltungsabschnitt 126H des Sicherheitsagenten 100(H) festgelegt wurde, für den Geheimschlüssel-Verwaltungsabschnitt 126G festgelegt wird.
  • Die Bildschirmdarstellungsbefehle, die durch eine XOR-Operation vom Bildschirmmasken-Verarbeitungsabschnitt 120G verschlüsselt wurden, werden von der virtuellen Maschine 400 an das Host-Betriebssystem 204 ausgegeben. Zu diesem Zeitpunkt hookt der Darstellungsbefehl-Hook-Abschnitt 122H des im „Realen Maschinenmodus“ betriebenen Sicherheitsagenten 100(H) selektiv die von der virtuellen Maschine 400 ausgegebenen Bildschirmdarstellungsbefehle (verschlüsselte Bildschirmdarstellungsbefehle). Daraufhin liest der Verschlüsselungsverarbeitungs-Abschnitt 124H das für den Geheimschlüssel-Verwaltungsabschnitt 126H festgelegte Kennwort (geheimer Schlüssel) aus und führt eine Verschlüsselungsverarbeitung (Entschlüsselung) der vom Darstellungsbefehl-Hook-Abschnitt 122H gehookten Bildschirmdarstellungsbefehle (verschlüsselte Bildschirmdarstellungsbefehle) im Verschlüsselungssystem mit allgemeinem Schlüssel aus. Das heißt, da die XOR-Operation unter Verwendung derselben Schlüsseldaten zweimal ausgeführt wird, wenn der Sicherheitsagent 100 sowohl im Host-Betriebssystem 204 als auch im Gast-Betriebssystem 404 installiert wird, werden alle in der virtuellen Maschine 400 ausgegebenen Bildschirmdarstellungsbefehle in einem Zustand, in dem sie in unverschlüsselten Text zurückversetzt wurden, an das Host-Betriebssystem 204 übertragen, und infolgedessen werden alle Bildschirme einschließlich der unzulässigen „Anwendung A“ angezeigt.
  • Andererseits arbeitet der Zugangskontrollabschnitt 112G des Sicherheitsagenten 100(G) mit demselben Kontrollinhalt wie der Zugangskontrollabschnitt 112H des Sicherheitsagenten 100(H), und daher sind alle Dateizugriffe und Netzzugriffe von der „Anwendung A“ unzulässig, während Zugriffe von der „Anwendung D“ und der „Anwendung E“ gestattet werden. Das heißt, durch das Einrichten des Sicherheitsagenten 100(G) in der virtuellen Maschine 400 wird die virtuelle Maschine in derselben Sicherheitsumgebung wie die reale Maschine platziert.
  • Wie oben beschrieben wurde, wird dem Benutzer die Verwendung der virtuellen Maschinenumgebung im Austausch für das Installieren des Sicherheitsagenten 100(G) in die virtuelle Maschine 400 (das heißt, das Beachten der vom Administrator festgelegten Sicherheitsrichtlinie) gestattet. Die Konfiguration der vorliegenden Erfindung hält den Benutzer nicht zwangsläufig davon ab, den Sicherheitsagenten 100(G) zu deinstallieren oder eine andere Anwendung für virtuelle Maschinen ohne Genehmigung des Administrators zu installieren. Dies kann jedoch eine im Wesentlichen gleichwertige Auswirkung auf den Benutzer haben, und infolgedessen wird eine sicher verwaltete Ausführungsumgebung für eine virtuelle Maschine eingerichtet.
  • In der oben beschriebenen Ausführungsform wurde ein Aspekt des Umschaltens des Betriebsmodus (Realer Maschinenmodus/Virtueller Maschinenmodus) des Sicherheitsagenten 100 durch einen Benutzerbefehl gezeigt. Es ist jedoch auch eine Konfiguration möglich, in welcher der Sicherheitsagent 100 selbst den Betriebsmodus eigenständig umschaltet. In diesem Fall wird der Modusumschaltabschnitt 128 mit einem Mittel ausgestattet, um auf der Grundlage von aus dem Betriebssystem gelesenen Hardware-Attributen oder BIOS-Daten zu beurteilen, ob das Host-Betriebssystem oder das Gast-Betriebssystem das mit dem Sicherheitsagenten 100 installierte Betriebssystem ist. Wenn entschieden wird, dass das mit dem Sicherheitsagenten 100 installierte Betriebssystem das Host-Betriebssystem ist, versetzt der Modusumschaltabschnitt 128 den Sicherheitsagenten 100 in den „Realen Maschinenmodus“, und wenn entschieden wird, dass das mit dem Sicherheitsagenten 100 installierte Betriebssystem das Gast-Betriebssystem ist, wird der Sicherheitsagent 100 in den „Virtuellen Maschinenmodus“ versetzt.
  • In der oben beschriebenen Ausführungsform wurde eine Konfiguration beschrieben, in der ein geheimer Schlüssel, der von zwei im Host-Betriebssystem einer realen Maschine und im Gast-Betriebssystem einer virtuellen Maschine installierten Sicherheitsagenten 100 gemeinsam genutzt wird, als ein feststehender Schlüssel festgelegt wird. Es ist auch eine Konfiguration möglich, in welcher der geheime Schlüssel dynamisch aktualisiert wird, um zu verhindern, dass geheime Schlüsseldaten gestohlen und von einem böswilligen Programm verwendet werden. Dieser Punkt wird im Folgenden mit Bezugnahme auf 9 beschrieben.
  • 9 zeigt den PC 200 (reale Maschine) mit installiertem Sicherheitsagenten 100, der die Konfiguration des dynamischen Aktualisierens des geheimen Schlüssels verwendet. Der Geheimschlüssel-Verwaltungsabschnitt 126 des Sicherheitsagenten 100 ist in der vorliegenden Ausführungsform mit einem Schlüsselerzeugungsabschnitt 125 zum dynamischen Erzeugen eines Zufallsschlüssels und mit einem Schlüsselübertragungs-/empfangsabschnitt 127 zum Ausführen der Übertragung/des Empfangs des Zufallsschlüssels an einen/von einem anderen Prozess ausgestattet. Der Geheimschlüssel-Verwaltungsabschnitt 126 hat in der vorliegenden Ausführungsform zwei Betriebsmodi. Bei den beiden Betriebsmodi handelt es sich um die folgenden: einen ersten Modus zum dynamischen Erzeugen eines Zufallsschlüssels als geheimen Schlüssel und zum Übertragen von diesem an einen anderen Prozess, und einen zweiten Modus zum Empfangen eines Zufallsschlüssels von einem anderen Prozess und zum Festlegen von diesem als geheimen Schlüssel (Aktualisieren eines geheimen Schlüssels mit dem geheimen Schlüssel). Der nicht gezeigte Modusumschaltabschnitt 128 schaltet zwischen den beiden Betriebsmodi des Geheimschlüssel-Verwaltungsabschnitts 126 hin und her. Insbesondere wenn der Sicherheitsagent 100 in den „Realen Maschinenmodus“ versetzt wird, versetzt der Modusumschaltabschnitt 128 seinen Geheimschlüssel-Verwaltungsabschnitt 126 in den ersten Modus, und wenn der Sicherheitsagent 100 in den „Virtuellen Maschinenmodus“ versetzt wird, versetzt er seinen Geheimschlüssel-Verwaltungsabschnitt 126 in den zweiten Modus.
  • In dem in 9 gezeigten Beispiel wird der Geheimschlüssel-Verwaltungsabschnitt 126H des Sicherheitsagenten 100(H) im Host-Betriebssystem 204 im ersten Modus betrieben. Infolgedessen erzeugt der Schlüsselerzeugungsabschnitt 125H dynamisch einen Zufallsschlüssel als geheimen Schlüssel, und der Schlüsselübertragungs-/empfangsabschnitt 127H überträgt den erzeugten geheimen Schlüssel an einen anderen Prozess (das heißt, den Geheimschlüssel-Verwaltungsabschnitt 126G des Sicherheitsagenten 100(G)). Andererseits wird der Geheimschlüssel-Verwaltungsabschnitt 126G des Sicherheitsagenten 100(G) im Gast-Betriebssystem 404 im zweiten Modus betrieben. Infolgedessen empfängt der Schlüsselübertragungs-/empfangsabschnitt 127G des Geheimschlüssel-Verwaltungsabschnitts 126G den Zufallsschlüssel von einem anderen Prozess (das heißt, dem Geheimschlüssel-Verwaltungsabschnitt 126H des Sicherheitsagenten 100(H)) und legt diesen als geheimen Schlüssel fest (aktualisiert einen geheimen Schlüssel mit dem geheimen Schlüssel). Zu diesem Zeitpunkt kann die Interprozesskommunikation zwischen dem Geheimschlüssel-Verwaltungsabschnitt 126H und dem Geheimschlüssel-Verwaltungsabschnitt 126G über eine benannte Pipe 220 ausgeführt werden.
  • Wenn eine virtuelle Maschinenanwendung mit einer Funktion für gemeinsam genutzte Ordner ausgestattet ist, die das Lesen und Schreiben einer bestimmten Datei aus dem Gast-Betriebssystem 404 in das Host-Betriebssystem 204 ermöglicht, ist es auch möglich, eine Datei für einen geheimen Schlüssel in einem gemeinsam genutzten Ordner bereitzustellen und die geheime Datei über die Datei gemeinsam zu nutzen (übertragen/empfangen). Um einen unberechtigten Zugriff auf geheime Schlüsseldaten zu verhindern, ist es wünschenswert, die benannte Pipe und den gemeinsam genutzten Ordner, die zur Übertragung/zum Empfang eines geheimen Schlüssels verwendet werden, in einem sicheren Zustand zu halten, indem geeignete Zugangsbeschränkungen bereitgestellt werden, Übertragungsdaten und Dateien verschlüsselt werden usw.
  • Die vorliegende Erfindung wurde oben mit einer Ausführungsform beschrieben, in der ein Sicherheitsagent zwei umschaltbare Betriebsmodi aufweist, einen „Realen Maschinenmodus“ und einen „Virtuellen Maschinenmodus“. Die vorliegende Erfindung ist jedoch nicht auf die oben beschriebene Ausführungsform beschränkt. Beispielsweise kann das Verfahren der vorliegenden Erfindung durch Vorbereiten einer ersten Sicherheitsanwendung, die standardmäßig im „Realen Maschinenmodus“ betrieben wird, und einer zweiten Sicherheitsanwendung, die standardmäßig im „Virtuellen Maschinenmodus“ betrieben wird, realisiert werden, so dass ein Administrator die zweite Sicherheitsanwendung für einen Benutzer bereitstellt, nachdem die erste Sicherheitsanwendung mit Administratorberechtigung im Host-Betriebssystem einer Benutzerdatenstation installiert wurde.
  • Die obigen Funktionen der vorliegenden Erfindung können durch ein in einer Vorrichtung ausführbares Programm realisiert werden, das in C, objektorientierten Programmiersprachen, wie zum Beispiel C++, C# und Java (R), und dergleichen geschrieben wurde. Das Programm der vorliegenden Ausführungsform kann, in einem von einer Vorrichtung lesbaren Aufzeichnungsmedium, wie zum Beispiel einer Festplatteneinheit, einer CD-ROM, MO, DVD, Diskette, einem EEPROM und einem EPROM gespeichert, verteilt werden oder über ein Netz in einem lesbaren Format an andere Vorrichtungen übertragen werden.
  • Bezugszeichenliste
  • 100
    Sicherheitsagent
    110
    Sicherheitsfunktionsabschnitt
    112
    Zugangskontrollabschnitt
    120
    Bildschirmmasken-Verarbeitungsabschnitt
    122
    Darstellungsbefehl-Hook-Abschnitt
    124
    Verschlüsselungsverarbeitungs-Abschnitt
    125
    Schlüsselerzeugungsabschnitt
    126
    Geheimschlüssel-Verwaltungsabschnitt
    127
    Schlüsselübertragungs-/empfangsabschnitt
    128
    Modusumschaltabschnitt
    200
    Reale Maschine
    202
    Hardware
    204
    Host-Betriebssystem
    210
    EXE-Datei
    220
    Benannte Pipe
    400
    Virtuelle Maschine
    401
    Allgemeine Plattform
    402
    Virtueller Hardware-Bereich
    404
    Gast-Betriebssystem
    500
    Sicherheitsagent
    502
    Zugangskontrollabschnitt
    504
    Protokollüberwachungsabschnitt
    1000
    Host-Betriebssystembildschirm
    1004
    Installationsassistent
    1006
    Eigenschaftenbildschirm
    2000
    Fensterbildschirm der virtuellen Maschine
    2004
    Installationsassistent

Claims (8)

  1. Computervorrichtung, die mit einer virtualisierten Umgebung ausgestattet ist, in der eine virtuelle Maschine in einem Host-Betriebssystem eingerichtet wird, wobei sich ein erster Sicherheitsagent im Host-Betriebssystem befindet und wobei sich ein zweiter Sicherheitsagent in einem Gast-Betriebssystem der virtuellen Maschine befindet, wobei der erste Sicherheitsagent Folgendes aufweist: einen Zugangskontrollabschnitt zum Steuern des Zugriffs durch eine Anwendung im Host-Betriebssystem; einen ersten Darstellungsbefehl-Hook-Abschnitt zum selektiven Hooken eines von einer Anwendung einer virtuellen Maschine ausgegebenen Bildschirmdarstellungsbefehls; und einen Verschlüsselungsverarbeitungs-Abschnitt zum Ausführen einer Verschlüsselungsverarbeitung des vom ersten Darstellungsbefehl-Hook-Abschnitt gehookten Bildschirmdarstellungsbefehls mit Hilfe eines Verschlüsselungssystems mit allgemeinem Schlüssel; und wobei der zweite Sicherheitsagent Folgendes aufweist: einen Zugangskontrollabschnitt zum Steuern eines Zugriffs durch eine Anwendung im Gast-Betriebssystem; einen zweiten Darstellungsbefehl-Hook-Abschnitt zum selektiven Hooken eines von einer Anwendung im Gast-Betriebssystem ausgegebenen Bildschirmdarstellungsbefehls; und einen Verschlüsselungsverarbeitungs-Abschnitt zum Ausführen einer Verschlüsselungsverarbeitung des vom zweiten Darstellungsbefehl-Hook-Abschnitt gehookten Bildschirmdarstellungsbefehls mit Hilfe eines Verschlüsselungssystems mit allgemeinem Schlüssel.
  2. Die Computervorrichtung gemäß Anspruch 1, wobei der erste Sicherheitsagent und der zweite Sicherheitsagent einen Geheimschlüssel-Verwaltungsabschnitt zur Verwaltung eines geheimen, vom Verschlüsselungsverarbeitungs-Abschnitt verwendeten Schlüssels aufweisen.
  3. Die Computervorrichtung gemäß Anspruch 2, wobei der Geheimschlüssel-Verwaltungsabschnitt Folgendes aufweist: einen Schlüsselerzeugungsabschnitt zum Erzeugen eines Zufallsschlüssels als geheimen Schlüssel; und einen Schlüsselübertragungs-/empfangsabschnitt zum Ausführen der Übertragung/des Empfangs des Zufallsschlüssels an einen/von einem anderen Prozess.
  4. Die Computervorrichtung gemäß Anspruch 3, wobei der Schlüsselübertragungs-/ empfangsabschnitt des ersten Sicherheitsagenten den Zufallsschlüssel erzeugt und den Zufallsschlüssel an den Schlüsselübertragungs-/ empfangsabschnitt des zweiten Sicherheitsagenten überträgt.
  5. Die Computervorrichtung gemäß Anspruch 3, wobei der Schlüsselübertragungs-/empfangsabschnitt die Übertragung/den Empfang des Zufallsschlüssels über eine benannte Pipe ausführt.
  6. Die Computervorrichtung gemäß Anspruch 3, wobei der Schlüsselübertragungs-/empfangsabschnitt die Übertragung/den Empfang des Zufallsschlüssels über eine benannte Pipe über einen Mechanismus mit gemeinsam genutztem Ordner ausführt.
  7. Verfahren zum Unterstützen der Einrichtung einer sicher verwalteten Ausführungsumgebung für eine virtuelle Maschine für eine Benutzerdatenstation, wobei das Verfahren die folgenden Schritte aufweist: Installieren einer ersten Sicherheitsanwendung in einem Host-Betriebssystem der Benutzerdatenstation mit Administratorberechtigung; und Bereitstellen einer zweiten Sicherheitsanwendung für einen Benutzer der Benutzerdatenstation, wobei die erste Sicherheitsanwendung ein von einem Computer ausführbares Programm ist, das einen Computer veranlasst, Folgendes zu realisieren: ein Zugangskontrollmittel zum Kontrollieren des Zugriffs durch eine Anwendung; ein erstes Darstellungsbefehl-Hook-Mittel zum selektiven Hooken eines von einer Anwendung einer virtuellen Maschine ausgegebenen Bildschirmdarstellungsbefehls; und ein Verschlüsselungsverarbeitungsmittel zum Ausführen einer Verschlüsselungsverarbeitung des vom ersten Darstellungsbefehl-Hook-Mittel gehookten Bildschirmdarstellungsbefehls mit Hilfe eines Verschlüsselungssystems mit allgemeinem Schlüssel; und wobei die zweite Sicherheitsanwendung ein von einem Computer ausführbares Programm ist, das einen Computer veranlasst, Folgendes zu realisieren: ein Zugangskontrollmittel zum Steuern des Zugriffs durch eine Anwendung; ein zweites Darstellungsbefehl-Hook-Mittel zum Hooken eines von einer Anwendung ausgegebenen Bildschirmdarstellungsbefehls; und ein Verschlüsselungsverarbeitungsmittel zum Ausführen einer Verschlüsselungsverarbeitung des vom zweiten Darstellungsbefehl-Hook-Mittel gehookten Bildschirmdarstellungsbefehls mit Hilfe eines Verschlüsselungssystems mit allgemeinem Schlüssel.
  8. Das Verfahren gemäß Anspruch 7, wobei das Zugangskontrollmittel, zu dessen Realisierung die erste Sicherheitsanwendung den Computer veranlasst, und das Zugangskontrollmittel, zu dessen Realisierung die zweite Sicherheitsanwendung den Computer veranlasst, auf der Grundlage derselben Sicherheitsrichtlinie betrieben werden.
DE102012210887.4A 2011-06-29 2012-06-26 Verfahren zum Einrichten einer sicher verwalteten Ausführungsumgebung für eine virtuelle Maschine und eine Computervorrichtung Active DE102012210887B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-143993 2011-06-29
JP2011143993A JP5719244B2 (ja) 2011-06-29 2011-06-29 安全に管理された仮想マシンの実行環境を構築する方法、プログラムおよびコンピュータ装置

Publications (2)

Publication Number Publication Date
DE102012210887A1 DE102012210887A1 (de) 2013-01-03
DE102012210887B4 true DE102012210887B4 (de) 2022-12-15

Family

ID=46546537

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012210887.4A Active DE102012210887B4 (de) 2011-06-29 2012-06-26 Verfahren zum Einrichten einer sicher verwalteten Ausführungsumgebung für eine virtuelle Maschine und eine Computervorrichtung

Country Status (4)

Country Link
US (1) US8595511B2 (de)
JP (1) JP5719244B2 (de)
DE (1) DE102012210887B4 (de)
GB (1) GB2492448B (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5719244B2 (ja) * 2011-06-29 2015-05-13 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 安全に管理された仮想マシンの実行環境を構築する方法、プログラムおよびコンピュータ装置
CN103294562B (zh) 2012-02-23 2017-03-01 纬创资通股份有限公司 双操作系统共用周边装置的方法以及电子装置
CN103294545B (zh) 2012-02-23 2017-07-04 纬创资通股份有限公司 切换双操作系统的方法以及电子装置
CN103294970B (zh) * 2012-02-23 2015-12-09 纬创资通股份有限公司 双操作系统共用加密设定的方法以及电子装置
US8839447B2 (en) * 2012-02-27 2014-09-16 Ca, Inc. System and method for virtual image security in a cloud environment
US8938612B1 (en) * 2013-07-31 2015-01-20 Google Inc. Limited-access state for inadvertent inputs
WO2015070376A1 (zh) * 2013-11-12 2015-05-21 华为技术有限公司 一种实现虚拟化安全的方法和系统
US9641488B2 (en) 2014-02-28 2017-05-02 Dropbox, Inc. Advanced security protocol for broadcasting and synchronizing shared folders over local area network
US9158909B2 (en) 2014-03-04 2015-10-13 Amazon Technologies, Inc. Authentication of virtual machine images using digital certificates
CN107408072B (zh) * 2014-12-16 2021-07-09 凯恩迪股份有限公司 用于随机化指令的方法、介质和装置
US10185480B1 (en) * 2015-06-15 2019-01-22 Symantec Corporation Systems and methods for automatically making selections in user interfaces
US9767318B1 (en) * 2015-08-28 2017-09-19 Frank Dropps Secure controller systems and associated methods thereof
WO2018008605A1 (ja) * 2016-07-04 2018-01-11 株式会社Seltech 人工知能を有するシステム
CN109445902B (zh) * 2018-09-06 2021-05-07 新华三云计算技术有限公司 一种数据操作方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040239700A1 (en) 2003-03-17 2004-12-02 Baschy Leo Martin User interface driven access control system and method
JP2007287078A (ja) 2006-04-20 2007-11-01 Internatl Business Mach Corp <Ibm> 個人情報の保護を支援する情報処理装置
US20090254990A1 (en) 2008-04-05 2009-10-08 Mcgee William Gerald System and method for intelligent coordination of host and guest intrusion prevention in virtualized environment
US20110153853A1 (en) 2009-12-18 2011-06-23 Microsoft Corporation Remote application presentation over a public network connection

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5752005A (en) 1996-01-22 1998-05-12 Microtest, Inc. Foreign file system establishing method which uses a native file system virtual device driver
US20050144072A1 (en) * 1996-10-25 2005-06-30 Perkowski Thomas J. Internet-based brand management and marketing communication instrumentation network for deploying, installing and remotely programming brand-building server-side driven multi-mode virtual kiosks on the World Wide Web (WWW), and methods of brand marketing communication between brand marketers and consumers using the same
JPH10301874A (ja) * 1997-04-22 1998-11-13 Internatl Business Mach Corp <Ibm> 遠隔操作方法、ネットワークを介して端末から遠隔操作されるサーバ及びhtmlファイルを格納する記憶媒体
US6356915B1 (en) 1999-02-22 2002-03-12 Starbase Corp. Installable file system having virtual file system drive, virtual device driver, and virtual disks
US7814335B2 (en) * 1999-03-18 2010-10-12 Dell Products L.P. System and method for installing system manufacturer provided software
US20080021778A1 (en) * 1999-04-21 2008-01-24 Ipf, Inc. Web-based brand marketing communication network for enabling e-commerce transactions using Multi-Mode Virtual Kiosks (MMVKS)
US7844492B2 (en) * 1999-11-17 2010-11-30 Ipf, Inc. Internet-based E-commerce network for enabling commission-based E-commerce transactions along the fabric of the world wide web (WWW) using server-side driven multi-mode virtual kiosks (MMVKS) and transaction and commission tracking servers
US6731756B1 (en) * 1999-06-21 2004-05-04 Elisar Software Corporation, Inc. Method for securing video images
WO2001050244A1 (en) * 2000-01-06 2001-07-12 Chan Kam Fu Running microsoft windows 95/98 on ramdisk
US20110238506A1 (en) * 2000-01-14 2011-09-29 Perkowski Thomas J Internet-based brand marketing communication network for enabling commission-based e-commerce transactions along the fabric of the world wide web (www) using server-side driven multi-mode virtual kiosks (mmvks)
US9213836B2 (en) * 2000-05-28 2015-12-15 Barhon Mayer, Batya System and method for comprehensive general electric protection for computers against malicious programs that may steal information and/or cause damages
US7117504B2 (en) * 2001-07-10 2006-10-03 Microsoft Corporation Application program interface that enables communication for a network software platform
US7603440B1 (en) * 2001-11-09 2009-10-13 Persystent Technology Corporation System and method for management of end user computing devices
US6978439B2 (en) 2002-01-10 2005-12-20 Microsoft Corporation Cross-platform software development with a software development peripheral
US20040024710A1 (en) * 2002-03-07 2004-02-05 Llavanya Fernando Secure input pad partition
US20030236889A1 (en) * 2002-06-25 2003-12-25 Microsoft Corporation Data projection system and method
US7673308B2 (en) 2002-11-18 2010-03-02 Symantec Corporation Virtual OS computing environment
US8141159B2 (en) * 2002-12-31 2012-03-20 Portauthority Technologies Inc. Method and system for protecting confidential information
US8205072B1 (en) * 2003-07-22 2012-06-19 Cisco Technology, Inc. Method and apparatus for electronically configuring a secured user desktop
US20060004667A1 (en) * 2004-06-30 2006-01-05 Microsoft Corporation Systems and methods for collecting operating system license revenue using an emulated computing environment
JP4765485B2 (ja) 2005-08-26 2011-09-07 ソニー株式会社 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
CN101310285B (zh) 2005-11-17 2011-09-07 皇家飞利浦电子股份有限公司 用于管理访问控制的系统
US20070283389A1 (en) * 2006-06-01 2007-12-06 Sharp Laboratories Of America, Inc. Method and system for helping operate a media-playing set
EP1999719B1 (de) * 2006-03-29 2018-11-21 Casio Computer Co., Ltd. Servergerät eines computersystems
US8479264B2 (en) * 2006-09-29 2013-07-02 Micron Technology, Inc. Architecture for virtual security module
US7987506B1 (en) * 2006-11-03 2011-07-26 Cisco Technology, Inc. Methods and systems for dynamically updating a routing table in a virtual private network
JP4998019B2 (ja) * 2007-03-06 2012-08-15 富士通株式会社 状態表示制御装置
US20100107163A1 (en) 2007-03-20 2010-04-29 Sanggyu Lee Movable virtual machine image
JP4938576B2 (ja) 2007-07-24 2012-05-23 日本電信電話株式会社 情報収集システムおよび情報収集方法
JP4287485B2 (ja) 2007-07-30 2009-07-01 日立ソフトウエアエンジニアリング株式会社 情報処理装置及び方法、コンピュータ読み取り可能な記録媒体、並びに、外部記憶媒体
JP2009049679A (ja) 2007-08-20 2009-03-05 Fuji Xerox Co Ltd 画像処理装置、画像処理装置制御プログラム及び画像処理システム
US20090158190A1 (en) * 2007-12-13 2009-06-18 Yuvee, Inc. Computing apparatus including a personal web and application assistant
WO2009084243A1 (ja) * 2007-12-28 2009-07-09 Panasonic Corporation 通信装置、通信システム、画像提示方法およびプログラム
JP5176655B2 (ja) * 2008-03-31 2013-04-03 富士通株式会社 画像復号化装置
US20100058082A1 (en) * 2008-08-27 2010-03-04 Lenovo (Singapore) Ple., Ltd. Maintaining network link during suspend state
US8627075B2 (en) * 2008-12-26 2014-01-07 Panasonic Corporation Communication device that receives external device information from an external device using near field communication
JP5235764B2 (ja) 2009-04-16 2013-07-10 株式会社日立製作所 Icチップおよびこれを搭載した情報処理装置
EP2264529A3 (de) * 2009-06-16 2011-02-09 ASML Netherlands B.V. Lithografische Vorrichtung, Verfahren zum Steuern der Vorrichtung und Verfahren zur Herstellung eines Artikels unter Anwendung einer lithografischen Vorrichtung
EP2448262A4 (de) * 2009-06-26 2012-11-21 Panasonic Corp Kommunikationsgerät
JP2011048661A (ja) * 2009-08-27 2011-03-10 Nomura Research Institute Ltd 仮想サーバ暗号化システム
WO2011065007A1 (ja) * 2009-11-30 2011-06-03 パナソニック株式会社 携帯型通信装置、通信方法、集積回路、プログラム
US20120133484A1 (en) * 2010-11-29 2012-05-31 Research In Motion Limited Multiple-input device lock and unlock
JP5719244B2 (ja) * 2011-06-29 2015-05-13 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 安全に管理された仮想マシンの実行環境を構築する方法、プログラムおよびコンピュータ装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040239700A1 (en) 2003-03-17 2004-12-02 Baschy Leo Martin User interface driven access control system and method
JP2007287078A (ja) 2006-04-20 2007-11-01 Internatl Business Mach Corp <Ibm> 個人情報の保護を支援する情報処理装置
US7624427B2 (en) 2006-04-20 2009-11-24 International Business Machines Corporation Method and apparatus for supporting personal information protection
US20090254990A1 (en) 2008-04-05 2009-10-08 Mcgee William Gerald System and method for intelligent coordination of host and guest intrusion prevention in virtualized environment
US20110153853A1 (en) 2009-12-18 2011-06-23 Microsoft Corporation Remote application presentation over a public network connection
US8370510B2 (en) 2009-12-18 2013-02-05 Microsoft Corporation Remote application presentation over a public network connection

Also Published As

Publication number Publication date
DE102012210887A1 (de) 2013-01-03
GB2492448A (en) 2013-01-02
GB201209077D0 (en) 2012-07-04
GB2492448B (en) 2013-05-15
JP5719244B2 (ja) 2015-05-13
US20130007469A1 (en) 2013-01-03
JP2013012018A (ja) 2013-01-17
US8595511B2 (en) 2013-11-26

Similar Documents

Publication Publication Date Title
DE102012210887B4 (de) Verfahren zum Einrichten einer sicher verwalteten Ausführungsumgebung für eine virtuelle Maschine und eine Computervorrichtung
DE112012003988B4 (de) Schützen des Arbeitsspeichers eines virtuellen Gasts
DE602004011871T2 (de) Bereitstellung einer sicheren Eingabe an ein System mit einer Hochsicherheitsumgebung
DE112010003971B4 (de) Vorübergehende Bereitstellung höherer Vorrechte für ein Rechensystem für eine Benutzerkennung
DE112015004555B4 (de) Verarbeiten eines Gast-Ereignisses in einem von einem Hypervisor gesteuerten System
DE69706440T2 (de) Schutzmittel in einem verteilten rechnersystem
DE69530128T2 (de) Sicherheit für rechnerbetriebsmittel
DE69936384T2 (de) System und verfahren für die sicherheit eines kodes
DE69724862T2 (de) Verfahren und Anordnung für die Zugangs- und Informationsverfälschungskontrolle in Rechnersystemen
DE10392470B4 (de) System und Verfahren zum Ausführen von Initialisierungsbefehlen einer gesicherten Umgebung
DE60218615T2 (de) Verfahren und Architektur zur durchdringenden Absicherung von digitalen Gütern
DE60102555T2 (de) Verhinderung der map-aktivierten modulmaskeradeangriffe
EP2642395B1 (de) Verfahren und Vorrichtung zum Ausführen von Workflow-Skripten
DE102007057901A1 (de) Anordnung und Verfahren zur sicheren Aktualisierung von Firmwarevorrichtungen unter Verwendung eines Hypervisor
DE112007001321T5 (de) Ausführung eines Sichere-Umgebungs-Initialisierungsbefehls in einem Punkt-zu-Punkt-Verbindungssystem
DE69707022T2 (de) System und verfahren zur sicheren verwaltung von desktop-umgebungen über ein netzwerk
DE112011103164T5 (de) Datenverteilungsvorrichtung, Datenverteilungssystem, Client-Vorrichtung, Datenverteilungsverfahren, Datenempfangsverfahren, Programm und Datenträger,
DE112012001389T5 (de) Sichere Ausführung einer ungesicherten App auf einem Gerät
DE102012101876A1 (de) PC Absicherung durch BIOS/(U) EFI Erweiterungen
DE102018132970A1 (de) Verfahren und Vorrichtung zur Isolation von sensiblem nichtvertrauenswürdigem Programmcode auf mobilen Endgeräten
DE102009054128A1 (de) Verfahren und Vorrichtung zum Zugriff auf Dateien eines sicheren Fileservers
DE19954358A1 (de) Benutzerrollenzugriffssteuerung
DE112022003368T5 (de) Verschlüsselungsüberwachungsregister und -system
DE102015208665B4 (de) Verfahren und System zum Implementieren eines sicheren Sperrbildschirms
DE112021005119T5 (de) Zugriff auf software durch heterogene verschlüsselung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final