DE102012200155A1 - Rechnersystem und Verfahren zum Betreiben eines Rechnersystems - Google Patents

Rechnersystem und Verfahren zum Betreiben eines Rechnersystems Download PDF

Info

Publication number
DE102012200155A1
DE102012200155A1 DE102012200155A DE102012200155A DE102012200155A1 DE 102012200155 A1 DE102012200155 A1 DE 102012200155A1 DE 102012200155 A DE102012200155 A DE 102012200155A DE 102012200155 A DE102012200155 A DE 102012200155A DE 102012200155 A1 DE102012200155 A1 DE 102012200155A1
Authority
DE
Germany
Prior art keywords
operating system
kernel
computer system
mass storage
system kernel
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.)
Ceased
Application number
DE102012200155A
Other languages
English (en)
Inventor
Bernd Becker
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.)
Continental Automotive GmbH
Original Assignee
Continental Automotive GmbH
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 Continental Automotive GmbH filed Critical Continental Automotive GmbH
Priority to DE102012200155A priority Critical patent/DE102012200155A1/de
Priority to CN201280066182.1A priority patent/CN104040498A/zh
Priority to US14/369,985 priority patent/US20140372999A1/en
Priority to EP12810249.8A priority patent/EP2801027A1/de
Priority to PCT/EP2012/076219 priority patent/WO2013102564A1/de
Publication of DE102012200155A1 publication Critical patent/DE102012200155A1/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Abstract

Ein Rechnersystem (100) umfasst einen Prozessor (CPU), einen ersten Massenspeicher (MS1) und einen zweiten Massenspeicher (MS2). Das Rechnersystem (100) ist eingerichtet, einen Master-Betriebssystem-Kern (MBS) sowie einen ersten und einen zweiten Betriebssystem-Kern (BS1, BS2) unter Kontrolle des Master-Betriebssystem-Kerns (MBS) auszuführen. Der erste Massenspeicher (MS1) ist eingerichtet, eine Datenbank für eine Softwareverwaltung zu speichern. Der zweite Massenspeicher (MS2) ist eingerichtet, Systemdateien und Programmdateien für den zweiten Betriebssystem-Kern (BS1, BS2) zu speichern. Der erste Betriebssystem-Kern (BS1) ist eingerichtet, unter Nutzung der Datenbank für die Softwareverwaltung Softwareaktualisierungen für den zweiten Betriebssystem-Kern (BS2) durchzuführen.

