- Trotz Kryptoparties: Kaum jemand nutzt PGP
- Acht Ideen für Security by Design
- 1. Hashes statt Klartext
- 2. Nutzername statt E-Mail
- 3. Bei Registrierung auf Leaks prüfen
- 4. Passwort-Generator mitgeliefert
- 5. Kein Single-Sign-On
- 6. Verpflichtende Zwei-Faktor-Authentifizierung
- 7. Vernünftige Sicherheitsabfragen
- 8. Links statt Buttons
- Fazit
Security by Design: Mit durchdachter UX zu mehr Sicherheit
Gefühlt haben wir sie alle schon 1.000 Mal gelesen: Artikel, in denen die wichtigsten Sicherheitstipps im Umgang mit Computern, Internet und Apps aufgelistet sind. „Benutze möglichst lange und komplizierte Passwörter und zwar in jedem Account ein anderes. Klicke nicht auf Anhänge oder Links in E-Mails, die du nicht erwartet hast, selbst wenn du den Absender kennst.“ Obwohl seit Jahren bekannt, scheinen diese Ratschläge wenig zu bewirken. Auch im Jahr 2018 waren die drei beliebtesten Passwörter deutscher Anwender noch immer „123456“, „12345“ und „123456789“.
Unter Entwicklern ist eine Haltung verbreitet, die den Nutzern die alleinige Verantwortung dafür zuschiebt: Selbst schuld, wer ein schwaches Passwort verwendet. Das Problem sitzt halt vor dem Computer. Vielleicht bloggen sie noch den nächsten gut gemeinten Text mit Sicherheitstipps, der dann wieder nur von anderen Entwicklern gelesen wird, die sich für IT-Sicherheit interessieren. An einer großen Zahl von Nutzern, die vielleicht gar keinen Computer mehr hat, sondern nur noch ein Smartphone, und die sich im Alltag mit anderen Dingen beschäftigen muss, gehen solche Tipps vollständig vorbei. Während wohl alle schon mal von ihren Eltern gesagt bekommen haben, dass sie sich warm anziehen sollen, weil es draußen kalt ist, dürfte es Seltenheitswert haben, dass die Eltern fragen, ob das Passwort auch lang genug sei.
Trotz Kryptoparties: Kaum jemand nutzt PGP
Ein Beispiel dafür, was passieren kann, wenn man sämtliche Verantwortung an Nutzer abgibt, ist die E-Mail-Verschlüsselung, die trotz aller Aufklärungsmaßnahmen und Kryptoparties selbst unter IT-Experten eine seltene Ausnahme geblieben ist. Dabei hat ein sehr großer Teil der Menschen, der eine E-Mail-Adresse besitzt, sich angesichts der Snowden-Enthüllungen oder Meldungen über Hacks schon einmal bedroht gefühlt. Die meisten wissen aber schlicht und ergreifend nicht, wo sie anfangen sollen: Wenn sie das Thema googlen, stoßen sie auf zahlreiche Texte, die ihnen etwas von Alice und Bob erzählen und von öffentlichen und privaten Schlüsseln. Für sehr viele Menschen, die sich sonst kaum mit IT auseinandersetzen, ist das zu kompliziert. Natürlich gibt es Hartnäckige, die den Verschlüssler PGP trotzdem herunterladen und auf ihrem Computer installieren. Aber oftmals verstehen sie nur halb, was sie da tun – und fühlen sich im Ergebnis unsicherer als zuvor.
Darauf reagiert ein Großteil der Menschen mit Rückzug: Je nach Mentalität und Lebensumständen werden sie lieber gar nicht mehr mailen, weil ihnen das alles zu unsicher und gefährlich erscheint, oder eben weiterhin unverschlüsselt mailen, weil das ja schließlich auch alle anderen machen, und es deshalb ja alles nicht so schlimm sein kann. Und wenn wir ehrlich mit uns sind, gestehen wir ein, dass nicht nur Gelegenheitsanwender so mit IT-Sicherheit umgehen, sondern auch sehr viele Menschen in der IT-Branche. Obwohl sie es besser wissen sollten.
Stellen wir uns dagegen folgendes Szenario vor: Schon in den 1990er-Jahren hätte Microsoft eine Public-Key-Verschlüsselung in Windows/Outlook implementiert. Sie wäre als Default eingeschaltet gewesen und hätte schon bei der Installation – ungefragt – Schlüssel generiert und auf Keyserver hochgeladen. Jede E-Mail an andere Outlook-Nutzer wäre ohne deren Zutun automatisch verschlüsselt worden. Mit der Einführung dieser Verschlüsselungsmethode, die schlagartig große Teile des weltweiten E-Mail-Traffics betroffen hätte, hätten sich auch die anderen Anbieter dem Druck des Marktes gebeugt und dem System angeschlossen. Heute kommunizierten wir alle standardmäßig über verschlüsselte E-Mails.
Die Utopie zeigt, was möglich wäre, wenn die Branche selbst ihre Verantwortung für die Sicherheit der Nutzer ernst nehmen würde. Es reicht nicht aus, ihnen ständig zu predigen, dass sie sich sicherheitsbewusst verhalten sollten. Unternehmen, die Apps, Webseiten und Services anbieten, müssen erkennen, dass Sicherheit kein Hemmschuh, sondern zentraler Bestandteil von UX-Design ist. Das ist im eigenen Team oftmals schwer durchzusetzen, denn viele Unternehmen wollen zunächst möglichst viele Nutzer gewinnen und unterlassen deshalb alles, was den Nutzern den Zugang erschweren könnte – aus Angst, sie schon bei der Registrierung zu verlieren. Doch angesichts der häufigen Hacks, Leaks und Doxing-Vorfälle, bei denen gezielt persönliche Daten öffentlich gemacht werden, ist es Aufgabe der Systemarchitekten und UX-Designer, ihre Programme so zu gestalten, dass sie Anwender zur sicheren Nutzung verleiten, statt davon abzuhalten. Acht Vorschläge.
Acht Ideen für Security by Design
1. Hashes statt Klartext
Passwörter sollten von Diensteanbietern niemals im Klartext in den eigenen Datenbanken gespeichert werden. Am besten, ein Dienst kennt die Passwörter seiner Nutzer überhaupt nicht, sondern nur Hashes. Zwar ist es theoretisch auch möglich, aus Hashes Passwörter auszurechnen, in der Praxis jedoch so aufwändig, dass allein diese Maßnahme die Sicherheit im Fall eines Leaks der Nutzerdatenbank drastisch erhöht. Diese Sicherheitsregel ist so alt und allgemein bekannt, dass man sich kaum traut, sie überhaupt noch zu erwähnen. Aber leider gibt es regelmäßig neue Fälle, wonach Unternehmen genau dieser Fehler unterlaufen ist. So ist noch im März 2019 bekannt geworden, dass Facebook die Passwörter von mehreren hundert Millionen Nutzern im Klartext in einer Datenbank gespeichert hatte, auf die zahlreiche Facebook-Mitarbeiter Zugriff hatten.
2. Nutzername statt E-Mail
Seit Jahren werden regelmäßig Datensätze mit Millionen von Nutzerdaten geleakt, die die Kombination E-Mail-Adresse und Passwort enthalten. Angreifer machen es sich zunutze, dass viele Anwender dazu neigen, bei vielen verschiedenen Diensten die immer gleiche Kombination zu verwenden. Wer eine solche Kombination aus Passwort und E-Mail-Adresse erbeutet hat, kann sie bei allen möglichen Diensten durchprobieren – und wird in erschreckend vielen Fällen fündig werden. Natürlich können Anbieter nicht verhindern, dass Nutzer bei ihnen dieselbe Kombination aus E-Mail-Adresse und Passwort verwenden wie woanders. Aber sie können das Login so gestalten, dass gar nicht nach einer E-Mail-Adresse gefragt wird, sondern nach einem Nutzernamen. Zwar kann auch dieser zusammen mit dem Passwort in Leaks auftauchen, aber Angreifer hätten mehr Varianten durchzuprobieren. Außerdem neigen Nutzer dazu, auf Dating-Seiten andere Nicknames zu benutzen als in einer Jobbörse oder auf Twitter.
3. Bei Registrierung auf Leaks prüfen
Viele Webseiten erfordern mittlerweile von vornherein ein starkes Passwort mit einer Mindestlänge und einer bestimmten Anzahl an Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen. Oft zeigt dabei eine Art Ampel an, wie sicher das gewählte Passwort ist. Das ist zunächst eine gute Idee, allerdings sind solche Passwörter schwierig zu merken, weshalb Nutzer ohne Passwort-Safe wie Lastpass oder 1password erst recht dazu neigen, überall dasselbe Passwort zu verwenden. An dieser Stelle könnten Anbieter sich die illegalen Passwort-Leaks zunutze machen. Auf Webseiten wie haveibeenpawned.com können Nutzer nachsehen, ob ihre E-Mail-Adresse kompromittiert ist. Was spricht eigentlich dagegen, auch bei der eigenen App in solchen Datenbanken nachzusehen, ob ein Passwort oder ein Hash in einschlägigen Listen vorhanden ist? Falls ja, könnte die App oder Webseite an dieser Stelle eine Meldung ausgeben, dass dieses Passwort schon verwendet wird und den Nutzer auffordern, ein anderes zu wählen. Es ist nicht bekannt, dass ein Anbieter so vorgeht, dabei wäre sogar eine Plattform denkbar, die von einem Unternehmen oder der ganzen Branche in Kooperation ins Netz gestellt wird, um alle Passwörter automatisiert gegen solche Leaks zu prüfen.
4. Passwort-Generator mitgeliefert
Meldungen, dass ein Passwort nicht genutzt werden kann, weil es zu kurz ist oder kein Sonderzeichen enthält, unterbrechen die Nutzer in ihrem Fluss und führen dazu, dass sie dem „123456“ allenfalls noch ein Ausrufezeichen anhängen, um der Regel zu genügen. Sicherheitsbewusste Anwender verwenden hier Passwortgeneratoren, doch die weitaus meisten tun das nicht. Könnte es da nicht eine gute Idee sein, einen Passwortgenerator direkt in das Registrierungsformular zu integrieren und den Anwendern die Wahl zu lassen, ob sie ein eigenes Passwort eintippen oder auf „Passwort erzeugen“ klicken möchten?
5. Kein Single-Sign-On
Besonders verlockend ist es, das ganze Handling von Nutzernamen und Passwörtern an externe Plattformen auszulagern – oftmals solche, die die Anwender bereits nutzen. Deshalb bieten viele Apps und Webseiten die Möglichkeit, sich über den Facebook-, Google- oder Twitteraccount bei einer Seite zu registrieren. Solche Single-Sign-On-Lösungen sind ausgesprochen beliebt, weil sie die Registrierung und damit die Gewinnung neuer Nutzer stark vereinfachen. In der Branche gibt es immer wieder Anläufe, so etwas jenseits von Google oder Facebook auf die Beine zu stellen. Allerdings ist das unter Sicherheitsaspekten sehr problematisch. Ist einem Angreifer einmal der Zugang zu einer Single-Sign-On-Plattform etwa in Form eines Google- oder Facebook-Accounts bekannt, kommt er damit auch in diverse andere Accounts hinein. Ein gängiger Sicherheitstipp für Anwender lautet deshalb, Single-Sign-On grundsätzlich zu meiden. Aus Bequemlichkeit werden viele Anwender genau das jedoch nicht tun. Deshalb sollte man sich als Anbieter eines Services dieser Problematik bewusst sein und Single-Sign-On einfach nicht anbieten. Die Zahl der Nutzer, die sich beim Support meldet, weil ihr Account gehackt wurde, dürfte allein aufgrund dieser Maßnahme ein gutes Stück zurückgehen.
6. Verpflichtende Zwei-Faktor-Authentifizierung
Ein weiterer Sicherheitstipp für Anwender lautet, wo immer möglich Zwei-Faktor-Authentifizierung (2FA) zu verwenden. Zwar haben alle gängigen 2FA-Lösungen ihre Schwachstellen, erhöhen die Sicherheit eines Accounts aber dramatisch. Doch auch 2FA ist lästig, weshalb viele Anwender das von sich aus bleiben lassen. Deshalb sollte ein verantwortungsbewusster Service auf 2FA bestehen. Apple zum Beispiel führt das vor – und macht es trotzdem noch falsch. So wollen iCloud oder iTunes beim Login unter MacOS zwar gelegentlich einen Authentifizierungscode haben, zeigen diesen jedoch auf dem gleichen Gerät an, selbst wenn der Nutzer ein verknüpftes iOS-Gerät besitzt. Dann kann man 2FA auch gleich bleiben lassen.
7. Vernünftige Sicherheitsabfragen
Völlig unbrauchbar sind Sicherheitsfragen nach Lieblingsfarbe, erstem Haustier oder dem Geburtsnamen der Mutter. Solche Angaben sind leicht zu erraten oder zu recherchieren, besonders von Angreifern, die sich im direkten Umfeld ihres Opfers befinden. Das ist bei Doxing-Angriffen, bei denen es beispielsweise darum geht, einen Expartner bloßzustellen, häufig der Fall. Auch Angaben wie das Geburtsdatum sind völlig untauglich. Selbst wenn sie nicht offen auf Facebook stehen, lassen sie sich problemlos herausfinden, indem man einen Facebook-Account auf die Gratulationen von Freunden hin absucht. Solche Daten tauchen auch in geleakten Nutzerdatenbanken auf, etwa weil man festhalten wollte, dass ein Nutzer volljährig ist.
8. Links statt Buttons
Wenn ein Nutzer von seinem Account ausgesperrt ist, kann man sich einen Link zum Neusetzen des Passwortes per E-Mail schicken lassen. Das wird zum Sicherheitsrisiko, sobald ein Angreifer die Zugangsdaten zu eben diesem E-Mail-Account erbeutet hat. Es bietet sich also an, das Zurücksetzen eines Accounts oder Passwortes über andere Wege bereitzustellen. Wo das nicht geht, sollten UX-Designer sich Gedanken über die Gestaltung solcher E-Mails machen. Viele Unternehmen sind der Meinung, HTML-Mails versenden zu müssen, weil die professioneller wirken. Oft enthalten die dann einen großen Button, auf den man klicken soll, um etwas zu bestätigen. Genau das machen sich Angreifer zunutze, die solche Mails fälschen. Auch hier ist ein verbreiteter Tipp, die HTML-Ansicht im eigenen E-Mail-Client abzuschalten, was aber viele Anwender nicht tun. Anbieter gestalten ihre Plattform also sicherer, wenn sie auf grafisch aufbereitete Mails und bunte Bestätigungsbuttons verzichten. Stattdessen sollten sie einfach einen Link in die Mail hineinschreiben, dem ein Nutzer sofort ansehen kann, ob er wirklich auf den Service führt oder vielleicht auf eine Phishing-Seite.
Fazit
Natürlich, so etwas wie völlige Sicherheit gibt es nicht. Das gilt für Apps und Webseiten genauso wie für die eigene Haustür. Jede einzelne der vorgestellten Sicherheitsmaßnahmen ist für sich genommen überwindbar. Aber in Kombination machen sie das Internet ganz erheblich sicherer. Für Unternehmen bedeutet das eine Hürde: Sie haben Angst, dass ihre Nutzer aus Gründen der Bequemlichkeit zu den Konkurrenten abwandern, die die Sicherheit ihrer Nutzer weniger ernst nehmen. Für UX-Designer besteht die Herausforderung darin, solche Sicherheitsfeatures so zu implementieren, dass sie immer noch einfach zu benutzen sind. Langfristig werden die Nutzer es mit Vertrauen in die jeweilige Plattform danken.
„So wollen iCloud oder iTunes beim Login unter MacOS zwar gelegentlich einen Authentifizierungscode haben, zeigen diesen jedoch auf dem gleichen Gerät an, selbst wenn der Nutzer ein verknüpftes iOS-Gerät besitzt. Dann kann man 2FA auch gleich bleiben lassen.“ – Falsch! 2FA ist das eine und vertrauenswürdige Geräte sind das andere (jedenfalls bei Apple). Die beiden haben nichts miteinander zu tun. Bei 2FA melde ich mich bei einem *online-Dienst* an und erhalte einen Sicherheitscode auf *irgend*-ein vertrauenswürdiges Gerät, im Zweifelsfall auch gern auf dasselbe Gerät. Dieses ist per se wegen seiner Seriennummer, die mit meiner Apple-ID verknüpft ist, vertrauenswürdig – mit der online-Anmeldung, die ich gerade vornehme, hat das rein gar nichts zu tun. Sollte das Gerät geklaut, verloren, verkauft oder vermisst sein, ist das ein anderer Fall, dann muss ich es aus der Liste der vertrauenswürdigen Geräte löschen (das funktioniert dank der geheimen Fragen auch auf jedem fremden, nicht vertrauenswürdigen Gerät). Viele Leute haben überhaupt nur ein Gerät, die könnten dann nie eine 2FA-Anmeldung machen, wenn es nach der Logik des Autors geht. Immer dieses gefährliche Halbwissen, tststs …
Guten Abend,
wenn wir schon bei achtens über automatische E-Mails sprechen: warum sind diese ganzen Status- und Sicherheitsmails die über Anmeldungen von neuen Computern, Passwortrücksetzungen, Statuszusammenfassungen etc. nicht wenigstens signiert?
Schöne Grüße
„Sicherer sind Klickanweisungen mit deutlich sichtbarer URL, die dem Nutzer auf einen Blick zeigt, wo es hingeht.“
Das entspricht leider nicht ganz der Wahrheit, die sichtbare URL kann jeder ziemlich einfach verändern. Somit sieht man nicht immer wo genau man „landet“.
Zu 6., Apple mache angeblich bei 2FA alles falsch, „Da kann man 2FA auch gleich bleiben lassen.“:
Wenn Enno Park nicht nachvollziehen kann, warum etwas unerwartet anders funktioniert, dann ist Schweigen Gold und man zeigt nicht, dass man darin überhaupt keine Ahnung hat. Im Gegenteil, Enno Park ist so blöd, Apple wegen dem Unerwartetem als blöd zu bezeichnen, weil er dies nicht verstanden hatte.
Das 2FA bei Apple Geräten ist dafür da, damit die Ende-zu-Ende-Verschlüsselung ermöglicht wird und somit in iCloud ein paar Daten (leider nicht alle) sicherer sind , aber nicht um das Passwort zu schützen, was Enno Park nicht verstanden hatte.
Zudem