Klaus-Peter Kossakowski: Computer-Würmer

 

Zur Person


Größere Projekte


IT Incident Response


Publikationen


PGP-Schlüssel


Impressum



6.1 Die gegenwärtige Situation

Der Ausgangspunkt der gesamten Arbeit war die gegenwärtige Situation nach dem Auftreten einiger weniger Computer- Würmer, die als Systemanomalien einzustufen sind. Trotz der geringen Zahl der bisherigen destruktiven Anwendungen von Computer-Würmern darf ihr potentiell schädigender Einfluß auf Systeme und Netzwerke nicht unterschätzt werden. Dafür spricht vor allem das Beispiel des Internet- Wurms, der bis zum März 1991 den "world high speed computing record" [Cohen 1992, S. 715] hielt. Hätte sein Entwickler direkt schädigende Auswirkungen beabsichtigt, wären die Folgen für die Benutzer der betroffenen Systeme unzweifelhaft verheerend gewesen. Auch ohne eine solche Absicht war der Schaden enorm, der aufgrund der Programmierfehler und des Aufwands für die Beseitigung und Nachsorge entstand. In diesem Abschnitt sollen die Ursachen für derartige Angriffe zusammen mit den möglichen Gegenmaßnahmen kurz zusammengefaßt werden, bevor im darauffolgenden Abschnitt versucht wird, eine subjektive Einschätzung der erwarteten zukünftigen Bedrohung durch Computer-Würmer vorzunehmen.


Ursachen für die Verletzlichkeit heutiger Systeme

Für die Existenz und Ausbreitung von Computer-Würmern sind verschiedene Handlungen und Funktionalitäten notwendig: Entwicklung, Einpflanzung sowie Aktivierung eines ersten Wurm- Segments und Lokalisierung eines Zielrechners, Übertragung sowie Aktivierung weiterer Wurm-Segmente.

Diese Funktionalitäten sind heute in vielen Systemen für Benutzer und deren Programme verfügbar. Die Ursachen hierfür sind im Lebenszyklus der Systeme zu suchen. Neben der gewollten und beabsichtigten Integration gibt es zahlreiche Möglichkeiten, um während des Lebenszyklus auf ein System schädigend einzuwirken. Eine Variante der dabei zu berücksichtigenden Auswirkungen ist die vorsätzliche Schaffung zusätzlicher Funktionalitäten, doch können auch fahrlässige Handlungen zu einem solchen Ergebnis führen. Da Systeme von Entwicklungssystemen beeinflußt werden, müssen die Auswirkungen von Systemanomalien berücksichtigt werden, die in den Entwicklungssystemen aktiv sind und die Ergebnisse der Entwicklung manipulieren können. Systemanomalien können auch während des Betriebs eines Systems für die Schaffung zusätzlicher Funktionalitäten eingesetzt werden.

Die Bereitstellung der für die Aktivitäten von Computer-Würmern notwendigen Funktionalitäten reicht als Begründung für die Existenz von Computer- Würmern nicht aus, da auf diese Funktionalitäten auch zugegriffen werden muß. In diesem Zusammenhang sind die Sicherheitsfunktionen eines Systems bereits zu Beginn der Entwicklung in die Konzeption miteinzubeziehen. Wird während einer Entwicklung eine zusätzliche oder ursprünglich nicht eingeplante Funktionalität hergestellt, wird ihre Verwendung in der Regel nicht durch die Sicherheitsfunktionen kontrolliert und überwacht werden, da bei deren zeitlich vorausgehenden Entwicklung diese zusätzliche Funktionalität sicher nicht berücksichtigt werden konnte.

[Zurück zum Anfang]

 
Abhängig von den eingesetzten Systemen kann auch der Fall eintreten, daß bestimmte Funktionalitäten nicht durch Sicherheitsfunktionen geschützt werden, weil die Systeme für einen Einsatz konzipiert werden, für den ein solcher Schutz nicht für notwendig befunden wird. Ein typisches Beispiel für eine solche 'schutzlose' Konzeption ist der Personal-Computer.

Andererseits sind auch die Sicherheitsfunktionen Produkte einer Entwicklung, für welche die gleichen Probleme zu berücksichtigen sind, wie sie bereits bei den Systemen angesprochen wurden. Fehler und Manipulationen können zu einer fehlerhaften Funktion führen oder eine Umgehung oder Täuschung erlauben.

