Security und Software-Qualität

Freitag, 21.12.2018

Mirko Matytschak

Es vergeht kaum eine Woche ohne einen Bericht über einen Datendiebstahl in größerem Stil. Häufig werden Hacker-Angriffe in den Medien wie eine Naturkatastrophe beschrieben: Jeden kann es treffen, man kann sich kaum dagegen vorsehen. Aber das stimmt nicht. Einiges könnte getan werden, wenn es jemand bezahlt. Den Schaden tragen die Nutzer, deren Daten geklaut wurden.

Neulich war es wieder so weit: 500 Millionen Datensätze werden bei der Hotelkette Marriott gestohlen. Datenklau bei der NASA. 430000 Datensätze mit Kreditkartennummern gehen bei British Airways verloren. Das war nur eine zufällige Auswahl von kürzlich erschienenen Artikeln, in einer Minute bei Google zusammengesucht. Die Nutzer werden (oft zu spät) benachrichtigt und dann geht man zum Tagesgeschäft über. Es scheint so, als ob sich alle Welt damit abgefunden hat, dass es zum Business-as-Usual dazugehört, zwischendrin einmal von Hackern heimgesucht zu werden.

Ein unvermeidliches Problem?

Es wird so dargestellt, als ob die Hacker immer intelligenter und immer besser organisiert seien und daher die Sicherheitsexperten der Unternehmen nicht mehr Schritt halten können. Sieht man sich die einzelnen Fälle aber näher an, kommen interessante Details zum Vorschein. So wurden bei Marriott „möglicherweise“ die Dateien gestohlen, in denen Schlüssel zum Lesen verschlüsselter Informationen lagen. Da stellt sich dann schon die Frage, ob die Schlüssel wirklich direkt bei den zu schützenden Daten liegen müssen. Werden hier vermeidbare Fehler gemacht? Und wenn ja, warum?

Noch schlimmer steht es um Systeme für das Internet of Things, also Kameras, Haustechnikanlagen, Kühlschränke, Musikanlagen, die eine Internetverbindung benötigen. Die arbeiten meist mit sehr schwachen Sicherheitsvorkehrungen, weshalb sie für Hacker leichte Beute sind. Die Folge: Ein Netz aus gehackten IoT-Devices sorgte für den bislang größten DDoS-Angriff der Geschichte des Internets mit Transferraten bis zu 620 GBit/s. Der Angriff war in großen Teilen der USA und in Teilen Europas deutlich zu spüren. Die schiere Menge an Geräten, die für den Angriff genutzt werden konnten, ergab sich simpel aus der Tatsache, dass diese Geräte leicht zu hacken waren.

Nun soll dieser Beitrag kein Bashing der Personen werden, die die Software für diese Geräte entwickelt haben. Die kochen nur mit Wasser, sprich: sie können nur im Rahmen ihres finanziellen Budgets arbeiten. Und das wird von den Herstellern vorgegeben. Es sieht so aus, als ob gerade der IoT-Bereich ein Massengeschäft ist, bei dem es auf Centbeträge pro Gerät ankommt. Die Logik aus Sicht der Hersteller ist klar: Wenn es nicht unter einem bestimmten Preislimit geht, wird das Gerät erst gar nicht hergestellt.

 

Zeitdruck und knappe Budgets

In unserer Branche werden wir regelmäßig mit Anfragen konfrontiert, denen völlig unrealistische Budget-Vorstellungen zugrunde liegen. Da kann dann leider kein Auftrag zustande kommen. Aber irgendeiner macht es. Sei es eine Startup-Klitsche ohne Erfahrung oder eine Agentur, bei der der Key Account Manager zwar weiß, wie er ein Software-System verkaufen kann, aber nicht, wie es entwickelt wird.

Und dann geht die Entwicklung natürlich völlig ohne Sicherheitsnetz. Die einfachsten Regeln der Qualitätssicherung und der Vorkehrungen für die Sicherheit bleiben links liegen, weil dafür schlichtweg die Zeit fehlt. Das Ergebnis entspricht dem, was man im vorgegebenen Zeitrahmen und Budget erwarten konnte.

Vor einiger Zeit nahmen wir für ein Unternehmen einen Relaunch der Webpräsenz vor. Das Unternehmen wollte seine Marke komplett neu aufstellen. Es gab eine Menge Abstimmungsbedarf, was die Visualisierung und die User Experience anbetraf. Außerdem hingen an der Site einige Funktionen wie Eventkalender, mehrsprachiger Blog, Jobportal etc. pp. mit zum Teil sehr speziellen Rahmenbedingungen, die als verstecktes Wissen vorlagen, das erst nach einiger Zeit zum Vorschein kam. Nach knapp einem halben Jahr hatten wir die Site online.

