-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft ein Verfahren und System zum Verwalten von Sicherheitsobjekten in einem Datenverarbeitungssystem.
-
Hintergrund der Erfindung
-
Aktuelle Transaktionsumgebungen umfassen spezialisierte Sicherheitsmodule zum Verwalten des Zugriffs auf eine Ressource durch einen Benutzer. Da die Anzahl von Benutzern und Ressourcen in einem derartigen System äußerst groß sein kann, ist ein Verwalten der zugehörigen Komplexität durch Menschen unmöglich. Es wurden Systeme und Verfahren abgeleitet, um die Verwaltung der Sicherheitsregeln zu erleichtern, die zur Steuerung dessen verwendet werden, dass auf derartigen Systemen lediglich berechtigte Operationen durchgeführt werden.
-
Die US-Patentanmeldung von Harrison und Kitov mit der Veröffentlichungsnummer US 2009/0138938 beschreibt ein System und Verfahren zum Prüfen einer Sicherheitsrichtlinie und insbesondere, wie Protokollberichte, die Informationen über die aufgezeichnete Anwendung von Sicherheitsregeln enthalten, zum Ermitteln von Informationen über die Regeln in Bezug auf die aufgezeichneten Sicherheitsobjekte verwendet werden können.
-
Die US-Patentanmeldung von Piatt u. a. mit der Veröffentlichungsnummer US 2009/0249440 beschreibt ein System und Verfahren zum Verwalten des Zugriffs auf Ressourcen über ein Netzwerk und insbesondere, wie Zugriffsanforderungen abgefangen werden können und wie die Anforderung unter Verwendung eines zentralen Verwaltungsservers, eines DB-Servers und einer Steuereinheit in einer vernetzten Umgebung genehmigt bzw. abgelehnt werden kann.
-
Zusammenfassung der Erfindung
-
Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Verwalten des Zugriffs auf eine Ressource in einem Datenverarbeitungssystem durch einen Benutzer nach Anspruch 1 bereitgestellt.
-
Ein Vorteil dieses Aspekts besteht darin, dass die die verschiedenen Zugriffsanforderungen aufzeichnenden Protokolle äußerst einfach sind und somit die Auswirkung auf die Systemleistungsfähigkeit auf ein Mindestmaß herabgesetzt wird, wenn viele Anforderungen gleichzeitig bearbeitet werden. Ein weiterer Vorteil besteht darin, dass dieses Verfahren nicht oder selten verwendete Sicherheitsobjekte leicht erkennen kann, darunter die Identitätsobjekte wie Gruppen, die durch das Verfahren zum Verwalten von Sicherheitsregeln häufig übersehen werden.
-
In einer ersten Ausarbeitung des ersten Aspekts wird ein Zähler jedes Mal dann erhöht, wenn von dem Benutzer ein Zugriff auf die Ressource angefordert wird.
-
Ein Vorteil besteht darin, dass es dieser Wert ermöglicht, genauere Entscheidungen bezüglich selten verwendeter Sicherheitsobjekte zu treffen.
-
In einer zweiten Ausarbeitung des ersten Aspekts wird ferner der Zeitstempel der Zugriffsanforderung aufgezeichnet; und der Sicherheitsobjektmerker wird so gesetzt, dass er ferner den Zeitstempel umfasst.
-
Ein Vorteil besteht darin, dass es dieser Zeitstempel ermöglicht, komplexere Entscheidungen über Objekte zu treffen, die vor langer, aber nicht vor kurzer Zeit verwendet wurden, während noch nicht verwendete Objekte ausgelassen werden.
-
In einer dritten Ausarbeitung des ersten Aspekts werden in Konflikt stehende Zugriffspfade erkannt, und für denjenigen, der außer Kraft gesetzt wird, wird ein Merker auf einen Wert gesetzt, der darstellt, dass er nicht verwendet wird.
-
Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird eine Vorrichtung bereitgestellt, die ein Mittel umfasst, das so eingerichtet ist, dass es jeden Schritt des Verfahrens gemäß dem ersten Aspekt der Erfindung ausfahren kann.
-
Ein Vorteil besteht darin, dass diese Vorrichtung äußerst einfach erhältlich ist, wodurch das Verfahren leicht auszuführen ist.
-
Gemäß einem dritten Aspekt der vorliegenden Erfindung wird ein Computerprogramm bereitgestellt, das Anweisungen zum Ausführen der Schritte des Verfahrens gemäß einem ersten Aspekt der Erfindung umfasst, wenn das Computerprogramm auf einem Computer ausgeführt wird.
-
Ein Vorteil besteht darin, dass die Erfindung leicht nachgebildet und auf verschiedenen Datenverarbeitungssystemen eingesetzt werden kann.
-
Gemäß einem vierten Aspekt der vorliegenden Erfindung wird ein durch einen Computer lesbares Medium bereitgestellt, auf dem ein Computerprogramm gemäß dem dritten Aspekt der Erfindung codiert ist
-
Ein Vorteil besteht darin, dass dieses Medium dafür verwendet werden kann, das Verfahren auf unterschiedlichen Vorrichtungen einfach einzurichten.
-
Weitere Vorteile der vorliegenden Erfindung werden dem Fachmann durch Einsichtnahme der Zeichnungen und der ausführlichen Beschreibung klar. Es ist beabsichtigt, dass sämtliche zusätzlichen Vorteile darin eingeschlossen sind.
-
Kurze Beschreibung der Zeichnungen
-
Ausführungsformen der vorliegenden Erfindung werden nun lediglich beispielhaft unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen gleiche Bezugszahlen gleichartige Elemente anzeigen. Es zeigen:
-
1 zeigt eine Übersichtsdarstellung eines Systems, in dem die vorliegende Erfindung umgesetzt werden kann.
-
2 zeigt Beispiele verschiedener Zugriffspfade zwischen einem Benutzer und Ressourcen.
-
3 zeigt eine Übersicht über einen Prozess zum Verwalten von Sicherheitsobjekten.
-
4 zeigt einen Ablaufplan einer Umsetzung der vorliegenden Erfindung.
-
Ausführliche Beschreibung der bevorzugten Ausführungsform
-
1 zeigt eine Übersichtsdarstellung eines Systems, das Folgendes umfasst:
- – einen Benutzer (100);
- – eine Anwendung (110);
- – ein Ressourcen-Objekt (120);
- – eine Komponente zum Abfangen von Zugriffsanforderungen (130);
- – eine Benutzeridentitätsnachweis-Komponente (140) zum Überprüfen der Benutzeridentität, zum Beispiel durch Überprüfen eines Benutzernamens und eines Passworts;
- – eine Datenbank zum Speichern der Benutzeridentitäts- und Gruppenhierarchie (150);
- – eine Benutzerberechtigungskomponente (160) zum Gewähren bzw. Ablehnen des Zugriffs auf das Ressourcen-Objekt (120);
- – eine Datenbank mit Zugriffssteuerungsschlüsselwörtern (170), auch Zugriffskontrolllisten genannt;
- – eine Sicherheitsüberwachungskomponente (180) zum Protokollieren von Zugriffsanforderungsparametern in einer Prüfdatenbank (190).
-
Wenn ein Benutzer, dessen Identität festgestellt wurde (100), versucht, auf ein Ressourcen-Objekt (120) zuzugreifen, um eine Aktion auszuführen, die eine bestimmte Zugriffsstufe wie Lesen für eine Anzeigeaktion oder Schreiben für eine Aktualisierungsaktion erfordert, muss der Benutzerzugriff zunächst durch die Berechtigungskomponente (160) genehmigt werden. Eine derartige Komponente beruht üblicherweise auf Zugriffssteuerungsschlüsselwörtern (170), um zu ermitteln, wer auf eine bestimmte Ressource welchen Zugriff hat. Die Berechtigung kann durch die Anwendung (110) angefordert werden, die versucht, direkt auf die Ressource zuzugreifen, oder durch die Komponente für das Abfangen von Zugriffsanforderungen (130), da es häufig vorkommt, dass Anwendungen nicht immer die Umgebung kennen, in der sie ausgeführt werden, und somit möglicherweise nicht in der Lage sind, die Identitätsnachweiskomponente (160) direkt aufzurufen.
-
Jedes Mal, wenn ein Zugriff angefordert wird, entscheidet die Berechtigungskomponente (160), ob ein derartiger Zugriff gewährt oder abgelehnt werden soll. Sie löst auch die Sicherheitsüberwachungskomponente (180) aus, die in der Lage ist, Einzelheiten über die bestimmte Anforderung, die ausgewertet wird, in einem Prüfprotokoll bzw. einer Prüflistendatenbank (190) zu speichern. Das Protokollieren ist immer ein Kompromiss zwischen einer Mindestmenge an Einzelheiten, um nützliche Informationen zu erhalten, und einer Höchstmenge, um die Systemleistungsfähigkeit nicht zu sehr zu beeinflussen. In komplexen Systemen kann die Anzahl von Zugriffssteuerungsschlüsselwörtern annähernd mehrere hunderttausende betragen, wenn eine große Menge an Benutzern gleichzeitig auf Ressourcen zugreift. Derartige Systeme müssen deshalb die Menge an protokollierten Einzelheiten auf ein Mindestmaß beschränken.
-
Alternativ wird die Sicherheitsüberwachungskomponente (180) nicht durch die Berechtigungskomponente (160) direkt, sondern durch eine spezielle Komponente ausgelöst, welche die Berechtigungsanforderungen abfängt.
-
2 zeigt Beispiele verschiedener Zugriffspfade zwischen einem Benutzer und Ressourcen, wobei die Zugriffspfade Folgendes umfassen:
- – einen Benutzer (200);
- – eine erste (210), zweite (215) und dritte Ressource (220), auf die der Benutzer zugreifen kann;
- – eine erste (230), zweite (240), dritte (250) und vierte Benutzergruppe (260);
- – eine erste (233), zweite (243) und dritte Ressourcen-Gruppe (253);
- – ein erstes (236), zweites (246), drittes (256) und viertes Zugriffssteuerungsschlüsselwort (266).
-
Der Benutzer bzw. die Benutzergruppen können in dem System als Sicherheitsobjekte zum Anzeigen einer bestimmten Identität angesehen werden: derjenigen des Benutzers oder derjenigen der Gruppe, welcher der Benutzer angehört. Die Benutzergruppen entsprechen allgemein bestimmten Rollen, die der Benutzer (200) in dem System einnehmen kann.
-
Die Ressourcen-Gruppen werden erstellt, um eine Gruppierung verschiedener Ressourcen widerzuspiegeln, zum Beispiel als Teil einer Transaktion.
-
Ein Zugriffssteuerungsschlüsselwort wird verwendet, um festzulegen, auf welche Ressourcen eine bestimmte Identität zugreifen bzw. nicht zugreifen darf, je nach dem, wie das System konfiguriert ist. In 2 können zwei Zugriffspfade zwischen dem Benutzer (200) und der ersten Ressource (210) erkannt werden:
- – der erste Zugriffspfad besteht aus dem Benutzer (200), welcher der ersten Benutzergruppe (230) angehört, wobei auf die erste Benutzergruppe (230) durch die erste Ressourcen-Gruppe (233) verwiesen wird, die wiederum über das erste Zugriffssteuerungsschlüsselwort (236) berechtigt ist, auf die erste Ressource (210) zuzugreifen;
- – der zweite Zugriffspfad besteht aus dem Benutzer (200), welcher der ersten Benutzergruppe (230) angehört, wobei auf die erste Benutzergruppe (230) durch die zweite Ressourcen-Gruppe (243) verwiesen wird, die wiederum über das erste Zugriffssteuerungsschlüsselwort (236) berechtigt ist, auf die erste Ressource (210) zuzugreifen.
-
Es gibt vier Zugriffspfade zwischen dem Benutzer (200) und der zweiten Ressource (215):
- – der erste Zugriffspfad besteht aus dem Benutzer (200), welcher der ersten Benutzergruppe (230) angehört, wobei auf die erste Benutzergruppe (230) durch die zweite Ressourcen-Gruppe (243) verwiesen wird, die wiederum über das zweite Zugriffssteuerungsschlüsselwort (246) berechtigt ist, auf die zweite Ressource (215) zuzugreifen;
- – der zweite Zugriffspfad besteht aus dem Benutzer (200), auf den durch die dritte Ressourcen-Gruppe (253) verwiesen wird, die wiederum über das zweite Zugriffssteuerungsschlüsselwort (246) berechtigt ist, auf die zweite Ressource (215) zuzugreifen;
- – der dritte Zugriffspfad besteht aus dem Benutzer (200), welcher der vierten Benutzergruppe (260) angehört, wobei auf die vierte Benutzergruppe (260) durch die dritte Ressourcen-Gruppe (253) verwiesen wird, die wiederum über das zweite Zugriffssteuerungsschlüsselwort (246) berechtigt ist, auf die zweite Ressource (215) zuzugreifen;
- – der vierte Zugriffspfad besteht aus dem Benutzer (200), welcher der ersten Benutzergruppe (230) angehört, wobei auf die erste Benutzergruppe (230) durch die erste Ressourcen-Gruppe (233) verwiesen wird, die wiederum über das zweite Zugriffssteuerungsschlüsselwort (246) berechtigt ist, auf die zweite Ressource (215) zuzugreifen.
-
Das zweite Zugriffssteuerungsschlüsselwort (246) gewährt auch der dritten Ressource (220) Zugriff. Ein Zugriffssteuerungsschlüsselwort kann einer oder mehreren Ressourcen bzw. Ressourcen-Gruppen den Zugriff gewähren oder den Zugriff verweigern.
-
Der Benutzer (200) gehört ebenfalls der zweiten Benutzergruppe (240) an, wobei diese Gruppe aber nicht als Identitätsanzeiger einem Zugriffspfad auf irgendeine Ressource angehört. Die dritte Benutzergruppe (250) hat keine Mitglieder.
-
Somit kann es mehrere Zugriffspfade für einen Benutzer zum Zugreifen auf eine Ressource geben.
-
Da es viele Zugriffssteuerungsschlüsselwörter und Gruppen geben kann (mehrere hunderttausende), ist es nicht unwahrscheinlich, dass es in Konflikt stehende Zugriffspfade in dem System gibt (zum Beispiel ein Zugriffspfad, der einen Benutzer vom Lesen einer Ressource abhält, während ein anderer Zugriffspfad denselben Benutzer zum Schreiben auf dieselbe Ressource berechtigt). Bestehende Sicherheitssysteme können dahingehend konfiguriert werden, wie sie beim Erkennen derartiger Konflikte reagieren sollen (zum Beispiel immer die höchste gewährte Zugriffsstufe zu genehmigen). Das Erkennen derartiger Konflikte erfordert eine vollständige Analyse aller Zugriffspfade zwischen einem Benutzer und jeder Ressource. Während der Zugriffspfadanalyse werden die Zugriffsregeln, die den Zugriff von Benutzern auf Ressourcen festlegen, analysiert. Bei einer typischen Ressource handelt es sich um eine Datendatei auf einer Festplatte. Diese Ressourcen haben verschiedene Attribute (zum Beispiel Name und Ort). Ein Sicherheitsprodukt (wie ein RACF) kann auf der Grundlage von diesen Attributen ein Ressourcenschlüsselwort speichern. Diese Ressourcen-Schlüsselwörter sind häufig gemeinsam mit vielen anderen Schlüsselwörtern (für Benutzerkennungen, Gruppen usw.) in einer Sicherheitsdatenbank (G) enthalten. Ein Ressourcen-Schlüsselwort kann null, eine oder mehrere Ressourcen beschreiben. (In RACF wird ein derartiges Ressourcen-Schlüsselwort Datensatzprofil bzw. Ressourcen-Profil genannt. Allgemein wird ein mehrere Ressourcen beschreibendes Ressourcen-Schlüsselwort generisches Profil genannt, während ein eine Ressource beschreibendes Ressourcen-Schlüsselwort diskretes Profil genannt wird.) Bei einigen Ressourcen-Klassen ist es möglich (aber nicht erforderlich), mehrere Ressourcen-Schlüsselwörter gemeinsam in einer Ressourcen-Gruppe anzuordnen. In der Figur werden diese durch ResGrp1, ResGrp2 und ResGrp3 dargestellt. (In RACF werden derartige Ressourcen-Gruppen als Profile in einer Gruppierungsklasse festgelegt. Häufig werden die entsprechenden Ressourcen-Schlüsselwörter Mitgliedsklassenprofile (member-class profiles) genannt.) Wenn ein Ressourcen-Schlüsselwort (z. B. ResDesc1 in obiger Figur) Teil einer Ressourcen-Gruppe ist, muss es nicht immer als einzelne Einheit physisch vorhanden sein, sondern kann auch als durch Bezugnahme festgelegt angesehen werden. Ressourcen-Gruppen und Ressourcen-Schlüsselwörter können jeweils eine Zugriffsliste aufweisen. Sie können auch andere Attribute aufweisen, die den Zugriff aller Benutzerkennungen steuern. Die Zugriffslisten können Benutzerkennungen und Benutzergruppen enthalten. Die Benutzerkennungen (kurz auch Userids genannt) können aus verschiedenen Gründen als Mitglied in einer oder mehreren Gruppen enthalten sein. Diese Erörterung beschränkt sich auf die Verwendung von Benutzergruppen zum Gewähren oder Verweigern von Zugriff auf Ressourcen. Benutzerkennungen können auf Grund von Attributen des anwendbaren Ressourcen-Schlüsselworts bzw. der Ressourcen-Gruppen Zugriff auf eine Ressource haben, da die Benutzerkennung in der anwendbaren Zugriffskontrollliste (ACL) enthalten ist, da eine oder mehrere ihrer Benutzergruppen in der anwendbaren ACL enthalten sind oder auf Grund eines Attributs der Benutzerkennung selbst. Da eine Benutzerkennung Mitglied in mehreren Benutzergruppen sein kann, da in mehreren Ressourcen-Gruppen Ressourcen-Schlüsselwörter enthalten sein können, und da sowohl die Ressourcen-Schlüsselwörter als auch die Ressourcen-Gruppen Zugriffslisten haben können, kann der Zugriff einer Benutzerkennung auf eine Ressource durch mehrere Definitionen gleichzeitig gesteuert werden. Während der Zugriffspfadanalyse werden alle verschiedenen Definitionen ausfindig gemacht und ausgewertet, die den Zugriff einer Benutzerkennung auf eine Ressource steuern können. In obigem Bild kann der Benutzer auf der linken Seite zum Beispiel über vier verschiedene Pfade Zugriff auf die zweite Ressource auf der rechten Seite haben:
- a) userid->usergrp1->resgrp1->resdesc2->resource2 Gewährung von Leserechten
- a) userid->usergrp1->resgrp2->resdesc2->resource2 Gewährung von Leserechten
- a) userid->resgrp3->resdesc2->resource2 Gewährung von Leserechten
- a) userid->usergrp4->resgrp3->resdesc2->resource2 Gewährung von Leserechten.
-
Die durch jeden dieser vier Pfade gewährten Zugriffsstufen könnten unterschiedlich oder gleich sein.
-
Das Ergebnis der Zugriffspfadanalyse ist eine vollständige Darstellung aller verschiedenen Pfade, die Zugriff gewähren, während alle Pfade gestrichen werden, die belanglos sind, da der gewährte Zugriff nicht für die eigentliche Zugriffsentscheidung verwendet wird. Der durch die Pfade a), b) und d) gewährte Lesezugriff wird zum Beispiel gestrichen, da er durch den durch Pfad c) ausdrücklich gewährten Zugriff auf Benutzerkennungsebene ersetzt wird. Diese Art der Analyse wendet die statischen Daten aus, die in den Sicherheitsdefinitionen vorliegen. Manchmal wird das eine statische Analyse genannt.
-
3 zeigt eine Übersicht über einen Prozess zum Verwalten von Sicherheitsobjekten, der Folgendes umfasst:
- – eine Datenerfassungsphase (310);
- – eine Datenzusammenführungsphase (data consolidation phase) (320);
- – ein Filter (325) zwischen diesen beiden Phasen;
- – eine Zugriffspfad-Analysephase (330);
- – ein Filter (335) zwischen der Datenzusammenführungsphase (320) und der Zugriffspfad-Analysephase (330), die auf einer Datenbank mit Zugriffsregeln oder auf Zugriffssteuerungsschlüsselwärtern (370) beruht;
- – eine Befehlserzeugungsphase (340);
- – ein Filter (345) zwischen der Zugriffspfad-Analysephase (330) und der Befehlserzeugungsphase (340);
- – eine Daten-/Rollenauswertungsphase (350);
- – ein Filter (355) zwischen der Datenerfassungsphase (310), der Datenzusammenführungsphase (320) und der Zugriffspfad-Analysephase (330);
- – eine was-wenn, was-nun Analysephase (360); und
- – ein Filter (365) zwischen der Zugriffspfad-Analysephase (330) und der was-wenn, was-nun Analysephase (360).
-
Für die Datenerfassungsphase werden Daten über die folgenden Aspekte gesammelt:
- – wer;
- – was (Art/Name der Ressource);
- – wann (Datum/Zeit des Ereignisses);
- – wo (Systemname);
- – Zugriffsstufe;
- – einige Attribute der Benutzer-, Umgebungseinstellungen;
- – RACF-spezifische Daten wie das verwendete Ressourcen-Profil.
-
Während der Datenzusammenführungs-(Datenverringerungs-)Phase kann das Filtern der Rohdaten durchgeführt werden. Die sich ergebenden Daten werden verknüpft. Mehrere identische Einträge werden in einem einzigen Eintrag zusammengefasst, und es wird ein Zählwert hinzugefügt, um zu erfassen, wie viele doppelte Einträge vorlagen. Für die Ermittlung, ob Einträge doppelt sind, können ein oder mehrere erfasste Aspekte als gestrichen angesehen werden. In der zusammengeführten Ausgabedatei kann der gestrichene Aspekt durch einen einzelnen repräsentativen Wert für diesen Aspekt ersetzt werden. Bei dem in der aktuellen Umsetzung vorgeschlagenen zu streichenden Aspekt handelt es sich um Datum und Zeitpunkt des Ereignisses.
-
Der Zusammenführungsprozess erlaubt das Beibehalten von Daten aus einer längeren Zeitspanne mit geringster Ressourcennutzung. Die Zeitspanne, aus der Daten zusammengeführt werden, kann so gewählt werden, dass sie für die gewünschte Art der Analyse am besten geeignet ist. Dieser Zusammenführungsprozess wird üblicherweise für mehrere repräsentative Zeitspannen wie 30 Minuten, 1 Tag, 1 Monat oder ein Jahr verwendet.
-
Die Zugriffspfad-Analysephase (330) umfasst eine statische Zugriffspfadanalyse, die in Bezug auf 2 ausführlich beschrieben wurde, und eine dynamische Zugriffspfad-Analysephase. Während der dynamischen Zugriffspfad-Analysephase (330) kann die interne Darstellung des Ergebnisses der statischen Zugriffspfadanalyse mit den tatsächlich verwendeten Daten aus den (zusammengeführten) Zugriffsdaten verknüpft werden. Diese Verknüpfung ergibt eine dynamische Zugriffspfadanalyse. Sämtliche gleichbedeutenden Zugriffspfade werden entweder über einen Merker oder einen Zähler als verwendet gekennzeichnet. Sämtliche Zugriffspfade, die nicht zu der tatsächlichen Zugriffsentscheidung durch das Sicherheitsprodukt beitragen (sei es das Gewähren oder das Verweigern von Zugriff) bleiben nicht gekennzeichnet.
-
Der wesentliche Teil dieses dynamischen Aspekts der Analyse besteht darin, dass alle Pfade, die in der Zugriffsentscheidung mitgewirkt haben könnten, unabhängig von dem tatsächlich von dem Sicherheitsprodukt verwendeten Prozess als verwendet gekennzeichnet werden. Das Sicherheitsprodukt kann zum Beispiel einen Erster-Treffer-Algorithmus (first hit algorithm) anwenden und den Zugriffsüberprüfungsprozess unverzüglich beenden. Im Gegensatz dazu führt die dynamische Zugriffspfadanalyse eine umfassende Suche und Kennzeichnung aller möglichen Mitwirkenden durch. Sämtliche Zwischenschritte werden gekennzeichnet. In dem obigen Beispiel wird Folgendes gekennzeichnet: der Benutzer (200), resgrp3 (253), resdesc2 (246). Wenn eine Benutzergruppe beteiligt gewesen wäre, würde auch diese als verwendet gekennzeichnet.
-
Das Ergebnis der dynamischen Analyse kann für drei verschiedene Anwendungen verwendet werden:
- – zur Befehlserzeugung (340) zum Entfernen ausgewählter Definitionen;
- – die dynamische Rollenauswertung (350) beruht auf der tatsächlichen Benutzung der Zwischendefinitionen, die zu einem Zugriff führen. Unter Verwendung des oben angeführten Beispiels wird der ACL-Eintrag für den Benutzer (200) in ResGrp3 (253) als verwendet gekennzeichnet, wobei die Rolle, für die dieser ACL-Eintrag steht, aktiv ist;
- – die was-wenn, was-nun Analysephase (360) geht mit dem Vergleichen des gewährten Zugriffs unter Verwendung der aktuellen oder vorgeschlagenen Sicherheitsdefinitionen mit den historisch erfassten Zugriffsdaten einher.
-
Nach dem optionalen Filtern (335) der (zusammengeführten) Zugriffsdaten oder/und dem optionalen Filtern (345) der Sicherheitsdefinitionen können für diejenigen Sicherheitsdefinitionen, die nicht verwendet, wenig verwendet bzw. lediglich während eines festgelegten Zeitabschnitts verwendet wurden, Befehle erzeugt werden (340). Ein üblicher Zeitabschnitt ist der auf einer Seite unbegrenzte Abschnitt „vor mehr als 6 Monaten”. Die erzeugten Befehle können sich auf Benutzerkennungen (200), Benutzergruppen (230, 240, 250, 260), Benutzerkennung zu Gruppe-Verbindungen, ACL-Einträge, Ressourcengruppen (233, 243, 253), Ressourcen-Schlüsselwörter (236, 246, 256, 266) sowie Ressourcen-Gruppen- zu Ressourcen-Schlüsselwort-Verbindungen beziehen. Das vorgeschlagene System erfordert kein unverzügliches Ausführen der erzeugten Befehle, sondern erlaubt die Prüfung und Abwandlung der erzeugten Befehle durch einen Sicherheitssystemverwalter.
-
Die Ausgabe aus dem Datenerfassungsprozess (310), die Ausgabe aus dem Datenzusammenführungsprozess (320) und die Ausgabe aus der dynamischen Zugriffspfadanalyse (330) können für eine direkte Berichterstattung oder für Datenauswertungszwecke (350) verwendet werden. Eine bestimmte Art der Datenauswertung, für welche diese Daten verwendet werden können, ist die ”Rollenauswertung” (role-mining). Bei der Rollenauswertung (350) handelt es sich um den Prozess des Ermittelns von Zugriffsrollen (Aufgabenrollen) zum Optimieren der Benutzern gewährten Ressourcen-Zugriffsberechtigungen, zum Beispiel in Bezug auf die Berechtigungsstufe, die Anzahl von festgelegten oder zugewiesenen Rollen oder einen erforderlichen Mindestverwaltungsaufwand. Die was-wenn, was-nun Analyse (360) kann zum Überprüfen, ab frühere Ereignisse noch immer wie gewünscht unter Verwendung vorgeschlagener oder aktueller Definitionen bearbeitet werden, verwendet werden. Durch Verwendung einer Datenbank mit ausgewählten Sicherheitsdefinitionen ist es möglich, die tatsächlichen Ereignisse, die in der Vergangenheit auftraten und erfasst wurden, mit den vorgeschlagenen oder aktuellen Sicherheitsdefinitionen zu vergleichen. Auf Grund des Datenverringerungsschritts (320) und der vollständigen Zugriffspfadanalyse (330) kann dies wirksam durchgeführt werden.
-
4 zeigt einen Ablaufplan einer Umsetzung der vorliegenden Erfindung, welche die folgenden Schritte umfasst:
- – Start (400);
- – Empfangen einer Nachricht über eine Benutzeranforderung eines Zugriffs auf eine Ressource (410);
- – Speichern der Anforderungssicherheitsparameter (420), darunter die Benutzerkennung, die Ressourcen-Kennung, die angeforderte Zugriffsstufe, einen Zähler, der jedes Mal bei Erkennen von Zugriff auf die Ressource durch den Benutzer erhöht wird, und Speichern der folgenden optionalen Sicherheitsparameter: einer Kennung des Zugriffssteuerungsschlüsselworts, des Zeitstempels der Anforderung zum Darstellen des Datums, an dem das letzte Mal Zugriff angefordert wurde, dreier zusätzlicher Zähler, wobei der erste jedes Mal bei Gewährung des Zugriffs erhöht wird, der zweite jedes Mal bei Verweigerung des Zugriffs erhöht wird, und ein dritter zum Zählen, dass das System nicht weiß, was passiert ist;
- – Erkennen sämtlicher Zugriffspfade, die möglicherweise zum Genehmigen der Anforderung verwendet werden können (430);
- – Kennzeichnen sämtlicher Sicherheitsobjekte (440), darunter die Identitätsanzeiger wie die Benutzergruppen, die Ressourcengruppen und die Zugriffssteuerungsschlüsselwörter, die für die Genehmigung verwendet werden können (dieser Schritt kann Sicherheitsobjekte kennzeichnen, die niemals tatsächlich durch das System verwendet wurden, da das System unmittelbar nach Finden eines Zugriffspfads mit der Suche aufhören kann und nicht umfassend versucht, sämtliche Zugriffspfade in der direkten Umgebung zu finden);
- – Treffen einer Entscheidung über ein Sicherheitsobjekt als eine Funktion des Merkerwerts dieses Sicherheitsobjekts (450), standardmäßig lautet der Merkerwert, dass das Objekt nicht verwendet wird, wobei die dynamische Zugriffspfad-Analysephase (330) diesen Wert so ändert, dass er mit demjenigen übereinstimmt, der während der Datenzusammenführungsphase (320) ermittelt wurde; und
- – Beenden des Prozesses (460).
-
Eine andere Ausführungsform umfasst ein Verfahren zum Überwachen von Zugriffssteuerungsentscheidungen, selbst wenn sie nicht alle in einer Prüfliste protokolliert werden. Stattdessen wird ein Zähler gepflegt, der durch sämtliche Parameter zusammengefasst wird, die bei der Entscheidung, welche Berechtigungen den Zugriff gewährt bzw. verweigert haben könnten, von Interesse sind, darunter Thema (subject), Objekt, Zugriffsstufe und Entscheidung, aber nicht darauf beschränkt. Nach einem (willkürlichen, normalerweise konfigurierbaren) Zeitabschnitt wird er als so genannter Zugriffs-Zusammenfassungs-Datensatz ausgeschrieben. Dies hilft bei der Sicherstellung, dass ein Datenverlust auf höchstens einen Zeitabschnitt beschränkt ist. Daten über diese Zeitabschnitte können zusammengeführt werden, um Zugriffs-Zusammenfassungs-Datensätze zu erstellen, die einen längeren Zeitabschnitt abdecken. Die Zugriffs-Zusammenfassungs-Datensätze werden mit den aktuellen Sicherheitsregeln verglichen (Zugriffssteuerungsdatenbank), um zu kennzeichnen, ob (oder alternativ zu zählen wie häufig) eine Sicherheitsregel, ein Sicherheitsattribut bzw. eine spezifische Berechtigung in dem durch die Zugriffszusammenfassung abgedeckten Zeitraum (zum Genehmigen bzw. Verweigern) verwendet wurden. Optionaler Filterschritt, in dem zum Beispiel Teilmengen der Sicherheitsregeln zur eigenständigen Bearbeitung, Genehmigung durch einen Menschen oder überhaupt keine Bearbeitung ausgewählt werden können. Optionaler Schritt des Genehmigens durch einen Menschen, in dem das Entfernen von als nicht verwendet gekennzeichneten Berechtigungen genehmigt werden kann.
-
Die Erfindung kann als vollständige Hardware-Ausführungsform, als vollständige Software-Ausführungsform oder als Ausführungsform, die sowohl Hardware- als auch Software-Elemente enthält, ausgeführt werden. In einer bevorzugten Ausführungsform ist die Erfindung als Software realisiert, darunter Firmware, im Speicher befindliche Software, Mikrocode usw., aber nicht darauf beschränkt.
-
Des Weiteren kann die Erfindung die Form eines Computerprogrammprodukts annehmen, auf das von einem durch einen Computer verwendbaren bzw. durch einen Computer lesbaren Medium zugegriffen werden kann, das Programmcode bereitstellt, das von oder in Verbindung mit einem Computer oder jedem beliebigen Anweisungsausführungssystem verwendet wird. Für diese Beschreibung kann ein durch einen Computer verwendbares bzw. durch einen Computer lesbares Medium jede beliebige Vorrichtung sein, die das Programm, das von oder in Verbindung mit dem Anweisungsausführungssystem, der Vorrichtung oder der Einheit verwendet wird, enthalten, speichern, übertragen, verbreiten bzw. transportieren kann.
-
Bei dem Medium kann es sich um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem (bzw. Vorrichtung oder Einheit) oder ein Verbreitungsmedium handeln. Zu Beispielen für ein durch einen Computer lesbares Medium zählen ein Halbleiter- oder Festkörperspeicher, Magnetband, eine auswechselbare Rechnerdiskette, Direktzugriffsspeicher (RAM), Nur-Lese-Speicher (ROM), eine starre Magnetplatte und eine optische Platte. Zu aktuellen Beispielen optischer Platten gehören ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine Lesen/Schreiben-Kompaktspeicherplatte (CD-R/W) und eine DVD.
-
Ein zur Speicherung und/oder Ausführung von Programmcode geeignetes Datenverarbeitungssystem enthält zumindest einen Prozessor, der direkt oder indirekt über einen Systembus mit Speicherelementen verbunden ist. Die Speicherelemente können einen lokalen Speicher beinhalten, der während der eigentlichen Ausführung des Programmcodes eingesetzt wird, einen Massenspeicher sowie Cache-Speicher, die eine vorübergehende Speicherung von zumindest etwas Programmcode bereitstellen, um die Häufigkeit, mit der während der Ausführung Code von dem Massenspeicher abgerufen werden muss, zu verringern.
-
Eingabe/Ausgabe- bzw. E/A-Einheiten (darunter Tastaturen, Anzeigen, Zeigegeräte usw., jedoch nicht darauf beschränkt) können entweder direkt oder über mitbeteiligte E/A-Steuereinheiten mit dem System verbunden werden.
-
Es können auch Netzwerkadapter mit dem System verbunden werden, um es dem Datenverarbeitungssystem zu ermöglichen, über mitbeteiligte private oder öffentliche Netzwerke mit anderen Datenverarbeitungssystemen oder entfernt angeordneten Druckern oder Speichervorrichtungen verbunden zu werden. Modems, ein Kabelmodem sowie Ethernet-Karten sind nur einige wenige der momentan verfügbaren Arten von Netzwerkadaptern.