[go: up one dir, main page]

DE102012203521A1 - Architektur mit zwei Vertrauenswürdigkeitsstufen - Google Patents

Architektur mit zwei Vertrauenswürdigkeitsstufen Download PDF

Info

Publication number
DE102012203521A1
DE102012203521A1 DE102012203521A DE102012203521A DE102012203521A1 DE 102012203521 A1 DE102012203521 A1 DE 102012203521A1 DE 102012203521 A DE102012203521 A DE 102012203521A DE 102012203521 A DE102012203521 A DE 102012203521A DE 102012203521 A1 DE102012203521 A1 DE 102012203521A1
Authority
DE
Germany
Prior art keywords
trusted
routine
mode
routines
control module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102012203521A
Other languages
English (en)
Inventor
Peter Edward Havercan
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 DE102012203521A1 publication Critical patent/DE102012203521A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • G06F12/1475Key-lock mechanism in a virtual system, e.g. with translation means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

Verfahren zur Ausführung einer Softwareroutine in einer Anwendung, wobei die Anwendung als Mehrbenutzer-Subsystem mit Einzeladressraum in einer Betriebsumgebung mit einem vertrauenswürdigen Betriebsmodus für vertrauenswürdige Routinen und einem Betriebsmodus mit verringerter Vertrauenswürdigkeit für nichtvertrauenswürdige Routinen ausgeführt wird, wobei die Anwendung ein Steuermodul zur Ausführung als vertrauenswürdige Routine und eine Tabelle vertrauenswürdiger Routinen aufweist, die Kennzeichner vertrauenswürdiger Routinen enthält, wobei das Verfahren Folgendes umfasst: als Reaktion auf eine Feststellung, dass die Routine von einem Aufrufstapel wiederhergestellt wird und die Routine ein jüngster Eintrag in einer Liste aktiver vertrauenswürdiger Routinen ist, durch das Steuermodul Umschalten in den vertrauenswürdigen Betriebsmodus zur Ausführung der Routine und Entfernen der Routine von der Liste aktiver vertrauenswürdiger Routinen; als Reaktion auf eine Feststellung, dass die Routine nicht von einem Aufrufstapel wiederhergestellt wird und dass die Routine in der Tabelle vertrauenswürdiger Routinen enthalten ist, durch das Steuermodul Umschalten in den vertrauenswürdigen Betriebsmodus zur Ausführung der Routine; als Reaktion auf eine Feststellung, dass die Routine nichtvertrauenswürdig ist, durch das Steuermodul Umschalten in den Betriebsmodus mit verringerter Vertrauenswürdigkeit zum Ausführen der Routine; und weiterhin als Reaktion auf eine Feststellung, dass die Routine nicht von einem Aufrufstapel wiederhergestellt wird und dass eine aufrufende Routine für die Routine in einem vertrauenswürdigen Betriebsmodus ausgeführt wird, durch das Steuermodul Hinzufügen der aufrufenden Routine zur Liste aktiver vertrauenswürdiger Routinen, wobei die Anwendung im vertrauenswürdigen Betriebsmodus vertrauenswürdige Daten festhält oder verändert, die im Betriebsmodus mit verringerter Vertrauenswürdigkeit nicht veränderbar sind.

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine Architektur mit zwei Vertrauenswürdigkeitsstufen. Insbesondere betrifft sie eine Architektur zum Ausführen vertrauenswürdiger (trusted) und nichtvertrauenswürdiger (untrusted) Routinen in einem Aufrufstapel.
  • Hintergrund der Erfindung
  • In einem Teilsystem mit Einzeladressraum wie CICS von IBM (CICS ist eine eingetragene Marke der IBM Corporation) werden mehrere Stränge (threads) für unterschiedliche Benutzer im gleichen Adressraum ausgeführt. Die einzelnen Stränge werden üblicherweise durch Aufrufstapel dargestellt, die auch als Registerspeicherbereiche (register saue areas) bekannt sind, wobei ein Zustand einer Softwareroutine beim Übergang zum Ausführen einer anderen Routine gespeichert und bei der Rückkehr wiederhergestellt wird. Der im Stapel gespeicherte Zustand enthält den Inhalt von Prozessorregistern und kann auch andere Prozessorzustände beinhalten.
  • In solchen Teilsystemen kann der Inhalt des Stapels offen für Veränderungen durch andere Stränge als dem aktuellen Strang sein, so dass im Falle einer Wiederherstellung des Inhalts eines Stapelelements der wiederhergestellte Zustand versehentliche oder böswillige Veränderungen an wichtigen Systemzuständen verursachen kann. Solche Veränderungen können unter anderem Folgendes betreffen: die Adresse der nächsten auszuführenden Anweisung; die Adressen später auszuführender Subroutinen, die Basisadresse(n) einer aufrufenden Routine; Tokens oder Adressen, die die Identität des Benutzers wiedergeben, der den Strang momentan ausführt.
  • Mit solchen Veränderungen am Stapel kann der Zielstrang dazu gebracht werden, nicht beabsichtigte Funktionen mit nicht beabsichtigten Daten unter einer nicht beabsichtigten Identität auszuführen, was zu Verletzungen von Unversehrtheit und Sicherheit wie beispielsweise der Offenlegung von Informationen, einer Dienstblockade (Denial-of-Service) oder der Heraufstufung von Rechten führen kann.
  • Das Betriebssystem z/OS von IBM (z/OS ist eine eingetragene Marke der IBM Corporation) stellt einen sicheren Stapel bereit, der gebräuchlicher als Anfrageblockkette (Request Block chain) bezeichnet wird. Wenn mit den Diensten des Betriebssystems eine Verknüpfung zwischen Programmen (zum Beispiel unter Verwendung von Supervisor-Aufrufen (supervisor calls SVC) oder den Diensten LINK oder SYNCH) hergestellt wird, wird der Zustand des aufrufenden Programms in einem sicheren Speicherbereich, dem Anfrageblock (Request Block), gespeichert, wo er nicht durch Anwendungscode manipuliert werden kann. Die Anfrageblöcke werden durch einen Schutzmechanismus geschützt, welcher der schlüsselgesteuerte Schutzmechanismus (key-controlled Protection mechanism) der z/Architecture genannt wird (z/Architecture ist eine eingetragene Marke der der IBM Corporation). Einzelheiten hinsichtlich der z/Architecture werden in einer Veröffentlichung von IBM mit dem Titel „z/Architecture Principles of Operation” (Funktionsprinzipien der z/Architecture) mit der IBM Publikationsnummer SA22-7832-08 beschrieben.
  • Aufgrund der Einbeziehung von Betriebssystemdiensten ist der oben beschriebene Mechanismus der Anfrageblockkette ressourcenaufwändig und seine Verwendung in Umgebungen mit hoher Leistungsfähigkeit zwangsläufig begrenzt.
  • In der US-Patentschrift 5 745 676 wird eine Anweisung zum Verzweigen und Festlegen der Berechtigung (Branch and Set Authority instruction BSA) einer Betriebssystemumgebung beschrieben, die bei Ausführung in einem Zustand mit Grundberechtigung (base-authority state) eine Rückkehradresse und eine Grundberechtigung in einem sicheren Datenbereich speichert und einen Zustand mit eingeschränkter Berechtigung (reduced-authority state) festlegt, und die bei Ausführung im Zustand eingeschränkter Berechtigung zur gespeicherten Rückkehradresse verzweigt, die gespeicherte Grundberechtigung wiederherstellt und den Zustand mit Grundberechtigung wiederherstellt.
  • Es wäre daher vorteilhaft, einen Mechanismus zum Schutz von durch vertrauenswürdige Softwareroutinen erstellten und verwendeten Ressourcen vor Zugriff und Veränderung durch nichtvertrauenswürdige Softwareroutinen bereitzustellen, die innerhalb eines Mehrbenutzer-Subsystems mit Einzeladressraum ausgeführt werden.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung stellt demzufolge in einem ersten Aspekt ein Verfahren zum Ausführen einer Softwareroutine in einer Anwendung bereit, wobei die Anwendung als Mehrbenutzer-Teilsystem mit Einzeladressraum in einer Betriebsumgebung mit einem vertrauenswürdigen Betriebsmodus für vertrauenswürdige Routinen und einem Betriebsmodus mit verringerter Vertrauenswürdigkeit für nichtvertrauenswürdige Routinen ausgeführt wird, wobei die Anwendung ein Steuermodul zum Ausführeng als vertrauenswürdige Routine und eine Tabelle vertrauenswürdiger Routinen beinhaltet, die Kennzeichner vertrauenswürdiger Routinen enthält, wobei das Verfahren Folgendes umfasst: als Reaktion auf eine Feststellung, dass die Routine von einem Aufrufstapel wiederhergestellt wird und die Routine ein jüngster Eintrag in einer Liste aktiver vertrauenswürdiger Routinen ist, durch das Steuermodul Umschalten in den vertrauenswürdigen Betriebsmodus zum Ausführeng der Routine und Entfernen der Routine von der Liste aktiver vertrauenswürdiger Routinen; als Reaktion auf eine Feststellung, dass die Routine nicht von einem Aufrufstapel wiederhergestellt wird und dass die Routine in der Tabelle vertrauenswürdiger Routinen enthalten ist, durch das Steuermodul Umschalten in den vertrauenswürdigen Betriebsmodus zum Ausführeng der Routine; als Reaktion auf eine Feststellung, dass die Routine nichtvertrauenswürdig ist, durch das Steuermodul Umschalten in den Betriebsmodus mit verringerter Vertrauenswürdigkeit zum Ausführen der Routine; und weiterhin als Reaktion auf eine Feststellung, dass die Routine nicht von einem Aufrufstapel wiederhergestellt wird und dass eine aufrufende Routine für die Routine in einem vertrauenswürdigen Betriebsmodus ausgeführt wird, durch das Steuermodul Hinzufügen der aufrufenden Routine zur Liste aktiver vertrauenswürdiger Routinen, wobei die Anwendung im vertrauenswürdigen Betriebsmodus vertrauenswürdige Daten festhält oder verändert, die im Betriebsmodus mit verringerter Vertrauenswürdigkeit nicht veränderbar sind.
  • Vorzugsweise werden der vertrauenswürdige Betriebsmodus und der Betriebsmodus mit verringerter Vertrauenswürdigkeit in der Betriebsumgebung durch ein Zusammenwirken eines Betriebssystems und Prozessor-Hardware der Betriebsumgebung durchgesetzt.
  • Vorzugsweise handelt es sich bei der Betriebsumgebung um eine z/Architecture-Umgebung.
  • Vorzugsweise sind der vertrauenswürdige Betriebsmodus und der Betriebsmodus mit verringerter Vertrauenswürdigkeit als schlüsselgesteuerter Schutzmechanismus der z/Architecture-Umgebung ausgeführt.
  • Vorzugsweise wird der Umschaltvorgang mittels einer Anweisung zum Verzweigen und Festlegen der Berechtigung (BSA) der z/Architecture-Umgebung durchgeführt.
  • Somit stellt die Erfindung der Anwendung eine Einrichtung für einen Wechsel zwischen dem vertrauenswürdigen Betriebsmodus und dem Betriebsmodus mit verringerter Vertrauenswürdigkeit mittels des vertrauenswürdigen Steuermoduls bereit. Das vertrauenswürdige Steuermodul ist in Verbindung mit der Tabelle vertrauenswürdiger Routinen und der Liste aktiver vertrauenswürdiger Routinen geeignet, berechtigte Übergänge der Ausführung zu vertrauenswürdigen Routinen von nichtvertrauenswürdigen Routinen zu erkennen und den Betriebsmodus entsprechend umzuschalten. Weiterhin ist das vertrauenswürdige Steuermodul geeignet, die Ausführung sicher von einem vertrauenswürdigen Betriebsmodus in einen Betriebsmodus mit verringerter Vertrauenswürdigkeit umzuschalten. Da die Umschaltvorgänge durch das Steuermodul der Anwendung selbst ohne Rückgriff auf Systemdienste wie Betriebssystemdienste durchgeführt werden, ist der Ressourcen-Bedarf der Umschaltvorgänge relativ gering. Der Ressourcen-Bedarf kann niedrig genug für mehrere Umschaltvorgänge zwischen Betriebssystemmoden innerhalb desselben Strangs sein, so dass unterschiedliche Routinen im Aufrufstapel in den vertrauenswürdigen Betriebsmoden und den Betriebsmoden mit verringerter Vertrauenswürdigkeit ausgeführt werden können.
  • Entsprechend stellt die vorliegende Erfindung in einem zweiten Aspekt eine Vorrichtung zum Ausführen einer Softwareroutine in einer Anwendung bereit, wobei die Anwendung als Mehrbenutzer-Subsystem mit Einzeladressraum in einer Betriebsumgebung mit einem vertrauenswürdigen Betriebsmodus für vertrauenswürdige Routinen und einem Betriebsmodus mit verringerter Vertrauenswürdigkeit für nichtvertrauenswürdige Routinen ausgeführt wird, wobei die Anwendung ein Steuermodul zum Ausführen als vertrauenswürdige Routine und eine Tabelle vertrauenswürdiger Routinen aufweist, die Kennzeichner vertrauenswürdiger Routinen enthält, wobei die Vorrichtung Folgendes umfasst: ein Steuermodul, um als Reaktion auf eine Feststellung, dass die Routine von einem Aufrufstapel wiederhergestellt wird und die Routine ein jüngster Eintrag in einer Liste aktiver vertrauenswürdiger Routinen ist, in den vertrauenswürdigen Betriebsmodus zum Ausführen der Routine umzuschalten und die Routine von der Liste aktiver vertrauenswürdiger Routinen zu entfernen, wobei das Steuermodul weiterhin in der Lage ist, als Reaktion auf eine Feststellung, dass die Routine nicht von einem Aufrufstapel wiederhergestellt wird und dass die Routine in der Tabelle vertrauenswürdiger Routinen enthalten ist, in den vertrauenswürdigen Betriebsmodus zum Ausführen der Routine umzuschalten, und wobei das Steuermodul weiterhin in der Lage ist, als Reaktion auf eine Feststellung, dass die Routine nicht vertrauenswürdig ist, in den Betriebsmodus mit verringerter Vertrauenswürdigkeit zum Ausführen der Routine umzuschalten, und wobei das Steuermodul weiterhin in der Lage ist, als weitere Reaktion auf eine Feststellung, dass die Routine nicht von einem Aufrufstapel wiederhergestellt wird und dass eine aufrufende Routine für die Routine in einem vertrauenswürdigen Betriebsmodus ausgeführt wird, die aufrufende Routine zur Liste aktiver vertrauenswürdiger Routinen hinzuzufügen, und wobei die Anwendung im vertrauenswürdigen Betriebsmodus vertrauenswürdige Daten festhält oder verändert, die im Betriebsmodus mit verringerter Vertrauenswürdigkeit nicht veränderbar sind.
  • Entsprechend stellt die vorliegende Erfindung in einem dritten Aspekt eine Vorrichtung bereit, die Folgendes umfasst: eine Zentraleinheit; ein Speicher-Teilsystem; ein Eingabe/Ausgabe-Teilsystem und ein Bus-Teilsystem, das die Zentraleinheit, das Speicher-Teilsystem, das Eingabe/Ausgabe-Teilsystem und die Vorrichtungen wie oben beschrieben miteinander verbindet.
  • Entsprechend stellt die Vorrichtung in einem vierten Aspekt ein Computerprogrammelement bereit, das einen Computerprogrammcode umfasst, um im Falle, dass er in ein Computersystem geladen und darauf ausgeführt wird, den Computer zum Durchführen der Schritte eines Verfahrens wie oben beschrieben zu veranlassen.
  • Kurze Beschreibung der Zeichnungen
  • Nachfolgend wird in lediglich beispielhafter Weise eine bevorzugte Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die begleitenden Zeichnungen detaillierter beschrieben, in denen:
  • 1 ein Blockschaltbild eines Computersystems zeigt, das für den Betrieb von Ausführungsformen der vorliegenden Erfindung geeignet ist;
  • 2 ein Blockschaubild einer Betriebsumgebung gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt;
  • 3 einen Ablaufplan eines Verfahrens zum Ausführen einer Softwareroutine in einer als Mehrbenutzer-Subsystem mit Einzeladressraum ausgeführten Anwendung gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt; und
  • 4 ein Blockschaubild einer Datenanordnung in einer Betriebsumgebung eines Computersystems gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
  • Detaillierte Beschreibung der bevorzugten Ausführungsformen
  • 1 zeigt ein Blockschaltbild eines Computersystems, das für den Betrieb von Ausführungsformen der vorliegenden Erfindung geeignet ist. Eine Zentraleinheit (central processor unit CPU) 102 ist über einen Datenbus 108 mit einem Speicher 104 und einer Eingabe/Ausgabe-(E/A-)Schnittstelle 106 zum Austausch von Daten verbunden. Bei dem Speicher 104 kann es sich um jede Lese/Schreibeinheit wie ein Speicher mit wahlfreiem Zugriff (random access memory RAM) oder um eine nichtflüchtige Speichereinheit handeln. Als Beispiel für eine nichtflüchtige Speichereinheit kann eine Festplatten- oder eine Bandspeichereinheit dienen. Die E/A-Schnittstelle 106 ist eine Schnittstelle für Einheiten zur Eingabe oder Ausgabe von Daten oder sowohl zur Eingabe als auch zur Ausgabe von Daten. Zu Beispielen von mit der E/A-Schnittstelle 106 verbindbaren E/A-Einheiten zählen eine Tastatur, eine Maus, eine Anzeige (wie ein Monitor) und eine Netzwerkverbindung.
  • 2 zeigt ein Blockschaubild einer Betriebsumgebung 200 gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung. Die Betriebsumgebung 200 von 2 stellt eine Verarbeitungsumgebung dar, die aus einer Kombination aus Hardware und Software besteht. Die Hardware wird als allgemein in 1 dargestelltes und oben beschriebenes Computersystem bereitgestellt, mit dem Software wie Betriebssystemsoftware und Anwendungen ausgeführt werden.
  • Die Betriebsumgebung 200 ist zum Ausführen in mehreren Betriebsmodi geeignet, um Systemsicherheit und Systemzuverlässigkeit sicherzustellen. Insbesondere kann die Betriebsumgebung 200 in einem vertrauenswürdigen Betriebsmodus ausgeführt werden, in dem vertrauenswürdige Softwareanweisungen so ausgeführt werden, dass die Anweisungen auf Programme und Daten, die in einer geschützten Weise in einer Datenspeicherung für die Betriebsumgebung 200 gespeichert sind, zugreifen und sie möglicherweise verändern können. Weiterhin kann die Betriebsumgebung 200 in einem Betriebsmodus mit verringerter Vertrauenswürdigkeit betrieben werden, in dem nicht-vertrauenswürdige Softwareanweisungen so ausgeführt werden, dass die Anweisung möglicherweise nicht in der Lage sind, auf Programme und Daten zuzugreifen, die in einer geschützten Weise in der Datenspeicherung gespeichert sind, und dass die Anweisungen nicht in der Lage sind, Programme und Daten zu verändern, die in einer geschützten Weise in der Datenspeicherung gespeichert sind.
  • Beispielsweise kann es sich bei der Betriebsumgebung um eine z/Architecture-Umgebung handeln, in der das z/OS-Betriebssystem ausgeführt wird und die den in der Veröffentlichung von IBM mit dem Titel „z/Architecture Principles of Operation” (Funktionsprinzipien der z/Architecture) und der IBM Publikationsnummer SA22-783208 beschriebenen schlüsselgesteuerten Schutzmechanismus beinhaltet. Beim schlüsselgesteuerten Schutz wird ein Vier-Bit-Zugangsschlüssel in einem Programmstatuswort gespeichert, das den Grundausführungszustand einer Routine zu einem beliebigen Zeitpunkt beinhaltet. Der Zugangsschlüssel wird mit Zugangskontrollbits eines Speicherschlüssels von jedem Block in einem Speicher verglichen. Nur berechtigte Schlüssel können auf den Speicher zugreifen, andernfalls wird der Zugang verwehrt. Somit legt der Zustand des Zugangsschlüssels im Programmstatuswort einen aktuellen Betriebsmodus der Betriebsumgebung 200 fest. Insbesondere legt bei der z/Architecture der Vier-Bit-Zugangsschlüssel sechzehn mögliche Schlüssel im Bereich von 0 bis 15 fest, von denen Schlüssel 0 die meisten Rechte besitzt und vom Betriebssystem verwendet wird. Die Schlüssel 1 bis 7 sind im Allgemeinen für vertrauenswürdige Anweisungen wie Betriebssystemdienste und vertrauenswürdige Teilsystemroutinen reserviert, und die Schlüssel 8 und höher werden von Anwendungen auf Benutzerebene verwendet. Üblicherweise handelt es sich bei Schlüssel 8 um einen normalen Benutzerschlüssel, und Anweisungen in Schlüssel 8 können als im Allgemeinen nichtvertrauenswürdig angesehen werden.
  • Die Betriebsumgebung 200 beinhaltet ein Betriebssystem 202 wie beispielsweise z/OS oder ein beliebiges anderes geeignetes Betriebssystem. Weiterhin beinhaltet die Betriebsumgebung 200 ein Mehrbenutzer-Teilsystem mit Einzeladressraum (multi-user single address space subsystem MUSASS) 204, das als Anwendung in der Betriebsumgebung ausgeführt wird. Wenn die MUSASS-Anwendung 204 als Anwendung 204 ausgeführt ist, ist es für den Fachmann ersichtlich, dass sie eine eigenständige Betriebsumgebung bereitstellen kann, innerhalb derer bestimmte Anwendungsdienste, Routinen und Programme ausgeführt werden können. In dieser Hinsicht kann das MUSASS 204 Anwendungsdienste wie unter anderem Speicherverwaltung, Systemsteuerung, Ressourcen-Steuerung und -freigabe, Kommunikationsdienste, Protokolldienste beinhalten. Ein Beispiel einer MUSASS-Anwendung 204 stellt das Kundeninformationssteuerungssystem (Customer Information Control System CICS) von IBM dar, eine eingetragene Marke der IBM Corporation.
  • Die Anwendung 204 beinhaltet Softwareroutinen 210 als ausführbare Komponenten, die Anweisungen zum Ausführen durch einen Prozessor der Betriebsumgebung 200 beinhalten. Bei der Ausführung kann jede der Softwareroutinen 210 andere Softwareroutinen aufrufen, eine Verzweigung oder eine Verknüpfung mit ihnen herstellen, zu ihnen springen oder sie ausführen. Der Mechanismus zur Übertragung der Steuerung zwischen in der Anwendung 204 ausgeführten Routinen wird mittels eines Aufrufstapels 212 oder einer anderen geeigneten Datenstruktur verwaltet. Beim Aufrufstapel 212, der allgemein auch als Registerspeicherbereich (regster saue area) bekannt ist, handelt es sich um eine Datenstruktur zur Speicherung von Zustandsinformationen von Softwareroutinen, die verwendet werden, wenn eine aufrufende Softwareroutine eine aufgerufene Softwareroutine aktiviert. Der im Aufrufstapel 212 gespeicherte Zustand enthält den Inhalt von Prozessorregistern und kann auch andere Prozessorzustände beinhalten.
  • Gemäß der vorliegenden Erfindung beinhaltet die Anwendung 204 weiterhin eine Tabelle vertrauenswürdiger Routinen 208, die Softwareroutinen 210 benennt, die zum Ausführen in einem vertrauenswürdigen Betriebsmodus der Verarbeitungsumgebung 200 geeignet sind. Eine Veränderung der Tabelle vertrauenswürdiger Routinen 208 sollte daher auf Routinen, die zum Ausführen im vertrauenswürdigen Betriebsmodus geeignet sind, oder Betriebssystemroutinen beschränkt sein. Die Tabelle vertrauenswürdiger Routinen 208 kann als Tabellendatenstruktur oder eine beliebige andere Datenstruktur ausgeführt sein, die für die Speicherung eines oder mehrerer Routinenkennzeichner geeignet ist, die solche Routinen als vertrauenswürdig kennzeichnen. Weiterhin beinhaltet die Anwendung 204 eine Liste aktiver vertrauenswürdiger Routinen 214 als geordnete Datenstruktur, die einen Kennzeichner von oder einen Verweis auf momentan ausgeführte Softwareroutinen im Aufrufstapel 212 enthält, die im vertrauenswürdigen Betriebsmodus ausgeführt werden. Die Liste aktiver vertrauenswürdiger Routinen 214 ist nach der Ausführungsreihenfolge der vertrauenswürdigen Softwareroutinen sortiert. Eine zuletzt ausgeführte vertrauenswürdige Softwareroutine ist daher anhand der Liste aktiver vertrauenswürdiger Routinen 214 erkennbar. Vorzugsweise ist die Liste aktiver vertrauenswürdiger Routinen 214 als Listen oder Kettendatenstruktur wie eine verknüpfte Liste ausgeführt, wobei Einträge in der Liste zugleich Einträge im Aufrufstapel 212 sind. Auf diese Weise stellt somit die Liste aktiver vertrauenswürdiger Routinen 214 eine Liste oder Kette vertrauenswürdiger Stapeleinträge des Aufrufstapels 212 bereit. Eine Veränderung der Tabelle aktiver vertrauenswürdiger Routinen 214 sollte daher auf Routinen, die zum Ausführen im vertrauenswürdigen Betriebsmodus geeignet sind oder auf Betriebssystemroutinen beschränkt sein.
  • Gemäß der vorliegenden Erfindung beinhaltet die Anwendung 204 weiterhin ein Steuermodul 206 als eine Softwareroutine zum Ausführen in einem vertrauenswürdigen Betriebsmodus der Betriebsumgebung 200 zum Umschalten des Betriebsmodus der Betriebsumgebung zwischen einem vertrauenswürdigen Betriebsmodus und einem Betriebsmodus mit verringerter Vertrauenswürdigkeit. In einer Ausführungsform verwendet das Steuermodul 206 eine besondere Anweisung zum Umschalten des Betriebsmodus der Betriebsumgebung 200. In der z/Architecture kann das Steuermodul zum Beispiel die in der US-Patentschrift 5 745 676 beschriebene Anweisung zum Verzweigen und Festlegen der Berechtigung (BSA) zum Umschalten eines Prozessormodus zwischen einem Zustand mit Grundberechtigung (ein vertrauenswürdiger Betriebsmodus) und eine Zustand eingeschränkter Berechtigung (ein Betriebsmodus mit verringerter Vertrauenswürdigkeit) verwenden. Beim schlüsselgesteuerten Schutzmechanismus der z/Architecture ist die BSA-Operation ebenfalls in der Lage, zwischen vertrauenswürdigeren Schlüsseln wie Schlüssel 7 und allgemein nichtvertrauenswürdigen Schlüsseln wie Schlüssel 8 umzuschalten.
  • Gemäß dem nachfolgend beschriebenen Verfahren von 3 wird das Steuermodul 206 in Verbindung mit dem Aufrufstapel 212, der Tabelle aktiver vertrauenswürdiger Routinen 208 und der Liste aktiver vertrauenswürdiger Routinen 214 dazu verwendet, zwischen dem vertrauenswürdigen Betriebsmodus und einem Betriebsmodus mit verringerter Vertrauenswürdigkeit umzuschalten.
  • 3 zeigt einen Ablaufplan eines Verfahrens zum Ausführen einer Softwareroutine 210 in einer als Mehrbenutzer-Subsystem mit Einzeladressraum 204 ausgeführten Anwendung gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung. Die Ausführung der Softwareroutine 210 kann das Ergebnis eines Aufrufs, einer Verknüpfung, einer Verzweigung oder eines Sprungs von einer anderen Softwareroutine sein. Alternativ kann die Ausführung eine Fortsetzung einer Ausführung sein, die zuvor als Bestandteil einer Aufruf-, Verknüpfungs-, Verzweigungs- oder Sprungoperation unterbrochen wurde. Somit kann die Ausführung von einer Rückkehr von einem solchen Aufruf, einer solchen Verknüpfung, einer solchen Verzweigung oder eines solchen Sprungs hervorgerufen worden sein. Das Verfahren wird dazu verwendet, allgemein die Notwendigkeit zu bestimmen, den Betriebsmodus der Betriebsumgebung 200 umzuschalten, und eine derartige Umschaltung mittels des Steuermoduls 206 zu erreichen. Es ist für den Fachmann ersichtlich, dass die Reihenfolge der Schritte, insbesondere die Reihenfolge der Feststellungsschritte, nicht zwingend ist und jede geeignete Reihenfolge möglich ist.
  • Zu Beginn wird in Schritt 302 des Verfahrens festgestellt, ob die auszuführende Routine vom Aufrufstapel 212 wiederhergestellt wird. Eine positive Feststellung in Schritt 302 zeigt an, dass die Routine ihre Ausführung fortsetzt, nachdem sie als Bestandteil eines Aufrufs einer anderen Routine unterbrochen wurde, und daher eine Rückkehr von einem Aufruf darstellt. Auf eine derartige positive Feststellung hin stellt das Verfahren fest, ob die Routine eine jüngste Routine in der Liste aktiver vertrauenswürdiger Routinen 304 ist. Eine positive Feststellung in Schritt 304 zeigt an, dass es sich bei der Routine, zu der die Ausführung zurückkehrt, um eine vertrauenswürdige Routine handelt, da sie als die jüngste aktive vertrauenswürdige Routine angegeben ist. Dementsprechend schaltet das Steuermodul 206 in Schritt 306 den Betriebsmodus der Betriebsumgebung 200 von einem vertrauenswürdigen Ausführungsmodus für die Routine um. Weiterhin wird die Routine in Schritt 308 von der Liste aktiver vertrauenswürdiger Routinen 214 entfernt. Eine negative Feststellung in Schritt 304 bedeutet, dass es sich bei der Routine um eine nichtvertrauenswürdige Routine handelt, und das Verfahren wird mit Schritt 316 fortgesetzt. Es gehört zur Rückkehroperation, dass die Routine auch vom Aufrufstapel 212 entfernt (oder herausgenommen) wird. Tatsächlich kann diese Entfernung die Grundlage für die Feststellung in Schritt 302 bilden.
  • Eine negative Feststellung in Schritt 302 zeigt an, dass die Routine als Ergebnis eines Aufrufs, einer Verzweigung, eines Sprungs oder einer Verknüpfung und nicht als Ergebnis einer Rückkehroperation ausgeführt wird. Solche Operationen ergeben sich aus einer anderen Routine, wie beispielsweise einer aufrufenden Routine. Eine aufrufende Routine ist eine Routine, aus der sich eine Aufruf-, Verzweigungs-, Sprung- oder Verknüpfungsoperation ergibt. In Schritt 310 stellt das Verfahren fest, ob die aufrufende Routine in einem vertrauenswürdigen Betriebsmodus der Betriebsumgebung 200 ausgeführt wird. Falls ja, wird die aufrufende Routine in Schritt 312 vom Verfahren zur Liste aktiver vertrauenswürdiger Routinen 214 hinzugefügt. Auf diese Weise wird die geordnete Liste 214 aktiver vertrauenswürdiger Routinen mit der zuletzt aufrufenden Routine im Aufrufstapel 212 aktuell gehalten, und die Liste 214 enthält alle vertrauenswürdigen Routinen um Aufrufstapel 212.
  • In Schritt 314 ermittelt das Verfahren, ob die Routine in der Tabelle vertrauenswürdiger Routinen 208 aufgeführt ist. Die Tabelle vertrauenswürdiger Routinen 208 enthält eine zuverlässige vertrauenswürdige Angabe für alle Softwareroutinen 210, die für die Ausführung im vertrauenswürdigen Betriebsmodus vertrauenswürdig sind. Eine positive Feststellung in Schritt 314 führt dazu, dass das Steuermodul 206 den Betriebsmodus der Betriebsumgebung 200 in Schritt 316 in einen vertrauenswürdigen Ausführungsmodus für die Routine umschaltet.
  • Eine negative Feststellung in Schritt 314 zeigt an, dass die Routine nicht vertrauenswürdig ist und in einem Betriebsmodus mit verringerter Vertrauenswürdigkeit ausgeführt werden sollte. Entsprechend schaltet das Steuermodul 206 in Schritt 320 den Betriebsmodus der Betriebsumgebung in einen Modus mit verringerter Vertrauenswürdigkeit für die Ausführung der Routine um.
  • Somit stellt die Verwendung der Erfindung der Anwendung 204 eine Einrichtung für den Wechsel zwischen dem vertrauenswürdigen Betriebsmodus und dem Betriebsmodus mit verringerter Vertrauenswürdigkeit in Form des des vertrauenswürdigen Steuermoduls 206 bereit. Das vertrauenswürdige Steuermodul 206 ist in Verbindung mit der Tabelle vertrauenswürdiger Routinen 208 und der Liste aktiver vertrauenswürdiger Routinen 214 in der Lage, berechtigte Umschaltvorgänge der Ausführung von nichtvertrauenswürdigen Routinen zu vertrauenswürdigen Routinen zu erkennen und den Betriebsmodus entsprechend umzuschalten. Weiterhin ist das vertrauenswürdige Steuermodul 206 in der Lage, die Ausführung sicher von einem vertrauenswürdigen Betriebsmodus in einen Betriebsmodus mit verringerter Vertrauenswürdigkeit zu umzuschalten. Da die Umschaltvorgänge vom Steuermodul 206 der Anwendung 206 selbst und ohne Rückgriff auf Systemdienste wie Betriebssystemdienste 202 durchgeführt werden, ist der Ressourcen-Bedarf der Umschaltvorgänge relativ gering. Der Ressourcen-Bedarf kann niedrig genug für mehrere Umschaltvorgänge zwischen Betriebssystemmodi innerhalb desselben Strangs sein, so dass unterschiedliche Routinen im Aufrufstapel 212 in den vertrauenswürdigen Betriebsmodi und den Betriebsmodi mit verringerter Vertrauenswürdigkeit ausgeführt werden können. Auf diesem Fall stellt die Liste aktiver vertrauenswürdiger Routinen 214 eine Liste oder Kette vertrauenswürdiger Stapeleinträge des Aufrufstapels 212 in sicherer und zuverlässiger Weise bereit.
  • 4 zeigt ein Blockschaubild einer Datenanordnung in einer Betriebsumgebung eines Computersystems gemäß einer Ausführungsform der vorliegenden Erfindung. Die Anordnung von 4 verdeutlicht wie Steuerungsinformationen und Routinestapeldaten gemäß dem Verfahren von 3 bei dessen Verwendung gespeichert werden können. Jeder Block in 4 stellt ein Datenobjektelement dar, das im Speicher der Betriebsumgebung 200 gespeichert ist. Blöcke mit den fettesten Linien zeigen an, dass es sich bei den Elementen um zuverlässige vertrauenswürdige Elemente handelt, die nur durch vertrauenswürdige Routinen in der Betriebsumgebung 200 verändert werden können (und auf die möglicherweise auch nur durch vertrauenswürdige Routinen in der Betriebsumgebung 200 zugegriffen werden kann). Blöcke mit schwachen Linien zeigen an, dass Elemente sowohl durch vertrauenswürdige als auch nichtvertrauenswürdige Softwareroutinen verändert werden dürfen und sowohl durch vertrauenswürdige als auch nichtvertrauenswürdige Softwareroutinen auf sie zugegriffen werden darf. Eine solche Zugangskontrolle kann beispielsweise über den schlüsselgesteuerten Schutzmechanismus der z/Architecture erreicht werden.
  • Block 402 zeigt einen Betriebssystemsteuerungsblock 402, der gemäß einem vertrauenswürdigen Mechanismus, wie einem Element von Schlüssel 0 im schlüsselgesteuerten Schutzmechanismus, gespeichert ist. Ein Anwendungssteuerungsblock 404 ist ebenfalls vertrauenswürdig, wie beispielsweise aufgrund eines vertrauenswürdigen Elements in Form von Schlüssel 7 eines schlüsselgesteuerten Schutzmechanismus. Der Anwendungssteuerungsblock 404 bezieht sich auf Steuerungsblöcke zur Verwendung durch eine MUSASS-Anwendung wie beispielsweise: eine Tabelle vertrauenswürdiger Routinen 406 wie in Bezug auf 2 beschrieben; ein Block zur Steuerung einer Liste aktiver vertrauenswürdiger Routinen 410, welcher der oben in Bezug auf 2 beschriebenen Liste aktiver vertrauenswürdiger Routinen 214 entspricht, und ein Block zur Steuerung eines Aufrufstapels 408, der einen Aufrufstapel 430 bezeichnet, der dem Aufrufstapel 212 von 2 entspricht. Auf den Block zur Steuerung eines Aufrufstapels 408 kann von Routinen zugegriffen werden, die in einem Betriebsmodus mit verringerter Vertrauenswürdigkeit ausgeführt werden.
  • Bei Verwendung enthält der Aufrufstapel 430 Eintrage, die Softwareroutinen entsprechen, die in einem Ausführungsstrang in der Betriebsumgebung 200 ausgeführt werden. In Ausführungsformen der vorliegenden Erfindung stellt das Steuermodul 206 den Umschaltvorgang eines Betriebsmodus der Betriebsumgebung zwischen dem vertrauenswürdigen Modus und dem Modus verringerter Vertrauenswürdigkeit bereit. Der Umschaltvorgang findet gemäß 3 bei Ausführung einer Softwareroutine statt. Die Ausführung kann das Ergebnis einer neuen Aufruf-, Verzweigungs-, Sprung- oder Verknüpfungsoperation oder einer Rückkehr von einer solchen Operation sein. Entsprechend kann der Aufrufstapel 430 der Softwareroutine eine Kombination von sowohl nichtvertrauenswürdigen Routinen 412, 418, 422 als auch vertrauenswürdigen Routinen 416, 420 sein. Ein Block zur Steuerung einer Liste aktiver vertrauenswürdiger Routinen 410 unterhält eine Liste der Routinen im Aufrufstapel 430, die in einem vertrauenswürdigen Betriebsmodus ausgeführt werden, so dass das Steuermodul den Betriebsmodus bei Rückkehroperationen überprüfen und umschalten kann. Weiterhin enthält die Tabelle vertrauenswürdiger Routinen 406 eine Liste von Softwareroutinen, die zur Ausführung im vertrauenswürdigen Betriebsmodus berechtigt sind, so dass das Steuermodul 206 den Betriebsmodus bei Aufruf-, Sprung-, Verknüpfungs- oder Verzweigungsoperationen korrekt überprüfen und umschalten kann.
  • Somit stellen Ausführungsformen der vorliegenden Erfindung einen möglicherweise gemischten Stapel vertrauenswürdiger und nichtvertrauenswürdiger Softwareroutinen mit wirksam und streng durchgeführten Umschaltvorgängen zwischen Betriebsmodi bereit, jedoch ohne den zusätzlichen Ressourcen-Bedarf bei Bezug auf oder Verwendung von Systemdiensten mit hohem Bedarf wie sie von Betriebssystemen angeboten werden aufzuweisen.
  • Eine in der z/Architecture ausgeführte Ausführungsform der vorliegenden Erfindung wird nun beschrieben. Es ist ersichtlich, dass die Überlegungen zu dieser besonderen Ausbildung dieser Ausführungsform nicht die einzige Ausführungssoption darstellen und Alternativen möglich sind. Gemäß der Erfindung sind dem Softwarestapel Elemente in zwei unterschiedlichen Speicherschlüsseln zugeordnet. Die beiden Arten von Stapelelementen werden als „vertrauenswürdig” und „nichtvertrauenswürdig” bezeichnet. Die vertrauenswürdigen Elemente können einem Speicherschutzschlüssel 7 und die nichtvertrauenswürdigen Elemente einem Speicherschutzschlüssel 8 zugeordnet sein.
  • In einer Ausführungsform weist jede Routine im Aufrufstapel 212 einen rückwärtsgerichteten Zeiger auf seinen unmittelbaren Vorgänger auf, unabhängig vom Vertrauenswürdigkeitsstatus des Vorgängers. Der unmittelbare Vorgänger ist die Routine im Aufrufstapel 212, die von der aufrufenden Routine in einer Folge von Aufrufen besessen wird. Der rückwärtsgerichtete Stapelzeiger entspricht einem rückwärtsgerichteten „Speicherraum”-Zeiger („savearea” pointer), der in der herkömmlichen Verwaltung von Speicherraumketten verwendet wird. Wenn prinzipiell eine aufgerufene Routine die Steuerung an die sie aufrufende Routine zurückgibt, macht sie über den rückwärtsgerichteten Zeiger den vorhergehenden Speicherraum ausfindig, stellt die Register von diesem Speicherraum wieder her und kehrt zur Adresse im benannten Verknüpfungsregister zurück, das dadurch wiederhergestellt wurde.
  • Gemäß der vorliegenden Erfindung sind die vertrauenswürdigen (Schlüssel 7) Stapelelemente zusätzlich zum oben beschriebenen normalen rückwärtsgerichteten Speicherraumzeiger auch in einer anderen Kette miteinander verknüpft – einer Kette vertrauenswürdiger Speicherräume oder Liste aktiver vertrauenswürdiger Routinen 214. Ein Kennzeichner wie eine Adresse einer jüngsten verwendeten vertrauenswürdigen Routine kann an einem aufgabenbezogenen globalen Speicherort aufbewahrt werden, der ebenfalls geschützt ist (in Schlüssel 7), so dass er nicht durch nichtvertrauenswürdige Routinen wie den Block zur Steuerung einer Liste aktiver vertrauenswürdiger Routinen 410 verändert werden kann.
  • In einer Ausführungsform besitzt die Anwendung einen Dienst zur Aufrufverwaltung zum Umgang mit Aufrufen, Sprüngen, Verknüpfungen oder Verzweigungen zwischen Routinen. Dieser Dienst kann die Eigenschaften einer aufgerufenen Routine (wie in der CICS-Domain-Architektur) erkennen. Der Dienst zur Aufrufverwaltung kann jede aufgerufene Routine entweder als vertrauenswürdig oder als nichtvertrauenswürdig erkennen. Der Dienst zur Aufrufverwaltung kann zudem Gruppen unbenutzter Stapelelemente (sowohl vertrauenswürdig als auch nichtvertrauenswürdig) unterhalten. Wenn der Dienst zur Aufrufverwaltung einen Aufruf einer nichtvertrauenswürdigen Routine erkennt, ordnet er ein Stapelelement von der nichtvertrauenswürdigen Gruppe zu; erkennt er einen Aufruf einer vertrauenswürdigen Routine, ordnet er ein Stapelelement von der vertrauenswürdigen Gruppe zu. Solch ein Dienst zur Aufrufverwaltung kann in den Funktionen des Steuermoduls 206 enthalten sein.
  • In einer Ausführungsform wird ein schlüsselgesteuerter Schutzmechanismus verwendet, und das Umschalten zwischen dem vertrauenswürdigen Betriebsmodus und dem Betriebsmodus mit verringerter Vertrauenswürdigkeit für vertrauenswürdige und nichtvertrauenswürdige Routinen enthält Umschaltschlüssel im Schutzmechanismus. Neben der Zuordnung der vertrauenswürdigen und nichtvertrauenswürdigen Stapelelemente im Aufrufstapel 212 verwaltet das Steuermodul 206 auch das Umschalten des Schlüssels, der in einem Programmstatuswort (Program Status Word PSW) eines Prozessors in der Betriebsumgebung 200 gespeichert werden kann. Um dies bei hoher Leistungsfähigkeit zu erreichen, wird die (in der US-Patentschrift 5 745 676 beschriebene) Anweisung zum Verzweigen und Festlegen der Berechtigung (BSA) verwendet. Die BSA-Anweisung schaltet den Prozessormodus zwischen einen Zustand mit Grundberechtigung (vertrauenswürdig) und einem Zustand mit eingeschränkter Berechtigung (verringerte Vertrauenswürdigkeit) um. Das Steuermodul 206 läuft im Zustand mit Grundberechtigung (vertrauenswürdig) und zum Beispiel in Schlüssel 7. Alle nichtvertrauenswürdigen Programme laufen im Zustand mit eingeschränkter Berechtigung und zum Beispiel in Schlüssel 8. In dieser Architektur kehrt eine nichtvertrauenswürdige Routine (in Schlüssel 8) nicht in den Zustand mit Grundberechtigung (und Schlüssel 7) zurück, ohne auch die Steuerung an das Steuermodul 206 zurückzugeben. Dies kann durch die BSA-Hardware-Architektur sichergestellt werden. Weiterhin kann eine nichtvertrauenswürdige Routine den Inhalt der Stapelelemente einer vertrauenswürdigen Routine nicht verändern, da sie durch den schlüsselgesteuerten Schutz der z/Architecture geschützt sind.
  • Die BSA-Anweisung tritt in zwei Arten auf: ein „BSA-Aufruf” (BSA-ba), der eine Routine im Zustand mit eingeschränkter Berechtigung (verringerter Vertrauenswürdigkeit) aufruft, sowie eine „BSA-Rückkehr” (auch bekannt als BSA-ra), welche die Steuerung von der Routine mit eingeschränkter Berechtigung zurückgibt und den Zustand mit Grundberechtigung (vertrauenswürdig) wiederherstellt. Die BSA-ra-Anweisung gibt die Steuerung immer unmittelbar auf die die BSA-ba-Anweisung folgend an die Anweisung zurück. Die Routine mit eingeschränkter Berechtigung hat darüber keine Kontrolle.
  • Wenn eine vertrauenswürdige Routine eine nichtvertrauenswürdige Routine aufruft, muss der Betriebsmodus von Grundberechtigung (vertrauenswürdig) zu eingeschränkter Berechtigung (nichtvertrauenswürdig) umgeschaltet werden. Dies geschieht durch Ausgeben einer „BSA-Aufruf”(BSA-ba)-Anweisung, die den Schlüssel von 7 auf 8 umschaltet, nur Schlüsselumschaltung zwischen den Schlüsseln 8 und 9 (nichtvertrauenswürdig) erlaubt und eingeschränkter Berechtigung (verringerte Vertrauenswürdigkeit) einstellt, bevor sie zur aufgerufenen Routine verzweigt.
  • Wenn eine nichtvertrauenswürdige Routine die Steuerung an eine vertrauenswürdige Routine zurückgeben muss, muss auch der Betriebsmodus vom Zustand mit eingeschränkter Berechtigung (verringerte Vertrauenswürdigkeit) in den Zustand mit Grundberechtigung (vertrauenswürdig) zurückgegeben werden. Das Steuermodul 206 erkennt dies anhand der Feststellung, dass das wiederhergestellte Stapelelement dem „letzten vertrauenswürdigen Stapelelement” entspricht, das zuvor in der Liste aktiver vertrauenswürdiger Routinen 214 gespeichert wurde. In dieser Situation kehrt das Steuermodul 206 zum Zustand mit Grundberechtigung (und Schlüssel 7) (vertrauenswürdig) zurück, indem es eine BSA-Rückkehr”-(BSA-ra-)Anweisung ausgibt. Zudem wird der Kennzeichner „letztes vertrauenswürdiges Stapelelement” in der Liste aktiver vertrauenswürdiger Routinen 214 durch die Adresse des nächsten vertrauenswürdigen Stapelelements in der vertrauenswürdigen Kette ersetzt. Für vollständige Unversehrtheit sollte sich die vertrauenswürdige Routine, die dadurch die Steuerung erhält, nicht auf die Inhalte der zurückkehrenden nichtvertrauenswürdigen Routinen verlassen. Sie sollte sich ausschließlich auf die Inhalte des vertrauenswürdigen Stapelelements und die Inhalte jedes anderen Steuerungsblocks verlassen, die vor der Veränderung durch nichtvertrauenswürdige Routinen geschützt sind.
  • Wenn eine nichtvertrauenswürdige Routine ausgeführt wird, befindet sich die Betriebsumgebung 200 im Zustand mit eingeschränkter Berechtigung (verringerte Vertrauenswürdigkeit). Wenn sie somit eine vertrauenswürdige Routine aufrufen will, muss sie zuvor die Steuerung mit einer „BSA-Rückkehr”(BSA-ra)-Anweisung an das Steuermodul 206 zurückgeben, welches dann die vertrauenswürdige Routine in Schlüssel 7 und im Zustand mit Grundberechtigung (vertrauenswürdig) aufrufen kann. Dabei fügt das Steuermodul 206 die neue vertrauenswürdige Routine als „letztes vertrauenswürdiges Stapelelement” zur Liste aktiver vertrauenswürdiger Routinen 214 hinzu.
  • Wenn eine vertrauenswürdige Routine die Steuerung an eine nichtvertrauenswürdige Routine zurückgeben muss, muss auch der Betriebsmodus von Grundberechtigung (vertrauenswürdig) zu eingeschränkter Berechtigung (nichtvertrauenswürdig) umgeschaltet werden. Das Steuermodul 206 entfernt das aktuelle Stapelelement aus der Kette „letztes vertrauenswürdiges Stapelelement” (Liste aktiver vertrauenswürdiger Routinen 214) und gibt einen „BSA-Aufruf” (BSA-ba) aus, um die nichtvertrauenswürdige Routine aufzurufen.
  • Wenn eine vertrauenswürdige Routine eine nichtvertrauenswürdige Routine aufruft oder umgekehrt, befindet sich eine von der aufrufenden Routine übergebene Parameterliste im Allgemeinen in einem anderen Schlüsselschutz-Schlüssel als demjenigen, der von dem aufgerufenen Programm erwartet wird. Es ist günstig für die Routinen auf beiden Seiten des Aufrufs, wenn das Steuermodul eine Kopie der Parameterliste vom Schutzschlüssel der aufrufenden Routine auf diejenige der aufgerufenen Routine vornehmen kann. Dies wird am einfachsten dadurch erreicht, dass die Größe des Stapelelements, das für die aufgerufene Routine zugeordnet wird (das sich im richtigen Schlüssel für die aufgerufene Routine befindet), erweitert wird und anschließend die Parameterliste je nach Richtung der Verschiebung mit einer der Anweisungen „mit Schlüssel verschieben” (move with key) („move with source key” (mit Quellschlüssel verschieben) oder „move with destination key” (mit Zielschlüssel verschieben) in diese Erweiterung kopiert wird. Wenn die aufgerufene Routine Ausgabeparameter an den Aufrufer zurückgibt, muss die Parameterliste bei Rückgabe ebenfalls zurück in den Schlüssel des Aufrufers kopiert werden.
  • Ausführungsformen der vorliegenden Erfindungen ermöglichen es einer MUSASS-Anwendung, ihre eigenen Ressourcen vor Beeinträchtigung durch die vom Teilsystem gesteuerten Anwendungsroutinen zu schützen, ohne dass nennenswerte Auswirkung auf den normalen Betrieb der Anwendungen auftreten. Das Teilsystem kann dann seine wichtigen Systemdaten ohne die Gefahr einer versehentlichen oder böswilligen Veränderung durch Anwendungsprogramme problemlos in seine Stapelelemente speichern. Zu solchen Daten können folgende gehören: Adressen von wichtigen Systemroutinen (wie das Steuermodul 206 selbst und Routinen von Subsystem-Diensten); Eintrags- und Rückkehradressen innerhalb der Routinen der Teilsystem-Dienste; lokale Variablen innerhalb der Routinen der Teilsystem-Dienste; Benutzerzugangsdaten; Anzeiger von Sicherheitsoptionen für die verwalteten Anwendungsaufgaben.
  • Bevorzugte Ausführungsformen der vorliegenden Erfindung stellen der Anwendung 204 zudem die Möglichkeit bereit, vollständig private, für bestimmte Routinen nicht zugängliche Daten auszubilden, indem Speicherbereiche in einem vertrauenswürdigen Subsystem-Schlüssel (z. B. Schlüssel 7 im schlüsselgesteuerten Schutzmechanismus) verwendet werden, die zudem gegen Abruf gesichert sind.
  • Insofern als Ausführungsformen der beschriebenen Erfindung zumindest in Teilen mit einer softwaregesteuerten programmierbaren Verarbeitungseinheit wie einem Mikroprozessor, digitalen Signalprozessor oder einer anderen Verarbeitungseinheit, einer anderen Datenverarbeitungsvorrichtung oder einem anderen Datenverarbeitungssystem ausführbar sind, ist ersichtlich, dass ein Computerprogramm zum Konfigurieren einer programmierbaren Einheit, einer programmierbaren Vorrichtung oder eines programmierbaren Systems zur Ausführung der vorangehend beschriebenen Verfahren als ein Aspekt der vorliegenden Erfindung vorgesehen ist. Das Computerprogramm kann zum Beispiel als Quellcode ausgeführt sein, zur Ausführung auf einer Verarbeitungseinheit, einer Verarbeitungsvorrichtung oder einem Verarbeitungssystem eine Kompilierung durchlaufen oder als Objektcode ausgeführt sein.
  • Das Computerprogramm wird geeigneterweise auf einem Trägermedium in maschinen- oder einheitenlesbarer Form beispielsweise in Festkörperspeichern, Magnetspeichern wie Festplatten oder Band, optisch oder magneto-optisch lesbaren Speichern wie einer Compact Disk oder einer DVD (digital versatile disk) usw. gespeichert, und die Verarbeitungseinheit nutzt das Programm oder einen Teil davon, um es für den Betrieb zu einzurichten. Das Computerprogramm kann von einer entfernt angeordneten Quelle geliefert werden, die in einem Datenübertragungsmedium wie einem elektronischen Signal, einem Funkträgersignal oder einem optischem Trägersignal ausgeführt ist. Solche Trägermedien sind ebenfalls als Aspekte der vorliegenden Erfindung vorgesehen.
  • Es ist für den Fachmann erkennbar, dass, obwohl die vorliegende Erfindung in Zusammenhang mit den oben beschriebenen beispielhaften Ausführungsformen beschrieben wurde, die Erfindung nicht darauf beschränkt ist und dass es viele mögliche Variationen und Veränderungen gibt, die unter den Umfang der Erfindung fallen.
  • Der Umfang der vorliegenden Erfindung beinhaltet sämtliche neuartigen Merkmale oder Kombinationen von Merkmalen, die hierin beschrieben wurden. Der Anmelder weist hiermit darauf hin, dass neue Ansprüche zu solchen Merkmalen oder Kombinationen von Merkmalen während der Verfolgung dieser Anmeldung oder weiterer hiervon abgeleiteter Anmeldungen formuliert werden können. Insbesondere können bezüglich der angehängten Ansprüche Merkmale von Unteransprüchen mit denen der unabhängigen Ansprüche kombiniert werden und Merkmale jeweiliger unabhängiger Ansprüche in jeder geeigneten Weise und nicht nur in den besonderen in den Ansprüchen aufgezählten Kombinationen kombiniert werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 5745676 [0007, 0030, 0046]

Claims (12)

  1. Verfahren zur Ausführung einer Softwareroutine in einer Anwendung, wobei die Softwareroutine als Mehrbenutzer-Teilsystem mit Einzeladressraum in einer Betriebsumgebung mit einem vertrauenswürdigen Betriebsmodus für vertrauenswürdige Routinen und einem Betriebsmodus mit verringerter Vertrauenswürdigkeit für nichtvertrauenswürdige Routinen ausgeführt wird, wobei die Anwendung ein Steuermodul zur Ausführung als vertrauenswürdige Routine und eine Tabelle vertrauenswürdiger Routinen aufweist, die Kennzeichner vertrauenswürdiger Routinen enthält, wobei das Verfahren Folgendes umfasst: als Reaktion auf eine Feststellung, dass die Routine von einem Aufrufstapel wiederhergestellt wird und die Routine ein jüngster Eintrag in einer Liste aktiver vertrauenswürdiger Routinen ist, durch das Steuermodul Umschalten in den vertrauenswürdigen Betriebsmodus zur Ausführung der Routine und Entfernen der Routine von der Liste aktiver vertrauenswürdiger Routinen; als Reaktion auf eine Feststellung, dass die Routine nicht von einem Aufrufstapel wiederhergestellt wird und dass die Routine in der Tabelle vertrauenswürdiger Routinen enthalten ist, durch das Steuermodul Umschalten in den vertrauenswürdigen Betriebsmodus zur Ausführung der Routine; als Reaktion auf eine Feststellung, dass die Routine nicht vertrauenswürdig ist, durch das Steuermodul Umschalten in den Betriebsmodus mit verringerter Vertrauenswürdigkeit zur Ausführung der Routine; und weiterhin als Reaktion auf eine Feststellung, dass die Routine nicht von einem Aufrufstapel wiederhergestellt wird und dass eine aufrufende Routine für die Routine in einem vertrauenswürdigen Betriebsmodus ausgeführt wird, durch das Steuermodul Hinzufügen der aufrufenden Routine zur Liste aktiver vertrauenswürdiger Routinen, wobei die Anwendung im vertrauenswürdigen Betriebsmodus vertrauenswürdige Daten festhält oder verändert, die im Betriebsmodus mit verringerter Vertrauenswürdigkeit nicht veränderbar sind.
  2. Verfahren nach Anspruch 1, wobei der vertrauenswürdige Betriebsmodus und der Betriebsmodus mit verringerter Vertrauenswürdigkeit in der Betriebsumgebung durch ein Zusammenwirken eines Betriebssystems und Prozessor-Hardware der Betriebsumgebung durchgesetzt werden.
  3. Verfahren nach Anspruch 2, wobei es sich bei der Betriebsumgebung um eine z/Architecture-Betriebsumgebung handelt.
  4. Verfahren nach Anspruch 3, wobei der vertrauenswürdige Betriebsmodus und der Betriebsmodus mit verringerter Vertrauenswürdigkeit als schlüsselgesteuerter Schutzmechanismus der z/Architecture-Umgebung ausgeführt sind.
  5. Verfahren nach Anspruch 4, wobei der Umschaltvorgang mittels einer Anweisung zum Verzweigen und Festlegen der Berechtigung (BSA) der z/Architecture-Umgebung durchgeführt wird.
  6. Vorrichtung zum Ausführen einer Softwareroutine in einer Anwendung, wobei die Anwendung als Mehrbenutzer-Teilsystem mit Einzeladressraum in einer Betriebsumgebung mit einem vertrauenswürdigen Betriebsmodus für vertrauenswürdige Routinen und einem Betriebsmodus mit verringerter Vertrauenswürdigkeit für nichtvertrauenswürdige Routinen ausgeführt wird, wobei die Anwendung ein Steuermodul zur Ausführung als vertrauenswürdige Routine und eine Tabelle vertrauenswürdiger Routinen aufweist, die Kennzeichner vertrauenswürdiger Routinen enthält, wobei die Vorrichtung Folgendes umfasst: ein Steuermodul, um als Reaktion auf eine Feststellung, dass die Routine von einem Aufrufstapel wiederhergestellt wird und die Routine ein jüngster Eintrag in einer Liste aktiver vertrauenswürdiger Routinen ist, in den vertrauenswürdigen Betriebsmodus zur Ausführung der Routine umzuschalten und die Routine von der Liste aktiver vertrauenswürdiger Routinen zu entfernen, wobei das Steuermodul weiterhin in der Lage ist, als Reaktion auf eine Feststellung, dass die Routine nicht von einem Aufrufstapel wiederhergestellt wird und dass die Routine in der Tabelle vertrauenswürdiger Routinen enthalten ist, in den vertrauenswürdigen Betriebsmodus zur Ausführung der Routine umzuschalten, und wobei das Steuermodul weiterhin in der Lage ist, als Reaktion auf eine Feststellung, dass die Routine nichtvertrauenswürdig ist, in den Betriebsmodus mit verringerter Vertrauenswürdigkeit zur Ausführung der Routine umzuschalten, und wobei das Steuermodul weiterhin geeignet ist, als weitere Reaktion auf eine Feststellung, dass die Routine nicht von einem Aufrufstapel wiederhergestellt wird und dass eine aufrufende Routine für die Routine in einem vertrauenswürdigen Betriebsmodus ausgeführt wird, die aufrufende Routine zur Liste aktiver vertrauenswürdiger Routinen hinzuzufügen, und wobei die Anwendung im vertrauenswürdigen Betriebsmodus vertrauenswürdige Daten festhält oder verändert, die im Betriebsmodus mit verringerter Vertrauenswürdigkeit nicht veränderbar sind.
  7. Vorrichtung nach Anspruch 6, wobei der vertrauenswürdige Betriebsmodus und der Betriebsmodus mit verringerter Vertrauenswürdigkeit in der Betriebsumgebung durch ein Zusammenwirken eines Betriebssystems und Prozessor-Hardware der Betriebsumgebung durchgesetzt werden.
  8. Vorrichtung nach Anspruch 7, wobei es sich bei der Betriebsumgebung um eine z/Architecture-Betriebsumgebung handelt.
  9. Vorrichtung nach Anspruch 8, wobei der vertrauenswürdige Betriebsmodus und der Betriebsmodus mit verringerter Vertrauenswürdigkeit als schlüsselgesteuerter Schutzmechanismus der z/Architecture-Umgebung ausgeführt sind.
  10. Vorrichtung nach Anspruch 9, wobei der Umschaltvorgang mittels einer Anweisung zum Verzweigen und Festlegen der Berechtigung (BSA) der z/Architecture-Umgebung durchgeführt wird.
  11. Vorrichtung, die Folgendes umfasst: eine Zentraleinheit; ein Speicher-Teilsystem; ein Eingabe/Ausgabe-Teilsystem und ein Bus-Teilsystem, das die Zentraleinheit, das Speicher-Teilsystem, das Eingabe/Ausgabe-Teilsystem und die Vorrichtung nach einem der Ansprüche 6 bis 10 miteinander verbindet.
  12. Computerprogrammelement, das einen Computerprogrammcode umfasst, um im Falle, dass es in ein Computersystem geladen und darauf ausgeführt wird, den Computer zum Durchführen der Schritte eines Verfahrens nach einem der Ansprüche 1 bis 5 zu veranlassen.
DE102012203521A 2011-03-28 2012-03-06 Architektur mit zwei Vertrauenswürdigkeitsstufen Pending DE102012203521A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP11160018.5 2011-03-28
EP11160018 2011-03-28

Publications (1)

Publication Number Publication Date
DE102012203521A1 true DE102012203521A1 (de) 2012-10-04

Family

ID=46087122

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012203521A Pending DE102012203521A1 (de) 2011-03-28 2012-03-06 Architektur mit zwei Vertrauenswürdigkeitsstufen

Country Status (3)

Country Link
US (2) US8495754B2 (de)
DE (1) DE102012203521A1 (de)
GB (1) GB2489790B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210389965A1 (en) * 2020-06-10 2021-12-16 Vmware, Inc. Hypercall authentication in a guest-assisted virtual machine introspection (vmi) implementation

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012203521A1 (de) 2011-03-28 2012-10-04 International Business Machines Corp. Architektur mit zwei Vertrauenswürdigkeitsstufen
US8918885B2 (en) * 2012-02-09 2014-12-23 International Business Machines Corporation Automatic discovery of system integrity exposures in system code
KR20150049596A (ko) * 2013-10-30 2015-05-08 삼성전자주식회사 보안 입력 방법 및 그 전자 장치
US9390264B2 (en) 2014-04-18 2016-07-12 Qualcomm Incorporated Hardware-based stack control information protection
US9852052B2 (en) * 2016-03-31 2017-12-26 Intel Corporation Trusted execution of called function
US10073767B2 (en) * 2017-01-18 2018-09-11 Pivotal Software, Inc. Trace Management
WO2022093184A1 (en) * 2020-10-27 2022-05-05 Hewlett-Packard Development Company, L.P. Untrusted software handling

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745676A (en) 1995-12-04 1998-04-28 International Business Machines Corporation Authority reduction and restoration method providing system integrity for subspace groups and single address spaces during program linkage

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7076637B2 (en) 2003-10-29 2006-07-11 Qualcomm Inc. System for providing transitions between operating modes of a device
US20050097151A1 (en) 2003-10-31 2005-05-05 Sayed Omar F. System and method for creating a network directory
WO2010004243A2 (en) 2008-07-10 2010-01-14 Cambridge Consultants Limited Interrupt processing
EP2433238B1 (de) * 2009-05-18 2015-10-07 Hewlett-Packard Development Company, L.P. Systeme und verfahren zur bestimmung eines sicherheitsniveaus aus einem systemverwaltungsmodus
JP2011070290A (ja) 2009-09-24 2011-04-07 Renesas Electronics Corp データプロセッサ
DE102012203521A1 (de) 2011-03-28 2012-10-04 International Business Machines Corp. Architektur mit zwei Vertrauenswürdigkeitsstufen

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745676A (en) 1995-12-04 1998-04-28 International Business Machines Corporation Authority reduction and restoration method providing system integrity for subspace groups and single address spaces during program linkage

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210389965A1 (en) * 2020-06-10 2021-12-16 Vmware, Inc. Hypercall authentication in a guest-assisted virtual machine introspection (vmi) implementation
US11822951B2 (en) * 2020-06-10 2023-11-21 Vmware, Inc. Hypercall authentication in a guest-assisted virtual machine introspection (VMI) implementation

Also Published As

Publication number Publication date
US8495754B2 (en) 2013-07-23
US20130179994A1 (en) 2013-07-11
GB2489790B (en) 2014-01-08
GB2489790A (en) 2012-10-10
GB201205279D0 (en) 2012-05-09
US8984659B2 (en) 2015-03-17
US20120255038A1 (en) 2012-10-04

Similar Documents

Publication Publication Date Title
DE102012203521A1 (de) Architektur mit zwei Vertrauenswürdigkeitsstufen
DE69324293T2 (de) Rechnersystem-Sicherheit
DE60020817T2 (de) Ablaufsteuerung für Betriebsmittel
DE3851049T2 (de) Ein Sicherheitswegmechanismus für ein Betriebssystem.
DE69531112T2 (de) Mechanismus zum verknüpfen von dateien auf einem emulierten system mit dem zentralsystem für den zugriff durch emulierte systembenutzer
DE102013014172B4 (de) Schutz globaler register in einem multithreaded-prozessor
DE3689569T2 (de) Verfahren zur Systemdateiensicherung und Datenverarbeitungseinheit zu dessen Durchführung.
DE2456602C2 (de) Multiprogramierbare Datenverarbeitungsanordnung mit interner Programmierung und virtuellem Speicher
DE69323926T2 (de) Verfahren und Vorrichtung zur Sicherheit eines Computersystem mit Programmberechtigungsdatenstrukturen
DE69815599T2 (de) Verfahren und Vorrichtung zum Schutz von Anwendungsdaten in sicheren Speicherbereichen
DE69530128T2 (de) Sicherheit für rechnerbetriebsmittel
DE102009013384B4 (de) System und Verfahren zur Bereitstellung einer sicheren Anwendungsfragmentierungsumgebung
DE202019005594U1 (de) Sicheres gemeinsames Benutzen von Daten in einem mandantenfähigen Datenbanksystem
DE112010003971T5 (de) Vorübergehende Bereitstellung höherer Vorrechte für ein Rechensystem für eine Benutzerkennung
DE112010004526T5 (de) System, Verfahren und Vorrichtung für eine Gleichzeitige Festlegung und Durchsetzung von Richtlinien zur Zugriffskontrolle und Integrität
DE102020110143A1 (de) Standortbasierte virtualisierungs-workload-platzierung
DE102018115670A1 (de) Technologien für die Ausführung von nicht vertrauenswürdigem Code mit Prozessor-Sandbox-Unterstützung
DE10297433T5 (de) Speicherverwaltungssystem und Verfahren zum Bereitstellen einer Speicherzugriffssicherheit auf der Basis einer linearen Adresse
DE2458065A1 (de) Datenverarbeitungsanlage mit sicherung der daten gegen unberechtigten zugriff
DE10226909A1 (de) System und Verfahren zur vorgeschriebenen Zugriffssteuerung auf ein Dateisystem
DE10225664A1 (de) System und Verfahren zum Prüfen von Systemabrufereignissen mit Systemabrufumhüllungen
DE2612139A1 (de) Ein/ausgang-steuerungssystem
CN102254123B (zh) 强化应用软件安全性的方法及装置
DE102018132970A1 (de) Verfahren und Vorrichtung zur Isolation von sensiblem nichtvertrauenswürdigem Programmcode auf mobilen Endgeräten
CN110221991B (zh) 计算机外围设备的管控方法及系统

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0009440000

Ipc: G06F0015160000

R016 Response to examination communication