DE102013005971B3 - Schadsoftware-sicheres Datenverarbeitungssystem - Google Patents

Schadsoftware-sicheres Datenverarbeitungssystem Download PDF

Info

Publication number
DE102013005971B3
DE102013005971B3 DE102013005971.2A DE102013005971A DE102013005971B3 DE 102013005971 B3 DE102013005971 B3 DE 102013005971B3 DE 102013005971 A DE102013005971 A DE 102013005971A DE 102013005971 B3 DE102013005971 B3 DE 102013005971B3
Authority
DE
Germany
Prior art keywords
data
processor
memory
access
main
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102013005971.2A
Other languages
English (en)
Inventor
Patentinhaber gleich
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE102013005971.2A priority Critical patent/DE102013005971B3/de
Priority to PCT/EP2014/056190 priority patent/WO2014166753A1/de
Priority to EP14715865.3A priority patent/EP2984572A1/de
Priority to US14/783,303 priority patent/US9881169B2/en
Application granted granted Critical
Publication of DE102013005971B3 publication Critical patent/DE102013005971B3/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

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

Abstract

Die Erfindung betrifft ein Datenverarbeitungssystem bei dem eine strikte Trennung von Prozessoraufgaben und Datenkategorien vorliegt, wobei Prozessoraufgaben getrennt werden in Software laden und initialisieren (Ladeprozessor (8)) und Dateienbearbeitung (Hauptprozessor (1)) und Datenkategorien getrennt werden in Adressdaten (12), Instruktionen (11), funktionsinterne Daten (13), Zieldaten des Hauptprozessors (14) und Zieldaten des Ladeprozessors (15). Dadurch besteht Schutz vor Schadsoftware unabhängig vom Übertragungsmedium und von der Art der Schadsoftware, auch gegen zukünftige Schadsoftware und ohne Leistungseinbußen des Rechnersystems.