[Zurück zum Anfang]

 
Sind die notwendigen Funktionalitäten verfügbar, was eventuell erst durch eine Umgehung oder Täuschung der Sicherheitsfunktionen erreicht wurde, kann ein Computer-Wurm durch einen Menschen entwickelt werden. Ein solcher Wurm- Entwickler muß nicht selbst über die Möglichkeiten verfügen, bestimmte Handlungen zu veranlassen, durch die ein erstes Wurm-Segment auf einem Rechner eines Netzwerks ausgeführt wird. Er kann sich dazu der Handlungen anderer Menschen bedienen oder aber automatische Systemvorgänge oder Auswirkungen von Systemanomalien ausnutzen.

Für die weitere Ausbreitung können die auf einem Rechner aktiven Computer-Würmer alle lokal vorhandenen Protokolle und Verbindungen ausnutzen, wenn ein Zugriff darauf möglich ist. Insbesondere können sie dabei auch interne Schnittstellen aufrufen, wenn die Sicherheitsfunktionen solche Aufrufe nicht kontrollieren. Auf dem Zielrechner der Ausbreitung muß im Gegensatz dazu mindestens ein Prozeß auf der Anwendungsebene des OSI-Referenzmodells (Layer 7: Application Layer) aktiv sein, wie dies schematisch in Abbildung 9 dargestellt wird. Nur durch einen solchen Prozeß können Daten aus dem Netzwerk aufgenommen und in einer Form verarbeitet werden, die eine Ausbreitung von Computer- Würmern ermöglicht. Dies bedeutet, daß zunächst durch einen solchen Prozeß eine Kopie des Wurm-Segments empfangen und gespeichert werden muß. Anschließend muß das neue Wurm-Segment aktiviert werden. Das Kommando dazu muß wiederum von einem Anwendungsprozeß auf dem Zielrechner empfangen und ausgeführt werden. Das Wurm-Segment kann nur dann aktiviert werden, wenn der Anwendungsprozeß über die entsprechenden Rechte verfügt, um eine zuvor übertragene Datei auszuführen. Sind diese Voraussetzungen nicht erfüllt, kann auf dem Zielrechner kein neues Wurm-Segment erzeugt werden.


Abbildung 9:

[Repraesentation im OSI-Referenzmodell]


Maßnahmen zum Schutz vor Computer-Würmer

Wie dies die Zusammenfassung der Ursachen schon deutlich machte, ist die wirkungsvollste Maßnahme zum Schutz vor Computer- Würmern die Einschränkung der Funktionalität von Systemen und Netzwerken. Dadurch wird verhindert, daß bestimmte Voraussetzungen für Existenz und Ausbreitung von Computer-Würmern erfüllt sind. Weil es sich aber bei dieser Art der Systemanomalien dritter Art um eine spezielle Kombination von Funktionalitäten handelt, welche in der Regel für den beabsichtigten Einsatz der Systeme notwendig sind, kann nicht in jedem Fall auf eine Funktionalität verzichtet werden. Es ist eine schwierige Aufgabe, in diesem Spannungsfeld von Bedrohungen und angestrebten Vorteilen eine richtige Entscheidung zu treffen.

Bereits bevor ein System entwickelt wird, müssen Anforderungen an die Sicherheit formuliert werden, um die Sicherheitsfunktionen zu einem integralen Bestandteil des Systemdesigns werden zu lassen. Um dies zu erreichen, können Methoden der formalen Entwicklung eingesetzt werden, wobei zunächst ein Sicherheitsmodell für die Prüfung der konkreten Sicherheitsanforderungen aufgestellt werden sollte, das zugleich den Ausgangspunkt für die Erstellung einer formalen Spezifikation bilden kann. Durch eine schrittweise Verfeinerung gelangt man über verschiedene Ebenen zur Implementation. Die Aufgabe der Verifikation ist die Überprüfung der Übereinstimmung zwischen dem Sicherheitsmodell und der Realisierung der Sicherheitsfunktionen.

Besondere Bedeutung kommt bei Entwicklungssystemen der Bedrohung durch Systemanomalien und unberechtigte Benutzer zu, da deren Handlungen über die entwickelten Systeme indirekt einen enormen Einfluß gewinnen können. Die zum Schutz vor solchen Handlungen einzusetzenden Sicherheitsfunktionen müssen die eindeutige und sichere Identifikation und Authentisierung von Benutzern, Prozessen und Rechnern erlauben. Auf dieser Grundlage muß eine rigorose Zugriffskontrolle durchgesetzt werden, die den Einfluß eines Benutzers auf ein Mindestmaß reduziert. Die Schaffung verschiedener Rollen mit unterschiedlichen Rechten verbessert die Wirksamkeit der Zugriffskontrolle.