Nun gab es in dem Unternehmen ein paar Verwerfungen. Plötzlich gab es eine neue Marketing-Leitung und einen neuen Manager für die Online-Dienste. Der hatte bereits Kontakte zu einem IT-Dienstleister, dem er vertraute. Es kam daher zu einer Übergabe des gesamten Projekts an den neuen Dienstleister.

Aufgrund von äußeren Rahmenbedingungen, auf die ich an dieser Stelle nicht eingehen möchte, setzte sich der neue Anbieter das Ziel, die gesamte Site neu zu programmieren und innerhalb von zwei Monaten damit online zu gehen. Unsere Meinung zu diesem Thema war eindeutig: Das war in der Zeit nicht zu machen.

Die Site ging mit Verspätung online, und es hakte an allen möglichen Stellen. Es gab Darstellungsfehler, einige Teile der Site waren schlicht außer Funktion. Ganz offensichtlich war das eines der Projekte, die gänzlich ohne Qualitätssicherung auskommen müssen.

Wie kann unter solchen Vorbedingungen ein System entstehen, das den Angriffen von Personen mit hoher krimineller Energie standhalten soll?

Qualität und Sicherheit sind unsexy

Szenenwechsel. Wir hatten vor einiger Zeit eine intensive Diskussion mit einem Marketing-Experten. Wir fragten ihn, auf welche Weise wir potentiellen Kunden zeigen können, dass wir mit hohen Qualitätsstandards arbeiten. Die Antwort war ernüchternd. Sinngemäß und verkürzt lautete sie: Der Kunde will Software kaufen und nicht Qualität.

Qualität und Sicherheit sind keine Verkaufsargumente, weil man sie implizit voraussetzt. Aber sie sind nicht implizit. Häufig fehlt nicht nur die Zeit und das Budget, sondern von vorneherein das Bewusstsein für diese Themen, sowohl beim Auftraggeber, als auch bei den ausführenden Unternehmen.

Das Marketing klammert diese Themen völlig aus, weil sie an Probleme und Pflichten erinnern und daher nicht gerade verkaufsfördernd wirken – es sei denn, man hat Buzzwords wie „Blockchain“ im Repertoire.

Und so kommt es, dass diese Themen bei niemandem auf dem Tisch liegen – nicht bei den Kunden, nicht bei den Agenturen, die die Kunden beraten und auch nicht bei den Dienstleistern, die die Systeme letztlich programmieren. Qualität und Sicherheit verursachen jedoch Aufwände, für die irgendjemand aufkommen muss. Der Auftragnehmer wird keine freiwilligen Hausaufgaben machen, wenn der Kunde nicht danach fragt.

Dann werden Angebote kalkuliert, die die Aufwände nicht enthalten und der Kunde kann nicht erwarten, dass das Produkt implizit sicher und stabil ist, wenn er sich auf ein solches Angebot einlässt.

Der Anbieter hat keine Testpläne im Angebot? Dann gibt es auch keine Tests! So einfach ist das.

Problemfall Gesundheitsakte 

Und dann kommt unser Gesundheitsminister Jens Spahn daher und möchte die Elektronische Gesundheitsakte bis 2021 flächendeckend durchpeitschen. Gearbeitet wird an dem Projekt schon lange, und nach Ausgabe von mittlerweile Milliardenbeträgen könnte man meinen, dass eine funktionierende Lösung vorliegen sollte. 

Die Nutzer sollen dann mit einer komfortablen App für Android oder für's iPhone ihre Gesundheitsdaten mit den Ärzten austauschen.

Auf dem Kongress des Chaos Computer Club 2018 zeigte jedoch ein Referent, dass alle Lösungen für die elektronische Gesundheitsakte Sicherheitsrisiken aufweisen. Und zwar solche, die nicht nur theoretisch ausgenützt werden könnten. Teilweise wiesen die Produkte hanebüchene Fehler auf, sodass man mit trivialen Angriffen Gesundheitsdaten von anderen Personen oder von Ärzten abgreifen konnte.

Hier wird nur auf die Chancen geschaut – die letztlich in der Kostenreduktion im Gesundheitswesen liegen – und nicht auf die Risiken, die durch Diebstahl von Daten entstehen können. Mahnende Stimmen werden als Bedenkenträger abgekanzelt und es wird sogar die Forderung ausgesprochen, dass mangelndes Vertrauen in die Elektronische Gesundheitsakte längerfristig zu Einbußen der Behandlungsqualität führen soll. Das Milliardenbudget ist in alles Mögliche geflossen, aber offensichtlich nicht in die Sicherheit. Dieses Thema blieb den Herstellern der Gesundheits-Apps überlassen. Oder wie es der Referent im genannten CCC-Vortrag auf den Punkt brachte: „Security ist ein Wettbewerbsnachteil“.

Es liegt uns also klar vor Augen: Zur Fertigstellung der elektronischen Gesundheitsakte fehlte nur noch die Durchsetzungskraft eines jungen, dynamischen Politikers...