Description

  • Die Erfindung betrifft ein Rechnersystem, welches beispielsweise in einem Kraftfahrzeug eingesetzt werden kann sowie ein Verfahren zum Betreiben eines Rechnersystems.
  • In herkömmlichen Rechnersystemen wird eine Verwaltung von installierter Software einschließlich von Betriebssystemdateien auf der Basis von Informationen vorgenommen, welche beispielsweise in einer Datenbank gespeichert sind. Eine solche Softwareverwaltung kann dabei kontrollieren, welche Programme auf dem Rechnersystem installiert werden können, oder auch, welche Programmversionen für die installierten Programme zulässig sind. Insbesondere ist eine solche Softwareverwaltung in der Lage, die Installation von nichtautorisierter Software auf dem Rechnersystem zu verhindern.
  • Dieses Prinzip basiert darauf, dass die Softwareverwaltung vertrauenswürdig ist und mögliche Programme zur Installation oder Aktualisierung aus vertrauenswürdigen Quellen stammen, was wiederum von der Softwareverwaltung überprüft werden kann.
  • Wenn jedoch durch ein Schadprogramm auf dem Rechnersystem, beispielsweise einem Virus, einem Programm, das eine Sicherheitslücke des Rechnersystems ausnützt, oder dergleichen, ein unerwünschter Zugriff auf die Softwareverwaltung und/oder die Datenbank der Softwareverwaltung erfolgt, kann die vertrauenswürdige Stellung der Softwareverwaltung kompromittiert werden. Dadurch ist es im Folgenden beispielsweise möglich, auch für das Rechnersystem eigentlich nicht zugelassene Software zu installieren und damit beispielsweise weitere Sicherheitslücken im Rechnersystem zu erzeugen.
  • Bei herkömmlichen Rechnersystemen wird dementsprechend beispielsweise versucht, Schadprogramme, die die Softwareverwaltung angreifen könnten, im Vorfeld ihrer Ausführung zu entdecken und zu beseitigen.
  • Eine zu lösende Aufgabe besteht darin, ein verbessertes Sicherheitskonzept für die Softwareverwaltung eines Rechnersystems anzugeben.
  • Diese Aufgabe wird gelöst mit dem Gegenstand der unabhängigen Patentansprüche. Ausgestaltungsformen und Weiterbildungen der Erfindung sind Gegenstand der abhängigen Ansprüche.
  • Die Erfindung basiert auf der Idee, die Softwareverwaltung eines Systems von dem zu verwaltenden System zu trennen und in einem unabhängigen, sicheren System auszuführen. Beispielsweise werden dazu auf dem Rechnersystem zwei unabhängige Betriebssystem-Kerne beziehungsweise darauf basierende Betriebssysteme ausgeführt, wobei ein erster Betriebssystem-Kern die Softwareverwaltung für den zweiten Betriebssystem-Kern ausführt. Um die Sicherheit des ersten Betriebssystem-Kerns und einer Datenbank für die Softwareverwaltung zu schützen, sind zudem unabhängige Massenspeicher vorgesehen, wobei auf einem ersten Massenspeicher unter anderem die Datenbank für die Softwareverwaltung gespeichert ist und auf dem zweiten Massenspeicher Systemdateien und Programmdateien für den zweiten Betriebssystem-Kern gespeichert sind. Dadurch kann, selbst wenn der zweite Betriebssystem-Kern kompromittiert wird, eine Vertrauenswürdigkeit der Softwareverwaltung beziehungsweise der Datenbank für die Softwareverwaltung aufrechterhalten werden, sodass die Installation von unerwünschter Software auf dem zweiten Betriebssystem-Kern verhindert wird.
  • Gemäß einer Ausführungsform weist ein Rechnersystem einen Prozessor, einen ersten Massenspeicher und einen zweiten Massenspeicher auf. Das Rechnersystem ist eingerichtet, auf dem Prozessor ein Master-Betriebssystem-Kern sowie einen ersten und einen zweiten Betriebssystem-Kern unter Kontrolle des Master-Betriebssystem-Kerns auszuführen. Der erste Massenspeicher ist eingerichtet, eine Datenbank für eine Softwareverwaltung zu speichern. Der zweite Massenspeicher ist eingerichtet, Systemdateien und Programmdateien für den zweiten Betriebssystem-Kern zu speichern. Der erste Betriebssystem-Kern ist eingerichtet, unter Nutzung der Datenbank für die Softwareverwaltung Softwareaktualisierungen für den zweiten Betriebssystem-Kern durchzuführen. In verschiedenen Ausführungsformen führt der erste Betriebssystem-Kern auch Softwareaktualisierungen für den ersten Betriebssystem-Kern durch. Systemdateien und Programmdateien für den ersten Betriebssystem-Kern sind vorzugsweise auf dem ersten Massenspeicher abgelegt.
  • Auf dem Rechnersystem beziehungsweise dem Prozessor wird dementsprechend zunächst der Master-Betriebssystem-Kern ausgeführt, welcher beispielsweise als Mikrokernel oder Separationskernel ausgeführt ist. Der Master-Betriebssystem-Kern ermöglicht es dementsprechend, den ersten und den zweiten Betriebssystem-Kern unabhängig voneinander auszuführen beziehungsweise zu kontrollieren, so dass die beiden kontrollierten Betriebssystem-Kerne keinen Zugriff auf Prozesse, Speicher oder ähnliches des jeweils anderen Betriebssystem-Kerns haben.
  • Vorzugsweise ist der erste Betriebssystem-Kern für ein sicheres Betriebssystem eingerichtet, auf dem insbesondere lediglich eine geringe Anzahl von Programmen abläuft, welche im Wesentlichen außer zu Verwaltungszwecken keine Interaktion mit einem Benutzer erfordern. Der zweite Betriebssystem-Kern ist zur Ausführung von prinzipiell beliebigen Programmen eingerichtet, beispielsweise Multimediaanwendungen wie Webbrowser, Software zum Abspielen von Musik, Bildbetrachtungssoftware, Dokumentenbetrachter oder dergleichen. Insbesondere können somit auch potentiell sicherheits-gefährdende Programme unter dem zweiten Betriebssystem-Kern ausgeführt werden.
  • Vorzugsweise ist der Zugriff auf den ersten und den zweiten Massenspeicher durch den ersten und den zweiten Betriebssystem-Kern reglementiert. Insbesondere werden beispielsweise Lesezugriffe und Schreibzugriffe auf dem ersten und dem zweiten Massenspeicher durch den Master-Betriebssystem-Kern gesteuert.
  • In einer Ausführungsform hat der erste Betriebssystem-Kern auf dem ersten und dem zweiten Massenspeicher jeweils Lesezugriff und Schreibzugriff, während der zweite Betriebssystem-Kern auf dem ersten Massenspeicher keinen Lesezugriff und keinen Schreibzugriff sowie auf dem zweiten Massenspeicher Lesezugriff und keinen Schreibzugriff hat. Dementsprechend ist lediglich der erste Betriebssystem-Kern in der Lage, auf den ersten und insbesondere den zweiten Massenspeicher schreibend zuzugreifen, um Systemdateien und Programmdateien für die Betriebssystem-Kerne zu speichern oder zu verändern. Auch bei einer Kompromittierung des zweiten Betriebssystem-Kerns kann durch den fehlenden Schreibzugriff auf den zweiten Massenspeicher keine Veränderung der installierten Systemund Programmdateien vorgenommen werden. Ferner wird durch den fehlenden Lesezugriff und Schreibzugriff auf den ersten Massenspeicher verhindert, dass der zweite Betriebssystem-Kern die Datenbank für die Softwareverwaltung auslesen kann und dadurch beispielsweise Informationen über installierte Software oder die Berechtigung zum Installieren von Software erhält.
  • In verschiedenen Ausführungsformen sind Systemdateien und Programmdateien für den zweiten Betriebssystem-Kern ausschließlich auf dem zweiten Massenspeicher gespeichert. Dadurch wird erreicht, dass die Kontrolle für Programme und Systemdateien für den zweiten Betriebssystem-Kern ausschließlich durch den ersten Betriebssystem-Kern erfolgt.
  • Vorzugsweise ist der erste Betriebssystem-Kern zum Betrieb mit Sicherheitsrichtlinien und/oder zum Ausführen eines Virenscanners eingerichtet.
  • In weiteren Ausführungsformen ist der erste Massenspeicher auch zum Speichern von Sicherheitszertifikaten eingerichtet, wobei der erste Betriebssystem-Kern eingerichtet ist, beim Durchführen der Softwareaktualisierungen zu installierende Dateien anhand wenigstens eines der gespeicherten Sicherheitszertifikate zu authentifizieren. Die Sicherheitszertifikate basieren beispielsweise auf einer kryptografischen Verschlüsselung beziehungsweise Signierung von zu installierenden Dateien. Dadurch kann erreicht werden, dass lediglich Dateien installiert werden können, welche mit dem an sich geheimen Schlüssel beziehungsweise Zertifikat authentifiziert sind. Wenn der zweite Betriebssystem-Kern keinen Lesezugriff auf den ersten Massenspeicher hat, kann auch ein Auslesen der Sicherheitszertifikate durch ein Schadprogramm auf dem zweiten Betriebssystem-Kern verhindert werden, so dass eine unerwünschte Kompromittierung der Sicherheitszertifikate verhindert werden kann.
  • In weiteren Ausführungsformen weist das Rechnersystem ferner einen dritten Massenspeicher, insbesondere zum Speichern von Benutzerdaten auf, wobei der zweite Betriebssystem-Kern auf dem dritten Massenspeicher Lesezugriff und Schreibzugriff hat. Dadurch können Daten, die beispielsweise über eine Netzverbindung oder in anderer Weise auf dem zweiten Betriebssystem-Kern eintreffen, abgespeichert werden. Vorzugsweise ist der Master-Betriebssystem-Kern dabei eingerichtet, ein Ausführen von Programmen, die auf dem dritten Massenspeicher gespeichert sind, zu verhindern oder zumindest zu reglementieren. Unter Programmen werden dabei jegliche Formen von ausführbaren Dateien einschließlich von Skriptdateien sowie Programmbibliotheken angesehen. Beispielsweise können bestimmte Skriptdateien wie Java-Script, welches für HTML5 notwendig ist, zur Ausführung zugelassen werden. Wegen der begrenzten Schreibrechte ist eine dauerhafte Beschädigung des Gesamtsystems auch bei bösartigen Skriptdateien verhindert.
  • In einer Ausführungsform des Rechnersystems sind der erste und der zweite Massenspeicher auf einem gemeinsamen Massenspeichermedium, insbesondere einem nichtflüchtigen Massenspeichermedium, angeordnet. Das Massenspeichermedium ist beispielsweise ein sogenannter Flashspeicher wie eine Multimediacard, MMC, oder eine Secure Digital Memory Card, SD-Card, oder dergleichen. Beispielsweise ist das nichtflüchtige Massenspeichermedium ein NAND-Speicher, ein NOR-Speicher oder ein gemanagter NAND-Speicher, welche jeweils fest auf der Platine des Rechnersystems verlötet sein können. In anderen Ausführungsformen kann das Massenspeichermedium auch eine Festplatte oder ein Festkörperlaufwerk, englisch Solid State Drive, SSD, sein.
  • Das Rechnersystem ist insbesondere für einen Betrieb in einem Kraftfahrzeug eingerichtet. Beispielsweise ist das Rechnersystem als eingebettetes System ausgeführt. Jedoch kann das Rechnersystem auch in anderen Umgebungen eingesetzt werden.
  • In einer Ausführungsform eines Verfahrens zum Betreiben eines Rechnersystems wird eine Datenbank für eine Softwareverwaltung auf einem ersten Massenspeicher gespeichert. Systemdateien und Programmdateien für einen ersten Betriebssystem-Kern werden auf dem ersten Massenspeicher und/oder einem zweiten Massenspeicher gespeichert. Ferner werden Systemdateien und Programmdateien für einen zweiten Betriebssystem-Kern auf dem zweiten Massenspeicher gespeichert. In dem Rechnersystem wird ein Master-Betriebssystem-Kern ausgeführt sowie der erste und der zweite Betriebssystem-Kern, jeweils unter Kontrolle des Master-Betriebssystem-Kerns. Softwareaktualisierungen für den zweiten Betriebssystem-Kern werden durch den ersten Betriebssystem-Kern unter Nutzung der Datenbank für die Softwareverwaltung durchgeführt.
  • Weitere Ausführungsformen und Ausgestaltungen des Verfahrens ergeben sich unmittelbar aus den zuvor beschriebenen Ausführungsformen des Rechnersystems.
  • Bei den zuvor beschriebenen Ausführungsformen wird eine Softwareaktualisierung innerhalb eines Betriebssystems, basierend auf dem zweiten Betriebssystem-Kern, von außerhalb dieses Betriebssystems durchgeführt. Beispielsweise kann dies bei einem Linux basierten System erreicht werden, indem der Paketmanager, wie zum Beispiel RPM, DPKG oder APK, aus dem zu verwaltenden Betriebssystem herausgelöst ist und unterhalb des ersten Betriebssystem-Kerns ausgeführt wird. Zusätzlich kann das Betriebssystem mit dem zweiten Betriebssystem-Kern nicht auf sein eigenes Dateisystem schreiben, um Bibliotheken, ausführbare Dateien und Konfigurationsdateien zu verändern, weil dies durch die Nutzung des Master-Betriebssystem-Kerns, der beispielsweise als Mikro- oder Separationskernel ausgeführt ist, verhindert wird. Im Unterschied zu einer vollständigen hardwaremäßigen Trennung zwischen den zwei Betriebssystem-Kernen wird bei dem vorgeschlagenen Rechnersystem eine Kontrolle der nichtflüchtigen Massenspeicher durch eine einzige Instanz durchgeführt, wobei zugleich die Möglichkeit geschaffen wird, gesicherte Betriebssysteme mit dem ersten Betriebssystem-Kern auszuführen, welches dennoch den Inhalt der nichtflüchtigen Massenspeicher aktualisieren kann.
  • Die Erfindung wird nachfolgend an einem Ausführungsbeispiel anhand der einzigen 1 näher erläutert.
  • 1 zeigt ein Ausführungsbeispiel eines Rechnersystems. Ein beispielhaft dargestelltes Rechnersystem 100 umfasst einen Prozessor CPU sowie ein Massenspeichermedium FLSH, welches beispielsweise als Flashspeicher oder als Festplatte oder als Festkörperlaufwerk ausgeführt ist. Auf dem Massenspeichermedium FLSH sind beispielhaft drei Massenspeicher MS1, MS2, MS3 eingerichtet, welche beispielsweise als Partitionen auf dem Massenspeichermedium FLSH angelegt sind. Auf dem Prozessor CPU des Rechnersystems 100 läuft wenigstens ein Master-Betriebssystem-Kern MBS, welcher zwei separat betreibbare Betriebssystem-Kerne BS1, BS2 umfasst beziehungsweise kontrolliert.
  • Der Master-Betriebssystem-Kern ist beispielsweise als Mikrokernel implementiert, welcher im Gegensatz zu einem herkömmlichen monolithischen Kernel nur über grundlegende Funktionen wie Speicher- und Prozessverwaltung und Grundfunktionen zur Synchronisation und Kommunikation umfasst.
  • Vorzugsweise ist der Master-Betriebssystem-Kern jedoch als Separationskernel ausgeführt, der als Sicherheitskernel arbeitet, um eine verteilte Umgebung zu simulieren. Insbesondere ist der Separationskernel eingerichtet, den ersten Betriebssystem-Kern BS1 sowie den zweiten Betriebssystem-Kern BS2 getrennt voneinander zu kontrollieren. In Abwandlung der dargestellten Ausführungsform können von dem Master-Betriebssystem-Kern MBS auch weitere Betriebssystem-Kerne kontrolliert werden, welche parallel zu dem ersten und dem zweiten Betriebssystem-Kern BS1, BS2 ablaufen, aber aus Übersichtsgründen hier nicht dargestellt sind.
  • Der linke Betriebssystem-Kern BS2 dient zum Ausführen eines herkömmlichen Betriebssystems, welches die Verwendung von Internetanwendungen wie einem Webbrowser, herunterladbaren Anwendungen und Multimediafunktionalität ermöglicht. Der Betriebssystem-Kern BS2 ist vorzugsweise gesichert, wobei es nicht notwendig ist, dass eine erhöhte Zuverlässigkeit bereitgestellt wird. Betriebssystemdateien, Anwendungen, Bibliotheksdateien und Konfigurationsdateien sind für den zweiten Betriebssystem-Kern BS2 auf dem zweiten Massenspeicher MS2 abgelegt. Dazu weist der zweite Massenspeicher MS2 beispielsweise Speicherplatz für Systemdateien BIN, ausführbare Dateien EXE und Konfigurationsdateien CNF auf. Durch den Master-Betriebssystem-Kern MBS wird sichergestellt, dass der zweite Betriebssystem-Kern BS2 auf den zweiten Massenspeicher MS2 lediglich einen Lesezugriff, aber keinen Schreibzugriff auf den zweiten Massenspeicher MS2 besitzt, gekennzeichnet durch ein ro (Read Only). Benutzerdaten wie Musikdateien MP3, Bilddateien JPG oder andere Internetformate HTML sind auf dem dritten Massenspeicher MS3 abgelegt, auf dem der zweite Betriebssystem-Kern BS2 sowohl Lese- als auch Schreibzugriff besitzt. Dies ist durch die Bezeichnung rw (Read-Write) gekennzeichnet.
  • Der rechte Betriebssystem-Kern BS1 dient zur Ausführung eines sicheren Betriebssystems, unter dem ein Softwareverwaltungsprogramm läuft. Ferner können unter dem ersten Betriebssystem-Kern BS1 auch ein Virenscanner und/oder bestimmte Sicherheitsrichtlinien implementiert sein. Ein Zugriff auf den ersten Betriebssystem-Kern ist vorzugsweise lediglich zu Wartungszwecken vorgesehen, so dass insbesondere keine unsicheren Multimediaanwendungen oder dergleichen ausgeführt werden können. Der erste Betriebssystem-Kern BS1 hat Schreibzugriff und Lesezugriff auf den ersten und den zweiten Massenspeicher MS1, MS2. Auf dem ersten Massenspeicher MS1 sind eine Datenbank für eine Softwareverwaltung SW-DB, Sicherheitszertifikate CERT und ein Virenscanner VS gespeichert. Betriebssystemdateien, Anwendungen, Bibliotheksdateien und Konfigurationsdateien sind für den ersten Betriebssystem-Kern BS1 entweder ebenfalls auf dem zweiten Massenspeicher MS2 oder vorzugsweise auf dem ersten Massenspeicher MS1 abgelegt. Der zweite Betriebssystem-Kern BS2 hat keinerlei Zugriff auf den ersten Massenspeicher MS1 und hat vorzugsweise auch keine Kenntnis von der Existenz dieses Massenspeichers MS1. Der Zugriff auf das Massenspeichermedium FLSH beziehungsweise die Massenspeicher MS1, MS2, MS3 ist durch den Master-Betriebssystem-Kern MBS kontrolliert, so dass auch Schadsoftware, welche unter dem zweiten Betriebssystem-Kern BS2 ausgeführt wird, keinen Zugriff auf die Datenbank für die Softwareverwaltung und die Sicherheitszertifikate besitzt. Zudem kann ein Schadprogramm auch keine Systemdateien oder Anwendungen auf dem zweiten Massenspeicher MS2 verändern. Vorzugsweise können auch weitere Massenspeicher auf dem Massenspeichermedium FLSH vorgesehen werden, welche beispielsweise Systemdateien für den Master-Betriebssystem-Kern MBS speichern.
  • Für eine Softwareaktualisierung des zweiten Betriebssystem-Kerns BS2 dient dementsprechend der erste Betriebssystem-Kern BS1, welcher auf Basis der Datenbank für die Softwareverwaltung eine Aktualisierung der Systemdateien und Anwendungen auf dem zweiten Massenspeicher MS2 durchführt. Dazu werden zu installierende Softwarepakete vorzugsweise gegen die gespeicherten Sicherheitszertifikate authentifiziert, so dass nur Softwarepakete aus vertrauenswürdigen Quellen, welche das Sicherheitszertifikat kennen, installiert werden können. Beispielsweise basiert die Softwareverwaltung auf einem Paketmanager. Bei der Nutzung von beispielsweise einem Linux basierten System kann ein solcher Paketmanager durch den RPM, früher Red-Hat,-Package-Manager, RPM, den Debian Paketmanager, DPKG, oder den Android Paketmanager, APK, gebildet sein.
  • Die dargestellte Ausführungsform des Rechnersystems ermöglicht es, dass selbst bei einer Kompromittierung des zweiten Betriebssystem-Kerns BS2 durch ein Schadprogramm die Veränderung von Systemdateien und damit die gezielte Öffnung von weiteren Sicherheitslücken ausgehend vom zweiten Betriebssystem-Kern BS2 verhindert werden kann. Durch die Internetfähigkeit und Multimediafähigkeit des zweiten Betriebssystem-Kerns besteht nämlich grundsätzlich die Gefahr, dass durch unerkannte oder neu auftretende Sicherheitslücken im System Schadprogramme in dem Bereich des zweiten Betriebssystem-Kerns BS2 eingebracht werden können, welche jedoch aufgrund der mangelnden Schreibberechtigung nicht zu einer dauerhaften Veränderung des Betriebssystems unter dem zweiten Betriebssystem-Kern BS2 führen können. Dies bewirkt, dass Schadprogramme nicht in dem Rechnersystem verbleiben können, wenn das System aus- und wieder eingeschalten wird.
  • Weiterhin wird verhindert, dass solche Schadprogramme unter dem zweiten Betriebssystem-Kern BS2 die Sicherheitszertifikate auslesen, welche auf dem ersten Massenspeicher MS1 gespeichert sind, um durch Kenntnis des ausgelesenen Schlüssels kompromittierende Installationspakete zu erzeugen.
  • Vorzugsweise wird durch den Master-Betriebssystem-Kern MBS auch gesteuert, dass ein Ausführen von Programmen, die auf dem dritten Massenspeicher MS3 gespeichert sind, verhindert oder zumindest reglementiert wird. Unter Programmen sind dabei jegliche ausführbaren Dateien einschließlich Programmskripte sowie Programmbibliotheken zu verstehen. Solche Programme können beispielsweise über ein externes Speichermedium oder über eine Internetverbindung im Betriebssystem des zweiten Betriebssystem-Kerns BS2 geladen werden und auf dem dritten Massenspeicher MS3 abgelegt werden. Beispielsweise können bestimmte Skriptdateien wie Java-Script, welches für HTML5 notwendig ist, zur Ausführung zugelassen werden. Wegen der begrenzten Schreibrechte ist eine dauerhafte Beschädigung des Gesamtsystems auch bei bösartigen Skriptdateien verhindert.
  • Durch die Trennung der Softwareaktualisierung aus dem eigentlich zu aktualisierenden Betriebssystem heraus auf einen anderen Betriebssystem-Kern wird somit wirkungsvoll eine Aktualisierung mit schadhaften Programmen durch das zu aktualisierende Betriebssystem selbst verhindert. Folglich ist es möglich, das Betriebssystem unter dem zweiten Betriebssystem-Kern BS2 offener für Internetanwendungen mit potentiellem Schadcode zu machen, ohne die Sicherheit des gesamten Rechnersystems zu gefährden.
  • Im Unterschied zu einer Implementierung der Betriebssystem-Kerne BS1, BS2 auf unterschiedlichen Hardwareplattformen wird durch die Verwendung des Master-Betriebssystem-Kerns MBS, welcher die beiden Betriebssystem-Kerne BS1, BS2 gemeinsam kontrolliert, eine einheitliche Sicherheitsverwaltung ermöglicht. Zudem steht bei der beschriebenen Ausführungsform des Rechnersystems auch der Zugriff auf das Massenspeichermedium FLSH beziehungsweise die Massenspeicher MS1, MS2, MS3 unter der alleinigen Kontrolle des Master-Betriebssystem-Kerns MBS.
  • Das Rechnersystem 100 ist insbesondere für einen Betrieb in einem Kraftfahrzeug eingerichtet. Beispielsweise ist das Rechnersystem 100 als eingebettetes System ausgeführt. Jedoch kann das Rechnersystem 100 auch in anderen Umgebungen eingesetzt werden.
  • Beispielsweise ist das nichtflüchtige Massenspeichermedium FLSH ein NAND-Speicher, ein NOR-Speicher oder ein gemanagter NAND-Speicher, welche jeweils fest auf der Platine des Rechnersystems 100 verlötet sein können.

