Warum schlechte Benutzbarkeit ein Sicherheitsrisiko ist

Täglich werden wir mit unserer eigenen IT-Sicherheit konfrontiert: Wenn wir im Netz surfen, E-Mails öffnen, uns bei Diensten anmelden oder ein nerviges Cookie-Banner bearbeiten. Dabei stehen wir vor vielen Entscheidungen und Abläufen, die Auswirkungen auf unsere Privatsphäre und unsere Sicherheit haben. Diese Entscheidungen fallen uns häufig nicht leicht und so begegnet uns eine sorgfältig durchdachte Benutzeroberfläche die uns in diesem Entscheidungsprozess leiten soll. Mit guter Intention suggeriert uns der Browser dass wir eine Webseite mit ungültigem Sicherheitszertifikat besser nicht besuchen sollten, und macht es uns so mit einem großen farbigen Button leicht zurückzukehren. Möchte man die potentiell unsichere Seite dennoch besuchen, muss man erst etwas suchen bis man herausfindet wie. Und wenn man dies dann tut, verbleibt eine deutliche Warnung oben links neben der Adressleiste, wo uns sonst ein grünes Schloss in Sicherheit wiegt.

Leider werden diese Leitlinien in der Praxis häufig auch missbraucht, wenn der Designer uns zu einer für ihn erstrebenswerten Entscheidung drängen möchte. Man kann diesen Leitlinien also keinesfalls blind vertrauen, stattdessen muss man sie ständig hinterfragen. Bösartige Seiten, die uns Schadsoftware installieren wollen, zeigen deutlich welche Knöpfe man drücken muss um die Installation zu erlauben. Bei Cookie-Bannern ist es verdächtig leicht alle Cookies auf einmal zu akzeptieren. Möchte man dies nicht, braucht es meistens ein paar mehr Klicks. Diese Beispiele geben einen ersten Einblick wie wichtig die Benutzerfreundlichkeit für die praktische Sicherheit einer Anwendung ist.

Sicherheitscodes in WhatsApp

An der TU Braunschweig habe ich unter anderem die Benutzerfreundlichkeit von sicherheitsrelevanten Funktionen erforscht. 2016 führte WhatsApp die lang ersehnte Ende-zu-Ende-Verschlüsselung ein, doch was wahrscheinlich Vielen nicht bekannt ist: um von wirklich abhörsicherer Ende-zu-Ende-Verschlüsselung sprechen zu können, muss man noch einen Sicherheitscode (bestehend aus 12 Blöcken mit je 5 Ziffern) mit jedem seiner Kontakte vergleichen. Tut man dies nicht, hat WhatsApp und möglicherweise andere Akteure das Potential ihre Nachrichten mitzulesen. Sind die Codes identisch, ist die Verbindung Ende-zu-Ende abgesichert. Findet man einen Unterschied, gibt es einen Dritten in der Leitung. Es besteht auch die Möglichkeit einen QR Code zu scannen wenn beide Handys beisammen sind.

In einer Online Studie untersuchten wir die verschiedenen Darstellungen solcher Sicherheitscodes. Dabei mussten die Teilnehmer je zwei Codes vergleichen und Angriffe erkennen (die Codes waren aufgrund des Angriffs an einigen Stellen unterschiedlich). Wir fanden heraus, dass die numerische Darstellung im Vergleich zu der für solche Codes naheliegende hexadezimalen Darstellung signifikant schneller und sicherer verglichen werden (10.4% der Angriffe auf die hexadezimale Darstellung blieben unentdeckt, aber nur 6.3% auf die numerische). Auch die Benutzerfreundlichkeit und Vertrauenswürdigkeit der numerischen Darstellung schnitten in der Befragung beide gut ab. Diese Eigenschaften sind wichtig, um den Vorgang für die Nutzer reibungslos zu gestalten und sie sich nicht scheuen Sicherheitscodes zu vergleichen.

Ein weiterer, noch wichtigerer Aspekt ist das Heranführen des Nutzers an diesen Vorgang. In wenigen verständlichen Sätzen müssen die Notwendigkeit und die Implikationen dieses Sicherheitsvorgangs herausgestellt werden. Hier hat sich WhatsApp dazu entschieden nicht explizit mit dem Nachdruck eines Popups oder ähnlichem darauf hinzuweisen - eine Entscheidung die man durchaus begründen und verstehen kann. Dennoch mit Folgen: denn solch eine Sicherheitsfunktion ist nur effektiv wenn sie auch genutzt wird. Mit wievielen ihrer aktiven Kontakte haben Sie ihre Sicherheitscodes verglichen?

