-
GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung betrifft allgemein den Zugriff auf ein Rechensystem unter Verwendung höherer Vorrechte, die normalerweise einer ersten Benutzerkennung des Rechensystems zugehören, und insbesondere die vorübergehende Bereitstellung derartiger höherer Vorrechte für eine zweite Benutzerkennung des Rechensystems, bei der es sich nicht um die erste Benutzerkennung handelt.
-
HINTERGRUND DER ERFINDUNG
-
Viele Unternehmen, zum Beispiel kommerzielle Organisationen wie Kapitalgesellschaften, sind darauf angewiesen, dass Rechensysteme für die erfolgreiche Führung der Unternehmen wichtige Daten speichern, die aber auch zur Überprüfung durch außenstehende Dritte wie Regierungsorganisationen aufbewahrt werden. Finanzdaten einer Kapitalgesellschaft müssen zum Beispiel so aufbewahrt werden, dass historische Informationen nach dem Faktum nicht verändert werden, damit eine Regierungsorganisation wie die Börsenaufsichtsbehörde (Securities and Exchange Commission, SEC) die Finanzdaten gegebenenfalls zu einem späteren Zeitpunkt überprüfen kann. Deshalb ist es Benutzern der Kapitalgesellschaft untersagt, in einer Weise auf ihre Rechensysteme zuzugreifen, dass sie derartige historische Daten potenziell ändern könnten.
-
Benutzern eines Unternehmens kann es auch aus einer Vielzahl von anderen Gründen untersagt sein, in einer Weise auf ihre Rechensysteme zuzugreifen, dass sie derartige historische Daten potenziell ändern könnten. Des Weiteren kann es Benutzern eines Unternehmens auch untersagt sein, auf verschiedene Arten und Weisen und/oder aus anderen Gründen auf ihre Rechensysteme zuzugreifen. Zu derartigen anderen Arten und Weisen und/oder anderen Gründen gehören neben anderen Arten und Weisen und anderen Gründen sogar das Verhindern des Lesezugriffs auf bestimmte Daten, das Verhindern von Verzögerungen bei der Übertragung bestimmter Daten, selbst wenn derartige Daten unverändert sind, und das Verhindern des Verschiebens bestimmter Daten von einem durch einen Rechner lesbaren Speichermedium auf ein anderes.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Ein Verfahren einer Ausführungsform der Erfindung sperrt eine erste Benutzerkennung eines Rechensystems, wobei die erste Benutzerkennung erste Vorrechte für das Rechensystem besitzt. Nach dem Sperren der ersten Benutzerkennung des Rechensystems und infolge der Feststellung, dass die Lösung eines Problems mit dem Rechensystem die ersten Vorrechte für das Rechensystem erfordert, führt das Verfahren die folgenden Schritte durch. Das Verfahren empfängt von einem Dritten einen Code-Patch zum Aufspielen auf das Rechensystem. Bei dem Code-Patch handelt es sich um auf dem Rechensystem installierbaren Rechencode. Der Code-Patch hat die Aufgabe, einer zweiten Benutzerkennung des Rechensystems, bei der es sich nicht um die erste Benutzerkennung handelt, vorübergehend zumindest eine Teilmenge der ersten Vorrechte bereitzustellen, wobei die zweite Benutzerkennung normalerweise zweite Vorrechte für das Rechensystem besitzt, die geringer sind als die ersten Vorrechte. Das Verfahren installiert den Code-Patch auf dem Rechensystem, woraufhin die zweite Benutzerkennung vorübergehend zumindest die Teilmenge der ersten Vorrechte für das Rechensystem besitzt.
-
Ein Rechnerprogrammprodukt einer Ausführungsform der Erfindung enthält ein auf einem Rechner lesbares Speichermedium, auf dem durch einen Rechner lesbarer Programmcode enthalten ist. Der durch einen Rechner lesbare Programmcode enthält durch einen Rechner lesbaren Programmcode zum Sperren der Kennung eines bevorzugten Benutzers (root user identifier) eines Rechnersystems. Der durch einen Rechner lesbare Programmcode enthält ferner durch einen Rechner lesbaren Programmcode zum Aufspielen eines Code-Patch auf das Rechensystem infolge einer Feststellung, dass die Lösung eines Problems mit dem Rechensystem angestammte Vorrechte (root privileges) für das Rechensystem erfordert. Bei dem Code-Patch handelt es sich um auf dem Rechensystem installierbaren Rechencode. Der Code-Patch hat die Aufgabe, einer vorbestimmten Benutzerkennung des Rechensystems, bei der es sich nicht um die Kennung eines bevorzugten Benutzers handelt, vorübergehend die angestammten Vorrechte bereitzustellen. Der Code-Patch wird durch einen Dritten bereitgestellt und kann nicht von einem Unternehmen bereitgestellt werden, für welches das Rechensystem bereitgestellt wird. Ein Benutzer, der Kenntnis über das Passwort für die vorbestimmte Benutzerkennung hat, kann keine angestammten Vorrechte für das Rechensystem besitzen, wenn der Code-Patch nicht auf dem Rechensystem installiert ist.
-
Vorzugsweise weist der Code-Patch einen Ablaufzeitpunkt auf, so dass der Code-Patch bei Erreichen des Ablaufzeitpunkts automatisch von dem Rechensystem deinstalliert wird, woraufhin die Benutzerkennung keine angestammten Vorrechte mehr für das Rechensystem besitzt. Noch mehr vorzuziehen ist es, wenn der Rechnerprogrammcode in der Lage ist, die Kennung eines bevorzugten Benutzers des Rechensystems zu sperren, und die Kennung eines bevorzugten Benutzers dadurch sperrt, dass er für die Kennung eines bevorzugten Benutzers ein Passwort festlegt, das aus einer Vielzahl von unbekannten zufälligen Zeichen besteht. Ferner ist es noch mehr vorzuziehen, wenn der Rechnerprogrammcode in der Lage ist, den Code-Patch auf dem Rechensystem zu installieren, und den Code-Patch nur dann auf dem Rechensystem installiert, wenn: eine Kennung des Code-Patch mit einer Kennung des Rechensystems übereinstimmt; eine digitale Signatur des Code-Patch gültig ist; und ein Datum des Code-Patch gültig ist, wobei nur der Dritte und nicht das Unternehmen, für welches das Rechensystem bereitgestellt wird, Kenntnis über die digitale Signatur hat, mit welcher der Code-Patch zu signieren ist, damit der Code-Patch auf dem Rechensystem installiert werden kann. Ferner ist es noch mehr vorzuziehen, wenn der Rechnerprogrammcode der Benutzerkennung des Rechensystems vorübergehend die angestammten Vorrechte bereitstellt, indem er die Vorrechte der Benutzerkennung durch Ausführung eines Pseudorechnerprogramms vorübergehend auf Vorrechte erhöht, die den Vorrechten der Kennung eines bevorzugten Benutzers gleichbedeutend sind.
-
Ein Rechensystem einer Ausführungsform der Erfindung enthält Hardware, auf der Hardware laufende Software und eine Sicherheitskomponente. Der Zugriff auf die Software wird durch eine Kennung eines bevorzugten Benutzers mit angestammten Vorrechten und durch eine vorbestimmte Benutzerkennung ohne angestammte Vorrechte gesteuert. Die vorbestimmte Benutzerkennung ist eine andere Benutzerkennung als die Kennung eines bevorzugten Benutzers. Die Sicherheitskomponente hat die Aufgabe, die Kennung eines bevorzugten Benutzers zu sperren und danach infolge einer Feststellung, dass die Lösung eines Problems mit der Software angestammte Vorrechte erfordert, einen Code-Patch zu installieren. Bei dem Code-Patch handelt es sich um auf dem Rechensystem installierbaren Rechencode. Der Code-Patch hat die Aufgabe, der vorbestimmten Benutzerkennung vorübergehend die angestammten Vorrechte bereitzustellen, und er wird durch einen Dritten bereitgestellt und kann nicht von einem Unternehmen bereitgestellt werden, für welches das Rechensystem bereitgestellt wird. Ein Benutzer, der Kenntnis über das Passwort für die vorbestimmte Benutzerkennung hat, kann keine angestammten Vorrechte besitzen, wenn der Code-Patch nicht auf dem Rechensystem installiert ist.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die Zeichnungen, auf die hierin Bezug genommen wird, stellen einen Teil der Beschreibung dar. In der Zeichnung gezeigte Eigenschaften sollen lediglich einige Ausführungsformen der Erfindung und nicht alle Ausführungsformen der Erfindung veranschaulichen, außer es wird ausdrücklich anderweitig angegeben, und es dürfen keine gegenteiligen Folgerungen gezogen werden.
-
1 ist ein Ablaufplan eines Verfahrens gemäß einer Ausführungsform der Erfindung.
-
2 ist ein Schaubild eines Rechensystems gemäß einer Ausführungsform der vorliegenden Erfindung.
-
3 ist ein detailliertes Schaubild eines Teils des Rechensystems aus 2 gemäß einer Ausführungsform der Erfindung.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
In der folgenden ausführlichen Beschreibung beispielhafter Ausführungsformen der Erfindung wird Bezug genommen auf die beigefügten Zeichnungen, die einen Teil hiervon bilden und in denen veranschaulichend spezielle beispielhafte Ausführungsformen, in denen die Erfindung angewendet werden kann, als Beispiel gezeigt sind. Diese Ausführungsformen werden ausführlich genug beschrieben, damit Fachleute die Erfindung anwenden können. Es können auch andere Ausführungsformen genutzt sowie logische, mechanische und andere Änderungen vorgenommen werden, ohne von dem Umfang der vorliegenden Erfindung abzuweichen. Die folgende ausführliche Beschreibung ist daher nicht als beschränkend zu sehen, und der Umfang der vorliegenden Erfindung wird nur durch die beigefügten Ansprüche festgelegt.
-
Wie in den Grundlagen bemerkt, müssen Unternehmen gegebenenfalls Daten derart aufbewahren, dass die Daten nach dem Faktum nicht mehr verändert werden können, so dass es Benutzern in den Unternehmen untersagt ist, auf ihre Rechensysteme derart zuzugreifen, dass sie diese historischen Daten möglicherweise ändern können. Normalerweise können ein oder mehrere Benutzer eines Unternehmens bevorzugte Benutzer (root user) des Rechensystems des Unternehmens sein. Ein bevorzugter Benutzer hat vollständigen Gesamtzugriff auf ein Rechensystem und ist in der Lage, alle beliebigen auf dem Rechensystem gespeicherten Daten zu ändern. Deshalb wird es keinem Benutzer gestattet, dauerhaft bevorzugter Benutzer zu sein, wenn es den Benutzern eines Unternehmens untersagt ist, derart auf das Rechensystem zuzugreifen, dass sie die auf dem Rechensystem gespeicherten Daten möglicherweise ändern können. Dies kann jedoch problematisch sein, da manchmal zur Lösung von Problemen mit der Funktion eines Rechensystems angestammte Vorrechte für das Rechensystem benötigt werden.
-
Ausführungsformen der Erfindung stellen einer vorbestimmten Benutzerkennung eines Rechensystems vorübergehend angestammte Vorrechte bereit, damit derartige Probleme mit dem Rechensystem gelöst werden können, allerdings so, dass das Risiko minimiert wird, dass der dieser vorbestimmten Benutzerkennung zugehörige Benutzer ungehindert Zugriff auf das System erhält. Die vorbestimmte Benutzerkennung besitzt normalerweise keine angestammten Vorrechte für das Rechensystem, und die Kennung eines bevorzugten Benutzers für das System ist dauerhaft gesperrt. Wenn ein Problem mit einem Rechensystem erkannt wird, dessen Lösung derartige angestammte Vorrechte erfordert, stellt jedoch ein Dritter einen Code-Patch bereit, welcher der vorbestimmten Benutzerkennung vorübergehend angestammte Vorrechte bereitstellt, wenn er auf dem System installiert ist. Der Dritte stellt den Code-Patch so bereit, dass sich der Benutzer mit der vorbestimmten Benutzerkennung angestammte Vorrechte nicht selbst bereitstellen kann. Der Code-Patch ist Teil eines Rechnercodes – d. h. Rechnersoftware – der ausdrücklich dazu auf dem System installiert ist, der vorbestimmten Benutzerkennung vorübergehend angestammte Vorrechte bereitzustellen. Der dieser vorbestimmten Benutzerkennung zugehörige Benutzer stellt dann dem Dritten sein Passwort bereit, damit der Dritte das Problem lösen kann. Sobald das Problem gelöst wurde, wird der Code-Patch von dem Rechensystem deinstalliert, damit die Benutzerkennung keine angestammten Vorrechte mehr besitzt, und der Benutzer ändert sein Passwort, damit der Dritte keine Kenntnis mehr davon hat.
-
Somit stellen Ausführungsformen der vorliegenden Erfindung sicher, dass ein Benutzer mit einer vorbestimmten Benutzerkennung nicht selbst die der Kennung zugehörigen Vorrechte auf angestammte Vorrechte erhöhen kann. Stattdessen wird der Code-Patch benötigt, der nur durch den Dritten bereitgestellt werden kann. Des Weiteren kann sich der Dritte nicht selbst Zugriff auf das Rechensystem mit angestammten Vorrechten bereitstellen; ohne das von dem Benutzer bereitgestellte Passwort hat der Dritte keinen Zugriff auf das Rechensystem. Deshalb werden die Einwilligungen sowohl des Benutzers als auch des Dritten benötigt, um Zugriff auf das Rechensystem mit angestammten Vorrechten zu erhalten. Des Weiteren ist ein derartiger Zugriff mit angestammten Vorrechten von kurzer Dauer: der Code-Patch wird automatisch oder manuell von dem Rechensystem deinstalliert, sobald das Problem mit dem System gelöst wurde, woraufhin die vorbestimmte Benutzerkennung keine angestammten Vorrechte mehr besitzt.
-
In dieser Hinsicht sei bemerkt, dass sich der erfindungsgemäße Ansatz vorteilhaft von Lösungen dieses Problems nach dem Stand der Technik unterscheidet. Ein Ansatz nach dem Stand der Technik sperrt nicht dauerhaft die Kennung eines bevorzugten Benutzers eines Rechensystems, sondern hinterlegt das Passwort für die Kennung eines bevorzugten Benutzers stattdessen bei einem Dritten. Wenn angestammte Vorrechte benötigt werden, kann das Passwort für die Kennung eines bevorzugten Benutzers nur dann freigegeben werden, wenn eine Reihe von vorbestimmten Bedingungen erfüllt sind, so zum Beispiel, dass sowohl ein Benutzer in dem Unternehmen als auch der Dritte eine derartige Freigabe genehmigen. Die Hinterlegung eines Passworts bei einem Dritten ist jedoch problematisch, da dies einen zentralen Aufbewahrungsort für sensible Passwörter erfordert, welcher naturgemäß Hacker und andere Personen mit schlechten Absichten, die gerne Zugriff auf die Rechensysteme eines Unternehmens hätten, wie ein Magnet anzieht.
-
Eine andere Lösung nach dem Stand der Technik fügt dem Rechensystem eines Unternehmens eine Reihe von Software- bzw. Hardware-Sicherheitskontrollschichten sowie Anmeldefunktionen hinzu, um sicherzustellen, dass die Kennung eines bevorzugten Benutzers nur in genehmigten Situationen eingesetzt wird. Derartige einem Rechensystem hinzugefügte zusätzliche Schichten erhöhen jedoch die Komplexität und den Verwaltungsaufwand in dem System. Als Folge kann die Leistung des Rechensystems nachteilig beeinflusst werden, und im schlimmsten Fall können auf Grund dieser zusätzlichen Schichten Probleme in dem Rechensystem verursacht werden. Der erfindungsgemäße Ansatz unterscheidet sich von diesen beiden Lösungen nach dem Stand der Technik dadurch, dass der erfindungsgemäße Ansatz keine Passwörter bei Dritten hinterlegt und einem Rechensystem keine zusätzlichen Software- bzw. Hardware-Sicherheitskontrollschichten sowie Anmeldefunktionen hinzufügt.
-
In den nachfolgend beschriebenen beispielhaften Ausführungsformen werden einer Benutzerkennung, bei der es sich nicht um eine Kennung eines bevorzugten Benutzers handelt, vorübergehend angestammte Vorrechte für ein Rechensystem bereitgestellt, in dem die Kennung eines bevorzugten Benutzers gesperrt wurde. Allgemeiner werden jedoch einer zweiten Benutzerkennung, bei der es sich nicht um eine erste Benutzerkennung handelt, zumindest eine Teilmenge von ersten Vorrechten für ein Rechensystem bereitgestellt, die normalerweise der ersten Benutzerkennung zugewiesen werden, wobei die erste Benutzerkennung gesperrt wurde. Die zweite Benutzerkennung hat normalerweise zweite Vorrechte für das Rechensystem, die geringer sind als zumindest die Teilmenge der ersten Vorrechte der ersten Benutzerkennung. Als solches betreffen die Ausführungsformen der vorliegenden Erfindung allgemeiner die vorübergehende Bereitstellung von höheren (ersten) Vorrechten (z. B. zumindest eine Teilmenge dieser höheren, ersten Vorrechte), die normalerweise einer anderen (ersten) gesperrten Benutzerkennung zugewiesen sind, für eine (zweite) Benutzerkennung eines Rechensystems.
-
1 zeigt ein Verfahren 100 gemäß einer Ausführungsform der Erfindung. Die Teile des Verfahrens 100 in der linken Spalte werden durch oder in einem für ein Unternehmen bereitgestelltes Rechensystem durchgeführt. Bei dem Unternehmen kann es sich zum Beispiel um eine Kapitalgesellschaft oder eine andere kommerzielle Organisation bzw. andere Organisation handeln. Das Rechensystem wird dem Unternehmen so bereitgestellt, dass das Unternehmen das Rechensystem steuern kann, das Rechensystem in dem Unternehmen installiert sein kann und/oder die Hauptbenutzer des Rechensystems Aufgaben für die erfolgreiche Führung des Unternehmens durchführen können. Die Teile des Verfahrens 100 in der rechten Spalte werden durch oder bei einem Dritten, bei dem es sich nicht um das Unternehmen handelt, durchgeführt. Bei dem Dritten kann es sich zum Beispiel um eine Support-Firma handeln, mit der das Unternehmen die Wartung des Rechensystems vertraglich vereinbart hat, oder um die Organisation, die das Rechensystem hergestellt bzw. für das Unternehmen bereitgestellt hat.
-
Die Kennung eines bevorzugten Benutzers für das Rechensystem wird gesperrt (102). Die Kennung eines bevorzugten Benutzers für das Rechensystem gestattet vollständigen und ungehinderten Zugriff auf das Rechensystem. Ein Benutzer mit der Kennung eines bevorzugten Benutzers besitzt alle Vorrechte und Genehmigungen für sämtliche gespeicherte Daten und alle auf dem Rechensystem ausgeführte Rechnerprogramme. Ein derartiger Benutzer kann Vieles tun, was andere Benutzer ohne die Kennung eines bevorzugten Benutzers nicht tun können, wie zum Beispiel das Ändern von Eigentumsrechten an Dateien und das Einbinden von Netzwerkanschlüssen, die eine niedrigere Nummer als 1024 aufweisen. Die Funktionalität, die ein Benutzer mit einer Kennung eines bevorzugten Benutzers ausführen kann, wird hierin angestammte Vorrechte genannt.
-
Die Kennung eines bevorzugten Benutzers ist der Name, der einem solchen bevorzugten Benutzer (super user) in den meisten UNIX®-Betriebssystemen (UNIX ist ein eingetragenes Warenzeichen von The Open Group in den USA und anderen Ländern) bzw. UNIX®-basierten Betriebssystemen zugehört, darunter das Betriebssystem LINUX® (Linux ist ein eingetragenes Warenzeichen von Linus Torwalds in den USA und/oder anderen Ländern). Andere Benutzerkennungen, die der Kennung eines bevorzugten Benutzers gleichwertig sind und von dieser Terminologie hierin erfasst werden, schliefen die Administrator-Benutzerkennung in Versionen des Betriebssystems MICROSOFT® WINDOWS® ein (Microsoft, Windows, Windows NT sowie das Windows-Logo sind Warenzeichen von Microsoft Corporation in den USA und/oder anderen Ländern). Zu anderen Benutzerkennungen, die der Kennung eines bevorzugten Benutzers gleichwertig sind und von dieser Terminologie hierin erfasst werden, gehören auch die Benutzerkennung ”baron” in Versionen des BEOS®-Betriebssystems ein, die Benutzerkennung ”avatar” in einigen UNIX®-Betriebssystemen sowie die Benutzerkennung ”toar” in dem Betriebssystem BSD®, bei dem es sich um eine Version des Betriebssystems UNIX® handelt.
-
In einer Ausführungsform wird die Kennung eines bevorzugten Benutzers für das Rechensystem gesperrt, indem das Passwort für die Kennung eines bevorzugten Benutzers auf eine lange Folge von unbekannten zufälligen Zeichen festgesetzt wird. Die Zeichen können zufällig durch eine Maschine ausgewählt werden und sind nicht bekannt, da sie keinem Benutzer bekanntgegeben werden. Je länger die Folge der unbekannten zufälligen Zeichen ist, desto unwahrscheinlicher ist es, dass das Passwort von Benutzern mit schlechten Absichten geknackt werden kann. Das Passwort kann zum Beispiel auf 63 oder mehr unbekannte zufällige Zeichen festgesetzt werden, wodurch es höchst unwahrscheinlich ist, dass es innerhalb einer angemessenen Zeitspanne geknackt werden kann. Es sei jedoch bemerkt, dass die Kennung eines bevorzugten Benutzers auch anders gesperrt werden kann als durch das Festlegen ihres Passworts auf eine lange Folge unbekannter zufälliger Zeichen.
-
An einem gewissen Punkt, nachdem die Kennung eines bevorzugten Benutzers gesperrt wurde, wird festgestellt, dass es ein Problem mit dem Rechensystem gibt, dessen Lösung dennoch angestammte Vorrechte erfordert (104). Es sei bemerkt, dass in Betracht gezogen wird, dass in manchen Situationen zwischen der Durchführung von Schritt 102 und der Durchführung von Schritt 104 eine erhebliche Zeitspanne wie Monate oder Jahre liegen kann. Der Kennung eines bevorzugten Benutzers sind von vornherein angestammte Vorrechte zugewiesen, aber, wie später in der ausführlichen Beschreibung dargelegt wird, es können auch anderen Benutzerkennungen vorübergehend angestammte Vorrechte zugewiesen werden, so dass Benutzer mit diesen Benutzerkennungen derart Zugriff auf das Rechensystem haben, als ob sie Kennungen eines bevorzugten Benutzers hätten. Es sei bemerkt, dass die Erfinder damit rechnen, dass die meisten Probleme mit dem Rechensystem wie zum Beispiel, dass die Software des Rechensystems nicht wie beabsichtigt funktioniert, wahrscheinlich gelöst werden können, ohne dass angestammte Vorrechte für das Rechensystem benötigt werden. Trotzdem kann man nicht garantieren, dass alle Probleme mit dem Rechensystem ohne angestammte Vorrechte gelöst werden können. Es kann jedoch davon ausgegangen werden, dass man nur selten auf derartige Probleme trifft.
-
Infolge der Feststellung, dass es ein Problem mit dem Rechensystem gibt, dessen Lösung angestammte Vorrechte erfordert, wird der Dritte benachrichtigt, der daraufhin einen Code-Patch bereitstellt (106). Der Code-Patch stellt einer vorbestimmten Benutzerkennung vorübergehend angestammte Vorrechte bereit. Ein bestimmter Benutzer des Unternehmens, für welches das Rechensystem bereitgestellt wurde, kann zum Beispiel dafür verantwortlich sein, mit dem Dritten an der Lösung des Problems zusammenzuarbeiten. Deshalb stellt der Code-Patch der vorbestimmten Benutzerkennung vorübergehend angestammte Vorrechte bereit, wobei sich diese vorbestimmte Benutzerkennung von der Kennung eines bevorzugten Benutzers unterscheidet. Der Code-Patch wird empfangen und auf dem Rechensystem installiert (108), woraufhin diese vorbestimmte Benutzerkennung angestammte Vorrechte für das Rechensystem besitzt.
-
In einer Ausführungsform wird dem Dritten die vorbestimmte Benutzerkennung bereitgestellt, bevor der Dritte den Code-Patch entwickelt, so dass der Code-Patch so entwickelt bzw. geschrieben wird, dass er spezifisch der vorbestimmten Benutzerkennung vorübergehend angestammte Vorrechte bereitstellt. Wie oben erwähnt handelt es sich bei dem Code-Patch um einen Rechnercode – d. h. Rechnersoftware – der auf dem Rechensystem installiert wird. Des Weiteren entwickelt der Dritte den Code-Patch so, dass Benutzer des Unternehmens selbst ihre Vorrechte nicht selbständig erhöhen können. In einer anderen Ausführungsform wird dem Dritten die vorbestimmte Benutzerkennung erst bereitgestellt, wenn der Dritte den Code-Patch entwickelt, so dass der Code-Patch nicht so entwickelt bzw. geschrieben wird, dass er spezifisch der vorbestimmten Benutzerkennung vorübergehend angestammte Vorrechte bereitstellt. Stattdessen kann der Code-Patch nach Installation des Code-Patch auf dem Rechensystem einen Benutzer nach einer Benutzerkennung fragen, welcher vorübergehend angestammte Vorrechte bereitgestellt werden soll. Daraufhin gibt der Benutzer zu diesem Zeitpunkt die vorbestimmte Benutzerkennung ein.
-
In einer Ausführungsform der Erfindung schließt der Code-Patch Folgendes ganz oder teilweise ein. Erstens kann der Code-Patch eine Kennung aufweisen, die dem Rechensystem entspricht, auf dem er installiert werden soll. Deshalb ist eine Installation des Code-Patch während des Prozesses der Installation des Code-Patch auf dem Rechensystem nur dann gestattet, wenn diese Kennung mit der Kennung des Rechensystems übereinstimmt. Bei der Kennung kann es sich zum Beispiel um eine eindeutige Seriennummer einer bestimmten Recheneinheit des Rechensystems handeln.
-
Zweitens kann der Code-Patch eine digitale Signatur aufweisen, die lediglich dem Dritten bekannt ist. Während des Installationsprozesses des Code-Patch auf dem Rechensystem wird eine Installation des Code-Patch auch lediglich dann zugelassen, wenn die Gültigkeit dieser digitalen Signatur bestätigt wurde. Das Rechensystem kann zum Beispiel Zugang zu einem öffentlichen Schlüssel haben, und der Dritte kann Zugang zu einem entsprechenden privaten Schlüssel haben. Nur wenn der private Schlüssel, mit dem der Code-Patch durch den Dritten signiert wurde, mit dem öffentlichen Schlüssel, mit dem das Rechensystem signiert wurde, übereinstimmt, wird eine Installation des Code-Patch auf dem Rechensystem zugelassen. Nur der Dritte, und nicht das Unternehmen, hat Zugang zu dem privaten Schlüssel; Benutzer des Unternehmens haben zum Beispiel keinen Zugang zu dem privaten Schlüssel.
-
Drittens kann der Code-Patch ein Datum wie ein Startdatum und ein Enddatum aufweisen. Während des Installationsprozesses des Code-Patch auf dem Rechensystem wird eine Installation des Code-Patch auch lediglich dann zugelassen, wenn die Gültigkeit dieses Datums bestätigt wurde. Das aktuelle Datum und die aktuelle Zeit müssen zum Beispiel zwischen dem dem Code-Patch hinzugefügten Start- und Enddatum liegen, damit die Installation des Code-Patch zugelassen wird.
-
Diese Sicherheitsaspekte des Code-Patch stellen sicher, dass lediglich der Dritte einen derartigen Code-Patch zur Installation auf dem Rechensystem bereitstellen kann, so dass andere Parteien wie das Unternehmen sowie die Benutzer des Unternehmens einen derartigen Code-Patch nicht bereitstellen können. Da der Code-Patch die der vorbestimmten Benutzerkennung zugewiesenen Vorrechte vorübergehend auf angestammte Vorrechte erhöht, gestattet der Code-Patch in Verbindung mit dem Passwort für diese Kennung letztendlich ungehinderten Zugriff auf das Rechensystem unter Verwendung der vorbestimmten Benutzerkennung und deren Passwort. Folglich stellen die Kennung, die digitale Signatur und das Datum sicher, dass nur der Dritte den Code-Patch bereitstellen kann. Es hat zum Beispiel nur der Dritte, und nicht das Unternehmen, Kenntnis über die digitale Signatur, mit welcher der Code-Patch zu signieren ist, damit der Code-Patch auf dem Rechensystem installiert werden kann.
-
Es sei ferner bemerkt, dass der Code-Patch entweder lediglich einen dieser Sicherheitsaspekte, lediglich zwei dieser Sicherheitsaspekte oder alle drei dieser Sicherheitsaspekte aufweisen kann, um sicherzustellen, dass lediglich der Dritte einen Code-Patch zur Installation auf dem Rechensystem bereitstellen kann. Es können auch andere Arten von Sicherheitsaspekten in Bezug auf den Code-Patch realisiert werden, um sicherzustellen, dass lediglich der Dritte einen Code-Patch zur Installation in dem Unternehmen bereitstellen kann. Die anderen Arten von Sicherheitsaspekten können zusätzlich oder an Stelle einer oder mehrerer der oben genannten Sicherheitsaspekte des Code-Patch eingesetzt werden.
-
Der Code-Patch enthält einen durch einen Rechner lesbaren Programmcode, der bei Installation (d. h. Ausführung) auf dem Rechensystem der vorbestimmten Benutzerkennung vorübergehend angestammte Vorrechte bereitstellt, zum Beispiel durch das vorübergehende Erhöhen von Vorrechten der vorbestimmten Benutzerkennung auf Vorrechte, die den Vorrechten der Kennung eines bevorzugten Benutzers gleichwertig sind. In einer Ausführungsform erreicht das dieser durch einen Rechner lesbare Programmcode durch Ausführung eines Sudo-Rechnerprogramms in Bezug auf die vorbestimmte Benutzerkennung, die sich von der Kennung eines bevorzugten Benutzers unterscheidet. Bei dem Sudo-Rechnerprogramm handelt es sich um ein in den meisten UNIX®- und UNIX®-artigen Betriebssystemen enthaltenes Befehlszeilenprogramm, darunter das Betriebssystem LINUX®, das es gestattet, Programme gemäß Benutzerkennungen auszuführen, jedoch mit den Vorrechten anderer Benutzerkennungen wie der Kennung eines bevorzugten Benutzers.
-
Sobald der Code-Patch installiert wurde, besitzt die vorbestimmte Benutzerkennung somit angestammte Vorrechte auf das Rechensystem. Deshalb wird das Passwort für diese vorbestimmte Benutzerkennung in einer Ausführungsform dem Dritten (110) bereitgestellt. Der Dritte empfängt das Passwort für die vorbestimmte Benutzerkennung und nutzt mit Hilfe dieser vorübergehend angestammte Vorrechte besitzenden Kennung und des bereitgestellten Passworts die angestammten Vorrechte, um das erkannte Problem mit dem Rechensystem zu lösen (112). Somit kann der Dritte das Problem lösen, ohne mit Hilfe der gesperrten Kennung eines bevorzugten Benutzers selbst auf das Rechensystem zugreifen zu müssen und ohne auf das über einen Passwort-Hinterlegungsdienst für den vorbestimmten Benutzer identifizierte Passwort zugreifen zu müssen, wie nach dem Stand der Technik.
-
Es sei bemerkt, dass ein Benutzer, der Kenntnis über das Passwort für die vorbestimmte Benutzerkennung hat – wie zum Beispiel der dieser Kennung zugehörige Benutzer – keine angestammten Vorrechte für das Rechensystem besitzt und diese auch nicht erwerben kann, wenn der Code-Patch nicht auf dem Rechensystem installiert ist. Dies liegt daran, dass es sich bei der vorbestimmten Benutzerkennung normalerweise nicht um die Kennung eines bevorzugten Benutzers handelt. Da ein derartiger Benutzer den Code-Patch nicht ohne Unterstützung durch den Dritten entwickeln und installieren kann, bedeutet dies, dass der Benutzer normalerweise daran gehindert wird, angestammte Vorrechte für das Rechensystem besitzen zu können.
-
Ebenso sei bemerkt, dass der den Code-Patch bereitstellende Dritte keine angestammten Vorrechte für das Rechensystem besitzt und diese auch nicht erwerben kann, wenn dem Dritten das Passwort für die vorbestimmte Benutzerkennung nicht bereitgestellt wird. Dies liegt daran, dass der Dritte das Passwort für die vorbestimmte Benutzerkennung normalerweise nicht besitzt. Da der Dritte dieses Passwort normalerweise nicht besitzt, bedeutet dies, dass der Dritte normalerweise auch daran gehindert wird, angestammte Vorrechte für das Rechensystem besitzen zu können.
-
Sobald der Dritte das Problem erfolgreich gelöst hat, werden der Code-Patch deinstalliert (114) und das Passwort für die vorbestimmte Benutzerkennung geändert (116). Die Deinstallation des Code-Patch führt dazu, dass die vorbestimmte Benutzerkennung keine angestammten Vorrechte mehr für das Rechensystem besitzt, so dass der Benutzer des Unternehmens, dem diese Kennung zugehört, keinen ungehinderten Zugang mehr zu dem Rechensystem hat. Des Weiteren führt die Änderung des Passworts für die vorbestimmte Benutzerkennung durch den Benutzer des Unternehmens, dem diese Kennung zugehört, dazu, dass der Dritte das Passwort für die vorbestimmte Benutzerkennung nicht mehr kennt. Somit kann sich der Dritte unter Verwendung dieser vorbestimmten Benutzerkennung ohne Kenntnis und Unterstützung durch den Benutzer, dem die vorbestimmte Benutzerkennung zugehört, später nicht selbst angestammte Vorrechte auf das Rechensystem bereitstellen.
-
Der Code-Patch kann manuell deinstalliert werden, sobald der Dritte das Problem mit dem Rechensystem erfolgreich gelöst hat. Der Dritte kann den Code-Patch zum Beispiel nach Lösung des Problems mit dem Rechensystem manuell deinstallieren, oder ein Benutzer des Unternehmens, wie zum Beispiel der Benutzer, dem die vorbestimmte Benutzerkennung zugehört, kann den Code-Patch manuell deinstallieren. Des Weiteren kann der Code-Patch ein Ablaufdatum aufweisen. Nach Ablauf des Ablaufdatums wird der Code-Patch ohne Eingriff durch einen Benutzer der Einheit bzw. den Dritten automatisch von dem Rechensystem deinstalliert. Ein optimales Verfahren kann die Durchführung einer manuellen Deinstallation unmittelbar nach der Lösung des Problems mit dem Rechensystem sein, wobei innerhalb des Code-Patch trotzdem ein Ablaufdatum bereitgestellt wird, so dass der Code-Patch letztendlich auch dann von dem Rechensystem deinstalliert wird, wenn eine derartige manuelle Deinstallation nicht durchgeführt wird.
-
In der oben beschriebenen Ausführungsform der Erfindung wird dem Dritten das Passwort für die vorbestimmte Benutzerkennung nach Installation des Code-Patch auf dem Rechensystem bereitgestellt, damit der Dritte das Problem mit dem Rechensystem lösen kann. In einer anderen Ausführungsform wird dem Dritten jedoch das Passwort für die vorbestimmte Benutzerkennung nach Installation des Code-Patch auf dem Rechensystem nicht bereitgestellt. In einer derartigen Ausführungsform kann der Dritte stattdessen einem Benutzer in dem Unternehmen zum Beispiel Anweisungen bereitstellen, wie das Problem gelöst werden kann, so dass das Problem gelöst werden kann, ohne dass dem Dritten das Passwort für die vorbestimmte Benutzerkennung bereitgestellt wird.
-
2 zeigt ein Rechensystem 200 gemäß einer Ausführungsform der vorliegenden Erfindung. Das Rechensystem 200 enthält eine Recheneinheit 202 des Unternehmens bzw. für das Unternehmen, die als Unternehmensrecheneinheit 202 bezeichnet wird. Das Rechensystem 200 enthält ferner eine Recheneinheit 204 des Dritten bzw. für den Dritten, die als Recheneinheit Dritter 204 bezeichnet wird. Die Recheneinheiten 202 und 204 sind für den Datenaustausch über ein Netzwerk 206 miteinander verbunden.
-
Bei der Unternehmensrecheneinheit 202 handelt es sich um die Recheneinheit, in der ein Problem aufgetreten ist, dessen Lösung angestammte Vorrechte erfordert. Der Code-Patch kann in der Recheneinheit Dritter 204 entwickelt werden. Der Code-Patch wird von der Recheneinheit Dritter 204 an die Unternehmensrecheneinheit 202 übertragen und auf der Unternehmensrecheneinheit 202 installiert. Der Dritte kann von der Recheneinheit Dritter 204 über das Netzwerk auf die Unternehmensrecheneinheit 202 zugreifen, indem er das von dem Unternehmen für die vorbestimmte, auf Grund der Installation des Code-Patch angestammte Vorrechte besitzende Benutzerkennung bereitgestellte Passwort verwendet. Der Dritte löst das Problem mit der Unternehmensrecheneinheit 202 über einen derartigen Zugriff auf die Unternehmensrecheneinheit 202, woraufhin der Code-Patch von der Einheit 202 deinstalliert und das Passwort für die vorbestimmte Benutzerkennung geändert werden.
-
3 zeigt die Unternehmensrecheneinheit 202 gemäß einer Ausführungsform der vorliegenden Erfindung ausführlicher. Die Unternehmensrecheneinheit 202 enthält Hardware 302 und Software 304. Die Hardware 302 kann einen oder mehrere Prozessoren, flüchtigen Speicher, nichtflüchtige Speichereinheiten sowie andere Arten von Hardware beinhalten. Die Software 304 kann ein oder mehrere Betriebssysteme, ein oder mehrere Anwendungsrechnerprogramme sowie andere Arten von Software beinhalten. Die Software 304 wird durch die Hardware 302 ausgeführt und läuft darauf. Der Zugriff auf die Software 304 wird durch die Kennung eines bevorzugten Benutzers mit angestammten Vorrechten und durch mindestens eine vorbestimmte Benutzerkennung gesteuert, die normalerweise keine angestammten Vorrechte besitzt. Die vorbestimmte Benutzerkennung unterscheidet sich von der Kennung eines bevorzugten Benutzers.
-
Die Unternehmensrecheneinheit 202 enthält ebenfalls ein durch einen Rechner lesbares Speichermedium 306, das Teil der Hardware 302 sein kann. Das durch einen Rechner lesbare Speichermedium 306 speichert durch einen Rechner lesbaren Programmcode 308, der Teil der Software 304 sein kann. Der durch einen Rechner lesbare Programmcode 308 führt eine Sicherheitskomponente 310 aus. Die Sicherheitskomponente 310 sperrt die Kennung eines bevorzugten Benutzers. Danach installiert die Sicherheitskomponente 310 einen Code-Patch infolge einer Feststellung, dass die Lösung eines Problems mit der Software 304 angestammte Vorrechte erfordert.
-
Wie beschrieben stellt der Code-Patch der vorbestimmten Benutzerkennung vorübergehend angestammte Vorrechte bereit. Der Code-Patch wird durch einen Dritten bereitgestellt und kann nicht von dem fraglichen Unternehmen bereitgestellt werden. Ein Benutzer, der Kenntnis über das Passwort für die vorbestimmte Benutzerkennung hat, besitzt keine angestammten Vorrechte und kann diese auch nicht besitzen, wenn der Code-Patch nicht installiert ist. Der Dritte greift auf die Software 304 zu, um das Problem zu lösen, nachdem ihm das Passwort für die vorbestimmte Benutzerkennung bereitgestellt wurde, so dass der Dritte durch den Code-Patch und dieses Passwort angestammte Vorrechte besitzt. Der den Code-Patch bereitstellende Dritte besitzt keine angestammten Vorrechte und kann diese auch nicht besitzen, wenn ihm dieses Passwort nicht bereitgestellt wird. Andere Aspekte des Code-Patch, die in Bezug auf das Verfahren aus 1 beschrieben wurden, sind auch für eine Umsetzung in Bezug auf das System aus 2 sowie die Recheneinheit aus 3 geeignet.
-
Aspekte der vorliegenden Erfindung wurden oben unter Bezugnahme auf Ablaufpläne und/oder Schaubilder von Verfahren, Vorrichtungen (Systemen) und Rechnerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Schaubildern durch Rechnerprogrammanweisungen ausgeführt werden können. Diese Rechnerprogrammanweisungen können dem Prozessor eines Universalrechners, eines Spezialrechners oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Rechners bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken des Ablaufplans und/oder der Schaubilder festgelegten Funktionen/Schritte erzeugt.
-
Diese Rechnerprogrammanweisungen können auch auf einem durch einen Rechner lesbaren Medium gespeichert sein, das einen Rechner oder eine andere programmierbare Datenverarbeitungsvorrichtung bzw. andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass die auf dem durch einen Rechner lesbaren Medium gespeicherten Anweisungen ein Herstellungsprodukt herstellen, darunter Anweisungen, welche die in dem Block bzw. den Blöcken des Ablaufplans und/oder der Schaubilder festgelegten Funktion/den Schritt umsetzen.
-
Die Rechnerprogrammanweisungen können auch auf einen Rechner oder eine andere programmierbare Datenverarbeitungsvorrichtung bzw. andere Einheiten geladen werden, um die Ausführung einer Reihe von Prozessschritten auf dem Rechner, der anderen programmierbaren Vorrichtung bzw. der anderen Einheiten zu verursachen, um einen auf einem Rechner ausgeführten Prozess zu erzeugen, so dass die auf dem Rechner oder einer anderen programmierbaren Vorrichtung ausgeführten Anweisungen Verfahren zur Umsetzung der in dem Block bzw. den Blöcken des Ablaufplans und/oder der Schaubilder festgelegten Funktionen/Schritte erzeugen.
-
Der Ablaufplan und die Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen der Systeme, Verfahren und Rechnerprogrammprodukte gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in dem Ablaufplan bzw. den Schaubildern ein Modul, ein Segment oder einen Teil eines Codes darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) umfassen.
-
Es sei auch bemerkt, dass in einigen alternativen Ausführungen die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden können. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner zu bemerken, dass jeder Block der Schaubilder und/oder des Ablaufplans sowie Kombinationen aus Blöcken in den Schaubildern und/oder dem Ablaufplan in speziellen auf Hardware beruhenden Systemen umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder durch Kombinationen aus Spezial-Hardware and Rechneranweisungen.
-
Zuletzt sei bemerkt, dass, obwohl hierin spezifische Ausführungsformen veranschaulicht und beschrieben wurden, Fachleute verstehen werden, dass jede beliebige zum Erreichen desselben Zwecks berechnete Anordnung die spezifischen gezeigten Ausführungsformen ersetzen kann. Diese Anmeldung soll daher jegliche Anpassungen bzw. Abwandlungen der Ausführungsformen der vorliegenden Erfindung abdecken. Als solches und deshalb ist es offenkundig beabsichtigt, dass diese Erfindung lediglich durch die Ansprüche und deren Entsprechungen beschränkt wird.