Description

  • Die vorliegende Erfindung betrifft ein Datenverarbeitungssystem mit den Merkmalen des Oberbegriffs des Anspruchs 1.
  • Elektronische Datenverarbeitungssysteme sind komplexe Gebilde zur Lösung von Datenverarbeitungsaufgaben. Sie setzen sich aus Teilsystemen zusammen, deren Zusammenwirken erst die Aufgabenerfüllung ermöglicht. Wichtige Teilsysteme sind: a) Die instrumentalen Komponenten: Hardware, Software, Firmware (Mikroprogrammierung), Orgware (Organisationswissen) und b) die Komponenten der Anwendungsseite: Aufgaben, Benutzer, Bedienung (Operating) und Systempflege.
  • Herkömmliche Rechnersysteme basieren auf dem Prinzip der Von-Neumann-Architektur.
  • Die Hauptidee der von-Neumann-Hardwarearchitektur ist, dass ein gemeinsamer Speicher für Software und Daten vorliegt, wodurch sich die Software selbst verändern kann. Fünf Funktionseinheiten liegen der Architektur zugrunde: ein Steuerwerk, ein Rechenwerk, ein Speicher, ein Eingabewerk und ein Ausgabewerk. Die zentrale Einheit bilden dabei der Arbeitsspeicher und der Hauptprozessor, der das Steuer- und Rechenwerk beinhaltet. Der Hauptprozessor transportiert Informationen aus dem Arbeitsspeicher in die eigenen Register und zurück über ein Bussystem, welches aus einem bidirektionalem Instruktionsbus und einem bidirektionalen Operandenbus besteht. Tatsächlich transportieren beide Busse Informationen die je nach betrachtetem Bus als Instruktionen bzw. Operanden interpretiert werden. Bestimmt werden die transportierten Daten jedoch durch ihre jeweilige Adresse. Beide Busse haben üblicherweise Zugriff auf dieselben Arbeitsspeicherbereiche. Ferner sind bei herkömmlichen Rechnern Instruktionen und Operanden ohne wechselseitige Abtrennung abgelegt, so dass Operanden wie Instruktionen über jeden der beiden Busse transportiert werden können.
  • In der heutigen Zeit, in der die Benutzung von Computern allgegenwärtig den menschlichen Alltag beherrscht, ist die Gewährleistung von Sicherheit bei der Benutzung von Rechnersystemen ein essentieller Gesichtspunkt.
  • Sogenannte Schadsoftware kann in Form von Computerprogrammen vom Benutzer unerwünschte und gegebenenfalls schädliche Funktionen innerhalb des Rechnersystems ausführen. Schadsoftware profitiert von der Hardwarearchitektur handelsüblicher Rechner insofern, dass sie in Gestalt von Operanden oder modifizierten Instruktionen in die Arbeitsspeicherbereiche und von dort über den Instruktionsbus zu den Prozessoren gelangen, in denen sie ihre schädliche Auswirkung verursachen.
  • Nach dem Stand der Technik erfolgt der Schutz von Rechnersystemen vor Schadsoftware durch den Einsatz von Abwehrsoftware, die solche Schadsoftware erkennt und in geeigneter Weise behandelt. Dieses Verfahren hat als wesentlichen Nachteil, dass es den Kreationen der Ersteller von Schadsoftware zeitlich stets hinterher hinkt, da neue Schadsoftware erst erkannt werden muss um ein Gegenmittel zu programmieren, welches schließlich installiert und integriert wird. Ferner benötigt diese Abwehrsoftware Betriebsmittel, die für den ursprünglich vorgesehenen Einsatz der Rechner nicht mehr zur Verfügung stehen.
  • Aus der Schrift DE 199 50 255 B4 ist eine Optimierung von Mikroprozessoren bekannt, die es erlaubt, den Durchsatz der CPU zu verbessern, indem die Effizienz der Nutzung der Busse verbessert wird. Dabei werden Daten und Instruktionen sowohl beim Zugriff als auch bei der Speicherung getrennt behandelt. Eine Hardware gewährleistete Sicherheit vor Schadsoftware ist nicht offenbart.
  • Die US 7,000,092 B2 offenbart ein Referenzsystem für das Zusammenwirken mehrerer Prozessoren. Auch hier ist eine Hardware gewährleistete Sicherheit vor Schadsoftware nicht vorgesehen.
  • Aus der Schrift US 8,117,642 B2 ist eine Hardware bekannt, die zwischen einem privilegierten und als sicher angesehenen Modus und einem nicht privilegierten, potentiell unsicheren Modus unterscheidet, wobei Instruktionen auf der Ebene von Routinen diesen Modi eindeutig und fest zugeordnet sind. Ein absoluter Schutz von schutzwürdigen Daten, wenn der Prozessor im potentiell unsicheren Modus läuft, ist jedoch nicht gegeben.
  • Es ist eine Aufgabe der vorliegenden Erfindung ein Datenverarbeitungssystem so bereitzustellen, dass die zugrunde gelegte Hardwarearchitektur vor Auswirkungen von Schadsoftware schützt.
  • Diese Aufgabe wird von einem Datenverarbeitungssystem mit den Merkmalen des Anspruchs 1 gelöst.
  • Danach ist ein Datenverarbeitungssystem aufweisend wenigstens einen Hauptprozessor, wenigstens einen permanenten Datenspeicher und wenigstens einen Arbeitsspeicher, wobei der wenigstens eine Hauptprozessor mit wenigstens einer Ein-/Ausgabe-Hardware (Interface) verbunden ist, und wobei der wenigstens eine Hauptprozessor mit dem wenigstens einen Arbeitsspeicher über wenigstens einen Instruktionsbus und über wenigstens einen Operandenbus kommuniziert und getrennt davon bidirektional mit dem wenigstens einen permanenten Datenspeicher kommuniziert, vorgesehen mit wenigstens einem Ladeprozessor, der bidirektional mit wenigstens einem permanenten Software-Speicher und wenigstens einem externen Software-Speicher kommuniziert und der mit dem wenigstens einen Arbeitsspeicher über wenigstens einen Instruktionsbus und über wenigstens einen Operandenbus getrennt und unabhängig von dem wenigstens einen Hauptprozessor kommuniziert, wobei die Kommunikation zwischen dem wenigstens einen Hauptprozessor und dem wenigstens einen Arbeitsspeicher über den wenigstens einen Instruktionsbus und den wenigstens einen Operandenbus erfolgt, die Kommunikation zwischen dem wenigstens einen Ladeprozessor und dem wenigstens einen Arbeitsspeicher über den wenigstens einen Instruktionsbus und den wenigstens einen Operandenbus erfolgt, sowohl die Kommunikation zwischen dem wenigstens einem Hauptprozessor und der wenigstens einen Ein-/Ausgabe-Hardware sowie dem wenigstens einen permanenten Datenspeicher als auch die Kommunikation zwischen dem wenigstens einen Ladeprozessor und dem wenigstens einen externen Software-Speicher sowie dem wenigstens einen permanenten Software-Speicher über Zugriffsattribute kontrolliert sind. Durch das Vorhandensein des Hauptprozessors und des davon getrennten Ladeprozessors werden die Prozessoraufgaben strikt getrennt.
  • Dabei ist es bevorzugt vorgesehen, dass die Daten in dem wenigstens einen Arbeitsspeicher nach Datenkategorien kategorisiert sind, wobei in Abhängigkeit von den Kategorien unterschiedliche Zugriffsattribute definiert sind, nämlich Hauptprozessor-Zugriffsattribute für den wenigstens einen Hauptprozessor und Ladeprozessor-Zugriffsattribute für den wenigstens einen Ladeprozessor, und wobei Daten gleicher Datenkategorien gleiche Hauptprozessor-Zugriffsattribute für den Zugriff durch den wenigstens einen Hauptprozessor und gleiche Ladeprozessor-Zugriffsattribute für den Zugriff durch den wenigstens einen Ladeprozessor aufweisen. Somit wird die Trennung der Prozessoraufgaben auf der Ebene der Daten weitergeführt, in dem bestimmte Datenkategorien den unterschiedlichen Prozessoraufgaben mit Zugriffsattributen zugeordnet werden, wobei die Zugriffsattribute von Hauptprozessor und Ladeprozessor auf die selbe Datenkategorie verschieden sein können.
  • Dabei ist es vorteilhaft, wenn für jede Datenkategorie wenigstens ein separater Arbeitsspeicher vorgesehen ist. Die Separation wird somit auch physisch vorgenommen, was die strikte Trennung weiter unterstützt.
  • Vorzugsweise sind folgende Datenkategorien vorgesehen: Adressdaten, Instruktionen, funktionsinterne Daten, Zieldaten des wenigstens einen Hauptprozessors (Hauptprozessorzieldaten) und Zieldaten des wenigstens einen Ladeprozessors (Ladeprozessorzieldaten).
  • Um das Rechnersystem vor Schadsoftware zu schützen ist die Trennung von Datenkategorien und Prozessoraufgaben durch Hauptprozessor- und Ladeprozessor-Zugriffsattribute kontrolliert. Dabei ist es bevorzugt, dass der wenigstens eine Hauptprozessor keinen Zugriff auf den wenigstens einen permanenten Software-Speicher hat, Zugriff auf den wenigstens einen Arbeitsspeicher für Instruktionen über den wenigstens einen Instruktionsbus hat und dieser auf die Zugriffsart „Lesen” beschränkt ist, Zugriff auf den wenigstens einen Arbeitsspeicher für Adressdaten über den wenigstens einen Operandenbus hat und dieser auf die Zugriffsart „Lesen” beschränkt ist, Zugriff auf die funktionsinternen Daten über den wenigstens einen Operandenbus hat und dieser in den Zugriffsarten „Schreiben” und/oder „Lesen” erfolgt, und Zugriff auf die Hauptprozessorzieldaten über den wenigstens einen Operandenbus hat und dieser in den Zugriffsarten „Schreiben” und/oder „Lesen” erfolgt, und keinen Zugriff auf die Ladeprozessorzieldaten des wenigstens einen Ladeprozessors hat.
  • Weiterhin ist es bevorzugt, dass der wenigstens eine Ladeprozessor Zugriff auf den wenigstens einen externen Software-Speicher hat und dieser auf die Zugriffsart „Lesen” beschränkt ist, und Zugriff auf den wenigstens einen permanenten Software-Speicher hat und dieser in den Zugriffsarten „Schreiben” und/oder „Lesen” erfolgt, Zugriff auf den wenigstens einen Arbeitsspeicher für Instruktionen über den wenigstens einen Operandenbus hat und dieser auf die Zugriffsart „Schreiben” beschränkt ist, Zugriff auf den wenigstens einen Arbeitsspeicher für Instruktionen über den wenigstens einen Instruktionsbus hat und dieser auf die Zugriffsart „Lesen” beschränkt ist, Zugriff auf den wenigstens einen Arbeitsspeicher für die Ladeprozessorzieldaten, Adressdaten und funktionsinternen Daten über den wenigstens einen Operandenbus hat und dieser in den Zugriffsarten „Schreiben” und/oder „Lesen” erfolgt, und keinen Zugriff auf die Hauptprozessorzieldaten des wenigstens einen Hauptprozessors hat.
  • Um das Rechnersystem vor dem Einbringen von Schadsoftware durch Medien zu schützen ist es vorteilhaft vorgesehen, dass das Datenverarbeitungssystem einen Medienprozessor aufweist, der über wenigstens einen Instruktionsbus und wenigstens einen Operandenbus jeweils bidirektional mit wenigstens einem separaten Arbeitsspeicher für Mediendaten kommuniziert, wobei der Medienprozessor über einen eigenen permanenten Mediendatenspeicher verfügt mit dem er bidirektional kommuniziert, und wobei der Medienprozessor mit einer eigenen Ein-/Ausgabe-Hardware (Interface) verbunden ist. Durch den bidirektionalen Zugriff des Hauptprozessors über den Operandenbus auf die Mediendaten ist das Rechnersystem in der Lage von Medien verfügbar gemachte Software sicher auszuführen.
  • Unabhängig von der Größe des Rechnersystems ist das erfindungsgemäße Datenverarbeitungssystem anwendbar. Dabei ist es vorteilhaft, dass beim Vorhandensein von mehr als einem Hauptprozessor die Hauptprozessoren unabhängig voneinander einsetzbar sind, wobei jeder Hauptprozessor mit einem ihm fest zugeordneten Speicher für Hauptprozessorzieldaten kommuniziert, auf den die jeweils andern Hauptprozessoren keinen Zugriff haben, und wobei alle Hauptprozessoren über einen zusätzlichen gemeinsamen Arbeitsspeicher für gemeinsame Zieldaten zur kontrollierten Datenübergabe zwischen den Hauptprozessoren verfügen. Durch diese Anordnung kann zum Beispiel ein Rechnersystem mit „Rot-Schwarz-Trennung” realisiert werden.
  • Es kann aber auch bevorzugt sein, dass beim Vorhandensein von mehr als einem Hauptprozessor, die Hauptprozessoren unabhängig voneinander eingesetzt werden, wobei alle Hauptprozessoren über einen gemeinsamen Arbeitsspeicher für Hauptprozessorzieldaten mit den Zugriffsattributen „Schreiben” und „Lesen” verfügen. Der gemeinsame Arbeitsspeicher für gemeinsame Zieldaten zur kontrollierten Datenübergabe ist hierbei nicht vorhanden und wird durch einen gemeinsam genutzten Arbeitsspeicher für alle Hauptprozessorzieldaten ersetzt.
  • Weiterhin ist es vorteilhaft vorgesehen, dass ein externes Lesegerät für das Lesen von Software in den Arbeitsspeicher vorgesehen ist und dass das Lesegerät von dem wenigstens einen Ladeprozessor gesteuert wird, wobei der wenigstens eine Ladeprozessor mit dem externen Lesegerät für Software eine Schnittstelle bildet, die physisch so eingerichtet ist, dass herkömmliche Lesegeräte für Datenträger damit nicht betrieben werden können, so dass ein unbeabsichtigtes Laden von Software verhindert wird. Ein externes Lesegerät kann zum Beispiel bei Organisationen, in denen gleiche Rechnerausstattung in Hinsicht auf Software gefordert ist, wünschenswert sein.
  • Weiterhin ist es bevorzugt, dass der Ladeprozessor in einem externen Ladegerät für das Laden von Software in den Arbeitsspeicher angeordnet ist. Diese Anordnung erlaubt das Übertragen von Software vom Ladegerät direkt auf den Arbeitsspeicher für Software nach dem Speicherdirektzugriffsverfahren (Direct Memory Access, DMA) oder ähnlichen Verfahren. Dies ist zum Beispiel vorteilhaft für Rechnersysteme mit geringer Anzahl von Softwareladevorgängen, bei denen nur zu diesem Zweck das externe Ladegerät mit dem Rechnersystem verbunden wird.
  • In dem erfindungsgemäßen Datenverarbeitungssystem kann es bevorzugt sein, dass die Datenkategorien funktionsinterne Daten (13) und Ladeprozessorzieldaten (15) dem selben physikalischen Arbeitsspeicher zugeordnet sind.
  • Es ist vorteilhafterweise ein Computerprogramm vorgesehen, das Ausgaben von Programmgenerierungswerkzeugen umsetzt, wobei die Umsetzung so erfolgt, dass die Datenkategorien geschaffen und als Datensegmente erzeugt werden, die von den erfindungsgemäßen Datenverarbeitungssystemen verarbeitbar sind.
  • Weiterhin ist ein Computerprogramm, das auf der von-Neumann-Architektur oder der Harvard-Architektur ausführbare Programme umsetzt, bevorzugt vorgesehen, wobei die Umsetzung so erfolgt, dass die Datenkategorien geschaffen und als Datensegmente erzeugt werden, die von den erfindungsgemäßen Datenverarbeitungssystemen verarbeitbar sind.
  • Bevorzugte Ausführungsformen der Erfindung werden nachfolgend anhand der Zeichnungen näher erläutert. In den Zeichnungen sind die gleichen Funktionselemente mit den gleichen Bezugszeichen versehen.
  • Es zeigen:
  • 1: ein Blockschaltbild einer Von-Neumann-Hardwarearchitektur,
  • 2: ein Blockschaltbild einer erfindungsgemäßen Anordnung mit getrenntem internen Ladeprozessor,
  • 3: ein Blockschaltbild der erfindungsgemäßen Anordnung mit zusätzlichem Medienprozessor,
  • 4: ein Blockschaltbild einer erfindungsgemäßen Anordnung mit externem Lesegerät für Software,
  • 5: ein Blockschaltbild einer erfindungsgemäßen Anordnung mit externem Ladegerät,
  • 6: ein Blockschaltbild einer erfindungsgemäßen Anordnung mit zwei voneinander unabhängigen Hauptprozessoren, wobei jeder Hauptprozessor mit einem ihm fest zugeordneten Speicher für Hauptprozessorzieldaten kommuniziert und beide Hauptprozessoren Daten über einen gemeinsamen Arbeitsspeicher austauschen, sowie
  • 7: ein Blockschaltbild einer erfindungsgemäßen Anordnung mit zwei voneinander unabhängigen Hauptprozessoren, wobei die Hauptprozessoren über einen gemeinsamen Arbeitsspeicher für Hauptprozessorzieldaten verfügen.
  • 1 zeigt den Stand der Technik in Form eines Blockschaltbildes. Die dargestellte Von-Neumann-Hardwarearchitektur besteht aus einem Hauptprozessor 1, einem Arbeitsspeicher 2, einem permanenten Datenspeicher 3, einer Ein-/Ausgabe-Hardware 4 und einem Bussystem 50. Bei dem Bussystem 50 wird unterschieden zwischen Instruktionsbus 60, der die Instruktionen übermittelt und Operandenbus 70, der die Operanden übermittelt. Der Hauptprozessor 1 kommuniziert mit dem Arbeitsspeicher 2 über das Bussystem 50 bidirektional. Weiterhin hat der Hauptprozessor 1 bidirektionalen Zugang zum permanenten Datenspeicher 3.
  • In der 2 ist eine Ausführungsform des erfindungsgemäßen Datenverarbeitungssystems gezeigt. Neben einem Hauptprozessor 1, der bidirektional mit einer Ein-/Ausgabe-Hardware 4 und einem permanenten Datenspeicher 3 kommuniziert, liegt ein zweiter Prozessor, der Ladeprozessor 8 vor. Der Ladeprozessor 8 kommuniziert bidirektional mit einem eigenen permanenten Speicher 9 zum Speichern von Software und einem eigenen externen Software-Speicher 10. Beide Prozessoren stehen über jeweils ein Bussystem 50, 51 in Verbindung mit einem Arbeitsspeicher 2. Die Bussysteme 50, 51 umfassen jeweils einen Instruktionsbus 60, 61 und einen Operandenbus 70, 71 die den jeweiligen Prozessor 1, 8 mit dem Arbeitsspeicher 2 verbinden. Der Arbeitsspeicher 2 ist in fünf physische Arbeitsspeichereinheiten aufgeteilt. In diesen werden folgende Datenkategorien gespeichert: Instruktionen 11, Adressdaten 12, funktionsinterne Daten 13, Zieldaten für den Hauptprozessor 14 und Zieldaten für den Ladeprozessor 15. Der Hauptprozessor 1 und der Ladeprozessor 8 haben entsprechend den Datenkategorien unterschiedliche Zugriffsrechte auf die Arbeitsspeichereinheiten. Im Folgenden wird die Busstruktur 50, 51 mit den Definitionen der Datenkategorien und der Zugriffsrechte näher beschrieben.
  • Die erste Datenkategorie ist die der Instruktionen 11. Instruktionen 11 sind die von den Prozessoren auszuführenden kleinsten Softwareteile. Sie sind für alle darauf angewiesenen Prozessoren über ihren Instruktionsbus 60, 61 ausschließlich lesend zugreifbar. Allein der Ladeprozessor 8 darf über seinen Operandenbus 71 schreibend auf Instruktionen 11 zugreifen, das ist eine Voraussetzung für das Laden von Software. Instruktionen 11 werden im Rahmen der Generierung von Software unter Qualitäts- und Konfigurations-Kontrolle erzeugt und geladen.
  • Eine weitere Datenkategorie ist die der Adressdaten 12. Adressdaten 12 dienen dazu, Werte mit den Adressen der zugehörigen Software-Funktionen zu verknüpfen. Sie sind für alle darauf angewiesenen Prozessoren 1 über ihren Operandenbus 70 ausschließlich lesend zugreifbar. Allein der Ladeprozessor 8 darf über seinen Operandenbus 71 schreibend auf Adressdaten 12 zugreifen, das ist eine Voraussetzung für das Laden von Software. Adressdaten 12 werden im Rahmen der Generierung von Software unter Qualitäts- und Konfigurations-Kontrolle erzeugt und geladen.
  • Eine weitere Datenkategorie sind die funktionsinternen Daten 13. Funktionsinterne Daten 13 sind Teil der Software, die dem kontrollierten Funktionsablauf dienen. Sie sind für alle darauf angewiesenen Prozessoren 1, 8 über ihren Operandenbus 70, 71 schreibend und lesend zugreifbar. Funktionsinterne Daten 13 werden im Rahmen der Generierung von Software unter Qualitäts- und Konfigurations-Kontrolle erzeugt und geladen.
  • Eine weitere Kategorie sind die Zieldaten für den Hauptprozessor 14. Diese Daten gehören nicht zur Programmfunktion, aber Programmfunktionen wirken auf diese Daten. Sie sind für den Hauptprozessor 1 und zusätzliche Prozessoren über ihren Operandenbus 70 schreibend und lesend zugreifbar. Der Ladeprozessor 8 hat keinen Zugriff – weder schreibend noch lesend – auf diese Zieldaten 14. Dadurch wird verhindert, dass Zieldaten 14 auf diesem Weg in Speicherbereiche gelangen können, die Instruktionen 11 oder Adressdaten 12 vorbehalten sind.
  • Weiterhin weist der Arbeitsspeicher 2 die Kategorie Zieldaten für den Ladeprozessor 15 auf. Zieldaten für den Ladeprozessor 15 sind Daten, auf die Softwarefunktionen wirken, die aber nicht zur Softwarefunktion gehören. Sie sind nur für den Ladeprozessor 8 über seinen Operandenbus 71 schreibend und lesend zugreifbar. Der Hauptprozessor 1 hat keinen Zugriff auf diese Zieldaten 15.
  • Der Ladeprozessor 8 ist hierarchisch dem Hauptprozessor 1 untergeordnet. Sein Instruktionsbus 61 und Operandenbus 71 sind von denen des Hauptprozessors 60, 70 getrennt und unabhängig. Er hat folgende Aufgaben zu erfüllen:
    • – Kopieren von Software von externen Software-Speicher 10 zum Permanentspeicher für Software 9,
    • – Kopieren von Software vom permanenten Software-Speicher 9 in die Arbeitsspeicher 2 für Instruktionen 11, funktionsinterne Daten 13 und Adressdaten 12
    • – und gegebenenfalls vorliegende Softwarestrukturen umwandeln um Kompatibilität mit der Systemarchitektur zu erreichen.
  • Die Systemumgebung bestimmt die Leistungsfähigkeit des Ladeprozessors 8. Für Systeme mit geringer Anzahl von Software-Ladevorgängen, z. B. eingebettete Systeme, darf der Ladeprozessor 8 eine externe Komponente sein, die nur zu diesem Zweck mit dem System verbunden wird.
  • Der Hauptprozessor 1 erfüllt alle anderen vorgesehenen Aufgaben des Rechners. Sein Instruktionsbus 60 und Operandenbus 70 sind von denen des Ladeprozessors 61, 71 getrennt und unabhängig. Er hat keinen Zugriff auf den Permanentspeicher für Software 9. Sein Zugriff auf den Arbeitsspeicher 2 für Instruktionen 11 ist auf Lesen über den Instruktionsbus 60 beschränkt. Sein Zugriff auf den Arbeitsspeicher 2 für Adressdaten 12 ist beschränkt auf das Lesen über den Operandenbus 70. Sein Zugriff auf den Arbeitsspeicher 2 für seine Zieldaten 14 erfolgt schreibend und lesend über den Operandenbus 70. Er hat keinen Zugriff auf die Zieldaten des Ladeprozessors 15.
  • Der Hauptprozessor 1 ist nicht in den beabsichtigten Transfer von auszuführender Software involviert. Aber die Software, welche als Gegenstand von Software-Entwicklungsmaßnahmen aktuell bearbeitet wird, gehört der Kategorie Zieldaten an.
  • Während der Ausführung von Ladefunktionen sind konkurrierende Zugriffe von Ladeprozessor 8 und Hauptprozessor 1 auf den Arbeitsspeicher 2 für funktionsinterne Daten 13 und Adressdaten 12 möglich. Auf Grund der strikten Trennung von Datenkategorien kann diese Situation nicht zur Verbreitung von Schadsoftware führen. Außerdem wird der Zugriff auf dieselben Daten bereits durch die Zuweisung von verschiedenen Adressen bei der Softwaregenerierung und dem Ladevorgang verhindert.
  • Im Permanentspeicher für Zieldaten 3 werden ausschließlich Daten der Kategorie Zieldaten für den Hauptprozessor 1 gespeichert. Nur der Hauptprozessor 1 hat Zugriff zu diesen Daten. Der Ladeprozessor 8 hat keinen Zugriff zu diesen Daten, weder schreibend noch lesend.
  • Im Permanentspeicher für Software 9 werden Daten der Kategorien Instruktionen 11, Adressdaten 12 und funktionsinterne Daten 13 gespeichert. Auf diese Daten kann der Ladeprozessor 8 schreibend und lesend zugreifen. Kein anderer Prozessor darf auf diesen Speicher zugreifen. Zugriff zu diesem Speicher 9 erfolgt ausschließlich im Zusammenhang mit dem Installieren und Initialisieren von Software. Der permanente Software-Speicher 9 wird ausschließlich zum Zweck der Softwareinstallation beschrieben.
  • Die in 3 gezeigte Ausführungsform zeigt als Hauptbestandteil die Elemente und deren Anordnung gemäß 2. Zusätzlich verfügt der Aufbau über einen permanenten Mediendatenspeicher 16, einen Mediendaten-Arbeitsspeicher 17, ein Mediendaten-Bussystem mit Instruktions- und Operandenbus 62, 72, eine eigene Ein-/Ausgabe-Hardware 40 und einen Medienprozessor 18 für die Bearbeitung von Daten und zur Ausführung von Software, die über Medien verfügbar gemacht werden. Der Medienprozessor 18 kommuniziert bidirektional mit der Ein-/Ausgabe-Hardware 40 und hat keinen Zugriff zu den anderen vorliegenden Speichern 2, 3, 9. Zu dem Mediendaten-Arbeitsspeicher 17 haben nur der den Medien zugeordnete Medienprozessor 18 und der Hauptprozessor 1 Zugriff. Weiterhin hat zu dem permanenten Mediendatenspeicher 16 nur der den Medien zugeordnete Medienprozessor 18 Zugriff. Das Rechnersystem ist somit in der Lage mittels eines separaten Medienprozessors 18, die von den Medien verfügbar gemachte Software sicher auszuführen.
  • 4 zeigt im Wesentlichen das Blockschaltbild aus 2, wobei der externe Softwarespeicher durch ein externes Lesegerät für Software 19 ersetzt wurde. Die Schnittstelle zu dem externen Lesegerät für Softwareträger 19 ist physisch so eingerichtet, dass herkömmliche Lesegeräte für Datenträger damit nicht betrieben werden können, so dass ein unbeabsichtigtes Laden von Software verhindert wird. Anwendungen dieser Erfindung liegen zum Beispiel bei eingebetteten Systemen und bei Organisationen, in denen gleiche Rechnerausstattung in Hinsicht auf Software gefordert ist.
  • Die Ausführungsform der 5 zeigt neben einem Hauptprozessor 1, der bidirektional mit einer Ein-/Ausgabe- Hardware 4 und einem permanenten Datenspeicher 3 kommuniziert, einen Arbeitsspeicher 2, der über ein Bussystem 50 in Verbindung mit dem Hauptprozessor 1 steht und ein externes Ladegerät 20 für das Laden von Software. Das Bussystem 50 umfasst zur Kommunikation zwischen Hauptprozessor 1 und Arbeitsspeicher 2 einen Instruktionsbus 60 und einen Operandenbus 70. Der Arbeitsspeicher 2 ist in vier physische Arbeitsspeichereinheiten aufgeteilt. In diesen werden folgende Datenkategorien gespeichert: Instruktionen 11, Adressdaten 12, funktionsinterne Daten 13 und Zieldaten für den Hauptprozessor 14. Der Hauptprozessor 1 und das externe Ladegerät 20 haben entsprechend den Datenkategorien unterschiedliche Zugriffsrechte auf die Arbeitsspeichereinheiten. Das externe Ladegerät 20 greift ausschließlich auf die Instruktionen 11, Adressdaten 12 und funktionsinterne Daten 13 schreibend zu. Der Hauptprozessor 1 liest über den Instruktionsbus 60 die Instruktionen 11 und über den Operandenbus 70 die Adressdaten 12 des Arbeitsspeicher 2. Weiterhin kann der Hauptprozessor 1 sowohl schreibend als auch lesend auf die funktionsinternen Daten 13 und die Zieldaten des Hauptprozessors 14 des Arbeitsspeichers 2 zugreifen.
  • Das externe Ladegerät 20 stellt einen separaten Prozessor für das Laden von Software dar, wobei das so ausgerüstete Rechnersystem keinen eigenen Ladeprozessor und ihm zugeordneten Speicher aufweist. Damit verfügt es nicht über die Möglichkeit, Software unmittelbar von externen Software-Speichern zu lesen, oder Software während des Betriebes zu konfigurieren. Zum Laden von Software ist bei diesem Ausführungsbeispiel ein externes Gerät erforderlich, welches über eine entsprechende physisch unverwechselbarer Schnittstelle verfügt. Anwendungen dieses Ausführungsbeispiels liegen zum Beispiel bei Systemen, deren Software während des Betriebes nicht konfiguriert wird.
  • Die Ausführungsform dargestellt in 6 zeigt einen ersten und einen zweiten Hauptprozessor 1, 21, die unabhängig voneinander fungieren und die jeweils einen festen Satz an zugeordneten Funktionselementen aufweisen. Der jeweilige Hauptprozessor 1, 21 ist bidirektional mit der jeweiligen Ein-/Ausgabe-Hardware 4, 22 und dem jeweiligen permanenten Datenspeicher 3, 23 verbunden. Weiterhin verfügt jeder Hauptprozessor 1, 21 über ein Bussystem bestehend aus Instruktions- und Operandenbus 60, 63, 70, 73 über dem er mit dem jeweiligen Arbeitsspeicher 2, 24 kommuniziert. Der jeweilige Arbeitsspeicher 2, 24 ist in vier physisch voneinander getrennte Arbeitsspeicherbereiche aufgeteilt. Abhängig von den Zugriffsrechten des jeweiligen Hauptprozessors 1, 21 und eines vorhandenen Ladeprozessors 8 sind die Bereiche in Instruktionen 11, 25, Adressdaten 12, 26, funktionsinterne Daten 13, 27 und Zieldaten des jeweiligen Hauptprozessors 14, 28 aufgeteilt. Der bidirektional mit einem externen Software-Speicher 10 und einem permanenten Software-Speicher 9 kommunizierende Ladeprozessor 8 weist ein Bussystem bestehend aus Instruktions- und Operandenbus 61, 71 auf. Weiterhin ist ein zusätzlicher Arbeitsspeicher für die Zieldaten des Ladeprozessors 15 und für Übergabedaten 29 vorgesehen. Im Folgenden werden die Zugriffsrechte der Funktionselemente näher erläutert. Der jeweilige Hauptprozessor 1, 21 greift über den jeweiligen Instruktionsbus 60, 63 auf die Instruktionen 11, 25 und über den Operandenbus 70, 73 auf die Adressdaten 12, 26 des jeweiligen Arbeitsspeichers 2, 24 lesend zu. Sowohl lesend als auch schreibend erfolgt der Zugriff des jeweiligen Hauptprozessors 1, 21 auf die funktionsinternen Daten 13, 27 und die Zieldaten des jeweiligen Hauptprozessors 14, 28 im jeweiligen Arbeitsspeicher 2, 24. Bidirektional greifen beide Hauptprozessoren 1, 21 über ihren jeweiligen Operandenbus 70, 73 auf den Arbeitsspeicher für Übergabedaten 29 zu. Auf die Instruktionen 11 des ersten Hauptprozessors 1 und die Instruktionen 25 des zweiten Hauptprozessors 21 wird vom Ladeprozessor 8 schreibend über den Operandenbus 71 zugegriffen. Die Instruktionen 11 des ersten Hauptprozessors 1 werden vom Instruktionsbus 61 des Ladeprozessors 8 gelesen. Über den Operandenbus 71 des Ladeprozessors 8 wird bidirektional auf die Adressdaten 12, 26 und die funktionsinternen Daten 13, 27 der jeweiligen Hauptprozessor 1, 21 und Zieldaten des Ladeprozessors 15 zugegriffen. Diese Zwei-Prozessoren-Version erlaubt zum Beispiel die sichere Datenübergabe zwischen Netzwerken mit unterschiedlicher Sicherheitseinstufung. Die Rechnersysteme haben dabei üblicherweise Zugriff auf beide Netze und zwar von Software, die für diesen Zweck besonders strukturiert und aufwändig getestet sind, um unbeabsichtigte oder unerlaubte Datentransfers zu unterbinden. Die gleiche Problematik taucht bei der Ansteuerung von Effektoren auf Basis von Eingaben verschiedener Sensoren auf. Hierbei geht es neben der möglichen und durch Anwendung des erfindungsgemäßen Datenverarbeitungssystems vermeidbaren „Infektion” mit Schadsoftware unter den Teilsystemen darum, Situationen mit Hardware-Mitteln zu unterbinden, die den Ansteuerungsalgorithmus stören können. Diese Negativeffekte lassen sich durch die Zuordnung der Sensor- und Effektor-Funktionen zu jeweils einem separatem Prozessor vermeiden, wobei die jeweiligen Prozessoren eindeutig definierte und in der Hardware realisierte Zugriffe auf jeweils eigene und auf gemeinsame Daten haben.
  • 7 zeigt eine weitere Ausführungsform, deren Blockschaltbild im Wesentlichen der 6 entspricht. Der Unterschied liegt darin, dass der Arbeitsspeicher für Übergabedaten wegfällt und nur ein gemeinsamer Arbeitsspeicher für Zieldaten der Hauptprozessoren 30 vorliegt, auf den beide Hauptprozessoren 1, 21 bidirektional über ihren jeweiligen Operandenbus 70, 73 zugreifen. In dieser Ausführungsform liegt eine typische Mehrprozessoranwendung vor.
  • In einer weiteren hier nicht dargestellten Ausführungsform können die Zieldaten für den Ladeprozessor innerhalb der funktionsinternen Daten abgebildet werden; in diesem Fall kann auf die Datenkategorie Zieldaten des Ladeprozessors verzichtet werden.
  • Das erfindungsgemäße Datenverarbeitungssystem verhindert durch die Anordnung der Funktionselemente (Prozessoren, Arbeitsspeicher, Permanentspeicher), dass jegliche Schadsoftware durch Prozessoren ausgeführt werden kann. Zu Grunde liegt das Prinzip der strikten Trennung von Datenkategorien und Prozessoraufgaben. Das erfindungsgemäße Datenverarbeitungssystem ist prinzipiell auf alle Größenordnungen anwendbar, von Großrechnern und Multiprozessorsystemen bis hinab zu mobilen Geräten. Es ist selbstverständlich, dass das erfindungsgemäße Datenverarbeitungssystem nicht auf die beschriebenen Rechnerkomponenten sowie Anzahl der Prozessoren beschränkt ist. Abhängig vom gegebenen Systemdesign sind die Anzahl der Prozessoren und die Auslegung von zusätzlichen Rechnerkomponenten (z. B. Grafikprozessoren) frei wählbar.
  • Bedingt durch die separate Behandlung der Datenkategorien ist es erforderlich, die Software für das erfindungsgemäße Datenverarbeitungssystem entsprechend anzupassen.
  • Bezugszeichenliste
  • 1
    Hauptprozessor
    2
    Arbeitsspeicher
    3
    permanenter Datenspeicher des Hauptprozessors
    4
    Ein-/Ausgabe-Hardware des Hauptprozessors
    8
    Ladeprozessor
    9
    permanenter Software-Speicher
    10
    externer Software-Speicher
    11
    Instruktionen
    12
    Adressdaten
    13
    funktionsinterne Daten
    14
    Zieldaten Hauptprozessor
    15
    Zieldaten Ladeprozessor
    16
    permanenter Mediendatenspeicher
    17
    Mediendaten-Arbeitsspeicher
    18
    Medienprozessor
    19
    Externes Lesegerät
    20
    Externes Ladegerät
    21
    Zweiter Hauptprozessor
    22
    Ein-/Ausgabe-Hardware des zweiten Hauptprozessors
    23
    permanenter Datenspeicher des zweiten Hauptprozessors
    24
    Arbeitsspeicher des zweiten Hauptprozessors
    25
    Instruktionen des zweiten Arbeitsspeichers
    26
    Adressdaten des zweiten Arbeitsspeichers
    27
    funktionsinterne Daten des zweiten Arbeitsspeichers
    28
    Zieldaten Hauptprozessor des zweiten Arbeitsspeichers
    29
    Arbeitsspeicher für Übergabedaten
    30
    Zieldaten Hauptprozessoren des ersten und zweiten Hauptprozessors
    40
    Ein-/Ausgabe-Hardware des Medienprozessors
    50
    Bussystem des Hauptprozessors
    51
    Bussystem des Ladeprozessors
    60
    Instruktionsbus des Hauptprozessors
    70
    Operandenbus des Hauptprozessors
    61
    Instruktionsbus des Ladeprozessors
    71
    Operandenbus des Ladeprozessors
    62
    Instruktionsbus des Medienprozessors
    72
    Operandenbus des Medienprozessors
    63
    Instruktionsbus des zweiten Hauptprozessors
    73
    Operandenbus des zweiten Hauptprozessors