Claims (14)

  1. Rechnersystem (100) mit einem Prozessor (CPU), einem ersten Massenspeicher (MS1) und einem zweiten Massenspeicher (MS2), wobei – das Rechnersystem eingerichtet ist, auf dem Prozessor (CPU) einen Master-Betriebssystem-Kern (MBS) sowie einen ersten und einen zweiten Betriebssystem-Kern (BS1, BS2) unter Kontrolle des Master-Betriebssystem-Kerns (MBS) auszuführen; – der erste Massenspeicher (MS1) eingerichtet ist, eine Datenbank für eine Softwareverwaltung zu speichern; – der zweite Massenspeicher (MS2) eingerichtet ist, Systemdateien und Programmdateien für den zweiten Betriebssystem-Kern (BS2) zu speichern und – der erste Betriebssystem-Kern (BS1) eingerichtet ist, unter Nutzung der Datenbank für die Softwareverwaltung Software-Aktualisierungen für den zweiten Betriebssystem-Kern (BS2) durchzuführen.
  2. Rechnersystem (100) nach Anspruch 1, das derart eingerichtet ist, dass der erste Betriebssystem-Kern (BS1) auf den ersten und den zweiten Massenspeicher (MS1, MS2) jeweils Lesezugriff und Schreibzugriff hat, und dass der zweite Betriebssystem-Kern (BS2) auf den ersten Massenspeicher (MS1) keinen Lesezugriff und keinen Schreibzugriff sowie auf den zweiten Massenspeicher (MS2) Lesezugriff und keinen Schreibzugriff hat.
  3. Rechnersystem (100) nach Anspruch 1 oder 2, bei dem Lesezugriffe und Schreibzugriffe auf den ersten und den zweiten Massenspeicher (MS1, MS2) durch den Master-Betriebssystem-Kern (MBS) gesteuert werden.
  4. Rechnersystem (100) nach einem der Ansprüche 1 bis 3, bei dem Systemdateien und Programmdateien für den zweiten Betriebssystem-Kern (BS2) ausschließlich auf dem zweiten Massenspeicher (MS2) gespeichert sind.
  5. Rechnersystem (100) nach einem der Ansprüche 1 bis 4, bei dem der erste Betriebssystem-Kern (BS1) zum Betrieb mit Sicherheitsrichtlinien und/oder zum Ausführen eines Virenscanners eingerichtet ist.
  6. Rechnersystem (100) nach einem der Ansprüche 1 bis 5, bei dem der zweite Betriebssystem-Kern (BS2) zum Ausführen wenigstens eines der Folgenden eingerichtet ist: – eine Multimedia-Anwendung; – ein Web-Browser; – eine Software zum Abspielen von Musik; – eine Bildbetrachtungssoftware; – ein Dokumentenbetrachter.
  7. Rechnersystem (100) nach einem der Ansprüche 1 bis 6, bei dem der erste Massenspeicher (MS1) zum Speichern von Sicherheitszertifikaten eingerichtet ist, wobei der erste Betriebssystem-Kern (BS1) eingerichtet ist, beim Durchführen der Software-Aktualisierungen zu installierende Dateien anhand wenigstens eines der gespeicherten Sicherheitszertifikate zu authentifizieren.
  8. Rechnersystem (100) nach einem der Ansprüche 1 bis 7, ferner aufweisend einen dritten Massenspeicher (MS3), insbesondere zum Speichern von Benutzerdaten, wobei der zweite Betriebssystem-Kern (BS2) auf den dritten Massenspeicher (MS3) Lesezugriff und Schreibzugriff hat.
  9. Rechnersystem (100) nach Anspruch 8, bei dem der Master-Betriebssystem-Kern (MBS) eingerichtet ist, ein Ausführen von Programmen, die auf dem dritten Massenspeicher (MS3) gespeichert sind, zu verhindern oder zu reglementieren.
  10. Rechnersystem (100) nach einem der Ansprüche 1 bis 9, bei dem der erste und der zweite Massenspeicher (MS1, MS2) auf einem gemeinsamen Massenspeichermedium (FLSH), insbesondere einem nichtflüchtigen Massenspeichermedium, angeordnet sind.
  11. Rechnersystem (100) nach einem der Ansprüche 1 bis 10, bei dem der Master-Betriebssystem-Kern (MBS) einen Mikrokernel oder einen Separationskernel umfasst.
  12. Rechnersystem (100) nach einem der Ansprüche 1 bis 11, das für einen Betrieb in einem Kraftfahrzeug eingerichtet ist.
  13. Rechnersystem (100) nach einem der Ansprüche 1 bis 12, das als eingebettetes System ausgeführt ist.
  14. Verfahren zum Betreiben eines Rechnersystems, das Verfahren umfassend: – Speichern einer Datenbank für eine Softwareverwaltung auf einem ersten Massenspeicher (MS1); – Speichern von Systemdateien und Programmdateien für einen ersten Betriebssystem-Kern (BS1) auf dem ersten Massenspeicher (MS1) und/oder einem zweiten Massenspeicher (MS2); – Speichern von Systemdateien und Programmdateien für einen zweiten Betriebssystem-Kern (BS2) auf dem zweiten Massenspeicher (MS2); – Ausführen eines Master-Betriebssystem-Kerns (MBS); – Ausführen des ersten und des zweiten Betriebssystem-Kerns (BS1, BS2), jeweils unter Kontrolle des Master-Betriebssystem-Kerns (MBS) und – Durchführen, durch den ersten Betriebssystem-Kern (BS1), von Software-Aktualisierungen für den zweiten Betriebssystem-Kern (BS2) unter Nutzung der Datenbank für die Softwareverwaltung.
