Eine kleine Sicherheitsphilosophie der Softwaretechnik

Als Verstärkungs- und Kontrolltechnik wird Software oft ein Restrisiko zugeschrieben, doch wird vielfach übersehen, daß sie selbst zusätzliche Unsicherheitsfaktoren einführt.

Der folgende Beitrag ist vor 2021 erschienen. Unsere Redaktion hat seither ein neues Leitbild und redaktionelle Standards. Weitere Informationen finden Sie hier.

Sicherheit hat, abhängig vom Bezugsobjekt, im Deutschen zwei, wenn nicht drei semantische Varianten: Sicherheit von Wissen oder Gewißheit (certainty), Sicherheit von Personen (safety) und Sicherheit von Gegenständen, Systemen und Prozessen (security). Die Unterscheidungen sind in dieser Striktheit im Sprachgebrauch zwar nicht zu beobachten, weswegen Mißverständnisse daher leicht möglich sind. Wenn ein Stück Software z. B. als "nicht sicher" (not safe) bezeichnet wird, ist nicht gemeint, daß die Software gefährdet ist, sondern daß sie letztendlich Menschen gefährdet. Auch innerhalb dieser Subkategorien gilt es begrifflich zu differenzieren.

Sicherheit als erkenntnistheoretische Kategorie

Sicherheit bzw. Unsicherheit sind zunächst epistemologische Kategorien. Die Unsicherheit von Wissen (uncertainty) kann wiederum auf mindestens drei Weisen interpretiert werden:

  1. als objektive, meßbare und kalkulierbare Wahrscheinlichkeit, z. B. des Ausgangs eines Münzenwurfs;
  2. als subjektive, nicht meßbare und nur approximativ angebbare Wahrscheinlichkeit, z. B. bei der Stellung einer Diagnose aufgrund von Symptomen;
  3. als objektive Unmöglichkeit des Wissens, z. B. des Orts eines Masseteilchens in einem Teig nach einem Knetvorgang (sog. "Bäckertransformation").

Technische Systeme sind so konstruiert, daß sie epistemologischer Sicherheit bestmöglich genügen, d. h. in ihrem Verhalten mit sehr großer, "an Sicherheit grenzender" Wahrscheinlichkeit vorhersagbar sind. Die von Turing herangezogene Laplacesche absolute Determiniertheit des Verhaltens einer Rechenmaschine ist allerdings nur im Abstrakten gültig, nicht für die konkreten Realisierungen , wie sich aus der Unabhängigkeit von Kausalprozessen und logischen Zusammenhängen ergibt.

Sicherheit als pragmatische Kategorie

Selbst im Idealfall vollständiger Verifikation des abstrakten Automaten gibt es nur eine möglicherweise sehr hohe Wahrscheinlichkeit des Funktionierens seiner Realisierungen. Da bei komplexeren Systemen diese Wahrscheinlichkeit nicht mehr kalkuliert werden kann, stützen sich Abschätzungen vor allem auf Urteile von Experten und sind daher der zweiten Kategorie von Unsicherheit zuzuordnen. Schließlich gibt es technische Experimente, deren Ausgang überhaupt nicht vorhersagbar ist. Dies dürfte vor allem für die Freisetzung von genmanipulierten Lebewesen gelten, wahrscheinlich schon für Experimente im Labor, weil die Abgeschlossenheit des Labors bzw. deren Wahrscheinlichkeit nicht mehr kalkulierbar ist.

Sicherheit ist zweitens eine pragmatische Kategorie: Sicherheit vor Gefahr (safety) bzw. Unsicherheit als Gefährdung

Sicherheit und Risiko

Je größer die Gefahr, desto größer die Unsicherheit. Dies kann nur eine relative Größe sein, denn absolute Sicherheit (Gefahrlosigkeit) gibt es nicht. Diese allgemeine Gefährdung des Daseins ist begrifflich impliziert. Um mit Heidegger zu reden: Dasein impliziert Sorge.