Claims (16)

  1. Datenverarbeitungssystem aufweisend wenigstens einen Hauptprozessor (1), wenigstens einen permanenten Datenspeicher (3) und wenigstens einen Arbeitsspeicher (2), wobei der wenigstens eine Hauptprozessor (1) mit wenigstens einer Ein-/Ausgabe-Hardware (Interface) (4) verbunden ist, und wobei der wenigstens eine Hauptprozessor (1) mit dem wenigstens einen Arbeitsspeicher (2) über wenigstens einen Instruktionsbus (60) und über wenigstens einen Operandenbus (70) kommuniziert und getrennt davon bidirektional mit dem wenigstens einen permanenten Datenspeicher (3) kommuniziert, dadurch gekennzeichnet, dass wenigstens ein Ladeprozessor (8) vorgesehen ist, der bidirektional mit wenigstens einem permanenten Software-Speicher (9) und wenigstens einem externen Software-Speicher (10) kommuniziert und der mit dem wenigstens einen Arbeitsspeicher (2) über wenigstens einen Instruktionsbus (61) und über wenigstens einen Operandenbus (71) getrennt und unabhängig von dem wenigstens einen Hauptprozessor (1) kommuniziert, wobei die Kommunikation zwischen dem wenigstens einen Hauptprozessor (1) und dem wenigstens einen Arbeitsspeicher (2) über den wenigstens einen Instruktionsbus (60) und den wenigstens einen Operandenbus (70) erfolgt, die Kommunikation zwischen dem wenigstens einen Ladeprozessor (8) und dem wenigstens einen Arbeitsspeicher (2) über den wenigstens einen Instruktionsbus (61) und den wenigstens einen Operandenbus (71) erfolgt, sowohl die Kommunikation zwischen dem wenigstens einem Hauptprozessor (1) und der wenigstens einen Ein-/Ausgabe-Hardware (4) sowie dem wenigstens einen permanenten Datenspeicher (3) als auch die Kommunikation zwischen dem wenigstens einen Ladeprozessor (8) und dem wenigstens einen externen Software-Speicher (10) sowie dem wenigstens einen permanenten Software-Speicher (9) über Zugriffsattribute kontrolliert sind.
  2. Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, dass Daten in dem wenigstens einen Arbeitsspeicher (2) nach Datenkategorien kategorisiert sind, wobei in Abhängigkeit von den Kategorien unterschiedliche Zugriffsattribute definiert sind, nämlich Hauptprozessor-Zugriffsattribute für den wenigstens einen Hauptprozessor (1) und Ladeprozessor-Zugriffsattribute für den wenigstens einen Ladeprozessor (8), und wobei Daten gleicher Datenkategorien gleiche Hauptprozessor-Zugriffsattribute für den Zugriff durch den wenigstens einen Hauptprozessor (1) und gleiche Ladeprozessor-Zugriffsattribute für den Zugriff durch den wenigstens einen Ladeprozessor (8) aufweisen.
  3. Datenverarbeitungssystem nach Anspruch 2, dadurch gekennzeichnet, dass für jede Datenkategorie wenigstens ein separater Arbeitsspeicher (11, 12, 13, 14, 15) vorgesehen ist.
  4. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass folgende Datenkategorien vorgesehen sind: – Adressdaten (12), – Instruktionen (11), – funktionsinterne Daten (13), – Zieldaten des wenigstens einen Hauptprozessors (Hauptprozessorzieldaten) (14), – Zieldaten des wenigstens einen Ladeprozessors (Ladeprozessorzieldaten) (15).
  5. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der wenigstens ein Hauptprozessor (1) – keinen Zugriff auf den wenigstens einen permanenten Software-Speicher (9) hat, – Zugriff auf den wenigstens einen Arbeitsspeicher für Instruktionen (11) über den wenigstens einen Instruktionsbus (60) hat und dieser auf die Zugriffsart „Lesen” beschränkt ist, – Zugriff auf den wenigstens einen Arbeitsspeicher für Adressdaten (12) über den wenigstens einen Operandenbus (70) hat und dieser auf die Zugriffsart „Lesen” beschränkt ist, – Zugriff auf die funktionsinternen Daten (13) über den wenigstens einen Operandenbus (70) hat und dieser in den Zugriffsarten „Schreiben” und/oder „Lesen” erfolgt, und – Zugriff auf die Hauptprozessorzieldaten (14) über den wenigstens einen Operandenbus (70) hat und dieser in den Zugriffsarten „Schreiben” und/oder „Lesen” erfolgt, und – keinen Zugriff auf die Ladeprozessorzieldaten (15) des wenigstens einen Ladeprozessors (8) hat.
  6. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der wenigstens eine Ladeprozessor (8) – Zugriff auf den wenigstens einen externen Software-Speicher (10) hat und dieser auf die Zugriffsart „Lesen” beschränkt ist, und – Zugriff auf den wenigstens einen permanenten Software-Speicher (9) hat und dieser in den Zugriffsarten „Schreiben” und/oder „Lesen” erfolgt, – Zugriff auf den wenigstens einen Arbeitsspeicher für Instruktionen (11) über den wenigstens einen Operandenbus (71) hat und dieser auf die Zugriffsart „Schreiben” beschränkt ist, – Zugriff auf den wenigstens einen Arbeitsspeicher für Instruktionen (11) über den wenigstens einen Instruktionsbus (61) hat und dieser auf die Zugriffsart „Lesen” beschränkt ist, – Zugriff auf den wenigstens einen Arbeitsspeicher für die Ladeprozessorzieldaten (15), Adressdaten (12) und funktionsinternen Daten (13) über den wenigstens einen Operandenbus (71) hat und dieser in den Zugriffsarten „Schreiben” und/oder „Lesen” erfolgt, und – keinen Zugriff auf die Hauptprozessorzieldaten (14) des wenigstens einen Hauptprozessors (1) hat.
  7. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Datenverarbeitungssystem einen Medienprozessor (18) aufweist, der über wenigstens einen Instruktionsbus (62) und wenigstens einen Operandenbus (72) jeweils bidirektional mit wenigstens einem separaten Arbeitsspeicher für Mediendaten (17) kommuniziert, wobei der Medienprozessor (18) über einen eigenen permanenten Mediendatenspeicher (16) verfügt mit dem er bidirektional kommuniziert, und wobei der Medienprozessor (18) mit einer eigenen Ein-/Ausgabe Hardware (Interface) (40) verbunden ist.
  8. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass beim Vorhandensein von mehr als einem Hauptprozessor (1) die Hauptprozessoren (1, 21) unabhängig voneinander einsetzbar sind, wobei jeder Hauptprozessor (1, 21) mit einem ihm fest zugeordneten Speicher für Hauptprozessorzieldaten (14, 28) kommuniziert, auf den die jeweils andern Hauptprozessoren (21, 1) keinen Zugriff haben, und wobei alle Hauptprozessoren (1, 21) über einen zusätzlichen gemeinsamen Arbeitsspeicher für gemeinsame Zieldaten (29) zur kontrollierten Datenübergabe zwischen den Hauptprozessoren (1, 21) verfügen.
  9. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche 1 bis 7, dadurch gekennzeichnet, dass beim Vorhandensein von mehr als einem Hauptprozessor (1), die Hauptprozessoren (1, 21) unabhängig voneinander eingesetzt werden, wobei alle Hauptprozessoren (1, 21) über einen gemeinsamen Arbeitsspeicher für Hauptprozessorzieldaten (30) mit den Zugriffsattributen „Schreiben” und „Lesen” verfügen.
  10. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein externes Lesegerät (19) für das Lesen von Software in den Arbeitsspeicher (2) vorgesehen ist und dass das Lesegerät (19) von dem wenigstens einen Ladeprozessor (8) gesteuert wird, wobei der wenigstens eine Ladeprozessor (8) mit dem externen Lesegerät für Software (19) eine Schnittstelle bildet, die physisch so eingerichtet ist, dass herkömmliche Lesegeräte für Datenträger damit nicht betrieben werden können, so dass ein unbeabsichtigtes Laden von Software verhindert wird.
  11. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche 1 bis 9, dadurch gekennzeichnet, dass der Ladeprozessor (8) in einem externen Ladegerät (20) für das Laden von Software in den Arbeitsspeicher (2) angeordnet ist.
  12. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche 1 bis 10, dadurch gekennzeichnet, dass die Datenkategorien funktionsinterne Daten (13) und Ladeprozessorzieldaten (15) dem selben physikalischen Arbeitsspeicher zugeordnet sind.
  13. Computerprogramm, das Ausgaben von Programmgenerierungswerkzeugen umsetzt, dadurch gekennzeichnet, dass die Umsetzung so erfolgt, dass die Datenkategorien geschaffen und als Datensegmente erzeugt werden, die von Datenverarbeitungssystemen nach Anspruch 1 bis 12 verarbeitbar sind.
  14. Computerprogramm, das auf der von-Neumann-Architektur und/oder der Harvard-Architektur ausführbare Programme umsetzt, dadurch gekennzeichnet, dass die Umsetzung so erfolgt, dass die Datenkategorien geschaffen und als Datensegmente erzeugt werden, die von Datenverarbeitungssystemen nach Anspruch 1 bis 12 verarbeitbar sind.
  15. Externes Ladegerät für das Laden von Software in den Arbeitsspeicher für ein Datenverarbeitungssystem nach Anspruch 11.
  16. Externes Lesegerät für das Lesen von Software durch den Ladeprozessor für ein Datenverarbeitungssystem nach Anspruch 10.
