Donnerstag, 18. April 2024

Archiv


Wohin entwickelt sich das Software-Engineering?

IT.- Wie kann in sozialen Netzwerken die Privatheit des einzelnen Anwenders garantiert werden? Welche Folgen hat die Entwicklung einer bestimmten Software? Fragen wie diese standen im Mittelpunkt der Jahrestagung der Gesellschaft für Informatik, die nun in Berlin stattfand.

Von Peter Welchering | 08.10.2011
    Berlin war diese Woche der Treffpunkt für Informatiker aus ganz Deutschland. Denn in der Technischen Universität der Hauptstadt fand die Jahrestagung der Gesellschaft für Informatik statt. Die GI-Jahrestagung hat sich schon seit einiger Zeit vom Familientreffen der Computerwissenschaftler wegentwickelt hin zu einer Informatik-Fachkonferenz, auf der sehr stark auch die gesellschaftspolitischen Konsequenzen von IT diskutiert werden. Und das mitunter sehr kritisch. Stefan Jähnichen, der Präsident der GI:

    "Wenn man sich anschaut, was die sozialen Netze bewirken können, dann rütteln sie ja fast an den Grundfeilern unserer Demokratie. Über die Netze werden Mehrheiten hergestellt, Konsens hergestellt, vielleicht streitet man sich auch darüber, aber es ist auf jeden Fall ein ganz wesentlicher Punkt. Daher ist es einfach notwendig, dass wir die Folgen unserer Technik wirklich frühzeitig auch mit erforschen, um beispielsweise dem Gesetzgeber notwendige Hinweise zu geben. Was getan werden muss und was getan werden kann."

    Manfred Kloiber: "Informatik schafft Communities", lautete das Motto der Jahrestagung, und da spielten die sozialen Netzwerke eine große Rolle. Wie kann dort Privatheit des einzelnen Anwenders noch garantiert werden? Aber auch Sicherheitsfragen, Datenschutzregelungen und verlässliche Software standen zur Diskussion. Wie zuversichtlich sind denn die Informatiker, dass das Netz ein sicherer Lebens- und Kommunikationsraum werden kann, Peter Welchering?

    Peter Welchering: Das wird sehr unterschiedlich beurteilt. Und das hängt im Wesentlichen – das hat die Diskussion in Berlin auch noch einmal ganz deutlich gezeigt – von zwei Faktoren ab. Zum einen davon, wie stark die Informatiker sich einfach Gehör verschaffen können und wollen und zum zweiten, ob ihre Warnungen und Vorschläge dann auch von der Politik angenommen und umgesetzt werden. Und das wird öfter beklagt. Man macht der Politik Vorschläge, aber es folgt zu wenig daraus. Es gab ein Ergebnis auf der GI-Jahrestagung, nämlich dass die Informatiker eben insgesamt sich zu wenig Gehör verschaffen und dass deshalb die Subsysteme, so wurde argumentiert, Computerwissenschaft und Politik einfach ein wenig nähergebracht werden müssten, besser vernetzt werden müssten. Da müssten noch Communities entstehen, hat beispielsweise Tagungsorganisator und Leiter Professor Peter Pepper eingewandt. Da gibt es auch Ansätze. Etwa sind auf der Berliner Jahrestagung die Konzepte der sogenannten kritischen Informatik wieder sehr stark diskutiert worden. Das waren Konzepte, die Beispielsweise die Computerwissenschaftlerin Christiane Floyd schon vor über 20 Jahren formuliert hat. Aber diese Konzepte, die vor allen Dingen auf Beteiligung von Anwendern, auf Transparenz von Algorithmen hinaus gehen, sind von der Softwareindustrie damals ziemlich rasch beiseite gestellt worden, weil nämlich die schnelle Entwicklung von Programmen oder etwa die rasche Abfolge von Computer-Innovationen als das einfach bessere ökonomische Modell gegolten hat. Doch die großen Software- und Systemprojekte, die teilweise gescheitert sind, teilweise große Schwierigkeiten haben – man denke nur an die elektronische Gesundheitskarte, das Mautsystem, den elektronischen Personalausweis oder etwa an den elektronischen Entgeltnachweis Elena – all diese Projekte eben mit ihrem Scheitern, mit ihrem teilweisen Scheitern haben ja gezeigt, dass die bisherigen Methoden, verlässliche Software zu entwickeln, stark verbesserungsbedürftig sind. Und das ist eben im Alltag der Entwickler sehr stark angekommen.

    Kloiber: Das Problem, dass Software genau das tut, was sie tun soll und keine unkontrollierten Nebenwirkungen hat – mit diesem Problem beschäftigen sich ja die Softwareingenieure schon seit einigen Jahrzehnten. Und wie man es schafft, dass Software so verlässlich arbeitet, dass die Menschen Vertrauen in die Computersysteme haben, darüber wurde auf der Berliner Jahrestagung intensiv diskutiert.

    Sprecher:

    Wenn Computer etwas anderes machen als das, was sie machen sollen, dann sind sie nicht mehr beherrschbar. Und je komplexer informationstechnische Systeme werden, umso anfälliger scheinen sie auch für Störungen zu sein. Wenn dann auch noch der Kopierer im Büro für die Fernwartung mit dem Internet vernetzt ist, der Stromzähler mit dem Smart Meter am Internet hängt oder die Lastverteilungsrechner in den E-Werken Informationen über den Netzzustand über das Internet austauschen, dann steigt die Komplexität. Martin Schallbruch, IT-Direktor im Bundesministerium des Inneren beschreibt das Problem so:

    "Wir erleben ja geradezu eine immense Vernetzung, eine immer stärkere Abhängigkeit von IT, weil IT und Internet alle unsere Lebensbereiche durchdringt. Der entscheidende Punkt ist, dass wir hier ausreichende IT-Sicherheit von Anfang an einbauen und dass der Provider jedes Systems, der Anwender jedes Systems auch etwas für diese Sicherheit tut."

    Doch wie lässt sich erfolgreich gegensteuern? Wie kann die Komplexität der Software so beherrscht werden, dass die programmierte Software genau das tut, was sie soll? Die Experten verweisen hier auf eine vernünftige Systemstruktur, auf eine klare Anforderungsanalyse, in der genau festgelegt wird, welche Funktionen wie programmiert werden, und auf das intensive Testen von Software.

    Doch auch das reicht noch nicht aus, um sicherzustellen, dass Software stets so verlässlich arbeitet, wie die Anwender das wollen. Auf der Berliner Tagung wurde deshalb wieder der Ruf nach Technikfolgenabschätzung laut. Constanze Kurz, Sprecherin des Chaos Computer Clubs, begründet das so.

    "Natürlich braucht man nicht immer eine riesenhafte Studie für jede kleine App, aber sich Gedanken zu machen und die Technikfolgen mitzudenken, welche Folgen man mit einem Stück Software oder einem Stück Hardware generiert, ich finde, das ist eine Selbstverständlichkeit. Das ist natürlich auch eine Frage der Kultur, wie man Leuten, die Informatik praktisch machen, was man ihnen mitgibt und was man ihnen beibringt. Und ich denke, da haben wir noch ne Menge Arbeit vor, da ist einmal die Sicherheitskultur, also die Sicherheit mitdenken, aber natürlich auch die Frage: Welche Folgen hat man Handeln? Letztlich ethische Fragen."

    Und dazu zählt auch, den Anwender in den gesamten Prozess der Softwareentwicklung stärker einzubinden. Inzwischen hat da in Verwaltung und Politik aber ein Sinneswandel stattgefunden. So hat vor kurzem noch das Innenministerium Kritik zum Beispiel an Sicherheitslücken im elektronischem Personalausweis, dem Vorzeigeprojekt des Hauses, stets zurückgewiesen. Nun sagte der IT-Direktor aus demselben Ministerium auf der Jahrestagung.

    "Wo Sie Recht haben, ist, dass wir heutzutage bei der Software-Entwicklung, auch dann, wenn es um öffentliche Infrastrukturen geht, einen offenen und partizipativen Prozess machen müssen, dass wir auch nicht davon ausgehen können, dass wir eine Lösung anbieten und diese Lösung hält dann an dieser Stelle über einen unendlich langen Zeitraum, ohne dass man auch Anpassungen macht. Solche Anpassungen werden auch erforderlich sein und werden eben auch nötig sein, aufgrund des Feedbacks, aufgrund des Responses der Nutzer."

    Kloiber: Ganz neu sind solche Gedanken über eine offene, partizipative Systementwicklung ja nicht. Vor gut 20 Jahren haben Vertreter der sogenannten kritischen Informatik solche Konzepte bereits entwickelt. Die gerieten dann aber ein wenig in Vergessenheit. Jetzt aber werden sie wieder diskutiert. Woran liegt das, Peter Welchering?

    Welchering: Daran, dass stärker vernetz gearbeitet wird. Aber die sozialen Netzwerke haben erheblich dazu beigetragen, dass man sich zurückbesinnt gerade auf diese Konzepte der kritischen Informatik. Denn die sozialen Netzwerke haben das Problem aufgeworfen: Was sind eigentlich meine privaten Daten und was sind öffentliche Daten? Und wie kann der Bereich dazwischen, wo es noch nicht so richtig öffentlich, aber nicht mehr so richtig privat ist, dann eigentlich definiert werden? Und in diesen drei Bereichen, private Daten, öffentliche Daten und der Bereich dazwischen: Wer hat denn jeweils oder darf die Kontrolle über welche Daten haben und wer darf die Kontrolle über welche Anwendungen haben? Wer darf beispielsweise festlegen, wann Daten angereichert werden dürfen, womit sie angereichert werden dürfen? Und das ist natürlich bei der Vernetzung sehr viel stärker gefordert und das hat dann auch wieder dazu zurückgebracht, dass man gesagt hat: Gut, da gab es ja schon einmal Konzepte, wie solche Probleme gelöst werden können – und die müssen wir nur eben wieder auf unsere Zeit abbilden.

    Kloiber: Und welche Folgen hat das konkret für die Softwareentwicklung?

    Welchering: Die Softwareentwickler stellen sich dabei die Frage 'Wie kann ich denn zu beherrschbaren Systemen kommen?' Und wenn ich die Voraussetzungen, um Systeme wirklich beherrschbar programmieren zu können, gelöst habe, dann stellt sich für die natürlich zusätzlich die Frage – und das ist wirklich neu in der Diskussion: Von wem sollen denn diese Systeme beherrscht werden? Bisher galt ein beherrschbares System einfach als ein System, das wirklich das macht, was die Entwickler getan haben. Aber diese Alleinherrschaft der Entwickler wird ihnen ein wenig genommen. Deshalb wird das auch sehr unterschiedlich bewertet. Einige Entwickler sprechen auch von einem Kontrollverlust. Es muss nämlich entschieden werden: Wer soll alles mitbeteiligt werden und wer soll alles Kontrolle über dieses Systeme ausüben können? Und das ist eine offene Frage. Der zweite Punkt dabei: Diese Beherrschbarkeit der Systeme setzt natürlich Transparenz voraus. Das heißt, ich muss die Systeme, ich muss den Quellcode, ich muss die Algorithmen offenlegen, damit dann alle Beteiligten sich darüber verständigen können, in welche Richtung soll das denn weiterentwickelt werden? Das bringt so einen Gedanken wie beispielsweise Open Source sehr stark nach vorne. Aber eben auch diese Abkehr von den herstellereigenen Standards ist eben auch nicht unumstritten dabei. Und im dritten Punkt geht es dann eben um die Entwicklung von Kontrollsystemen und Testsystemen. Kontrollsysteme sind solche Systeme, die eben als Software andere Software kontrolliert und überwacht, ob diese Software auch wirklich das tut, was sie soll. Und Testsysteme – da lautet die ganz klare Forderung der Softwareentwickler: die müssen sehr viel weiter entwickelt werden. Es muss sehr viel intensiver getestet werden – und zwar nicht nur intern, was macht das Softwaresystem in sich? Sondern: Wie kommuniziert es eben auch mit anderen Systemen? Die Testsysteme müssen den Gedanken der Vernetzung, der Situation und der Realität der Vernetzung sehr viel Deutlicher Rechnung tragen als das bisher passiert ist.

    Kloiber: Vor allem, weil Verlässlichkeit ja nicht nur eine Frage von sauber strukturierter Software, sondern auch von Sicherheit gegen Angriffe von außen ist. Wie kann denn da die neu geforderte Sicherheitskultur in der Softwaretechnologie weiterhelfen?

    Welchering: Naja, auch durch Transparenz, wie argumentiert wurde. Wobei Transparenz ist da auch ein etwas viel strapazierter Begriff geworden. Angriffe basieren ja immer auf Sicherheitslücken – in den Betriebssystemen, in den Protokollen, wo auch immer. Und diese Sicherheitslücken müssen eben deutlich, müssen öffentlich gemacht werden. Und wenn die Entwicklergemeinde diese Sicherheitslücken erkennt – auch eben mit Unterstützung von Kontrollsystemen und Testsystemen – dann können diese Sicherheitslücken eben auch schneller geschlossen werden. Aber dafür brauche ich eben solch eine neue Sicherheitskultur, die sich erst sehr langsam entwickelt.