Verhalten oder Umstände werden zu besonderer Gefahr erst in Abhängigkeit von bestimmten gesellschaftlich-kulturellen Normen über deren Akzeptabilität. Aufschlußreich ist dafür das von C. Hubig zitierte Beispiel des Ortes Vernon in New Jersey/USA: Trotz einer natürlichen, von der Bevölkerung akzeptierten Radonbelastung weit über den Grenzwerten wurde dort die Errichtung einer Deponie für schwach radioaktive Abfälle von der Bevölkerung mit dem Argument verhindert, hier würde ein unzumutbares zusätzliches Risiko produziert. Risiko ist demnach Unsicherheit als ein bewußtes, von Menschen gemachtes, besonderes Einer-Gefahr-Ausgesetztsein.

Risiken sind also durch Menschen gemacht. Technische Systeme bergen Risiken. Softwaretechnische Systeme bergen Risiken schon aufgrund ihrer Einbettung in ihre technische oder soziale Umgebung. Somit gilt es mit N. Leveson die Risiko-Definition der umgebenden Systeme zu übernehmen:

Risk is defined by engineers as a function of 1) the liklihood of a hazard occurring, 2) the liklihood that the hazard will lead to an accident, and 3) the worst possible potential loss associated with such an accident.

N. Leveson

In diesen Fällen gilt:

The best that can be done is to minimize the probability of the hazardous states[...]

N. Leveson

Daß ein Wahrscheinlichkeitsmaß nicht, für sich genommen, einen Sicherheitsanspruch auszudrücken vermag, wird oft mit dem Begriff des Restrisikos zu verschleiern versucht: Unsicherheit als des Ausgesetztseins an eine besondere Gefahr mit akzeptabler Wahrscheinlichkeit.

Es bleiben also auch unterhalb von sogenannten Grenzwerten Gefahr, Risiko bzw. Unsicherheit. Sie werden jedoch, wie Beck es nennt, kulturalisiert, oder, wie Hubig sarkastisch anmerkt, "als Begründungsbasis geadelt".

Bei Systemen oder Experimenten, für die eine Wahrscheinlichkeitsabschätzung nicht vorgenommen werden kann, macht der Begriff erst recht keinen Sinn. Hier handelt es sich um ein Unwägbarkeitsrisiko: Unsicherheit als nicht abschätzbare Ungewißheit über das Bestehen einer Bedrohung. Beck nennt sie kurz Unsicherheit der Unsicherheit.

Das Unwägbarkeitsrisiko der Software

Softwaresysteme als eingebettete Systeme gewinnen, wie Leveson zu Recht betont, ihren Sicherheitsaspekt im Kontext der Umgebung. Anders gewendet: als Verstärkungs- und Kontrolltechnik trägt Software zum Denken in der Kategorie des Restrisikos bei. Übersehen wird jedoch vielfach, daß Software selbst zusätzliche Unsicherheitsfaktoren einführt. Ein Softwarefehler kann sowohl die Verfügbarkeit des umgebenden technischen Systems (Beispiel: computergesteuertes Stellwerk) wie auch seine Verläßlichkeit wesentlich beeinträchtigen (Beispiel: computergesteuerte Fernoperation).

Wie Leveson überzeugend darlegt, kann für Software aufgrund ihrer Diskontinuität und Komplexität keine probabilistische Risikoabschätzung vorgenommen werden. Software scheint somit die Unsicherheit einer Bäckertransformation zu haben: Wo hier ein Masseteilchen nicht geortet werden kann, ist es dort der "bug", der sich der Lokalisierung verweigert. Man kann also bei Software nicht von einem akzeptablen (Rest-)Risiko, sondern nur von einem Unwägbarkeitsrisiko sprechen. Wie auch Leveson nicht müde wird zu betonen, läßt sich Software weder verifizieren (ungeachtet des damit immer noch ungelösten Problems des Funktionierens realisierter Software) noch durch Testen abschätzbar machen.

Ihre Handlungsdirektiven, Verbesserung von sicherheitssensiblen Softwareengineeringmethoden, insbesondere die Verstärkung der Disziplin , die Vermeidung von Komplexität oder die Verwendung von Schutzmechanismen bieten aber keine Lösung des letztlich soziokulturellen Problems. Auch sie muß einräumen:

Whether this is adequate depends upon the acceptable level of risk and how effective the software safety measures and external protection against software errors are judged.

