Informatik – verlässlich & sicher

Wie alle technischen Systeme können auch die von der Informatik entwickelten Systeme Funktionsfehler aufweisen oder in ihrer Funktion behindert oder manipuliert werden, falls dies nicht durch geeignete Maßnahmen verhindert wird. Sicherheit und Verlässlichkeit sind besonders in den Bereichen Gesundheit, Verkehr sowie Zahlungsverkehr von größter Wichtigkeit. Denn hier betrifft der Schutz von Leib und Leben, aber auch die Absicherung finanzieller Risiken jeden einzelnen. Überall, wo technische Systeme in diesen Bereichen zum Einsatz kommen, hängt der erfolgreiche Einsatz maßgeblich vom Vertrauen der Nutzer ab. Die Informatik formuliert hier technische und formale Faktoren für Vertrauenswürdigkeit. Für Software-Technik sind beispielsweise Korrektheit, Safety (Sicherheit gegenüber Mensch und Umwelt), Dienstgüte (Performanz, Zuverlässigkeit, Verfügbarkeit), Security (Sicherheit gegenüber Angriffen) und Privacy (Einhaltung von Datenschutzbestimmungen) Qualitätsfaktoren.

Ein weiterer Punkt ist es, Software vor dem Einsatz nicht nur zu testen, sondern mittels einer Verifikation Sicherheit und Verlässlichkeit zu optimieren. Forschung ist hier, auch im Hinblick auf ihre industrielle Anwendbarkeit, notwendig. Zu diesem Themenfeld gehört auch die Robustheit von Systemen im Krisenfall. Auch unter außergewöhnlichsten Bedingungen müssen sie funktionieren. Auch hier ist Forschung nötig.

Besonders im digitalen Umgang mit Geld müssen die Systeme jedoch nicht nur verlässlich, sondern auch sicher gegen böswillige Zugriffe sein. Dabei überlisten neue Techniken immer wieder die gängigen kryptographischen Verfahren. Daher müssen zur angfristigen Sicherung neue Entwurfsmethoden in den Blick rücken, die die Gesamtanwendung berücksichtigen und nicht bei den Einzelverfahren stehen bleiben.

Forschungsbedarf: Verifikation

Von Computersystemen wird erwartet, dass sie verlässlich und sicher sind. Doch allein noch so ausgiebiges Testen von Software genügt nicht. Und je mehr sich die Gesellschaft auf das Funktionieren der diversen Systeme verlässt, desto größer wird die Tragweite von Fehlern.

Zusätzlich werden Softwaresysteme immer komplexer und größer. So schnell, dass die Suche nach Fehlern kaum Schritt halten kann. Daher wendet sich die Informatik immer mehr der so genannten Verifikation, der mathematischen Spezifikation des Verhaltens von Software zu-. Dazu beweist sie formal Eigenschaften über die Spezifikation, zum Beispiel in einem interaktiven Theorembeweiser. Anschließend extrahieren die Informatikerinnen und Informatiker das Programm aus der Spezifikation. Dieses Verfahren ist in der Hardwareindustrie schon heute weit verbreitet, in der Softwareindustrie wird es nur äußerst selten angewendet. Dabei ist die Machbarkeit dieses Verfahrens erfolgreich nachgewiesen.

Wir erwarten, dass in 10 bis 15 Jahren formale Verifikation von Programmen eine selbstverständliche Methode zur Qualitätssicherung geworden ist. Damit Deutschland auf diesem Gebiet Schritt halten kann, muss die Forschung vorangetrieben werden und die Rahmenbedingungen in der Softwareindustrie verändert werden. Wer nicht in der Lage ist, nachweislich zuverlässige und sichere Software zu produzieren, muss auch die aus Fehlern entstehenden Kosten tragen.

Forschungsbedarf: Informationssicherheit