Lässt sich Qualität beweisen?

Wenn nun ein Kunde tatsächlich für höhere Qualität und Sicherheit bezahlen möchte, kommt erschwerend hinzu, dass es ohne Mitwirkung des Kunden schwierig ist, nachzuweisen, dass man eine hohe Software-Qualität liefern kann. Gäbe es klare Kriterien, die man als Anbieter in den Requirements-Listen auflisten könnte, dann wäre es für den Kunden einfach, ein Unternehmen zu wählen, das Qualitätsstandards vorweisen kann und dafür einen angemessenen Aufpreis in Kauf zu nehmen.

Man könnte nun meinen, die Zertifizierung nach ISO 9001 wäre ein solches Kriterium. Leider taugt auch die Norm als Kriterium nicht. Ein Unternehmen weist nämlich mit der Zertifizierung nur nach, dass es einen Prozess für die Qualitätssicherung gibt.

Die Zertifizierung ist kein Nachweis dafür, dass tatsächlich Qualität produziert wird. Ob das der Fall ist, hängt sehr stark von der Unternehmenskultur ab, also von Faktoren, die nur schwer überprüfbar sind. Das Vorliegen einer Zertifizierung wiegt die Kunden in einer falschen Sicherheit. Für die Anbieter von Software-Systemen ist sie ein teurer und zeitraubender Vorgang, um letztlich nicht viel mehr, als eine Art Marketing-Gimmick zur Hand zu haben. Für den potentiellen Kunden sagt sie leider nichts aus.

Noch schlimmer ist es mit den Prüfsiegeln, die zum Beispiel vom TÜV angeboten werden. Es darf bezweifelt werden, dass das Vorliegen eines solchen Siegels in irgendeinem Sinn aussagekräftig ist.

Darauf wird man als Kunde nicht vertrauen wollen.

Achtung: Datenschutz!

Aber warum sollte sich ein Unternehmen überhaupt darum scheren, ob seine Systeme eine Standfestigkeit gegen Angriffe vorweisen? Wen stört es, wenn Daten verloren gehen? Hierauf gibt es eine eindeutige Antwort. Unternehmen sind für die Daten, die sie erheben, verantwortlich und können mit Strafen belegt werden, wenn Daten abhanden kommen.

Es gibt Meldepflichten, die eingehalten werden müssen, wenn ein Datendiebstahl geschieht, sowie eine Pflicht zu angemessenen Aktivitäten, um den Schaden zu minimieren. Die Strafen bei Nichteinhaltung sind empfindlich hoch. Eine gewisse Schonfrist nach Einführung der DSGVO kann getrost als beendet betrachtet werden.

Es ist also allen Unternehmen anzuraten, bei der Konzeption von Software-Systemen beim Anbieter nachzufragen

  • Was sie tun, um Systeme widerstandsfähiger gegen Angriffe zu machen
  • Welche Maßnahmen getroffen werden, um Daten zu schützen (zum Beispiel Verschlüsselung)
  • Wie ermittelt werden kann, welcher Schaden entstanden ist, wenn es tatsächlich so weit kommt
  • Auf welche Weise die zeitnahe Information und Schadensminimierung unterstützt werden kann
  • Was konkret getan wird, um Softwarequalität zu realisieren

Lassen Sie sich nicht mit Gemeinplätzen abspeisen á la  „Wir haben ein Prüfsiegel“, „Sicherheit wird bei uns groß geschrieben“, „Wir benutzen modernste Verschlüsselungsverfahren“. Lassen Sie sich erklären, was die groß geschriebene Sicherheit bedeutet und welche Verschlüsselungsverfahren denn konkret eingesetzt werden. Sie müssen die Antwort nicht im Detail verstehen, aber Sie werden dennoch feststellen können, welche Antworten Substanz enthalten und wo vielleicht nur heiße Luft produziert wird.

Dieser Aufwand zur Informationsbeschaffung lässt sich leider nicht vermeiden – und so war meine Anspielung auf die „Mitwirkung des Kunden“ gemeint.

Fazit

Betreiber eines Systems, das Daten erhebt, sind für die Sicherheit der Daten verantwortlich. Sie müssen diese Fragen in Ihrem Unternehmen diskutieren und sich gegebenenfalls extern beraten lassen. Berücksichtigen Sie bei der Konzeption von neuen Software-Projekten Zeit und Budget für Maßnahmen der Qualitätssicherung und für die Systemsicherheit. Lassen Sie sich von den Anbietern konkret und detailliert beschreiben, was Sie in Sachen Qualität und Sicherheit von ihnen erwarten können.

Einen Kommentar verfassen

Anleitung zur Textformatierung

Zum Formatieren des Textes verwenden Sie [b][/b] und [i][/i]. Verwenden Sie [url=http://ihre-site]Text[/url] für Links.

* Pflichtfelder