Dies ist ein Beitrag aus unserer Rubrik kleinergast, in der wir alle Gastartikel veröffentlichen. Dieses Mal kommt er von Jan.

Jan Lehnardt ist Softwareentwickler und Unternehmer in Berlin und arbeitet daran, mit seinen Open Source Projekten Hoodie und CouchDB, das Leben anderer Softwareentwickler_innen einfacher zu machen. Er ist Mitkurator der Fachkonferenz JSConf EU, die jedes Jahr in Berlin stattfindet und er vertritt und verbreitet die Meinung, dass Programmierer_innen in ihrer privilegierten Stellung in der Gesellschaft eine moralische Pflicht haben, ihr Können zum Allgemeinwohl zu nutzen.

Blog von Jan • @janl • GitHub

—

Der Gallierhäuptling Majestix fürchtet nichts mehr, als dass ihm der Himmel auf den Kopf fallen könnte. In Anbetracht der größten Militärmaschine aller Zeiten, die vor seiner Haustür Radau macht, ist das ganz schön erstaunlich. Aber Majestix weiß natürlich um seine Wunderwaffe, die es ihm und dem kleinen gallischen Dorf ermöglicht, die Römer in Schach zu halten: der Zaubertrank des Druiden Miraculix.

Dieser Zaubertrank, von dem wir lediglich die Misteln als Zutat kennen, verleiht jeder Person, die ihn trinkt, für kurze Zeit übernatürliche Kräfte – außer Obelix, der einmal als Kind reingefallen und seitdem immer bärinnenstark ist. Besagte Kräfte reichen jedoch sogar aus, einem ganzen Römischen Reich zu trotzen.

Vom gallischen Dorf ins Internet

Sicherheit im Internet funktioniert ganz ähnlich: eigentlich ist die Lage, sich gegen Identitätsdieb_innen, digitale Bankräuber_innen und sonstige Widersacher_innen zu wehren, aussichtslos. Nur ein kleines unbeugsames Protokoll namens TLS (manchmal auch SSL genannt) leistet den Eindringlingen tapfer Widerstand.

Seit dem 7. April wissen wir jedoch, dass dieser Sicherheitszaubertrank des Internets nicht hält, was er verspricht und die Konsequenzen sind weit verheerender als die Unterwerfung eines kleinen gallischen Dorfes. Der Himmel ist uns nun sprichwörtlich auf den Kopf gefallen – und das Ganze hat den symbolischen Spitznamen „Heartbleed“ bekommen.

Anders als der Zaubertrank hat TLS aber nicht nur eine, sondern gleich drei Spezialfähigkeiten:

1. Wenn ein Browser oder eine App sich mit einem Server verbindet, stellt TLS sicher, dass die Daten, die dort hin- und hergeschickt werden, von keiner dritten Person mitgelesen werden können.

Das bedeutet zum Beispiel, wenn ihr per Online-Banking euren Kontostand abfragt, dass am Ende nur eure Bank und ihr wisst, wie viel Geld ihr auf eurem Konto habt.

2. Wenn ihr euch mit einem Benutzer_innennamen und einem Passwort irgendwo anmeldet, stellt TLS sicher, dass keine dritte Person diese mitlesen kann.

Das bedeutet z.B., dass sich niemand später bei eurem Online-Banking anmelden kann, um Geld zu überweisen – oder welches abzuheben. Um im Bild des Zaubertranks zu bleiben: TLS kann nicht von Römern getrunken werden.

3. Um Punkt 1 und 2 umzusetzen, benutzt TLS ein Verfahren, dass in der Fachwelt „Public-Key Encryption“ genannt wird. Vielleicht habt ihr davon im Zusammenhang mit den Snowden-Leaks schonmal davon gehört. Ohne zu sehr ins Detail zu gehen: zu diesem Verfahren gehören zwei Schlüssel – ein öffentlicher und ein privater. Und wie ihr sicher schon vermutet, muss der private Schlüssel außerordentlich geheim gehalten werden. Andernfalls könnte eine dritte Person euch gegenüber so tun, als sei sie eure Bank, und könnte damit dann ganz viele unangenehme Sachen anstellen.

Zurück bei Asterix, Majestix & Co.: Das Rezept für den Zaubertrank wird nur von Druide zu Druide weitergegeben. Die Römer könnten nun ein Zaubertrankimitat herstellen und das alleine würde dazu führen, dass die Gallier_innen sich nicht mehr wehren könnten. Und die Druiden bekommen davon nicht mal etwas mit.

