Sicherheit auf dem PrüfstandInselspringen: Reduzieren unerwünschter Abhängigkeiten

Jesper M. Johansson

In der Ausgabe von „Sicherheit auf dem Prüfstand“ vom vorigen Monat wurden die ersten Schritte vorgestellt, wie mit einem USB-Flashlaufwerk ein Netzwerk angegriffen werden kann. Der Angriff beginnt damit, ein infiziertes USB-Flashlaufwerk an einen Computer anzuschließen. Danach wird entweder automatisch oder mit minimaler Hilfe durch den Benutzer (unter Verwendung von einfachem Social

Engineering) der schädliche Code ausgeführt. Der erörterte Angriff blieb lokal auf die Arbeitsstation beschränkt, aber die Malware könnte sich natürlich über das restliche Netzwerk ausbreiten. Diese Art des Angriffs auf ein Netzwerk ist Thema meines demnächst erscheinenden Buchs „Windows Server 2008 Security Resource Kit“ (Microsoft Press®, 2008). Teile des entsprechenden Kapitels werden in abgewandelter Form für diesen Artikel verwendet.

Eine der Möglichkeiten, sich gegen derartige Angriffe zu schützen, besteht darin, die Verwendung von Wechsellaufwerken zu verbieten. Das mag zwar als gute Vorsichtsmaßnahme erscheinen, aber wenn Sie dies durchzusetzen versuchen, lauern Ihnen Ihre Benutzer wahrscheinlich auf dem Weg zum Auto auf (wer könnte es ihnen auch verübeln). In allen außer den empfindlichsten Umgebungen ist als Alternative vorzuziehen, möglichst mit dem bestehenden Risiko umzugehen und die Gefahr einzudämmen.

Darüber hinaus stellen Wechsellaufwerke keineswegs die einzige Möglichkeit dar, um einen Clientcomputer anzugreifen. Erinnern Sie sich noch an die „10 unveränderlichen Gesetze der Sicherheit“ (verfügbar unter microsoft.com/technet/archive/community/columns/security/essays/10imlaws.mspx)? Gesetz Nummer 3 ist in seiner Grundaussage nach wie vor wahr: „Wenn ein Angreifer uneingeschränkten physischen Zugriff auf Ihren Computer hat, gehört der Computer nicht mehr Ihnen.“ Im Kontext dieses Artikels bedeutet dies Folgendes: Wenn ein Angreifer Zugriff auf Ihren Computer hat, ist dieser Computer als gefährdet zu betrachten. Dies kann sogar durch Fernzugriff geschehen, falls der Angreifer Sie dazu bringen kann, seinen Code auf Ihrem Computer auszuführen. Folgende Aussage erkennen Sie vielleicht als Gesetz Nummer 1 der unveränderlichen Gesetze: „Wenn ein Angreifer Sie überreden kann, sein Programm auf Ihrem Computer auszuführen, gehört Ihnen Ihr Computer nicht mehr.“

Man kann ohne Weiteres davon ausgehen, dass die unveränderlichen Gesetze nach wie vor Gültigkeit haben, denn sie haben sich bisher als äußerst widerstandsfähig erwiesen und werden sich erst dann ändern, wenn sich die Funktionsweise von Computern fundamental ändert. Daher sollten Sie in Anbetracht dessen, wie diese Gesetze auf das beschriebene Szenario anzuwenden sind, das von Wechsellaufwerken ausgehende Risiko unbedingt beseitigen. Dies können Sie durch einige wenige Änderungen der Registrierung erreichen.

Sie müssen natürlich auch zusätzliche Schutzschichten verwenden. Es ist davon auszugehen, dass viele Ihrer Clientcomputer entweder bereits gefährdet sind oder von Benutzern bedient werden, denen die Sicherheit Ihrer Organisation nicht besonders am Herzen liegt. Sie müssen die Auswirkungen von Wechsellaufwerken auf das restliche Netzwerk daher reduzieren, was die Notwendigkeit erhöht, Sicherheitsabhängigkeiten zu verstehen, zu analysieren und zu reduzieren.

Definition einer Sicherheitsabhängigkeit

Eine Sicherheitsabhängigkeit liegt dann vor, wenn die Sicherheit eines Computers von der Sicherheit eines anderen Computers abhängt. Sie haben sicher schon jemanden sagen hören, dass dann, wenn ein Hacker in Ihren Domänencontroller (DC) eingedrungen ist, Ihr gesamtes Netzwerk gefährdet ist. Damit wird auf einfache Weise ausgedrückt, dass die Sicherheit aller Domänenmitglieder von den DCs abhängt. Wenn der DC nicht geschützt ist, können die Mitgliedscomputer nicht geschützt werden. Wenn ein Angreifer die Sicherheitskonfiguration der Domäne ändern kann, kann er jeden beliebigen Computer in der Domäne übernehmen, indem er beispielsweise auf einem Mitgliedscomputer der Administratorengruppe neue Konten hinzufügt. Ein Sicherheitsrisiko, das eine Gefährdung durch einen Administrator zulässt, ist dabei ohne Bedeutung. Ein Administrator muss grundsätzlich vollständigen Zugriff auf alle von ihm verwalteten Komponenten haben.

Abhängigkeiten sind in Computersystemen unvermeidlich. Sie kommen sogar sehr häufig vor und sind oft auch wünschenswert. Dies bedeutet jedoch nicht, dass alle Abhängigkeiten akzeptabel sind. In diesem Artikel wird näher betrachtet, welche Arten von Abhängigkeiten akzeptabel sind und welche nicht. Außerdem werden die Arten von Abhängigkeiten analysiert und untersucht, wie sie reduziert werden können. In „Windows Server 2008 Security Resource Kit“ werden die spezifischen Abhängigkeiten sowie ihre Verwaltung näher erläutert.

Akzeptable Abhängigkeiten

Eine Abhängigkeit ist im Allgemeinen dann akzeptabel, wenn die Sicherheit eines weniger empfindlichen System von einem empfindlicheren System abhängt. Computer und Systeme können basierend auf ihrer Empfindlichkeit in Klassen eingeteilt werden. (Der jeweilige Satz an Klassen in einer bestimmten Umgebung ist für die allgemeine Erörterung irrelevant, denn wichtig ist nur, dass jede Umgebung bestimmte Klassen mit sich bringt.) Gehen Sie im Rahmen dieser Erörterung einfach davon aus, dass zwei Klassen vorliegen: Arbeitsstationen und DCs. In diesem Szenario ist es akzeptabel, dass die Sicherheit der Arbeitsstationen von den DCs abhängt. Da die DC-Klasse weitaus empfindlicher als die Klasse der Arbeitsstationen ist, muss sie natürlich auch besser geschützt sein.

Das gleiche Argument gilt auch für Benutzerkonten. Es ist akzeptabel, dass ein Administrator die Daten eines Benutzers ändern und somit gefährden kann. Dies liegt daran, dass Administratoren mehr Verantwortung haben und über ungehinderten (wenn auch nicht immer direkten oder offensichtlichen) Zugriff auf den Computer und alles, was darauf gespeichert ist, verfügen. Wenn Sie diesen Punkt verstehen und die Computer entsprechend verwalten, ist an dieser Abhängigkeit nichts auszusetzen.

Sogar Software kann auf dieselbe Weise analysiert werden. Es ist sicherlich akzeptabel, dass eine weniger empfindliche Software wie ein Webbrowser zur eigenen Sicherheit von einer empfindlicheren Software wie dem Betriebssystem abhängt. Wenn das Betriebssystem einen Fehler enthält, ist die Tatsache, dass der Webbrowser jetzt für ein neues Problem anfällig ist, keine Überraschung und erhält in der Liste direkt zu behandelnder Probleme nur geringe Priorität, denn in erster Linie müssen die Probleme beim Betriebssystem und den anderen kritischen Anwendungen und Daten ausgeräumt werden. Dabei geht es darum, wie Fehler behoben werden oder wofür Hotfixes entwickelt werden, denn ein Fehler sollte so nah wie möglich am Kern des Problems behoben werden. Dadurch wird bei der Problembehebung eine maximale Schutzwirkung erreicht. Somit muss das Betriebssystem selbst repariert werden, statt das Problem im Webbrowser zu umgehen.

Alternativ dazu kann die Abhängigkeit auch durch eine Designänderung entfernt werden. Beispielsweise kann der Webbrowser so umgeschrieben werden, dass die Abhängigkeiten vom Betriebssystem reduziert werden. Dieses Verfahren eignet sich in Fällen, in denen die Funktionalität der sichereren Komponenten (in diesem Fall des Betriebssystems) ursprünglich nie so eingesetzt werden sollte, wie dies jetzt bei der weniger empfindlichen Komponente (dem Webbrowser) der Fall ist.

Inakzeptable Abhängigkeiten

Mit der Definition akzeptabler Abhängigkeiten dürfte auch die Definition inakzeptabler Abhängigkeiten geklärt sein. Generell darf die Sicherheit eines empfindlicheren Systems nie von einem weniger empfindlichen System abhängen.

Wenn die Gefährdung einer Arbeitsstation bedeutet, dass die Sicherheit des DCs beeinträchtigt ist, liegt ein ernsthaftes Sicherheitsproblem vor. Es ist unmöglich, ein Netzwerk zu schützen, dessen Gesamtsicherheit von der Sicherheit jedes einzelnen Computers im Netzwerk abhängt.

Betrachten Sie dies unter einem statistischen Gesichtspunkt. Wenn jeder Computer des Netzwerks zu 99,999 Prozent der Zeit „sicher“ ist, glauben Sie möglicherweise, dass dieses Netzwerk extrem sicher ist. Tatsächlich geht dieser Prozentwert wahrscheinlich weit über das hinaus, was in allen außer den kleinsten Netzwerken heutzutage realistisch ist. Nehmen Sie aber jetzt einmal an, dass Ihr Netzwerk 40.000 Computer umfasst, von denen jeder zu 0,001 Prozent der Zeit anfällig ist. Um die Sache auf die Spitze zu treiben, könnte man sagen, dass Ihr Netzwerk insgesamt zu 40 Prozent der Zeit potenziell ungeschützt ist.

Hinzu kommt natürlich, dass bei nicht verwalteten Abhängigkeiten bereits ein einziger dieser zu 0,001 Prozent der Zeit anfälligen Computer genügt, um das gesamte Netzwerk zu gefährden. Wie sicher ist das Netzwerk also unter diesen Gesichtspunkten? Es ist ohne jeden Zweifel von höchster Priorität, dass empfindlichere Systeme vor weniger empfindlichen Systemen geschützt werden müssen.

Dieses Argument kann leicht auf Benutzerkonten und Software übertragen werden. So erlaubt Ihnen beispielsweise der neue Terminaldiensteclient für Windows®, Benutzernamen und Kennwörter für eine praktisch transparente Terminaldiensteanmeldung zu speichern. Diese Anmeldeinformationen werden unter Verwendung der Anmeldeinformationsverwaltungs-API gespeichert und durch die Anmeldeinformationen der primären Anmeldesitzung geschützt.

Dies kann eine Sicherheitsabhängigkeit erzeugen. Nehmen Sie beispielsweise eine Netzwerkadministratorin, die sich bei ihrer persönlichen Arbeitsstation anmeldet. Sie verwendet diese Arbeitsstation für E-Mail, zum Surfen im Web und für andere typische Aufgaben der Datenbearbeitung. Natürlich verwendet sie zu diesem Zweck ein Domänenkonto mit niedriger Berechtigungsstufe.

Im Verlauf des Arbeitstags stellt diese Administratorin eine Verbindung zu einem der DCs her, um eine Reihe von Verwaltungsaufgaben durchzuführen. Sie verwendet dazu den Terminaldiensteclient und wählt aus, ihr Kennwort zu speichern, um die zukünftige Verbindungsaufnahme zu vereinfachen. Dies führt zu mindestens einem, möglicherweise sogar zwei inakzeptablen Sicherheitsabhängigkeiten. Die erste inakzeptable Sicherheitsabhängigkeit besteht darin, dass ihre Anmeldeinformationen für das Domänenadministratorkonto jetzt durch die Anmeldeinformationen als Datenbearbeiterin mit niedriger Berechtigungsstufe geschützt werden. Wenn dieses Benutzerkonto mit niedriger Berechtigungsstufe gefährdet wird, wird dadurch auch das Domänenadministratorkonto und somit die gesamte Domäne gefährdet.

Die zweite Abhängigkeit ergibt sich aus der Tatsache, dass administrative Domänenanmeldeinformationen auf einem Controller eingegeben wurden, der kein Domänencontroller ist. Wenn ihre persönliche Arbeitsstation nicht mindestens so gut geschützt ist wie die DCs (und dies ist wahrscheinlich nicht der Fall), dann liegt hier eine Abhängigkeit vor, bei der die Sicherheit der DCs von der Sicherheit der persönlichen Arbeitsstation dieses Benutzers abhängt. Wenn beispielsweise ein böswilliger Mitarbeiter im selben Büro auf der Arbeitsstation des Netzwerkadministrators eine Tastatureingabenprotokollierung installiert hat, wurden damit die Anmeldeinformationen für das Domänenadministratorkonto aufgezeichnet. Bei jeder Eingabe von Anmeldeinformationen für ein Domänenadministratorkonto auf einem Controller, der kein Domänencontroller ist, setzen Sie die gesamte Domäne allen Sicherheitsrisiken aus, die auf diesem Controller bestehen.

Nehmen Sie jetzt einmal an, dass ein Angreifer in einen Computer, an dem ein Domänenadministrator angemeldet ist, einmal angemeldet war oder sich einmal anmelden wird, ein Wechsellaufwerk einlegt. Dadurch wird dieser Domänenadministrator und infolgedessen auch die gesamte Domäne gefährdet. Sie müssen diese Situation unbedingt verstehen, um sie vermeiden zu können. Selbstverständlich kann dasselbe auch mit Software geschehen, wenn eine sichere Anwendung von der Funktionalität einer weniger sicheren Anwendung abhängt, um eine bestimmte Aufgabe durchzuführen.

Analyse eines Angriffs

An früherer Stelle wurde beschrieben, was beim Einlegen eines schädlichen Wechsellaufwerks in einen Computer passieren kann. Möglicherweise ist jedoch nur klar, was mit dem Computer geschieht, in den das Laufwerk ursprünglich eingelegt wurde. Angenommen der betreffende Computer ist mit einer Domäne verbunden, wie in Abbildung 1 dargestellt.

Abbildung 1 Ideale Domänenabhängigkeiten

Abbildung 1** Ideale Domänenabhängigkeiten **

Das hier abgebildete Szenario stellt eine ideale Abhängigkeit dar. Die Pfeile sind Richtungspfeile und zeigen auf den Punkt, von dem die Abhängigkeit herrührt. So hängt beispielsweise die Sicherheit der Arbeitsstation von der Sicherheit des DCs und die Sicherheit des Benutzers von der Sicherheit der Arbeitsstation ab. Der Angreifer kann u. U. die Arbeitsstation gefährden, was wiederum alle Informationen gefährden würde, die der Benutzer auf dieser Arbeitsstation gespeichert hat, aber die Gefährdung wäre auf diese Stelle isoliert.