Immer mehr Geschäftsabläufe, Verwaltungstätigkeiten und Privatangelegenheiten erledigen wir in elektronischer Form. Die Informationssicherheit soll die Zuverlässigkeit dieser Abläufe selbst im Falle eines Angriffs garantieren. Nicht nur die Netzwerke von Regierungen und Firmen sind hierbei von Angriffen bedroht, sondern auch Heimanwender. Die bekanntesten Bedrohungen sind hier Computerviren, Würmer, Trojanische Pferde sowie Phishing. Die sichere und fehlerfreie Implementierung von Systemen ist in diesem Zusammenhang eine Herausforderung für die Informatik. Ein Problem in diesem Umfeld ist beispielsweise die Bedienbarkeit von Sicherheitsmechanismen, für die es bisher noch keine intuitiven Mensch-Maschine-Schnittstellen gibt.

Zusätzlich bedrohen neue Technologien wie Quantencomputer und neuartige Algorithmen die zurzeit eingesetzten kryptographischen Verfahren, und stellen damit die Informationssicherheit in Frage. Langfristig sichere Verfahren zur Verschlüsselung, für den Schlüsselaustausch oder für digitale Signaturen sind daher ein wichtiges zu lösendes Problem.

Um Sicherheitsmechanismen vor ihrer Verwendung wissenschaftlich untersuchen zu können, benötigt man Sicherheitsmodelle, in denen Schutzziele und Angriffe modelliert werden. Sicherheitsmodelle dürfen nicht zu abstrakt sein, da sonst Angriffe übersehen werden, und sie dürfen nicht zu detailliert sein, weil sonst Analysen in dem Modell zu komplex werden. Realistische und dennoch handhabbare Sicherheitsmodelle zu finden, ist eine große Herausforderung für die Informatik. Anzustreben sind maschinenverifizierbare Sicherheitsbeweise, um menschliche Fehler ausschließen zu können. Wie dies in realistischen Sicherheitsmodellen möglich ist, ist eine Frage an die zukünftige Informatik.

Da das Funktionieren unserer Wirtschaft immer stärker von der Kommunikationsinfrastruktur abhängt, ist die störungsfreie Verfügbarkeit ein wichtiges Schutzziel. Hier sind realistische Bedrohungsmodelle und geeignete Gegenmaßnahmen, etwa gegen Denial-of-Service-Angriffe, offene Probleme. Interessant ist in diesem Zusammenhang, dass die Verfügbarkeit mit anderen Schutzzielen in Konflikt stehen kann (Fluchttüren) und eine anwendungsabhängige Risikoanalyse nötig ist. In Zukunft werden deshalb Risikomodelle benötigt, die Bedrohungen bewerten. Über die Entwicklung und Evaluierung hinaus braucht eine verlässliche Informationssicherheit konkrete Realisierungen. Oft zeigen sich bestimmte Probleme erst in der realen Umsetzung. Auch in der Miniaturisierung liegt eine Herausforderung, denn für immer kleinere Kommunikationsgeräte müssen effiziente und stromsparende kryptographische Verfahren gefunden werden.

Auch der Datenschutz wird in Zukunft ein immer größeres Problem darstellen, da viele für sich genommen harmlose Informationen zusammengenommen die Erstellung eines Persönlichkeitsprofils gestatten. Die Gewährleistung der informationellen Selbstbestimmung ist eine wichtige Herausforderung, bei der Lösungen durch die Informatik unverzichtbar sind. Eine weitere große Herausforderung für die Informatik ergibt sich durch den elektronischen Handel mit Mediendaten. Bisher gibt es etwa noch keinen Mechanismus, der sowohl Privatkopien ermöglicht als auch den Handel mit kopierten Daten unterbindet.

Forschungsbedarf: Vertrauenswürdige Software