Das Softwarepaket, dass etwa zwei Drittel aller TLS Verbindungen ausführt, heißt OpenSSL.

Auf einer Skala von 1 bis 10:

Heartbleed liegt bei 11

Seit dem 7. April 2014 ist nun bekannt, dass OpenSSL bereits seit dem 14. April 2012 (also seit fast zwei Jahren) die Sicherheitslücke Heartbleed enthielt. Diese erlaubt es Angreifer_innen alle drei Spezialfähigkeiten (Datensicherheit, Zugangsdatensicherheit, und Systemzugangssicherheit) von TLS zu umgehen. Zu allem Übel werden dabei so gut wie keine Spuren hinterlassen, so dass nicht mit Sicherheit gesagt werden kann, wann und wo Angriffe passiert sind. Es muss davon ausgegangen werden, dass bei zwei Dritteln aller Webseiten und sonstigen Diensten Angriffe vorgenommen worden sind und sowohl Nutzer_innendaten, Geschäftsdaten, Passwörter und sonstige Zugangsdaten als auch private Schlüssel abhanden gekommen sind.

Bei Asterix würde das jetzt alles schon ziemlich unrealistisch aussehen: Alle Gallier_innen könnten auch römische Spion_innen sein, die ihr eigenes Zaubertrankimitat, oder eben den echten Zaubertrank benutzen und Majestix und die Druiden wüssten nicht mehr wer zu wem gehört.

Wir sind alle betroffen

Betroffen sind Webseiten, VPN-Dienste, E-Mail-Provider (IMAP/SMTP), Chat-Services (WhatsApp, Snapchat, Jabber usw.), mobile Apps und auch sonst so ziemlich alles, was in unserem Alltag vorkommt.

Wir sind also alle von Heartbleed betroffen. Alle Passwörter, privaten oder geschäftlichen Daten können sich jetzt in fremden Händen befinden, die damit alles anstellen können: von Vandale (z.B. alle Facebook-Fotos löschen, in eurem Namen twittern oder euer tumblr verunstalten) über Industriespionage, dem Ergaunern von Geldern über PayPal oder Waren über Amazon, Kreditkartenzahlungen, bis hin zu Identitätsbetrug.

Die Situation ist ernst. Sicherheitsexpert_innen ist keine andere Sicherheitslücke von auch nur ähnlichen Ausmaßen bekannt. Der international anerkannte Sicherheitsexperte Bruce Schneier stuft Heartbleed auf einer Skala von 1 bis 10 bei 11 ein.

Und als wenn das nicht genug wäre, stellt sich nun heraus, dass die Lösung nicht so einfach ist und dass möglicherweise noch Jahre ins Netz gehen, bevor unsere Daten wieder sicher sind.

Glücklicherweise ist der Softwarefehler in OpenSSL schon behoben worden und viele Firmen sind seit dem 7. April hektisch dabei, ihre Systeme auf den neuesten Stand zu bringen.

Alles muss erneuert werden

Leider ist das nur der erste Schritt. Ihr erinnert euch noch an die dritte Spezialfähigkeit von TLS, dass niemand so tun kann, als wären sie eure Bank?

Für den Verlust eines privaten Schlüssels ist eine Prozedur vorgesehen, die auf umständliche Art und Weise, die bestehenden Schlüssel unbrauchbar macht und neue erstellt. Leider ist dieses Verfahren nicht dafür ausgelegt, das zwei Drittel des Internets plötzlich ihre privaten Schlüssel verliert, und so dauert es nun, bis alle Zertifikate auf den neuesten Stand gebracht werden.

Und selbst dann sind wir noch nicht durch mit dem Thema Heartbleed. Weil potentiell alle unsere Passwörter bekannt sind, müssen wir nun für jeden Dienst, den wir im Internet nutzen unser Passwort ändern, und zwar erst dann, wenn wir von dem Dienst wissen, dass sie mit allen neuen Sicherheitsmaßnahmen durch sind. Solange sich z.B. Twitter nicht dazu äußert, dass sie alle Maßnahmen ergriffen haben, bringt eine Passwortänderung leider noch nichts.