Nehmen Sie aber einmal an, dass der Benutzer, der sich bei der Arbeitsstation anmeldet, ein Mitglied der lokalen Administratorengruppe auf dem Server ist. Nehmen Sie ferner an, dass sich der Domänenadministrator oft beim Server anmeldet. Daraus ergeben sich die in Abbildung 2 gezeigten Abhängigkeiten.

Abbildung 2 Gefährdete Domänenabhängigkeiten

Abbildung 2** Gefährdete Domänenabhängigkeiten **

Allein durch die Änderung der Annahme, wer sich bei den betreffenden Computern angemeldet hat, wurde die Sicherheit des gesamten Netzwerks gefährdet. Da sich ein Domänenadministrator beim Server anmeldet, hängt die Sicherheit des DC und somit die Sicherheit der ganzen Domäne von der Sicherheit dieses Servers ab.

Dies wäre akzeptabel, wenn der Server so sicher wie der DC verwaltet würde. In diesem Fall jedoch ist ein Benutzer, der sich bei der Arbeitsstation anmeldet, ein Mitglied der Administratorengruppe auf dem Server. Infolgedessen hängt die Sicherheit des Servers von der Sicherheit der Arbeitsstation ab. Die Sicherheit der ganzen Domäne hängt demzufolge von der Sicherheit der Arbeitsstation ab. Wissen Sie, was als Nächstes passiert ist? Der Benutzer dieser Arbeitsstation hat soeben unwissentlich das Tool des Angreifers ausgeführt.

Es gibt in der heutigen Welt der Informationssicherheit wahrscheinlich nur wenige Konzepte, deren Verständnis dringlicher ist, als das Konzept der Sicherheitsabhängigkeiten. Wenn Sie Ihr Netzwerk erst einmal analysieren, um die verschiedenen Abhängigkeiten festzustellen, werden Sie mit großer Wahrscheinlichkeit auf inakzeptable Abhängigkeiten stoßen. Im denkbar schlimmsten Fall, der weitaus häufiger vorliegt, als Sie glauben, hängt die Sicherheit des gesamten Netzwerks vom gesamten Netzwerk ab. Mit anderen Worten: Die Sicherheit jedes einzelnen Computers hängt in gewisser Weise von der Sicherheit jedes anderen Computers ab. Aus diesem Grund ist es unmöglich, in dieser Art von Umgebung eine vernünftige und realistische Risikoverwaltungsstrategie einzurichten, da die Beziehungen nicht kontrolliert werden können und die Komplexität unüberschaubar ist. Die Lösung besteht darin, Abhängigkeiten zu analysieren und zu verwalten.

In diesem Artikel wurde lediglich ein kurzer Überblick über Abhängigkeiten vorgestellt und kurz angedeutet, wie sich diese Abhängigkeiten analysieren und reduzieren lassen. Weitere Informationen finden Sie in meinem Buch „Windows Server 2008 Security Resource Kit“. Es enthält ein ganzes Kapitel, das dem Schutz von Netzwerken gewidmet ist. Dabei werden zur Analyse und Verwaltung von Abhängigkeiten sowohl raffinierte Verfahren wie Server- und Domänenisolation als auch einfachere Methoden wie die Administratorkontoverwaltung eingesetzt.

Ich danke David LeBlanc für seine Hilfe bei der Ausarbeitung der Ideen für diesen Artikel.

Jesper M. Johansson ist Softwarearchitekt, der an Problemen mit der Softwaresicherheit arbeitet und redaktionelle Beiträge für das TechNet Magazin schreibt. Johansson verfügt über einen PhD in MIS und besitzt mehr als 20 Jahre Erfahrung im Bereich Sicherheit.

© 2008 Microsoft Corporation und CMP Media, LLC. Alle Rechte vorbehalten. Die nicht genehmigte teilweise oder vollständige Vervielfältigung ist nicht zulässig.