DE102012200155A 2012-01-05 2012-01-05 Rechnersystem und Verfahren zum Betreiben eines Rechnersystems Ceased DE102012200155A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE102012200155A DE102012200155A1 (de) 2012-01-05 2012-01-05 Rechnersystem und Verfahren zum Betreiben eines Rechnersystems
CN201280066182.1A CN104040498A (zh) 2012-01-05 2012-12-19 用于在具有或不具有写入权限的不同的存储区域中更新程序和数据的计算机系统
US14/369,985 US20140372999A1 (en) 2012-01-05 2012-12-19 Computer system for updating programs and data in different memory areas with or without write authorizations
EP12810249.8A EP2801027A1 (de) 2012-01-05 2012-12-19 Rechnersystem zum aktualisieren von programmen und daten in unterschiedlichen speicherbereichen mit oder ohne schreibberechtigungen
PCT/EP2012/076219 WO2013102564A1 (de) 2012-01-05 2012-12-19 Rechnersystem zum aktualisieren von programmen und daten in unterschiedlichen speicherbereichen mit oder ohne schreibberechtigungen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102012200155A DE102012200155A1 (de) 2012-01-05 2012-01-05 Rechnersystem und Verfahren zum Betreiben eines Rechnersystems

Publications (1)

Publication Number Publication Date
DE102012200155A1 true DE102012200155A1 (de) 2013-07-11

