-
Die Erfindung betrifft ein Verfahren zum Erstellen eines Zugriffsrechteschemas für einen elektronischen Speicher. Die Erfindung betrifft ferner eine Vorrichtung zum Erstellen eines Zugriffsrechteschemas für einen elektronischen Speicher. Die Erfindung betrifft ferner Computerprogrammprodukte.
-
Stand der Technik
-
Speicherverwaltungseinrichtungen (engl. Memory Management Units) sind an sich bekannt und werden dazu benutzt, Zugriffsrechte von elektronischen Speicherbereichen zu definieren. Die genannten Einrichtungen sind sehr aufwendig und verlangen tiefe Einsichten in Software-Architekturen von zu verarbeitenden bzw. zu verwaltenden Softwareanteilen betreffend Zugriffsrechte.
-
WO 2010/010137 A1 offenbart ein Verfahren zum Aktualisieren von Daten unter Verwendung einer Memory Management Unit.
-
CN 102999663 A offenbart eine Seitentabellen-Generierungseinheit, die durch ein Vergleichen einer Memory Management Unit Konfiguration mit einer Konfigurationsdatei verifiziert werden kann.
-
US 2002/0156962 A1 offenbart einen Mikroprozessor mit einer verbesserten Memory Management Einheit und einem Cache-Speicher.
-
Offenbarung der Erfindung
-
Es ist eine Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren zum Erstellen eines Zugriffsrechteschemas für einen elektronischen Speicher bereitzustellen.
-
Die Aufgabe wird gemäß einem ersten Aspekt gelöst mit einem Verfahren zum Erstellen eines Zugriffsrechteschemas für einen elektronischen Speicher, aufweisend:
- a) Erfassen eines Schreib- und/oder Lesezugriffs eines Tasks eines Anwendungsprogramms auf einen Speicherbereich des elektronischen Speichers;
- b) Auswerten des Schreib- und/oder Lesezugriffs; und
- c) Erstellen des Zugriffsrechteschemas basierend auf ausgewerteten Schreib- und Lesezugriffen, wobei die Schritte a) und b) für jeden Task des Anwendungsprogramms durchgeführt werden.
-
Auf diese Weise wird automatisch ein Zugriffsrechteschema bereitgestellt, die Zugriffsrechte eines Speicherbereichs definiert. Für eine nachfolgende Konfiguration einer Memory Management Unit kann dieses Zugriffsrechteschema verwendet werden, um Zugriffsrechte für einzelne Tasks von Anwendungssoftware zu definieren. Im Ergebnis ist es dadurch möglich, sicherheitsrelevante Speicherbereiche von weniger sicherheitsrelevanten Speicherbereichen zu „trennen“.
-
Gemäß einem zweiten Aspekt wird die Aufgabe gelöst mit einem Verfahren zum Konfigurieren einer Speicherverwaltungseinrichtung unter Verwendung des nach einem vorgeschlagenen Verfahren erstellten Zugriffsrechteschemas, wobei festgelegt wird, auf welche Speicherbereiche des elektronischen Speichers welcher Task von wenigstens einem Anwendungsprogramm lesend und/oder schreibend zugreifen darf.
-
Auf diese Weise obliegt es der Verarbeitungseinrichtung, Zugriffe für Speicherbereiche für unterschiedliche Softwarekategorien voneinander zu trennen.
-
Die Aufgabe wird gemäß einem dritten Aspekt gelöst mit einer Vorrichtung zum Erstellen eines Zugriffsrechteschemas, das ausgebildet ist, ein vorgeschlagenes Verfahren auszuführen.
-
Die Aufgabe wird gemäß einem vierten Aspekt gelöst mit einer Vorrichtung zum Konfigurieren einer Speicherverwaltungseinrichtung, die ausgebildet ist, ein Verfahren zum Konfigurieren einer Speicherverwaltungseinrichtung auszuführen.
-
Die Aufgabe wird gemäß einem fünften Aspekt gelöst mit einem Computerprogramm mit Programmcodemitteln, das zur Durchführung des vorgeschlagenen Verfahrens zum Erstellen eines Zugriffsrechteschemas für einen elektronischen Speicher eingerichtet ist, wenn es auf einer Vorrichtung zum Erstellen eines Zugriffsrechteschemas für einen elektronischen Speicher abläuft oder auf einem computerlesbaren Datenträger gespeichert ist.
-
Die Aufgabe wird gemäß einem sechsten Aspekt gelöst mit einem Computerprogramm mit Programmcodemitteln eingerichtet zur Durchführung des vorgeschlagenen Verfahrens zum Konfigurieren einer Speicherverwaltungseinrichtung, wenn es auf einer Vorrichtung zum Konfigurieren einer Speicherverwaltungseinrichtung abläuft oder auf einem computerlesbaren Datenträger gespeichert ist.
-
Vorteilhafte Weiterbildungen des Verfahrens und des Steuersystems sind Gegenstand von abhängigen Ansprüchen.
-
Eine vorteilhafte Weiterbildung des Verfahrens sieht vor, dass Zurücksetzen von definierten Bits eines Registers des Speicherbereichs vor einer Ausführung des jeweiligen Tasks;
- - Initiieren eines Ablaufens der verschiedenen Tasks;
- - Feststellen anhand von definierten Bits des Registers des Speicherbereichs, auf welche Art der Task auf den Speicherbereich zugreift;
- - Auswerten der Zugriffsarten mittels des Registers des Speicherbereichs; und
- - Erstellen des Zugriffsrechteschemas aus den ausgewerteten Zugriffsarten.
-
Dadurch ist es möglich, für alle Seiten des Speicherbereichs definierte Bits zu analysieren, die unterschiedliche Speicherzugriffe erfassen.
-
Eine weitere vorteilhafte Weiterbildung des Verfahrens sieht vor, dass für den Speicherbereich Lese- und Schreibrechte seitenweise definiert werden. Dadurch kann eine strukturierte Erstellung des Zugriffsrechteschemas für den gesamten elektronischen Speicher durchgeführt werden.
-
Eine weitere vorteilhafte Weiterbildung des Verfahrens sieht vor, dass mittels eines Gelesen-Bits ein Lesezugriff und mittels eines Geschrieben-Bits ein Schreibzugriff ermittelt wird. Auf einfache Weise lassen sich dadurch Schreibzugriffe von Lesezugriffen des elektronischen Speichers unterscheiden.
-
Eine weitere vorteilhafte Weiterbildung des Verfahrens sieht vor, dass mittels aller Änderungen des Gelesen-Bits und aller Änderungen des Geschrieben-Bits Zugriffsrechte für den elektronischen Speicher festgelegt werden. Auf effiziente Weise kann dadurch ein Gesamtbild von Schreib- und Lesezugriffen der Speicherbereiche während eines definierten Zeitraums ermittelt werden.
-
Eine weitere vorteilhafte Weiterbildung des Verfahrens sieht vor, dass das Verfahren über eine definierte Validierungszeit durchgeführt wird. Dadurch ist unterstützt, dass umfangreiche verschiedenartige Verhaltensweisen von Tasks von Anwendungsprogrammen unter unterschiedlichen Bedingungen unterschiedliche Schreib- und Lesezugriffe durchführen und somit eine wirksame Analyse der Tasks betreffend Schreib- und Leserechte möglich ist.
-
Eine weitere vorteilhafte Weiterbildung des Verfahrens sieht vor, dass mittels des Zugriffsrechteschemas Schreib- und Lesezugriffe von sicherheitsrelevanten Tasks von Schreib- und Lesezugriffen von nicht sicherheitsrelevanten Tasks des Anwendungsprogramms unterschieden werden.
-
Die Erfindung wird im Folgenden mit weiteren Merkmalen und Vorteilen anhand von mehreren Figuren detailliert beschrieben. Die Figuren sind vor allem dazu gedacht, die erfindungswesentlichen Prinzipien zu verdeutlichen.
-
Offenbarte Verfahrensmerkmale ergeben sich analog aus entsprechenden offenbarten Vorrichtungsmerkmalen und umgekehrt. Dies bedeutet insbesondere, dass sich Merkmale, technische Vorteile und Ausführungen betreffend das Verfahren zum Erstellen eines Zugriffsrechteschemas für einen elektronischen Speicher in analoger Weise aus entsprechenden Ausführungen, Merkmalen und Vorteilen betreffend die Vorrichtung zum Erstellen eines Zugriffsrechteschemas für einen elektronischen Speicher ergeben und umgekehrt.
-
In den Figuren zeigt:
- 1 ein Übersichtsdiagramm einer Struktur eines elektronischen Speichers;
- 2 eine prinzipielles Darstellung eines Eintrags der Seitentabelle des elektronischen Speichers;
- 3 einen prinzipiellen Ablauf eines vorgeschlagenen Verfahrens zum Erstellen eines Zugriffsrechteschemas für einen elektronischen Speicher;
- 4 ein Ergebnis eines mehrmaligen Durchlaufs des Verfahrens von 3;
- 5 eine prinzipielle Darstellung eines vorgeschlagenen Verfahrens zum Konfigurieren einer Speicherverwaltungseinrichtung; und
- 6 eine prinzipielle Darstellung eines vorgeschlagenen Verfahrens zum Erstellen eines Zugriffsrechteschemas.
-
Beschreibung von Ausführungsformen
-
1 zeigt ein Übersichtsdiagramm einer Struktur eines elektronischen Speichers 200. Man erkennt insgesamt vier Ebenen E1... E4, wobei die unterste erste Ebene E1 eine Adresse durch ein Verzeichnis DIR, eine Seite P und einen Offset O definiert. Eine darüber angeordnete zweite Ebene E2 definiert ein Seitenverzeichnis (engl. page directory) mit Einträgen zwischen z.B. 0 und z.B. 1023. In einer dritten Ebene E3 sind Seitentabellen (engl. page table) definiert, in einer vierten Ebene E4 Seitenrahmen (engl. page frames). Durch Pfeile ist angedeutet, dass vom Directory DIR auf Einträge der Ebene E2, und von Einträgen der Ebene E2 auf Einträge der Ebene E3 verzweigt wird. Ferner ist mittels eines Pfeils angedeutet, dass der Offset O auf Einträge in Ebene E4 verzweigt.
-
Eine vergrößerte Darstellung eines Eintrags bzw. Registers P0... Pn einer Seitentabelle von Ebene E2 ist in 2 dargestellt.
-
Erkennbar sind mehrere Bits, wobei ein Beschrieben-Bit D, ein Gelesen-Bit A und ein Schreiben/Lesen-Bit R erkennbar sind. Andere Bits des Registers P0... Pn werden, da nicht erfindungswesentlich, hier nicht näher erläutert.
-
Vorgeschlagen wird, dass die genannten Bits D, A, R im Ablauf eines Lernprozesses von Speicherzugriffen aufgezeichnet und dadurch gewissermaßen „Fußabdrücke“ von Speicherbereichen erfasst und ausgewertet werden.
-
Einen stark vereinfachten Ablauf eines vorgeschlagenen Verfahrens zeigt 3.
-
In einem Schritt 10 werden von einem Betriebssystem OS alle Beschrieben- und Gelesen-Bits D, A aller Register P0... Pn der Seitentabelle des elektronischen Speichers 200 (nicht dargestellt) zurückgesetzt.
-
Danach wird in einem Schritt 20 ein Task einer Anwendungssoftware AS gestartet. Die Geschrieben- und Gelesen-Bits D, A werden in einem Schritt 30 automatisch für alle zugegriffenen bzw. abgeänderten Seiten des elektronischen Speichers 200 gesetzt, indem im Register P0... Pn die Bits D, A, R entsprechend verändert werden.
-
In einem Schritt 40, der wiederum vom Betriebssystem OS durchgeführt wird, werden im Register P0... Pn alle Beschrieben-Bits D und alle Gelesen-Bits A für jede Seite des elektronischen Speichers 200 geprüft.
-
In einem Schritt 50 wird geprüft, ob sich eines der Bits D, A, R geändert hat. Falls dies der Fall ist, wird in einem Abfrageschritt 50 wieder auf Schritt 10 verzweigt und es werden die vorgenannten Schritte 20, 30, 40 für denselben Task des Anwendungsprogramms AS wiederholt.
-
Falls dies nicht der Fall, werden in einem Schritt 60 die oben genannten Schritte 20, 30, 40 für einen weiteren Task des Anwendungsprogramms AS durchgeführt.
-
Das genannte Verfahren kann in einem Validierungsprozess (zum Beispiel im Zuge einer Entwicklung einer elektronischen Hardwarekomponente) unter Umständen sehr lange durchgeführt werden, weil Tasks von Anwendungsprogrammen AS unter verschiedenen Betriebsbedingungen jeweils unterschiedliche Speicherzugriffe durchführen und unterschiedliche Bits des Register P0... Pn des elektronischen Speichers 200 schreiben bzw. auslesen. Daher kann die Erstellung des genannten Zugriffsrechteschemas 100 unter Umständen einen langen Zeitraum beanspruchen.
-
Im Ergebnis wird nach einem vollständigen Durchführen von Abläufen gemäß 3, wie in 4 dargestellt, ein Zugriffsrechteschema 100 erstellt. Die Tabelle von 4 zeigt lediglich beispielhaft ein Durchlaufen von drei verschiedenen Läufen 0...2, die dann summarisch bzw. kombinatorisch in das Zugriffsrechteschema 100 einfließen.
-
Man erkennt, dass im ersten Durchlauf Null auf Seite 0 des elektronischen Speichers 200 sowohl gelesen und geschrieben wurde. Dies erkennt man dadurch, dass sowohl das Beschrieben-Bit D als auch des Gelesen-Bit A geändert wurde. Auf Seite 8 des elektronischen Speichers 200 wurde nur gelesen, was dadurch erkennbar ist, dass nur das Gelesen-Bit A verändert wurde. Auch auf Seite 9 des elektronischen Speichers 200 wurde gelesen und geschrieben, was erkennbar ist, dass sowohl das Beschrieben-Bit D als auch das Gelesen-Bit A geändert wurde.
-
Ferner ist erkennbar, dass im Durchlauf Eins auf den Seiten 0, 7 und 9 nur gelesen wurde.
-
Ferner erkennt man, dass im Durchlauf 2 auf Seite 7 lesend, auf Seite 8 schreiben und lesend und auf Seite 9 lesend zugegriffen wurde.
-
Aus der kombinatorischen Verbindung der drei Durchläufe 0, 1 und 2 ergibt sich somit das Zugriffsrechteschema 100, welches ausweist, dass auf Seite 0 gelesen und geschrieben, auf Seite 7 gelesen, auf Seite 8 gelesen und geschrieben wurde und auf Seite 9 gelesen und geschrieben wurde. Im Ergebnis können von einer Speicherverwaltungseinrichtung mittels des derart ermittelten Zugriffsrechteschemas Zugriffsrechte auf den elektronischen Speicher 200 vergeben werden.
-
5 zeigt eine Verwendung des Zugriffsrechteschemas 100 bei einer Konfiguration einer Speicherverwaltungseinrichtung (nicht dargestellt).
-
Man erkennt, dass in einem Schritt 110 Zugriffsrechte entsprechend dem Zugriffsrechteschema 100 für einen Task des Anwendungsprogramms AS vergeben werden. Danach startet in einem Schritt 120 die im Schritt 110 definierte Task des Anwendungsprogramms AS. Nach Beendigung der Task wird wieder zu Schritt 110 verzweigt. Nunmehr erfolgt durch das Betriebssystem OS gemäß Zugriffsrechteschema 100 die Zuweisung von Zugriffsrechten für den nächsten Task des Anwendungsprogramms AS, usw.
-
6 zeigt einen prinzipiellen Ablauf eines vorgeschlagenen Verfahrens zum Erstellen eines Zugriffsrechteschemas 100 für einen elektronischen Speicher 200.
-
In einem Schritt 300 erfolgt ein Erfassen eines Schreib- und/oder Lesezugriffs eines Tasks eines Anwendungsprogramms AS auf einen Speicherbereich PT des elektronischen Speichers 200.
-
In einem Schritt 310 erfolgt ein Auswerten des Schreib- und/oder Lesezugriffs.
-
In einem Schritt 320 erfolgt ein Erstellen des Zugriffsrechteschemas 100 basierend auf ausgewerteten Schreib- und Lesezugriffen, wobei die Schritte a) und b) für jeden Task des Anwendungsprogramms AS durchgeführt werden.
-
Vorteilhaft kann zum Beispiel durch einen derart konfigurierten elektronischen Speicher 200 ein Hacker daran gehindert werden, einen Datenzugriff durchzuführen, der für einen Task untypisch ist. Zum Beispiel werden von einem USB-Treiber keine CAN-Nachrichten übermittelt, wodurch ein Angreifer nicht in der Lage ist, Nachrichten die via CAN-Treiber gesendet werden, zu manipulieren, weil Speicherbereiche für den USB-Treiber von Speicherbereichen für den CAN-Treiber mittels einer Speicherverwaltungseinrichtung unter Verwendung des Zugriffsrechteschemas 100 voneinander getrennt wurden.
-
Im Ergebnis können dadurch Speicherbereiche für sicherheitsrelevante und nicht bzw. weniger sicherheitsrelevante Tasks von Anwendungsprogrammen voneinander getrennt werden. Die Speicherbereiche stehen dadurch ausschließlich für die dafür vorgesehenen Tasks exklusiv zur Verfügung, wodurch unerwünschte Speicherzugriffe vermieden werden können und dadurch ein Sicherheitsniveau des elektronischen Speichers 200 erhöht ist.
-
Vorteilhaft kann das vorgeschlagene Verfahren in Form eines Softwareprogramms mit geeigneten Programmcodemitteln realisiert werden, die auf einer Vorrichtung zur Erstellen eines Zugriffsrechteschemas abläuft. Eine einfache Adaptierbarkeit des Verfahrens ist auf diese Weise möglich.
-
Der Fachmann wird die Merkmale der Erfindung in geeigneter Weise abändern und/oder miteinander kombinieren, ohne vom Kern der Erfindung abzuweichen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- WO 2010/010137 A1 [0003]
- CN 102999663 A [0004]
- US 2002/0156962 A1 [0005]