DE102013005971.2A 2013-04-09 2013-04-09 Schadsoftware-sicheres Datenverarbeitungssystem Active DE102013005971B3 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102013005971.2A DE102013005971B3 (de) 2013-04-09 2013-04-09 Schadsoftware-sicheres Datenverarbeitungssystem
PCT/EP2014/056190 WO2014166753A1 (de) 2013-04-09 2014-03-27 Schadsoftware-sicheres datenverarbeitungssystem
EP14715865.3A EP2984572A1 (de) 2013-04-09 2014-03-27 Schadsoftware-sicheres datenverarbeitungssystem
US14/783,303 US9881169B2 (en) 2013-04-09 2014-03-27 Malware-proof data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102013005971.2A DE102013005971B3 (de) 2013-04-09 2013-04-09 Schadsoftware-sicheres Datenverarbeitungssystem

Publications (1)

Publication Number Publication Date
DE102013005971B3 true DE102013005971B3 (de) 2014-08-28

Family

ID=50442491

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013005971.2A Active DE102013005971B3 (de) 2013-04-09 2013-04-09 Schadsoftware-sicheres Datenverarbeitungssystem

Country Status (4)

Country Link
US (1) US9881169B2 (de)
EP (1) EP2984572A1 (de)
DE (1) DE102013005971B3 (de)
WO (1) WO2014166753A1 (de)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19950255B4 (de) * 1998-12-01 2004-05-13 Fujitsu Ltd., Kawasaki Mikroprozessor
US7000092B2 (en) * 2002-12-12 2006-02-14 Lsi Logic Corporation Heterogeneous multi-processor reference design
US8117642B2 (en) * 2008-03-21 2012-02-14 Freescale Semiconductor, Inc. Computing device with entry authentication into trusted execution environment and method therefor

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6112263A (en) * 1997-12-15 2000-08-29 Intel Corporation Method for multiple independent processes controlling access to I/O devices in a computer system
US6615890B1 (en) * 2000-06-09 2003-09-09 Venture Tape Corp. Tape applicator for glazing applications
US8478997B2 (en) 2010-09-10 2013-07-02 Raytheon Company Multi-level security software architecture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19950255B4 (de) * 1998-12-01 2004-05-13 Fujitsu Ltd., Kawasaki Mikroprozessor
US7000092B2 (en) * 2002-12-12 2006-02-14 Lsi Logic Corporation Heterogeneous multi-processor reference design
US8117642B2 (en) * 2008-03-21 2012-02-14 Freescale Semiconductor, Inc. Computing device with entry authentication into trusted execution environment and method therefor