Als gutes Beispiel möchte ich hier die Berliner Firma 6Wunderkinder hervorheben, die für ihre App Wunderlist ihren To-do-Listen-Synchronisationsdienst außer Betrieb genommen hat, bis alle Probleme behoben waren.

Die Webseite Mashable hat begonnen eine gute Liste zusammenzustellen, anhand derer wir unsere Passwörter ändern können.

Das hat nun aber auch bis zum 10. April gedauert und in der Zwischenzeit gab es zwar sehr ehrenvolle, aber für Normalverbraucher_innen wenig übersichtliche Angebote der Software-Community.

Hinzukommt, dass die Gesetzeslage es in vielen Ländern verbietet, die Server-Infrastruktur von anderen (wie zum Beispiel eurer Bank) nach Sicherheitslücken abzuklopfen. Hierzulande ist das als Hackerparagraph (§ 202c StGB) seit 2007 gesetzlich geregelt. In anderen Ländern sieht es sehr ähnlich aus. Schon damals hat die Sicherheits-Community schwere Kritik an den Formulierungen der entsprechenden Paragraphen geübt. Denn jetzt zeigt sich: Büger_innen wird es damit unter Strafe verboten, zu untersuchen, ob ein von ihnen genutzter Dienst überhaupt gängigen Sicherheitsstandards genügt. Trotzdem gibt es einfache Tools, mit denen man einen Test schnell ausführen kann. Aber selbst diese, sind nicht unproblematisch.

Was muss ich tun?

Trotz der ausweglos erscheinenden Lage lege ich euch nun ans Herz (haha!), für sämtliche Dienste, von Facebook über Twitter und Gmail bis hin zu eurer Bank, bei der ihr Online-Banking nutzt, zu schauen, ob sie bereits Entwarnung gegeben haben und dann dort umgehend eure Passwörter zu ändern.

Bei Diensten, die sich nicht äußern: schließt eure Accounts oder nervt deren Support so lange, bis sie Bescheid geben.

Solltet ihr jemals „Mit Facebook einloggen“ oder „Mit Twitter einloggen“ (das Verfahren nennt sich „OAuth“) auf einer anderen Seite genutzt haben (zum Beispiel, um euch bei Diensten wie Instagram oder Spotify anzumelden), solltet ihr diese Erlaubnisse widerrufen. Bei Twitter geht das unter https://twitter.com/settings/applications. Wie es bei Facebook geht, wird unter diesem Link erklärt. Wenn eindeutig klar ist, dass diese Dienste nun auch wieder sicher sind, könnt Ihr euch erneut damit anmelden.

An dieser Stelle ist es auch noch mal sinnvoll, auf Passwortmanager wie 1Password und LastPass hinzuweisen, die es einfacher machen, für viele verschiedene Dienste unterschiedliche und sichere Passwörter zu vergeben und zu verwalten. Glücklicherweise sind diese Dienste nicht von dem Problem betroffen.

Technologie wird uns alle retten…

wird sie doch… oder?

So weit so furchtbar. Aber ein paar Fragen bleiben noch offen.

Der verantwortungsvolle Umgang mit Sicherheitslücken

Unter Sicherheitsexpert_innen gibt es einen Verhaltenskodex, der bei Sicherheitsproblemen von schon viel kleineren Ausmaßen vorsieht, dass betroffene Softwarepakete, Betriebsystemhersteller und Dienste vor Veröffentlichung der Sicherheitslücke benachrichtigt werden, um sicherzustellen, dass zur Veröffentlichung schon alle wichtigen Dienste gesichert sein können.

Dieses Verfahren nennt sich „Responsible Disclosure“ (also die „verantwortungsvolle Veröffentlichung“) und ist dieses Mal leider nicht zum Tragen gekommen. Der Verhaltenskodex ist ohnehin nur freiwillig und auch unter gutmeinenden Expert_innen ist die verantwortliche Veröffentlichung umstritten. In der Theorie wird damit sichergestellt, dass Gelegenheitsdiebe keine Chance bekommen, das Problem auszunutzen. In der Praxis führt es jedoch häufig dazu, dass besonders Firmen mit Produkten, deren Quelltext nicht öffentlich zugänglich ist (keine Open Source-basierten Firmen), sich kaum bemühen, Fehler zu beheben.

