WO2013102564A1 - Rechnersystem zum aktualisieren von programmen und daten in unterschiedlichen speicherbereichen mit oder ohne schreibberechtigungen - Google Patents

Rechnersystem zum aktualisieren von programmen und daten in unterschiedlichen speicherbereichen mit oder ohne schreibberechtigungen Download PDF

Info

Publication number
WO2013102564A1
WO2013102564A1 PCT/EP2012/076219 EP2012076219W WO2013102564A1 WO 2013102564 A1 WO2013102564 A1 WO 2013102564A1 EP 2012076219 W EP2012076219 W EP 2012076219W WO 2013102564 A1 WO2013102564 A1 WO 2013102564A1
Authority
WO
WIPO (PCT)
Prior art keywords
operating system
mass storage
kernel
computer system
files
Prior art date
Application number
PCT/EP2012/076219
Other languages
English (en)
French (fr)
Inventor
Bernd Becker
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 CN201280066182.1A priority Critical patent/CN104040498A/zh
Priority to EP12810249.8A priority patent/EP2801027A1/de
Priority to US14/369,985 priority patent/US20140372999A1/en
Publication of WO2013102564A1 publication Critical patent/WO2013102564A1/de

Links

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

RECHNERSYSTEM ZUM AKTUALISIEREN VON PROGRAM MEN UND DATEN IN UNTERSCHIEDLICHEN SPEICHERBEREICHEN MIT ODER OHNE SCHREIBBERECHTIGUNGEN
Beschreibung
RechnerSystem und Verfahren zum Betreiben eines Rechnersystems
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 Betriebs Systemdateien 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 Software- Verwaltung 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 Massen- Speicher abgelegt.
Auf dem RechnerSystem beziehungsweise dem Prozessor wird dementsprechend zunächst der Master-Betriebssystem-Kern ausgeführt, welcher beispielsweise als Mikrokernel oder Separati- onskernel 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, Spei- eher oder ähnliches des jeweils anderen Betriebssystem-Kerns haben .
Vorzugsweise ist der erste Betriebssystem-Kern für ein sicheres Betriebssystem eingerichtet, auf dem insbesondere ledig- lieh eine geringe Anzahl von Programmen abläuft, welche im Wesentlichen außer zu Verwaltungs zwecken keine Interaktion mit einem Benutzer erfordern. Der zweite Betriebssystem-Kern ist zur Ausführung von prinzipiell beliebigen Programmen eingerichtet, beispielsweise Multimediaanwendungen wie Webbrow- ser, 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 System- und 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 er- hält.
In verschiedenen Ausführungsformen sind Systemdateien und Programmdateien für den zweiten Betriebssystem-Kern ausschließlich auf dem zweiten Massenspeicher gespeichert. Da- durch 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 Sicher- heitszertifikate zu authentifizieren. Die Sicherheits Zertifikate 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 ge- heimen 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 uner- wü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 Pro- grammbibliotheken 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 Massen- speichermedium, insbesondere einem nichtflüchtigen Massen- speichermedium, 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 Rechner- System 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 Softwareverwal- tung 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 Paket- manager, 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, aus- fü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 Figur 1 näher erläutert. Figur 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 MSI, MS2, MS3 eingerichtet, welche beispielsweise als Parti- tionen 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 Mikro- kernel 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 ar- beitet, 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 bei- spielsweise 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 Sicher- heitsrichtlinien 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 MSI, MS2. Auf dem ersten Massenspeicher MSI sind eine Datenbank für eine Softwareverwaltung SW-DB, Sicherheitszertifikate CERT und ein Virenscanner VS gespeichert. Betriebs system- dateien, Anwendungen, Bibliotheksdateien und Konfigurations- dateien sind für den ersten Betriebssystem-Kern BS1 entweder ebenfalls auf dem zweiten Massenspeicher MS2 oder vorzugsweise auf dem ersten Massenspeicher MSI abgelegt. Der zweite Betriebssystem-Kern BS2 hat keinerlei Zugriff auf den ersten Massenspeicher MSI und hat vorzugsweise auch keine Kenntnis von der Existenz dieses Massenspeichers MSI. Der Zugriff auf das Massenspeichermedium FLSH beziehungsweise die Massenspeicher MSI, 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 MSI 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 zwei- ten 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 Aktua- lisierung 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 Rech- nersystems 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 MSI, 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