Family

ID=47504954

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012200155A Ceased DE102012200155A1 (de) 2012-01-05 2012-01-05 Rechnersystem und Verfahren zum Betreiben eines Rechnersystems

Country Status (5)

Country Link
US (1) US20140372999A1 (de)
EP (1) EP2801027A1 (de)
CN (1) CN104040498A (de)
DE (1) DE102012200155A1 (de)
WO (1) WO2013102564A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5756144B2 (ja) * 2013-04-22 2015-07-29 レノボ・シンガポール・プライベート・リミテッド オペレーティング・システムの管理方法、コンピュータ・プログラムおよびコンピュータ
US9910660B2 (en) * 2013-08-05 2018-03-06 Harman International Industries, Incorporated Operating system replacement for in-vehicle computing system
DE102013226700A1 (de) 2013-12-19 2015-06-25 Continental Automotive Gmbh Fahrzeugelektronikeinheit
CN104268470B (zh) * 2014-09-26 2018-02-13 酷派软件技术(深圳)有限公司 安全控制方法和安全控制装置
CN105590061B (zh) * 2014-12-17 2018-09-21 中国银联股份有限公司 用于可信执行环境的安全操作系统更新方法
CN108024002B (zh) * 2016-10-31 2021-05-07 成都卫士通信息产业股份有限公司 一种基于rom的双域手机系统的构建方法
CN109857411A (zh) * 2018-12-13 2019-06-07 正方软件股份有限公司 在Linux系统下安装数据库的方法及装置
US11360812B1 (en) * 2018-12-21 2022-06-14 Apple Inc. Operating system apparatus for micro-architectural state isolation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100275204A1 (en) * 2009-04-28 2010-10-28 Koichiro Kamura Computing machine

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473772A (en) * 1991-04-02 1995-12-05 International Business Machines Corporation Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs
US6138274A (en) * 1998-01-23 2000-10-24 Lucent Technologies, Inc. Method and apparatus for updating an online computer program
US6324692B1 (en) * 1999-07-28 2001-11-27 Data General Corporation Upgrade of a program
US20030018892A1 (en) * 2001-07-19 2003-01-23 Jose Tello Computer with a modified north bridge, security engine and smart card having a secure boot capability and method for secure booting a computer
KR100433056B1 (ko) * 2001-08-18 2004-05-24 엘지전자 주식회사 프로그램 업그레이드 방법
WO2004066091A2 (en) * 2003-01-21 2004-08-05 Bitfone Corporation Update system capable of updating software across multiple flash chips
US20040210888A1 (en) * 2003-04-18 2004-10-21 Bergen Axel Von Upgrading software on blade servers
US8572597B2 (en) * 2003-06-20 2013-10-29 Samsung Electronics Co., Ltd. Apparatus and method for performing an over-the-air software update in a dual processor mobile station
US20060075199A1 (en) * 2004-10-06 2006-04-06 Mahesh Kallahalla Method of providing storage to virtual computer cluster within shared computing environment
US8448162B2 (en) * 2005-12-28 2013-05-21 Foundry Networks, Llc Hitless software upgrades
US8364843B2 (en) * 2006-01-09 2013-01-29 Cisco Technology, Inc. Method and system for minimizing disruption during in-service software upgrade
US7661025B2 (en) * 2006-01-19 2010-02-09 Cisco Technoloy, Inc. Method of ensuring consistent configuration between processors running different versions of software
TWI317887B (en) * 2006-10-23 2009-12-01 Quanta Comp Inc Modular management blade system and code updating method
JP4359609B2 (ja) * 2006-11-15 2009-11-04 株式会社日立製作所 計算機システム、システムソフトウェア更新方法及び第1サーバ装置
ES2351259T3 (es) * 2007-03-12 2011-02-02 Secunet Security Networks Aktiengesellschaft Dispositivo de protección para una unidad programable de proceso de datos.
US8195866B2 (en) * 2007-04-26 2012-06-05 Vmware, Inc. Adjusting available persistent storage during execution in a virtual computer system
JP4987555B2 (ja) * 2007-04-27 2012-07-25 株式会社東芝 情報処理装置、および情報処理システム
US8898653B2 (en) * 2007-06-27 2014-11-25 International Business Machines Corporation Non-disruptive code update of a single processor in a multi-processor computing system
EP2375323A1 (de) * 2007-10-04 2011-10-12 Openpeak Inc. Firmware-Bild-Aktualisierung und -Verwaltung
JP4342595B1 (ja) * 2008-05-09 2009-10-14 株式会社東芝 情報処理装置、情報処理システム、および暗号化情報管理方法
US8352577B2 (en) * 2008-07-22 2013-01-08 Lockheed Martin Corporation Method and apparatus for updating information on an embedded system
US8578483B2 (en) * 2008-07-31 2013-11-05 Carnegie Mellon University Systems and methods for preventing unauthorized modification of an operating system
CN101408846B (zh) * 2008-11-24 2011-04-13 华为终端有限公司 一种杀毒软件升级的方法及相应的终端和系统
US8135964B2 (en) * 2008-12-09 2012-03-13 Nvidia Corporation Apparatus, system, method, and computer program product for executing a program utilizing a processor to generate keys for decrypting content
CN101782954B (zh) * 2009-01-20 2013-05-01 联想(北京)有限公司 一种异常进程的检测装置及方法
US8103847B2 (en) * 2009-04-08 2012-01-24 Microsoft Corporation Storage virtual containers
US8561056B2 (en) * 2009-07-06 2013-10-15 Red Hat Israel, Ltd. Automated installation of operating systems on virtual machines using checksums of screenshots
JP5431111B2 (ja) * 2009-10-22 2014-03-05 株式会社日立製作所 情報処理装置及びシステム設定方法
EP2513789B1 (de) * 2009-12-14 2019-10-23 Citrix Systems, Inc. Mit einer externen medienvorrichtung startbare sichere virtualisierungsumgebung
US20110238980A1 (en) * 2010-03-23 2011-09-29 Fujitsu Limited System and methods for remote maintenance in an electronic network with multiple clients
US8751781B2 (en) * 2010-05-28 2014-06-10 Dell Products, Lp System and method for supporting secure subsystems in a client hosted virtualization system
US9158561B2 (en) * 2011-08-18 2015-10-13 Vmware, Inc. Systems and methods for modifying an operating system for a virtual machine
US9165150B2 (en) * 2013-02-19 2015-10-20 Symantec Corporation Application and device control in a virtualized environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100275204A1 (en) * 2009-04-28 2010-10-28 Koichiro Kamura Computing machine

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SECUNET SECURITY NETWORKS AG: Ableitung von a priori Policies zum Schutz von Bordnetzen in Fahrzeug vor Angriffen aus dem Internet. Vortrag von secunet Automotive Security auf dem 12. Deutschen IT-Sicherheitskongress vom 10.-12. Mai 2011 in Bonn. Stand: 10.05.2011. URL: http://www.secunet.com/fileadmin/user_upload/Download/Printmaterial/deutsch/secunet_a_priori_policies_01.pdf [abgerufen am 04.10.2012] *