Im Fall von Heartbleed ist nicht ganz klar, wie der Hase gelaufen ist. Die Seite heartbleed.com berichtet, dass Ihre Autor_innen sowie Mitglieder des Sicherheitsteams des Chrome Browsers von Google zur etwa selben Zeit auf das Problem aufmerksam geworden seien. heartbleed.com behauptet nun, dort sei alles für eine verantwortliche Veröffentlichung vorbereitet worden, während eine dritte Person die Informationen vorab veröffentlicht habe. Betrachtet man die Tragweite von Heartbleed kann man auch argumentieren, dass es besser gewesen sein könnte, alle Betroffenen gleichzeitig ins kalte Wasser zu werfen, um eine weitreichende Reaktion zu erzwingen. Zumindest ist dies nun gelungen, ob beabsichtigt oder nicht.

Des Weiteren ist die Seite heartbleed.com eine Kuriosität. In der Regel bekommen Sicherheitsprobleme kein Logo, geschweige denn eine dedizierte Webseite mit ausführlichen, oder allgemein verständlichen Erklärungen (Patrick McKenzie erklärt, was Heartbleed im Marketing alles richtig gemacht hat, und wie sich die Open-Source-Gemeinde eine Scheibe davon abschneiden kann).

Die Wirkung sowie die Inhalte der Seite sind nicht zu kritisieren, im Gegenteil: sie helfen enorm, dem Problem das nötige Gewicht zu verleihen. Jedoch behaupten böse Zungen, dass dies alles nur Teil eines längeren Marketingplans sei, um der Firma hinter heartbleed.com mehr Bekanntheit zu verschaffen. Auch das hat sicher funktioniert. Die Wahrheit werden wir womöglich nie genau erfahren.

Verschlüsselt doch!

Im Zuge des Geheimdienstskandals der letzten etwa 10 Monate, kam immer wieder ein bestimmtes Argument auf. Besonders von technikaffinen Gruppen kam die Aussage, dass wir zur Bekämpfung der Massenüberwachung schon die richtige Technologien besäßen, dass sie derzeit nur noch nicht von „normalen“ Endnutzer_innen genutzt werden könnten. Dem gegenüber steht das Argument, dass die bestehenden Werkzeuge auch gar nicht für einen Massenmarkt ausgelegt sind. Dies soll an dieser Stelle aber mal nur zweitrangig sein, denn die selben technikaffinen Gruppen lassen nun im Kontext von Heartbleed verlauten, dass man Computern sowieso nicht vertrauen könne. Ich kommentiere diese Haltung mal mit Captain Picard:

Geheimdienste

Aber bleiben wir mal bei den Geheimdiensten. Ein maßgebliches Mittel, mit der die verschiedenen Überwachungsprogramme ermöglicht worden sind, ist die strukturelle Infiltrierung von Sicherheitssoftware und Sicherheitsstandards. Das Ziel der Geheimdienste dabei ist, eine Hintertür in der Öffentlichkeit zu platzieren, ohne dass die Öffentlichkeit es merkt.

Ob Heartbleed ein gezielter Angriff eines Geheimdienstes ist, kann noch nicht gesagt wrden (ich persönlich bin da eher skeptisch), aber es zeigt eine ultimative Schwäche dieser Strategie auf: Sicherheitslücken, die aus Versehen oder mit Absicht in der Öffentlichkeit platziert werden, können von allen Parteien, die sie erschnüffeln, ausgenutzt werden – nicht nur von denen, die sie für vermeintlich gute Zwecke nutzen wollen.

Bisher hat nur Australien sich zum Thema geäußert. Alle anderen Staaten verhalten sich noch auffällig ruhig.

Kryptographiekultur

Unter Softwareentwickler_innen gilt in Bezug auf die Programmierung von sicherheitsrelevanter Software ein striktes Motto: „Don’t“ („Mach’s nicht“), das seit mindestens 15 Jahren, wenn nicht gar schon länger, verbreitet wird. Die Idee ist relativ simpel: es ist sehr schwer, kryptographisch korrekt (also mathematisch und technisch korrekt) zu programmieren. Deswegen sollte das nur Expert_innen überlassen werden. Das erhoffte Ergebnis: weniger Software, die Fehler in der Programmierung enthält, die die vermeintlichen kryptographischen Eigenschaften ausser Gefecht setzen.