[Zurück zum Anfang]

 
Außerdem muß aber auch die Möglichkeit berücksichtigt werden, daß ein Entwickler bewußt seine Rechte mißbraucht. Während die Maßnahmen der personellen Überprüfung seit langer Zeit bekannt sind, wurden seit den 1980er Jahren verstärkt an automatischen Verfahren zur Sicherheitsanalyse gearbeitet. Dazu zählt sowohl die Analyse der Audit-Daten, um nachträglich bestimmte Handlungen zu kontrollieren als auch die Online-Analyse durch Realzeitsysteme. Gerade die Online- Analyse kann heute aufgrund der Leistungseinbußen nur eingeschränkt praktisch angewandt werden, jedoch bieten Programme zur Unterstützung der Audit-Auswertung bereits heute viele Vorteile.

Bei dem Betrieb eines Systems müssen drei Gesichtspunkte berücksichtigt werden: Die lokale Einpflanzung und Aktivierung eines Wurm-Segments, die lokalen Aktivitäten eines Wurm-Segments und die von einem anderen Rechner aus erfolgenden Zugriffe, um ein neues Wurm-Segment zu erzeugen.

Für die beiden ersten Punkte, welche die Aktivitäten von Benutzern und die Auswirkungen von Prozessen betreffen, ist im Vergleich zu den für die Entwicklungssysteme getroffenen Aussagen nichts hinzuzufügen. Um Zugriffe von anderen Rechnern zu erlauben, muß außer einer Anbindung an ein physikalisches Netzwerk ein Prozeß auf dem System aktiv sein, der Daten aus dem Netzwerk aufnimmt und weiterverarbeitet. Ohne einen solchen Prozeß kann kein Computer-Wurm übertragen und aktiviert werden, wie dies bereits im vorausgehenden Text deutlich wurde. Dementsprechend müssen vor allem die Rechte dieses Prozesses eingeschränkt werden. Außerdem muß er besonders aufmerksam installiert und kontrolliert werden. Enthält dieser Prozeß eine Systemanomalie, beispielsweise in Form einer Hintertür, können die lokalen Sicherheitsfunktionen umgangen werden.

Insgesamt kann durch Sicherheitsfunktionen nur das Restrisiko gesenkt werden. Darum müssen begleitende Maßnahmen, vor allem zur Datensicherung und Notfallplanung, getroffen werden. Dazu zählen auch Bestrebungen, die Benutzer und Verantwortlichen zu motivieren und zu schulen, denn allzuoft ist der Mensch die Ursache für Sicherheitslücken.

In dieser Arbeit wurde darauf hingewiesen, daß die angesprochenen Sicherheitskonzepte und Maßnahmen nicht nur vor Computer-Würmer und ihre Auswirkungen schützen, sondern auch vor anderen Systemanomalien. Dies ist darauf zurückzuführen, daß die Systemanomalien ähnliche Verfahren und Techniken einsetzen bzw. für sie die gleichen Ursachen verantwortlich sind. Diese Gemeinsamkeiten zwischen unterschiedlichen Arten der Systemanomalien werden in Tabelle 4 durch eine schematische Übersicht verdeutlicht. Trotz aller Gemeinsamkeiten darf aber nicht der Eindruck entstehen, es gäbe für alle Arten von Systemanomalien eine Pauschallösung. Die individuellen Ausprägungen zwingen zu einer detaillierten Untersuchung, bevor über die Wirksamkeit der verschiedenen Sicherheitsfunktionen entschieden werden kann.


Tabelle 4:

[Gemeinsamkeiten von Systemanomalien (Schema)]


Literaturangaben:

  1. [Cohen 1992]: A Case for Benevolent Viruses / Cohen, F. B. - In: 5. International Computer Virus & Security Conference / Hrsg. v. Lefkon, R. G. - New York, NY, 1992. - S. 715-726.

[Zurück] [Inhaltsverzeichnis] [Weiter]


© 1998-2001 by Klaus-Peter Kossakowski, Germany.