Patentansprüche
RechnerSystem (100) mit einem Prozessor (CPU), einem ersten Massenspeicher (MSI) 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 (MSI) 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.
RechnerSystem (100) nach Anspruch 1, das derart eingerichtet ist, dass der erste Betriebssystem-Kern (BS1) auf den ersten und den zweiten Massenspeicher (MSI, MS2) jeweils Lesezugriff und Schreibzugriff hat, und dass der zweite Betriebssystem-Kern (BS2) auf den ersten Massenspeicher (MSI) keinen Lesezugriff und keinen Schreibzugriff sowie auf den zweiten Massenspeicher (MS2) Lesezugriff und keinen Schreibzugriff hat.
RechnerSystem (100) nach Anspruch 1 oder 2, bei dem Le sezugriffe und Schreibzugriffe auf den ersten und den zweiten Massenspeicher (MSI, 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 zwei- ten Betriebssystem-Kern (BS2) ausschließlich auf dem zweiten Massenspeicher (MS2) gespeichert sind.
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.
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.
RechnerSystem (100) nach einem der Ansprüche 1 bis 6, bei dem der erste Massenspeicher (MSI) 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.
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.
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 (MSI, MS2) auf einem gemeinsamen Mas senspeichermedium (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 (MSI);
Speichern von Systemdateien und Programmdateien für einen ersten Betriebssystem-Kern (BS1) auf dem ersten Massenspeicher (MSI) 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.
PCT/EP2012/076219 2012-01-05 2012-12-19 Rechnersystem zum aktualisieren von programmen und daten in unterschiedlichen speicherbereichen mit oder ohne schreibberechtigungen WO2013102564A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201280066182.1A CN104040498A (zh) 2012-01-05 2012-12-19 用于在具有或不具有写入权限的不同的存储区域中更新程序和数据的计算机系统
EP12810249.8A EP2801027A1 (de) 2012-01-05 2012-12-19 Rechnersystem zum aktualisieren von programmen und daten in unterschiedlichen speicherbereichen mit oder ohne schreibberechtigungen
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

Applications Claiming Priority (2)

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

Publications (1)

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

Family

ID=47504954

Family Applications (1)

Application Number Title Priority Date Filing Date
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

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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013226700A1 (de) 2013-12-19 2015-06-25 Continental Automotive Gmbh Fahrzeugelektronikeinheit

Families Citing this family (7)

* 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
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100031360A1 (en) * 2008-07-31 2010-02-04 Arvind Seshadri Systems and methods for preventing unauthorized modification of an operating system
US20110237234A1 (en) * 2010-03-23 2011-09-29 Fujitsu Limited System and methods for remote maintenance in an electronic network with multiple clients
US20110265183A1 (en) * 2009-12-14 2011-10-27 Zhixue Wu Secure virtualization environment bootable from an external media device
US20110296157A1 (en) * 2010-05-28 2011-12-01 Dell Products, Lp System and Method for Supporting Secure Subsystems in a Client Hosted Virtualization System

Family Cites Families (30)

* 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 엘지전자 주식회사 프로그램 업그레이드 방법
US7644406B2 (en) * 2003-01-21 2010-01-05 Hewlett-Packard Development Company, L.P. 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サーバ装置
EP1970782B1 (de) * 2007-03-12 2010-08-18 Secunet Security Networks Aktiengesellschaft Schutzeinrichtung für eine programmierbare datenverarbeitende Einheit
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
CN101815988A (zh) * 2007-10-04 2010-08-25 无极公司 固件映像更新和管理
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
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
JP2010257429A (ja) * 2009-04-28 2010-11-11 Toshiba Corp 計算機
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 株式会社日立製作所 情報処理装置及びシステム設定方法
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100031360A1 (en) * 2008-07-31 2010-02-04 Arvind Seshadri Systems and methods for preventing unauthorized modification of an operating system
US20110265183A1 (en) * 2009-12-14 2011-10-27 Zhixue Wu Secure virtualization environment bootable from an external media device
US20110237234A1 (en) * 2010-03-23 2011-09-29 Fujitsu Limited System and methods for remote maintenance in an electronic network with multiple clients
US20110296157A1 (en) * 2010-05-28 2011-12-01 Dell Products, Lp System and Method for Supporting Secure Subsystems in a Client Hosted Virtualization System

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013226700A1 (de) 2013-12-19 2015-06-25 Continental Automotive Gmbh Fahrzeugelektronikeinheit

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2013102564A1 (de) Rechnersystem zum aktualisieren von programmen und daten in unterschiedlichen speicherbereichen mit oder ohne schreibberechtigungen
DE102008021567B4 (de) Computersystem mit sicherem Hochlaufmechanismus auf der Grundlage einer Verschlüsselung mit symmetrischem Schlüssel
DE112018002031T5 (de) Sichern einer betriebssystemkonfiguration unter verwendung von hardware
DE102008011925B4 (de) Sicheres Initialisieren von Computersystemen
DE112011104325T5 (de) Computerlesbare Speichermedien zum Verschlüsseln und Entschlüsseln einer virtuellen Platte
DE102012215196A1 (de) Schützen von Anwendungsprogrammen vor zerstörerischer Software oder Malware
DE112011105688T5 (de) Ent- und Verschlüsselung von Anwendungsdaten
DE102009013384A1 (de) System und Verfahren zur Bereitstellung einer sicheren Anwendungsfragmentierungsumgebung
WO2013110736A1 (de) Speichercontroller zur bereitstellung mehrerer definierter bereiche eines massenspeichermediums als unabhängige massenspeicher an einen master-betriebssystem - kern zur exklusiven bereitstellung an virutelle maschinen
DE102012210368A1 (de) Hinterlegung und Optimierung von Quellcode für trusted Computing
EP3557463B1 (de) Verfahren und ausführungsumgebung zum ausführen von programmcode auf einem steuergerät
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
DE102010038179B4 (de) Individuelle Aktualisierung von Computerprogrammen
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
EP3720039A1 (de) Verfahren für das konfigurieren eines sicherheitsmoduls mit mindestens einem abgeleiteten schlüssel
EP3937039A1 (de) Verfahren zur erweiterten validierung eines containerabbilds
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
DE102005046696B4 (de) Verfahren zum Erzeugen von geschütztem Programmcode und Verfahren zum Ausführen von Programmcode eines geschützten Computerprogramms sowie Computerprogrammprodukt
DE102021127242A1 (de) System und Verfahren zum Signieren und Verriegeln einer Boot-Informationsdatei für ein Host-Computersystem
DE102020206039A1 (de) Erstellen einer Container-Instanz
EP3690690B1 (de) Verfahren zum prüfen einer validität von daten und computerimplementierte vorrichtung zum verarbeiten von daten
DE102015207004A1 (de) Verfahren zum geschützten Zugriff auf Sicherheitsfunktionen eines Sicherheitsmoduls eines Hostsystems

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12810249

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2012810249

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2012810249

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 14369985

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE