Risiken im Softwarebereich sind vielfältig und schwer absehbar:

Gefahr von Viren, Wanzen und Würmern

08.04.1988

Die im Vorfeld der CeBIT-Messe entbrannte Diskussion um "Computer-Viren" und "Trojanische Pferde" zeigt, wie stark verbreitet das Unbehagen und wie gering dabei die Kenntnisse über Risiken der Software sind. Bereits ganz "normale" Programmfehler gefährden allzu oft die sichere Informationsarbeit, und ihre Wirkung reicht von "ärgerlich" bis "lebensgefährlich".

Viele große und mittlere Unternehmen sind von der Verfügbarkeit und Funktionsfähigkeit ihrer Datenverarbeitung abhängig. Im Bereich der Hardwareumgebung (Rechenzentrum) kann durch geeignete Vorsorge im Notfall - etwa bei Maschinenausfall durch Brand oder Bombenanschlag - auf ein Notfall-Rechenzentrum ausgewichen werden (siehe CW Nr. 13, Seite 64).

Anwenderprogramme sind am problematischsten

Dagegen sind die Risiken im Bereich der Software-Sicherheit schwer abseh- und beherrschbar; man kann als Merkregel sogar formulieren: "Je 'harder' die 'Ware', desto lösbarer die Probleme; je 'softer' die 'Ware', desto undurchsichtiger und größer die Risiken."

Um die verschiedenen Risiken im Bereich der Betriebssoftware, und der Anwendungsprogramme zu verdeutlichen, seien zunächst einige notwendige (wenn auch nicht hinreichende) Anforderungen an eine "sichere Maschine" dargestellt:

- Sie muß die verlangten Leistungen in der vorgegebenen Umgebung .stets - reproduzierbar - erbringen (Funktionsfähigkeit).

- Es muß gewährleistet sein, daß sie immer nur in der festgelegten Umgebung und unter den vorgegebenen Bedingungen eingesetzt wird (Benutzungssicherheit).

- Änderungen dürfen nur nach festgelegter Vorgehensweise vorgenommen werden (Schutz vor Verfälschung).

- Alle wesentlichen Kenndaten, aus denen das jeweils aktuelle Verhalten der Maschine rekonstruiert werden kann, müssen aufgezeichnet und fälschungssicher gespeichert werden (Rekonstruierbarkeit von Fehlern).

Vernünftigerweise sollte man die Forderung nach solch "sicheren Software-Maschinen" auf diejenigen Anwendungen beschränken, für die es keinen einfachen Ersatz gibt. Wenn also Papis Lagerbuchhaltung ausfällt, weil der 17jährige Sohn in Überschätzung seiner Schul-Informatik-Kenntnisse fehlerhaft gedacht und programmiert hat, mag dies durch ein Ersatzverfahren umgangen werden.

Dagegen können (Denk- und Programm-)Fehler eines Betriebssystems oder einer Anwendungssoftware bei einer Bank oder Versicherung, in einem Industrie-, Polizei- oder Krankenhaus-Rechner verheerende Folgen haben (von der militärischen DV ganz zu schweigen). Daran hat bisher auch keine "Software-Qualitätssicherung" etwas ändern können.

Die tägliche Erfahrung vieler Anwender, daß bei der Datenverarbeitung Fehler auftreten, ist in den bekannten drei "Hauptsätzen der Datenverarbeitung" formuliert:

Die "Fehlerträchtigkeit der Software": Jedes (nicht-triviale) Programm enthält mindestens einen Fehler oder eine überflüssige Anweisung.

Das "Prinzip der größten Gemeinheit": Fehler treten stets zum denkbar ungünstigsten Zeitpunkt auf, und sie bewirken oft größtmöglichen Schaden.

Der "Teufelskreis": Auftretende Fehler müssen behoben werden, und nach der Fehlerkorrektur treten weitere Fehler auf (siehe erster Hauptsatz).

Die optimistische Annahme, daß wenigstens die Programme großer, namhafter Hersteller "fehlerarm" seien, ist leider irrig; ein gutes Softwareprodukt unterscheidet sich von einem schlechten allein dadurch, daß es im "Normalbetrieb" fehlerarm funktioniert. Erfahrungen seit den 50er Jahren zeigen nämlich, daß Programme mit zunehmendem Umfang ("zunehmender Komplexität") zugleich fehlerträchtiger werden. So ist es bereits in den 60er Jahren für Betriebssysteme wie OS/360 und Multics nachgewiesen worden, daß die Fehlerrate (nach der Behebung der Anfangsfehler) mit späteren Erweiterungen ständig steigt.

Hersteller nennen ihre Verbesserungen "Flickwerk"

Ein prägnantes Beispiel dafür war 1987 ein Fehler im VAX-Betriebssystem (VMS-Version 4.4/4.5), den Digital Equipment nicht schnell genug beseitigen konnte. Dies hat die bekannten Hacker-Invasionen in zahlreiche VAX-Rechner (zumeist der Wissenschaft, aber auch einzelner Unternehmen) erst ermöglicht. Dabei müßte es den Anwendern zu denken geben, daß die Hersteller selber ihre Software - "Verbesserungen" seit alters als "Flickwerk" (patches) bezeichnen.

Ärgerliche Wirkungen hat jüngst auch ein primitiver Fehler in einem amerikanischen elektronischen "Bulletin Board" verursacht: Vom 28. Februar bis 1. März 1988 waren verschiedene, teilweise weltweit angebotene elektronische Mail-Dienste (und daran angeschlossene, namhafte US-Firmen) nicht erreichbar, weil das Schaltjahr nicht korrekt programmiert war; es wird befürchtet, daß auch am 366. Tag (am 31. 12. 1988) die Software nicht sachgerecht funktioniert ("leap year madness").

Ein Softwarefehler hat in mindestens einem Fall beim Einsatz des radio-therapeutischen Bestrahlungsgerätes "Therac 25" in US-Kliniken sogar schon zu (mindestens zwei) Todesfällen geführt (Datamation, Mai 1987). Mit diesem Gerät werden Krebserkrankte entweder mit Röntgenstrahlen ("X-Mode") oder "Elektronenstrahlen" ("Electron Mode") bestrahlt. Kontrolliert von einer PDP 11 wird im X-Modus ein energiereicher Elektronenstrahl (mit 25 Millionen Elektron-Volt) auf ein Stück Wolfram gelenkt, mit dessen "weicherer" Röntgenstrahlung bestimmte Karzinome bestrahlt werden.

Andere Kranke werden dagegen direkt mit Elektronen bestrahlt, die allerdings erheblich energieärmer sind. Dazu muß computergesteuert die Intensität der Elektronenkanone heruntergefahren und das Wolfram - "Target" aus dem Strahl entfernt werden.

Anwender müssen Risiken antizipieren können

Leider war der "verbotene Zwischenzustand" - mit energiereichem Elektronenstrahl, aber ohne absorbierendes Wolfram-Stück nicht sicher ausgeschlossen. Jedesmal, wenn ein Arzt mit der "Arrow-Up-Taste" einige Steuerparameter im Eingabemenü änderte, ergab sich ein undefinierter Zustand, als "Malfunction 54" angezeigt. Dabei wurden Patienten direkt mit "heißen" Elektronen beschossen. Der - inzwischen in den USA gerichtlich anhängige - Programmfehler konnte nur durch Entfernen der "Arrow-Up-Taste" behoben werden.

Hierzulande wurde ein solcher Fall bisher nicht berichtet. Das ist aber weniger Verdienst der Software-Branche, als vielmehr der Anwender, denen man sorgsame und auch Risiken antizipierende Planung des Rechnereinsatzes dringend empfehlen muß. Denn auch hierzulande läßt das Qualitätsbewußtsein der Softwarebranche zu wünschen übrig, sogar bei Standardsoftware.

Dazu folgendes Beispiel: Die Firma "Markt&Technik" hat einem Unternehmer (dessen Name aus Gründen des Persönlichkeitsschutzes nicht genannt sei) eine Diskette mit dem altbewährten "dBase II" verkauft (Preis: 354 Mark), welche dieser zur Verwaltung seiner Produkt- und Kundendaten verwenden wollte. Als der Anwender feststellte, daß in einigen Fällen auf das Command-File auch seine Kundendaten geschrieben wurden, bekam er nach wiederholten Reklamationen mehrere (kostenlose) Updates, die jedoch den mitgeteilten Fehler nicht behoben hatten.

Wenn Softwarehäuser und -händler - anders als bei allen anderen Produkten des täglichen Lebens - keine Gewährleistung selbst auf die elementare Funktionssicherheit ihrer Produkte gewähren, erscheint der Preis einer (bespielten) Diskette weit überhöht. Leider lassen sich viele Anwender von diesem Tatbestand durch Kampagnen der Programmhersteller gegen "Raubkopierer" ablenken. Wenn Software kein "Markenprodukt" ist, dessen Funktionssicherheit "gewährleistet" werden kann, ist doch Raubkopieren schwerlich eine Straftat!

Häufig haben auch Fehler bei der Gestaltung der Mensch-Maschine-Schnittstelle zu einer Vielzahl von Bedienungs- und Interpretationsfehlern geführt, glücklicherweise oft ohne die schwerwiegenden Folgen wie bei bereits vielen hundert Todesopfern im computerisierten Luftverkehr. Während Risiken von Pilotenfehlern durch Computereinsatz erheblich vermindert werden, entstehen (unbedacht) neue Risiken, wenn sämtliche Umweltsignale (etwa bei umsichtigem Wetter) von Computern "vorverarbeitet" sowie die Aktionen prozeßgesteuert durchgeführt werden (zum Beispiel "Fly by Wire" der neuen Airbus-Generation), ohne daß der Mensch dies "unabhängig" überprüfen kann. So hat "Overreliance", das unkontrollierte und gewohnheitsmäßige Vertrauen auf die Funktionsfähigkeit der Systeme, zu schweren Fehlern (etwa bei falsch beschickten "Wegedaten" wie dem Jumbo der Korean Air-Lines) geführt. Hier kann der Wunsch nach "benutzerfreundlichem Verhalten" zusätzliche Risiken erzeugen.

Gutartige und bösartige Viren

Während "Wanzen" als Konzept- und Programmierfehler in Analogie zu biologischen Systemen als "angeborene Krankheiten" betrachtet werden, können Fehlfunktionen auch über "erworbene, das Immunverhalten von Programmen/Systemen lähmende Krankheiten", die "Viren", sowie - weniger bekannt - die "Würmer" (in Netzen) entstehen.

Bei solcher Namensgebung muß vor kurzschlüssigen Vergleichen von Mensch und Computer gewarnt werden, auch wenn dies auf die Pioniere Alan Turing und John von Neumann mit ihren Analogien von DV-Systemen und menschlich intelligentem Verhalten zurückgeht und von der sogenannten "Künstlichen Intelligenz" verstärkt wird.

Bei den "Viren" wird gegen die Forderung nach "Schutz vor Verfälschung" verstoßen; dabei sind die Definitionen von Viren ebenso vielgestaltig (und zum Teil widersprechend) wie die Viren selbst und die oft nebulöse Furcht vor ihnen, die gänzlich andere Erscheinungen (etwa Tannenbaum-Post) als Viren fehldiagnostiziert. Zurückgreifend auf die "Entdecker" Adelman und Cohen sei hier unter "Virus" ein Programmstück mit folgenden Eigenschaften verstanden:

Ein "Virus" ist ein nicht selbständiges Programmstück, welches nur nach Kopieren in ein "Wirtsprogramm lebensfähig" ist. Dieses Programmstück kopiert bei jeder Ausführung seines Wirtsprogrammes eine (gegebenenfalls modifizierte) Version seiner selbst in (mindestens) ein anderes, zugängliches Programm, sofern dieses zuvor nicht infiziert war.

Außerdem kann das Virus eine "Wirkung" ausüben, als "bösartiger" Virus etwa Programme und Daten löschen oder als "gutartiger" Virus etwa Speicherplatz optimieren (zum Beispiel gespeicherte Leerfelder "kompaktifizieren").

Vorsicht bei "Public Domain"

Für das Verständnis vorbeugender "Hygiene-Maßnahmen", ist wichtig, daß ein Virus über eine "Ur-Infektion" in die Maschine gelangt, von wo es sich "infektiös" nur auf zugreifbare Programme ausbreiten kann. Leider bietet die Verhaltensweise vieler PC-Benutzer geradezu ideale "Nährböden" für mögliche Virus-Epidemien. Wer vielfältig Programme aus unbekannter Quelle (möglicherweise über "Public-Domain"-Disketten oder Bulletin Boards) in seine Maschine "reinzieht" und ausprobiert, kann damit schon den Ur-Virus "eingefangen" haben, der sich dann unaufhaltsam ausbreitet; in den USA sollen Viren in den folgenden Utility-Programmen (auf MS-DOS-, Unix- sowie auch Macintosh-, Atari- und Amiga-Rechnern) aufgetreten sein:

Arc List60

Arc513. QMDM 1 1 0. Exe

Arc600 QMDM 1 1 0A.Arc

Balktalk Quikbbs.Com

Discscan.Exe Secret.Bas

Dosknows.Exe Stripes.Exe

Egabtr Vdir.Com

Filer.Exe

Eines dieser Programme sollte Disketten auf defekte Teile testen ("bad sector"); ein "Scherzbold" hat dieses Programm (vermutlich vor fast zwei Jahren) so modifiziert, daß nunmehr (im Inhaltsverzeichnis) "defekte Sektoren geschrieben" werden. Seit einigen Monaten macht auch ein (harmloser?) Macintosh-Virus von sich reden, den ein deutscher "Spezi" geschrieben haben soll, um dessen Ausbreitung zu testen, und der über den US-Dienst CompuServe weltweit "verbreitet" wird.

Interessanterweise haben die Arc-Programme, mit denen Informationen (zwecks Speichereinsparung) komprimiert werden können, beim letzten Computer-Chaos-Congress eine gewisse Rolle gespielt, weil mit ihnen Dokumente auch zur Verhinderung unbefugten Lesens verschlüsselt werden können; es ist denkbar, daß so ungewollt Viren über die Szene junger Computer-Freaks in Papis Geschäfts-PC und weiter vordringen (so auch über "günstig erworbene Programme", wie jüngst die "Zeit" berichtete).

Die größte Gefahr der Viren liegt darin, daß sie sich erst nach langer Zeit und mit kaum vorhersehbarer Wirkung bemerkbar machen können; wenn sie von einem ungetreuen fachkompetenten Mitarbeiter (eines Anwenders oder Herstellers) in einen Produktionsrechner eingebracht werden, kann ihre Spur später kaum noch zurückverfolgt werden.

Allerdings kann dieses Risiko durch strikte Kontrolle ("Viren-Hygiene") vermindert werden, Immerhin verbreiten sie sich nicht selbständig über Netze, so daß eine Ur-Infektion ohne tatkräftiges (wenn auch bisweilen unbewußtes) Mitwirken der Benutzer nicht möglich ist.

Wie indirekt Anwender diese Ur-Infektion allerdings fördern, beweisen Hacker häufig mit "Trojanischen Pferden". Dies sind Programme, die zumeist unter Mißbrauch fremder "Benutzererlaubnisse" in Rechensysteme eingeschleust werden, oft in mehreren getarnten Varianten, um bei passender Gelegenheit von außen in Aktion gesetzt zu werden.

Wer den Zugang zu seinem Rechner nicht sachgerecht schützt (oder ein lückenhaftes Betriebssystem wie VMS 4.4/4.5 fährt), ermöglicht über ein Trojanisches Pferd (das einen Virus enthalten oder mit dem ein Virus später von außen eingegeben werden kann) die Implantation eines Ur-Virus.

Besonders problematisch könnte sich der gegenwärtige "Run" auf Rechnernetze erweisen. Zur Überwachung der Funktionsfähigkeit einzelner Netze und angeschlossener Geräte können nämlich sogenannte "Würmer" eingesetzt werden, die sich im Netz auf alle angeschlossenen Rechner ausbreiten.

Im ersten bekanntgewordenen Fall (ein Netz von "intelligenten" Büro-Rechnern bei Xerox) haben Würmer offenbar auch ungeplante Nebenwirkungen erzeugt: So wurde eine Platte angesprochen, obwohl angeblich kein Disk-Driver installiert war! Solche "Würmer" können zumindest in homogenen Netzen, geplant oder von Fachleuten modifiziert, die Ausbreitung von Viren automatisieren, welche heute durch "promiskues" Sammeln von Programmen aus unbekannten Quellen noch (vor allem auf PCs und ihre Anwender) beschränkt ist.

Angesichts der vielfältigen Risiken der Software sollten Benutzer verstärkt funktionssichernde Organisationsformen anwenden.

* Klaus Brunnstein ist Professor für Anwendungen und Informatik an der Universität Hamburg.