Die Informatik muss in einer immer mehr von elektronischen Kommunikations- und Haushaltsgeräten durchdrungenen Gesellschaft nicht nur die Grundlagen das verlässliche Funktionieren geben, sondern den Nutzern außerdem Vertrauen geben. Dabei beschäftigt sie sich insbesondere mit technischen und formalen Faktoren für Vertrauenswürdigkeit. Dazu gehören aus Sicht der Software-Technik viele Qualitätsdimensionen von Software-Systemen wie Korrektheit, Safety (Sicherheit gegenüber Mensch und Umwelt), Dienstgüte (Performanz, Zuverlässigkeit, Verfügbarkeit), Security (Sicherheit gegenüber Angriffen) und Privacy (Einhaltung von Datenschutzbestimmungen).

  • Ingenieurmäßige Software-Entwicklung:
  • Die meisten der oben angeführten Qualitätsdimensionen eines Software-Systems werden maßgeblich durch seinen Entwurf bestimmt. Das bisherige Verfahren, durch Versuch und Irrtum festzustellen, ob Anforderungen bezüglich. dieser Qualitätsdimensionen eingehalten werden, ist sehr kostenintensiv und risikobehaftet. Daher werden Verfahren benötigt, die ein ingenieurmäßiges Vorgehen ermöglichen, das heißt, die Auswirkungen von Entwurfsentscheidungen auf die Qualitätseigenschaften eines Software-Systems vorherzusagen. In diesem Zusammenhang bieten komponentenbasierte Software-Architekturen als abstrakte Modelle der Software ein Pendant zu Entwurfsdokumenten etablierter Ingenieursdisziplinen.
  • Modellgetriebene Software-Entwicklung:
  • Bei der Software-Entwicklung sind Personalkosten der entscheidende Kostenfaktor. Damit ein Hochlohnland wie Deutschland auf Dauer in der Software-Entwicklung international konkurrenzfähig sein kann, sind Techniken zur Erhöhung der Produktivität bei der Erstellung hochwertiger Software von besonderer Bedeutung. Bei der modellgetriebenen Software-Entwicklung werden Generatoren eingesetzt, um aus abstrakten Modellen und Beschreibungen der Ablaufumgebung, Programme weitestgehend zu erzeugen (anstatt von Hand auszuprogrammieren). Dabei verspricht man sich eine Effizienzsteigerung bei der Software-Entwicklung, eine höhere Flexibilität sowie eine Qualitätssteigerung. Dazu ist in Bezug auf die Entwicklung vertrauenswürdiger Software Forschung wichtig zur Sicherstellung der Korrektheit der Generatoren sowie Entwurfsverfahren die zur Erstellung verlässlicher Modelle als Eingaben für diese Generatoren führen.
  • Software-Evolution:
  • Der mit Abstand größte Anteil der Kosten für Software liegt im Bereich der Weiterentwicklung bestehender Software (Software-Evolution). Häufig sind bestehende Software-Systeme bei ihrem großen Umfang und ihrer hohen Komplexität schlecht dokumentiert, so dass die Auswirkungen von Erweiterungen auf die Qualität der Software nur schwer abzuschätzen ist und oft nur mit unvertretbar hohem Aufwand sicher durchzuführen sind. Daher müssen Verfahren erforscht und validiert werden zur effektiven Migration, Integration und sicheren Weiterentwicklung von Software.
  • Theoriebildung und Empirische Absicherung:
  • Entwurfsentscheidungen und Vorgehensmodelle beruhen im Bereich der Software-Technik noch häufig auf anekdotenhaft vermittelten Erfahrungen und nicht hinterfragter “Folklore”. Wohingegen in der Theoretischen Informatik wohlerforschte formale Modelle für Berechnungen existieren, stellen in der Software-Technik Theorien die Vorhersagen über die Software mit ihren (Qualitäts-)Eigenschaften und über einen Software-Entwicklungsprozess mit seinen Eigenschaften wie Kosten, Dauer und Risiko machen, eine Herausforderung dar. Daher ist es dringend notwendig, Forschung im Bereich der Theoriebildung über Software (mit ihren Entwürfen und Architekturen) ebenso wie über Entwicklungsprozesse (mit Vorgehensmodellen, Qualitätssicherungsverfahren, etc.) zu betreiben. Die oft aufwändige Validierung dieser Theorien stellt eine eigene wissenschaftliche Leistung dar.