N. Leveson

Wer anders als die Softwaretechnik selbst aber sollte für diese Abschätzung und Festlegung des "akeptablen Niveaus" verantwortlich sein? Die Softwaretechnik folgt damit eben dem Schema der "organisierten Unverantwortlichkeit", das U. Beck anderen Großtechnolgie-Akteuren zuschreibt. Man handelt selbstverständlich stellvertretend für die Allgemeinheit.

Soziale Handlungsunsicherheit

Schließlich bezeichnet Sicherheit (security) eine Eigenschaft bzw. einen Zustand, der sowohl technischen Systemen und Prozessen wie auch sozioökonomischen und politischen Handlungssystemen zugeschrieben wird. Auf die Schwierigkeit der Unterscheidung wurde schon hingewiesen. Mangelnde security bedeutet auch Gefahr, aber in anderer Weise. Sie stellt einen Bezug her zu einer Handlung oder zu Maßnahmen des Sicherns vor Gefahr. Demnach: Unsicherheit als soziale Handlungsunsicherheit.

Ein hervorragendes Beispiel ist Rechts(un)sicherheit. Mit technischen Neuerungen entsteht eine gewisse Rechtsunsicherheit und daher ein Regelungsbedarf, z. B. für das Copyright im Internet. Wer etwas besitzt, läuft Gefahr, hier also eine besondere Gefahr (Risiko), es zu verlieren. Es geht primär um die Unbeschädigtheit von Sachen und Rechten. Wieweit eine Gesellschaftsverfassung diese Risiken abzusichern hat, sei hier nicht diskutiert. Dingliche Sicherungssysteme, z. B. Vorkehrungen gegen unerlaubten Zugriff auf Objekte (z. B. fremden Geldbesitz) und zur Wahrung von Geheimnissen (z. B. des Bankgeheimnisses), müssen die sozialtechnischen Sicherungssysteme flankieren und ergänzen. Besitz von Gütern wie bestimmte Kontrollfunktionen werden in der Regel rechtlich gesichert, bewegliche materielle Güter und Geheimnisträger kann man darüber hinaus technisch sichern.

Unsicherheit als (technische) Unkontrollierbarkeit sozialer Regelungen

Werden Banknoten und Bankkonten z. B. zu softwaretechnischen Entitäten, so müssen u. a. softwaretechnische Sicherungen konstruiert werden, die die Einhaltung rechtlicher Regelungen (Fälschungsverbot, Bankgeheimnis) softwaretechnisch zu kontrollieren erlauben. Die neue Situation ist aber selten mit der alten zur Deckung zu bringen.

Mag es auch Verschlüsselungsverfahren geben, die unerlaubte Zugriffe und Fälschungen sehr erschweren, die subjektive Einstellung zu den neu geschaffenen Risiken ist betroffen. Wenn dem Handelnden die Konsequenzen seines Handelns im elektronischen Raum nicht mehr erkennbar sind, schwindet sein Vertrauen. So wird vorgeschlagen, für den Bankkunden vertrauensbildende softwaretechnische Hilfsmittel wie die "elektronische Brieftasche" einzuführen, die dem Kunden seine Kontrollfunktionen gleichsam zurückerstatten sollen.

Damit ergibt sich eine Variante der Unkontrollierbarkeit: Unsicherheit als mangelnde soziale Vertrauenswürdigkeit technischer Sicherungssysteme.

Die Softwaretechnik hat der Problematik zu einer neuen Größenordnung verholfen. Die Informatisierung potenziert die Risiken. Zum Unwägbarkeitsrisiko fehlerhafter Software kommen neue technische und sozioökonomische und politische Risiken. Eingespielte, allgemein akzeptierte und damit in einem gewissen Maße beherrschbare soziale Mechanismen bzw. Verhaltensweisen könnten sich aufgrund von Undurchschaubarkeit und damit Vertrauensverlust in nicht vorhersehbarer Weise ändern - mit katastrophalen Wirkungen. Dadurch ausgelöste Krisen könnten der globalen ökologischen Krise vergleichbar sein: Software-Großtechnologie ist vor allem ein soziales Unwägbarkeitsrisiko .