Ein unglücklicher Nebeneffekt dieser Kultur ist jedoch, dass Programmierer_innen davon häufig abgehalten werden, sich konkret mit Kryptographie auseinanderzusetzen. Aus diesem Grund haben wir heutzutage einen enormen Fachkäftemangel in diesem Bereich. Dieser führt wiederum dazu, dass sicherheitsrelevante Software nun doch nicht von Kryptografieexpert_innen programmiert wird, weil sie einfach zu rar sind und stattdessen Nicht-Expert_innen diese Arbeit übernehmen müssen.

Die Softwareentwicklung muss endlich das Stigma des „Don’t“ für Kryptographie loswerden und endlich wieder mehr Programmierer_innen ausbilden, die sich mit diesem Thema auskennen.

Quo Vadis? – Wie geht es weiter?

Wie kann es sein, dass solch ein wichtiger Softwarebestandteil wie OpenSSL einen so schwerwiegenden Fehler enthält? Nun, das Team um OpenSSL ist relativ klein („Zwei Leute und ein Hund“ scherzte Matthew Green, Professor im Bereich Kryptographie an der Johns Hopkins Universität in Baltimore, auf Twitter) und nicht ausreichend finanziert. In Anbetracht dessen, dass zwei Drittel aller Internetdienste auf OpenSSL basieren, darunter die Dienste von Multi-Milliarden-Konzernen, wirft das ein äußerst schlechtes Licht – ganz besonders auf diese Firmen und deren Vorausplanung ihrer Sicherheitskonzepte.

Das Firmen hier auf Open Source Software gesetzt haben ist grundsätzlich eine gute Sache, denn offener Quelltext ist in der Regel weniger fehlerbehaftet als geschlossener Quelltext. Nur lässt sich auch hier nicht ausschließen, dass es zu Problemen bekommt. Leider tragen Firmen, die sich so zentral auf Open Source Software verlassen, oft nicht oder nur sehr gering zur Entwicklung oder Wartung derselben bei. Das sollte sich ändern.

Was nun zu tun ist, sind zwei Dinge: Zum einen muss OpenSSL besser finanziell unterstützen und zum anderen muss sichergestellt wreden, dass die Software, die OpenSSL einsetzt, auch kompatibel zu Alternativen TLS-Implementierungen gemacht wird. Beides ist ziemlich aufwändig, aber es gibt keinen anderen Weg.

Des Weiteren ist das Modell der Zertifikatvergabe über die beschriebenen Certificate Authorities schon lange umstritten. Es handelt sich hier zum größten Teil um Firmen mit teilweise eher schmierigen Geschäftspraktiken, die für die fundamentale Betriebssicherheit des gesamten Internets verantwortlich sind. Einige Expert_innen fordern jetzt noch lauter nach geeigneten Alternativen, die z.B. mit einem gemeinnützigen Geschäftsmodell arbeiten.

Ändert eure Passwörter

Wie Majestix sagen würde: Es ist noch nicht aller Tage Abend.

Es ist zwar sehr wahrscheinlich, dass unter den Milliarden von Transaktionen, die durch Heartbleed in den letzten zwei Jahren mit fehlender Sicherheit durchgeführt worden sind, eine Vielzahl von Daten ausgebeutet werden konnte und wird. Dennoch ist es eher unwahrscheinlich, dass die Daten, Passwörter, Betriebsgeheimnisse und privaten Nachrichten von uns allen zum freien Zugriff zur Verfügung stehen.

Daher wird, trotz der Bemühungen vieler Expert_innen, leider auch dieses Sicherheitsproblem, wie alle vorherigen auch schon, an der Masse der Betroffenen unbemerkt vorbeiziehen.

Das heißt jedoch nicht, dass wir es uns wie üblich auf der „Sicherheitsprobleme betreffen immer nur die Anderen“-Couch gemütlich machen sollten.

Ändert eure Passwörter, haltet euch zu Heartbleed auf dem Laufenden,informiert andere darüber und überwacht etwas genauer, was mit eurem Bankkonto und euren Kreditkartenabrechnungen in der nächsten Zeit passiert.

—

Weitere Info-Texte zu Heartbleed

• Netzpolitik.org: „Drei Tage HeartBleed, was tun?“

• Facebook-Post von Mspro zum Thema

• Liste zur Passwortänderung von Mashable

• XKCD: Heartbleed und Heartbleed Explanation

• The New Yorker: „The internet’s telltale heartbleed“