Unbemerktes Abhören von VoIP-Anwendungen

Die Kommunikation solcher Zusammenhänge an den Nutzer untersuchten wir in einem Forschungsprojekt zur Ende-zu-Ende-Verschlüsselung bei VoIP-Anwendungen. Uns interessierten dabei insbesondere Anwendungen die ihre Verbindung mit Hilfe des Protokolls “ZRTP” absicherten. Um eine sichere Verbindung zu gewährleisten, müssen die beiden Teilnehmer - ähnlich wie bei WhatsApp - einen kurzen Sicherheitscode mündlich vergleichen. Aufgrund der Funktionsweise von ZRTP reichen hier allerdings 4 alphanumerische Zeichen. Neben kritischen Schwachstellen auf technischer Ebene fanden wir auch Mängel in den Benutzeroberflächen. Auch für uns als Sicherheitsforscher war es teilweise kaum ersichtlich welchen Grad an Sicherheit wir von der Verbindung erwarten können. Meistens wurde das Telefonat mit einem falschen Hinweis eingeleitet, dass keine sichere Verbindung aufgebaut werden konnte. Kommt es nun zum Abhören der Verbindung, besteht die Gefahr dass dies von den Teilnehmern nicht bemerkt wird - obwohl es genau das ist was auf technischer Ebene verhindert werden kann.

Kryptographie für alle

2012 startete ich die Entwicklung von OpenKeychain, einer Android-App zum Verschlüsseln und Signieren von Texten, E-Mails und Dateien, die mittlerweile über 300.000 mal installiert wurde. Über die Jahre flossen immer wieder Erkenntnisse aus der Forschung mit in die Entwicklung ein. So unterstützt OpenKeychain nun Sicherheitshardware wie Smart Cards und YubiKeys. Die Nutzung solcher Hardware bietet kompromisslose Sicherheit, auf einem Level wie Hacker aus Hollywoodfilmen und Whistleblower es sich wünschen: Angriffe die darauf aus sind den gespeicherten Schlüssel zu exfiltrieren werden vereitelt, selbst wenn das eigene Smartphone kompromittiert worden ist. Die Benutzerfreundlichkeit von Sicherheitshardware überzeugt gleichermaßen: Unsere Studie hat ergeben dass die Nutzung von Sicherheitsschlüsseln nicht nur 50% schneller ist als die Nutzung von Passwörtern, die Nutzer bewerten die Sicherheitsschlüssel auch deutlich besser.

Sicherheitshardware leicht gemacht

Die Implementierung dieser Funktionen in die App gestaltete sich jedoch aufwändiger als zunächst vermutet, was sich auf die Vielzahl der unterschiedlichen Hersteller von Sicherheitshardware zurückführen lässt. Möchte man nun als Entwickler eine breite Palette an Sicherheitshardware unterstützen ist dies mit einem erheblichen Mehraufwand verbunden, was viele Entwickler davon abschreckt. Um dieses Problem zu lösen, entwickelten wir das Hardware Security SDK, welches eine Reihe an Sicherheitsschlüsseln und Smart Cards unterstützt und die Verwendung dieser stark vereinfacht - schließlich wertschätzen auch Entwickler eine benutzerfreundliche und unkomplizierte Softwarebibliothek. Mit unserem SDK möchten wir Sicherheitshardware den Einzug in die mobile Welt ermöglichen. Prominente Beispiele sind neben OpenKeychain die Open Source Cloudlösung Nextcloud, sowie der sicherheitsorientierte Instant Messenger Tungsten.

Fazit

Die IT-Sicherheit ist seit langer Zeit ein aktives Forschungsgebiet, aus dem bereits viele Erkenntnisse und neue Ansätze veröffentlicht worden sind. Wir bei COTECH sind davon überzeugt, dass einige dieser Ansätze aus der Forschung bereit sind Einzug in unser alltägliches Leben. Grundvoraussetzung ist neben der soliden technischen Umsetzung gleichermaßen die Benutzerfreundlichkeit. Denn wir Nutzer sind diejenigen, die durch unseren verantwortungsbewussten Umgang mit den Technologien unser digitales Leben erst sicher machen.

Avatar
Dr. Dominik Schürmann
Sicherheitsexperte

In meinen Forschungsarbeiten an der Technischen Universität Braunschweig habe ich mich zum einen mit den kryptografischen Algorithmen beschäftigt, die bei Sicherheitsschlüsseln eingesetzt werden. Zum anderen habe ich dabei die Usability der Verfahren nicht aus dem Blick verloren und groß angelegte Nutzerstudien durchgeführt.