Also Published As

Publication number Publication date
CN104040498A (zh) 2014-09-10
EP2801027A1 (de) 2014-11-12
WO2013102564A1 (de) 2013-07-11
US20140372999A1 (en) 2014-12-18

Similar Documents

Publication Publication Date Title
DE112018002031B4 (de) Sichern einer betriebssystemkonfiguration unter verwendung von hardware
DE102012200155A1 (de) Rechnersystem und Verfahren zum Betreiben eines Rechnersystems
DE102008011925B4 (de) Sicheres Initialisieren von Computersystemen
DE102011103218B4 (de) Systeme, Verfahren und Vorrichtung zum Virtualisieren von TPM- Zugriffen
DE102008021567A1 (de) Computersystem mit sicherem Hochlaufmechanismus auf der Grundlage einer Verschlüsselung mit symmetrischem Schlüssel
DE112011104325T5 (de) Computerlesbare Speichermedien zum Verschlüsseln und Entschlüsseln einer virtuellen Platte
DE102009013384B4 (de) System und Verfahren zur Bereitstellung einer sicheren Anwendungsfragmentierungsumgebung
EP2807558B1 (de) Speichercontroller zur bereitstellung mehrerer definierter bereiche eines massenspeichermediums als unabhängige massenspeicher an einen master-betriebssystem-kern zur exklusiven bereitstellung an virutelle maschinen
DE102007057901A1 (de) Anordnung und Verfahren zur sicheren Aktualisierung von Firmwarevorrichtungen unter Verwendung eines Hypervisor
DE102012215196A1 (de) Schützen von Anwendungsprogrammen vor zerstörerischer Software oder Malware
DE102011082184A1 (de) Sicherheitsschutz für Speicherinhalt von Prozessorhauptspeicher
DE102012200613A1 (de) System und Verfahren zur Unterstützung von JIT in einem sicheren System und zufällig zugewiesenen Speicherbereichen
DE102012210368A1 (de) Hinterlegung und Optimierung von Quellcode für trusted Computing
DE112020003881T5 (de) System und verfahren zur durchführung von trusted computing mit fernbescheinigung und informationsisolierung auf heterogenen prozessoren über eine offene verbindung
DE112020005517T5 (de) Prozessgestütztes virtualisierungssystem zum ausführen eines sicheren anwendungsprozesses
DE112015007220T5 (de) Techniken zum Koordinieren von Vorrichtungshochfahrsicherheit
EP1762956A2 (de) Computer mit mindestens einer Anschlussmöglichkeit für ein Wechselspeichermedium und Verfahren zum Starten und Betreiben eines Computers mit einem Wechselspeichermedium
DE102009008362B4 (de) Verfahren der Handhabung von Speicherschlüsseln in einem sicheren System
EP4123448A1 (de) Absicherung eines einrichtevorgangs eines unterverzeichnisses und einer netzwerkschnittstelle für eine containerinstanz
DE102010038179A1 (de) Individuelle Aktualisierung von Computerprogrammen
EP3720039A1 (de) Verfahren für das konfigurieren eines sicherheitsmoduls mit mindestens einem abgeleiteten schlüssel
DE102020119389A1 (de) Vorrichtung und Verfahren zum sicheren Verwalten von Schlüsseln
EP2394232B1 (de) Vorrichtung und verfahren zum verhindern von unautorisierter verwendung und/oder manipulation von software
EP3690690B1 (de) Verfahren zum prüfen einer validität von daten und computerimplementierte vorrichtung zum verarbeiten von daten
DE102017011099A1 (de) Sichere Speicheranordnung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final