Ist ein Software-Fehler, da kann man nichts machen!

  Ralf Hersel   Lesezeit: 6 Minuten  🗪 4 Kommentare

Wer haftet für Fehler in Freier Software?

ist ein software-fehler, da kann man nichts machen!

Ist der Titel dieses Beitrags ein Meme, eine Ausrede oder eine Kapitulation? Ein Artikel bei Heise, mit dem Titel "Der Wandel des IT-Studiums: Künftig haften Informatiker für ihre Arbeit" hat mich nachdenklich gemacht. Wie viele erfolgreiche Angriffe haben wir in den letzten Jahren gesehen? Gefühlt, werden jeden Tag irgendwo auf dieser Welt Software-Systeme kompromittiert und dadurch Betreiber und Anwender:innen geschädigt. Das geht von Einbrüchen in Firmen bis zum Absaugen von Bürgerdaten bei Behörden.

Grundsätzlich bin ich der Meinung, dass die Ausrede "Ist ein Software-Fehler, da kann man nichts machen", nicht mehr gelten darf. Dazu möchte ich aus dem oben erwähnten Heise-Artikel zitieren:

"Im selben Zeithorizont (20 Jahre) werden wir unsere Studierenden so hochwertig ausbilden können, dass sie für die Produkte in deutlich stärkerem Maße bereit sind als heute, Haftung dafür zu übernehmen. Wenn einem Bauingenieur das Haus einstürzt, dann muss er ins Gefängnis. Etwas in dieser Richtung wird auch auf die Informatik zukommen", sagt Professor Dr. Karsten Wolf, Leiter des Fakultätentag Informatik, der alle deutschen Universitäten vertritt, die ein Informatikstudium anbieten.

Proprietäre Software

Wird eine proprietäre Software dem Kunden von einer gewinnorientierten Firma verkauft oder vermietet, so haftet diese für Schwachstellen in ihrer Software. Ja, nein, vielleicht? Nach dem Interview mit Christian Laux, dass ich im GLN-Podcast Nr. 16 im Oktober 2021 geführt habe, lautet die Antwort "eher nicht".

Betrachtet man den Sachverhalt genauer, ergeben sich mehrere Schichten, denen man Verantwortung zuweisen könnte:

  1. Ein Produktmanager hat eine Idee und lässt diese umsetzten
  2. Ein Business Analyst schreibt die Spezifikation
  3. Ein Entwickler schreibt die Software
  4. Ein Tester untersucht das Produkt
  5. Ein Integrator bindet die Software ein
  6. Ein Verkäufer bringt das Produkt zum Kunden und schliesst Verträge ab
  7. Ein Kunde implementiert die Software
  8. Ein Provider hostet die Software
  9. Ein Endanwender nutzt die Software

Hier kann man grob, zwischen Anbieter, Kunde und Endanwender unterscheiden. Der Anbieter wäre z.B. die Software-Firma x, der Kunde wäre die Behörde y und die Endanwenderin wäre die Bürgerin z. Zurzeit haftet niemand; nur die Bürgerin Z hat einen Schaden zu verkraften, z.B. einen Identitätsdiebstahl oder den Leak ihrer Krankenkassen-Daten.

Aber Ralf, der Angreifer ist doch der Schuldige! Nein, weil in den meisten Fällen Fahrlässigkeit aufseiten des Betreibers vorliegt, zum Beispiel durch Fehlkonfiguration oder veraltete Software-Versionen. Eine Versicherung zahlt dir gar nichts, wenn du deine Haustüre nicht abschliesst. Ausserdem ist es für einen Endanwender so gut wie unmöglich, sich an einem Angreifer schadlos zu halten. Es muss noch nicht einmal an der Fahrlässigkeit des Anbieters liegen, sondern kann auch Teil des Geschäftsmodells sein. So versucht zurzeit der Bundesstaat Texas die Firma Meta, wegen deren Umgang mit biometrischen Daten, auf einen Betrag zu verklagen, der knapp an eine Billion Dollar heranreichen könnte.

Freie Software

Freie- und Open-Source-Software ist in ihrer Wirkbreite sehr vielfältig; sie reicht von Anwendungen für einen kleinen Nutzerkreis, über Grossgewichte (GNU, Linux, LibreOffice, Gimp, Blender, Firefox, FOSS-Datenbanken, Security-Libraries, Netzwerk-Plattformen, Protokoll-Libraries, ...), bis hin zur Verwendung ebendieser in KRITIS-Anwendungen und Services. Ein Beispiel dafür ist die Rechteeskalation in der Polkit Komponente pkexec.

Wie sehen nun die Verantwortungsschichten bei Freier Software aus:

  1. Meistens entwickeln eine oder wenige Personen eine Idee, spezifizieren und entwickeln diese.
  2. Ein Maintainer pflegt und stellt die Software bereit.
  3. Viele verwenden die Software im Rahmen der jeweiligen Lizenz.
  4. Einige tragen zur Pflege und Verbesserung der Software bei.
  5. Manche nehmen sie, um die Software in ihre SAAS-Produkte einzubauen.
  6. Endanwender verwenden das Produkt nativ oder als Bestandteil eines SAAS-Angebots.

Auch hier stellt sich die Haftungsfrage, falls durch Fehler in der Software oder unsachgemässen Betrieb, Endanwender zu Schaden kommen. Ich bin der Meinung, dass an den Entwickler keine Haftungsforderungen gestellt werden können. Wenn dies so wäre, würde das die Entwicklung von Freier Software vollständig abwürgen. Stattdessen sehe ich die Betreiber in der Verantwortung. Wer sich an Freier Software bedient, soll a) Verantwortung tragen, und b) die Haftung für den Betrieb und die Software übernehmen. Da es sich um quelloffenen Code handelt, hat jeder Betreiber die Möglichkeit, sich über die Qualität der Software in Kenntnis zu setzten und dafür einzustehen.