Also Published As

Publication number Publication date
EP2984572A1 (de) 2016-02-17
WO2014166753A1 (de) 2014-10-16
US9881169B2 (en) 2018-01-30
US20160070916A1 (en) 2016-03-10

Similar Documents

Publication Publication Date Title
DE10197121B4 (de) Neuer Prozessormodus zum Begrenzen des Betriebes von auf einer virtuellen Maschine laufender Gast-Software mit Unterstützung eines Virtuelle-Maschine-Monitors
DE10392320B4 (de) Verfahren und Vorrichtung zum Laden eines vertrauenswürdigen Betriebssystems
DE2458065C2 (de) Datenverarbeitungsanlage
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
DE3689961T2 (de) Verfahren zur Verarbeitung von Unterbrechungen in einem digitalen Rechnersystem.
DE102018115489A1 (de) Krypto-erzwungene rechte für isolation
DE102006061939B4 (de) Verfahren und Vorrichtung zum Zugriff auf eine speicherabgebildete Vorrichtung durch einen Gast
DE10297433B4 (de) Speicherverwaltungseinheit, Verfahren zum Bereitstellen einer Speicherzugriffssicherheit auf der Basis einer linearen Adresse und Prozessor
DE102018115670A1 (de) Technologien für die Ausführung von nicht vertrauenswürdigem Code mit Prozessor-Sandbox-Unterstützung
DE102013022405B3 (de) Schutz globaler Register in einem Multithreaded-Prozessor
DE102014003690A1 (de) Prozessoren, Verfahren und Systeme zur Befehlsemulation
DE112013001711T5 (de) Optimieren von Unterroutine-Aufrufen auf der Grundlage der Architekturebene einer aufgerufenen Unterroutine
DE112008002888T5 (de) Hardwarevorrichtungsschnittstelle, die Transaktionsauthentifizierung unterstützt
DE102014003705A1 (de) Prozessoren, Verfahren und Systeme zur Befehlsemulation
DE102013200503A1 (de) Virtualisierungs-Support zum Speichern und Wiederherstellen von Zuständen einer Sprungvorhersage-Logik
DE102013200161A1 (de) Datenverschlüsselung/-Komprimierung auf der Grundlage einer Speicheradressübersetzung
DE102014002181B4 (de) Chip und Verfahren zum Betreiben eines Chips
DE112011102876T5 (de) Ressourcenverwaltungs- und Sicherheitssystem
DE112013004065B4 (de) Integrierte Schaltung
DE112007003206T5 (de) Neukonfigurieren eines sicheren Systems
DE102018132970A1 (de) Verfahren und Vorrichtung zur Isolation von sensiblem nichtvertrauenswürdigem Programmcode auf mobilen Endgeräten
DE112020003881T5 (de) System und verfahren zur durchführung von trusted computing mit fernbescheinigung und informationsisolierung auf heterogenen prozessoren über eine offene verbindung
WO2021122734A1 (de) Verfahren und vorrichtung zum betreiben einer recheneinrichtung
DE10297686B4 (de) System und Verfahren zum Steuern der Zugriffe zwischen einzelnen Geräten innerhalb eines Computersystems
DE112017003659T5 (de) Kontextbasiertes schutzsystem

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final