Dubioses zur Luca-App und zum Hasso-Plattner-Institut
Mmmh. Bedenkliche Anfrage eines Lesers.
Ein Leser schreibt, dass es mit der Luca-App noch mehr Sicherheitsprobleme gäbe.
Mag sein, aber ich habe nicht die Zeit, mich auch noch um die Luca-App zu kümmern. Und eigentlich auch keine Lust. Man kann sich nicht in alles verzetteln.
Der SPIEGEL berichte heute, dass es heute ein Video darüber gebe, wie man über die Luca-App in die IT der Gesundheitsämter einbrechen könne.
Da ich nicht weiß, wie die Luca-App funktioniert, habe ich das Video nicht ganz verstanden. Ich interpretiere es mal so, zusammen mit dem, was im SPIEGEL-Artikel steht, dass die Luca-App für den Fall des Tracens einer infizierten Person Kontaktdaten von Leuten einsammelt, die gleichzeitig am gleichen Ort waren und mitinfiziert sein könnten, und da dann böswillig gebaute Daten kommen, die per Sonderzeichen eine Code-Injection auslösen. Ich interpretiere das jetzt mal so, dass die Luca-App (ich kenne sie nicht, habe sie noch nie in Aktion gesehen und auch überhaupt nicht vor, sie zu installieren) die Daten direkt vom Nutzer holt und der dann diese Code-Injection in seine eigenen Daten schreibt, biespielsweise in den Straßennamen. Und anscheinend gibt Luca den Kram ungeprüft weiter bis in eine CSV-Datei, die – warum auch immer, dem Video nach vermutlich über den Browser und den übermittelten MIME-Type – im Gesundheitsamt mit Excel geöffnet wird, und Excel dann das Zeug als auszuführende Formel interpretiert.
Man kann sich nun sehr darüber streiten, ob das Problem in der Luca-App liegt, die Daten ungeprüft in eine CSV übernimmt, oder Excel, das in einer CSV-Datei (was ja eigentlich comma separated values heißt und deshalb schon dem Namen nach nur Werte und keinen ausführbaren Code enthalten darf) ausführbaren Code finden kann. Der SPIEGEL schreibt da einen ziemlichen Schrott:
Was sich nach einem Fehler von Microsoft anhört, ist tatsächlich einer von Luca. Denn in Excel gibt es legitime und längst etablierte Einsatzszenarien für die Funktion, deshalb müsste Luca sicherstellen, dass die App saubere, also ungefährliche Daten liefert.
Das ist nun eine richtig dumme Aussage. Nur weil es „legitime und längst etablierte Einsatzszenarien“ dafür gibt, aus CSV ausführbaren Code auszuführen, ist das noch lange kein triftiger Grund, das für richtig zu halten. Nur weil es „legitime Einsatzszenarien“ gibt, in denen man die Haustür offen lässt, heißt das nicht, dass man sie immer offen lässt. Das ist so eine richtig strunzdumme Aussage.
Ich persönlich halte es sehr wohl für ein Sicherheitsproblem von Microsoft. Denn CSV ist eigentlich ein reines Datenformat, das normalerweise völlig ungefährlich sein sollte. Eigentlich sollte man da bedenkenlos „draufklicken“ können, und zwar auch dann, wenn die Daten aus unsicheren Quellen kommen. Microsoft hat da eine sehr unschöne Historie, dass in wirklich allem Mist irgendwas Ausführbares drin sein kann, Beispielstichwort Active-X. Unter anderem deshalb habe ich eine tiefgehende Abneigung gegen alles, was an Software von Microsoft kommt.
Zwar sieht man, dass hier noch eine Warnung kommt, dass die Datei Macros enthält, aber solche Warnungen sind in der Praxis nicht viel wert. Ich habe früher, so vor 15 Jahren, mal Workshops gegeben, auch für Behörden, in denen ich live vorgeführt habe, wie ich mich in eine HTTP- und dann eine HTTPS-Verbindung per Hacking zwischenschalte, und dazu immer einen aus dem Publikum geholt, der auf dem Opfer-Rechner auf Webseiten surft. Natürlich gab das dann eine Warnungmeldung, wenn ich zwischendrin die Zertifikate gefälscht habe, und der Brüller ist: Obwohl ich vor dem Experiment immer darauf hingewiesen und das erklärt habe, dass ich mich bei HTTP unbemerkt reinhacken kann, während bei HTTPS der Browser merkt, dass das Zertifikat eine Fälschung ist und eine Wahrnung anzeigt, ich das also vorher noch extra gesagt habe, ist es in mehreren der Workshops vorgekommen, dass die Benutzer die Warnung aus blanker Gewohnheit weggeklickt und weitergemacht haben, ohne sie zu bemerken. Es ist mehrere Male passiert, dass die Leute das weggeklickt und dann, darauf angesprochen, unerschütterlich davon überzeugt waren, dass da nie eine Warnung war, während das Publikum, das genauso vorgewarnt war und die Aktionen über einen an den Notebook angeschlossenen Beamer mitverfolgen konnte, die Warnung gesehen hat und fassungslos mitverfolgte, wie ihr eigener Kollege vorne stand und dachte, sie wollten ihn verarschen, weil er die Meldung weggeklickt hat und trotzdem schwor, dass da keine war. Manchmal kam ich mir da vor wie ein Zauberkünstler mit einer Hypnose-Show. Wie gesagt: Das war kein einzelner Aussetzer, das ist nicht nur einmal passiert.
Ein Zustimmungsklick reicht nicht für solche brachialen Sicherheitslöcher.
Der Mensch gewöhnt sich an, automatisiert zu klicken, was zum Erfolg führt, und Erfolg ist, wenn er zu sehen bekommt, was er sehen will. Nicht, wenn der Angreifer abgehalten wird.
Vor allem deshalb, weil die Meldung
»Diese Arbeitsmappe enthält WEBDIENST-Funktionen, die Inhalte aus dem Internet empfangen. Aktivieren Sie diese Inhalte nur, wenn Sie der Quelle dieser Datei vertrauen.«
jetzt auch nicht jeden warnt. Der durchschnittliche Benutzer kann sich darunter nicht viel vorstellen, aber denkt sich, ja, klar, das sind doch Daten von Luca, natürlich will ich die haben und vertraue denen. Haben ja einige Millionen dafür bekommen.
Hängt auch damit zusammen, dass Datenformate nicht sauber definiert sind.
Im Ergebnis ist das natürlich großer Mist und nicht hinnehmbar, aber es ist jetzt auch nicht ganz trivial, da einen einzelnen Schuldigen auszumachen. Das Microsoft-Universum ist halt schon ziemlicher Schrott.
Andererseits muss man, wenn man solche Daten einsammelt und in die Behörde pumpt, genau das beachten. Es muss grundsätzlich immer und ausnahmslos darauf geachtet werden, dass Dateneingaben von außen, die potentiell vom Angreifer kommen könnten, vollständig auf Syntax geprüft sind, was natürlich auch voraussetzt, dass überhaupt eine Syntaxbeschreibung existiert. Immer der, der Daten von außen reinschleppt, ist auch dafür verantwortlich, dass sie sauber und geprüft sind.
Sagen wir es mal so: In meiner bisherigen beruflichen Praxis der letzten x Jahre wäre sowas als Software nicht live gegangen und als Regelverstoß vorher in der Qualitätsprüfung abgefangen worden, weil in den strikt einzuhaltenden Sicherheitsregeln vorgegeben war, dass sämtliche Benutzereingaben ausnahmslos auf syntaktische Korrektheit geprüft werden müssen. Um genau sowas auszuschließen.
Also offenbar stimmen da bei der Luca-App ein paar grundlegende Dinge nicht. Da fehlt es so an Grundtechniken und sauberem Arbeiten. Das ist auf die Schnelle zusammengemurkst.
Nun meint der Leser, es sei doch seltsam, denn das ist jetzt nicht irgendeine Laienrumpelbude, sondern über die Gründer des Startups neXenio stehe da:
Im Laufe vieler Forschungsprojekte am Hasso Plattner Institute (HPI) konnten wir einen guten Einblick in viele große und kleine Unternehmen werfen. Selten finden jedoch Ergebnisse dieser Forschungsprojekte direkt Einfluss auf aktuelle Produkte. Um diesen Spalt zu schließen und Forschungsergebnisse schneller und effizienter in neue Produkte und Lösungen einfließen zu lassen, haben wir neXenio gegründet. Der Name neXenio ist abgeleitet von dem Wort „nexus“ – fungierend als Verbindung zwischen dem Forschungsgeist der neuen Generation und Unternehmen.
Zusammen mit Prof. Meinel gründeten wir neXenio im November 2015 mit dem klaren Ziel, eben diese vielversprechenden Forschungsprojekte und Prototypen in die Praxis umzusetzen. Heute sind wir eine GmbH mit über 50 Mitarbeitern und arbeiten an benutzerfreundlichen Softwarelösungen, um die aktuell und künftig schnell wachsenden Bedürfnissen bedienen zu können. Wir sind stolz darauf Unternehmen wie die Bundesdruckerei, das HPI oder die SAP sowie tolle weitere Unternehmen zu unseren Partnern zählen zu können.
Unser Ziel ist es, großartige Lösungen in den Bereichen Datensicherheit und verteilter Zusammenarbeit der Geschäftswelt zugänglich zu machen. Wir freuen uns darauf Euer IT-Nexus zu sein.
Patrick Hennig&Philipp BergerDie Gründer von neXenio
Das ich von Meinel keine, naja, keine positive Meinung habe, hatte ich schon des öfteren erwähnt.
Anscheinend wollte man da partout die Erwartungen des Geldgebers Hasso Plattner erfüllen, dass es zu Startups und Ausgründungen kommt. Und dann damit zu werben, als Partner das HPI (Hasso Plattner Institut) oder SAP selbst zu haben, obwohl sie ja von denen als Ei gelegt wurden, das ist dann auch schon sehr dubios. Und in meiner persönlichen Kryptogeschichte sind mir auch schon das SAP und HPI begegnet, und keine der Begnungen habe ich in positiver Erinnerung.
Und nun so elementarer Murks?
Ich fand das ja neulich schon so höchst zweifelhaft, dass da Smudo von den Fanta4 und Mietmaul Ranga Yogeshwar für Luca getrommelt haben. Ich hatte ja schon geschrieben, dass ich als Informatiker schon zuviel kriege, wenn mir einer mit „Dipp-dipp-dipp“ daherkommt.
Und schon einige Male – hatte ich das nicht auch schon im Blog? – ist aufgefallen, dass es eine seltsame Affinität zwischen Meinel und Merkel gibt.
Man fragt sich, ob die Luca-App ein Schwindel zum Geldmachen oder eher eine auf die Schnelle rausgerotzte Gefälligkeit für Merkel war. Ob das Ding eine politische Bestellung war, und man deshalb trotz der Mängelhaftigkeit so mit Geld geworfen hat.
Und wie eigentlich der Zusammenhang zwischen dem HPI und der Bundesdruckerei aussieht.
Der Leser dagegen fragt sich, wie der Laden „sichere Cloudlösungen“ entwickeln können soll, wenn die schon an einer App von einer vergleichsweise so geringen Komplexität scheitern.
Das ist alles überaus dubios.
Und wie gesagt: Mir ist das Hasso Plattner-Institut schon einige Male negativ aufgefallen. Es wird immer gerne behauptet, dass die ach so renommiert, angesehen, anerkannt und so weiter wären. Aber auf mich machen die einfach nicht den Eindruck, als ob die da ihr Metier beherrschten und mehr als eine nur politisch vernetzte Schwafelbude sind.
Benutzereingaben syntaktisch zu prüfen ist nun einmal eine Grundaufgabe. Und die haben sie nicht nur nicht erfüllt, sie sehen es anscheinend nicht einmal ein.