Eine juristische Betrachtung der Haftungsfrage bei Freier Software findet man hier.

Ich meine, dieses Thema ist noch lange nicht zu Ende gedacht. Welche Meinung habt ihr dazu?

Tags

Software, Endanwender, KRITIS-Anwendungen, Freier, GNU, Kunde, Betreiber, Produkt

Bernhard E. Reiter
Geschrieben von Bernhard E. Reiter am 17. Februar 2022 um 17:43

In Deutschland und vielen anderen Ländern gibt es eine weitgehende Vertragsfreiheit. Wenn ich eine Software-Entwicklung oder ein Produkt verkaufe, (egal ob Freie Software oder nicht) dann kann ich sagen: diese Zusicherungen gebe ich Dir zu dem Preis. Und viele Kunden sagen dann einfach: den Preis kann oder möchte ich nicht zahlen, nicht in Geld und nicht in Zeit. Dann wird halt weniger Zusicherung gekauft. Da nicht davon auszugehen ist, dass die Vertragsfreiheit grundsätzlich eingeschränkt werden kann, schließlich darf ich immer noch Prototypen bestellen, erwarte ich nicht, dass es zu einer praktisch ernsthaften Absicherung oder vernünftigen Finanzierung kommt. Am Ende helfen große Versicherungslösungen vor Allem großen Anbietern (und das sind leider in Mehrzahl die proprietären).

Viel spannender und zielführender wäre, wenn die Kunden, wie die öffentliche Hand Expertise, Methoden und realistische Erwartungen und Messkriterien entwickeln würden, um die für sie benötigte Qualität zu messen und dann auch zu bezahlen.

Björn E. Kevalonen
Geschrieben von Björn E. Kevalonen am 17. Februar 2022 um 19:17

"Wer sich an Freier Software bedient, soll a) Verantwortung tragen, und b) die Haftung für den Betrieb und die Software übernehmen. Da es sich um quelloffenen Code handelt, hat jeder Betreiber die Möglichkeit, sich über die Qualität der Software in Kenntnis zu setzten und dafür einzustehen."

Ist das Ihr Ernst? Große Betriebe können sich vielleicht eine IT-Abteilung leisten, die die Software prüft. Wobei dieses Unterfangen recht sportlich ist: "Das Quellcodeverzeichnis des Linux-Kernels hat jüngst die Marke von 25 Millionen Zeilen durchbrochen", schrieb heise.de schon 2017. Wer kann 25 Mio. Codezeilen wirklich mit Sachverstand prüfen? Und wie sieht es bei kleinen Betrieben aus? Nehmen wir an, ein Rechtsanwalt würde seine Bürorechner mit Debian betreiben und LibreOffice etc. verwenden. Oder ein Handwerksbetrieb (Schreiner, Klempner etc.). Soll die Haftung auch für sie gelten? Das halte ich weder für praktikabel noch für sinnvoll. Die Haftung würde Betriebe vielmehr von der Verwendung Freier Software massiv abhalten - nicht zuletzt, weil sie existenzbedrohend wäre.

Mancus Nemo
Geschrieben von Mancus Nemo am 17. Februar 2022 um 22:52

Wow das ist Politisch ein ganz heißes Eisen. Meines Wissens ist das Politsch extra genau so gewollt gemacht worden. Weil es Private Firmen sind. Die wollen Gewinne machen, auf teufel komm raus. Da sind Schadensersatz nur Gewinnhemmer.

Ich war mal auf nem Seminar da wurde uns das dort quasi verkürzt so erklärt. Und auch gesagt, das falls wir mal Gutachter werden, wann immer es geht den Programmierer aus der Schusslinie ziehen sollen. Und wenn dafür der Mondstand und die Wassertemperatur schuld sein sollen... Scheiß egal... tja alles koruppt und geldgierig bis die Schwate kracht!

Hier muss unbedingt deshalb nachgebessert werden. Wenn ein Gutachter Fahlässigkeit im Code nachweisen kann, dann sollte die Firma schon wegen Fahlässigkeit dran sein! Nicht irgend ein kleiner einzelner Programmierer. Das kann man hinterher in Ruhe klären. Der Kunde sollte die Ansprüche gegen die Firma einklagen können!

Es war ja schone in riesen Vortschritt mit den Vorschriften gegen Sicherheitslücken. Das man nach einer Bekanntgabe so und so viel Zeit hat bis die Lücke veröffentlicht wird. Und wenn in dieser Zeit nichts gemacht wurde, ja dann ist die Fimra drann... HIer müsste weiter angesetzt werden...

UbIx
Geschrieben von UbIx am 25. Februar 2022 um 07:15

Bei uns steht zwischen schritt 2. und 3. eine Sicherheisanalyse (tara) die teil des Angebotes ist. Hier muss der Kunde dann klar beschreiben wie sicher er es haben will. Danach haftet er selbst über die nicht dort im Konzept berücksichtigten Angriffe. Anschließend baut der System Architekt dieses in die Architektur ein mit Unterstützung des Hardware und Software Architekten. Erst diese werden dann auf ein design herunter gebrochen.

PS: der Hardware Architekt kann vom Systemarchitekten übrnommen werden, wenn standard Hardware verwendet werden soll wie das ja beim PC ist. Aber die Anforderungen an die Hardware muss fast immer berücksichtigt werden. z.B. TPM, secure boot ,usw.