Security vs. Usability: Ein Widerspruch?
In diesem Gastbeitrag erklärt Marta von Qubes OS, warum Security und Usability gerade kein Widerspruch, sondern das eine ohne das andere unmöglich ist.
Dieser Text ist aus dem Englischen übersetzt worden. Das Original findet ihr hier.
Es ist eine in der IT-Welt allgemein anerkannte Wahrheit, dass jedes sichere Computerprogramm in eine von zwei Kategorien fällt: Entweder es ist verwirrend und komplex oder extrem simplifiziert und kann keine ernstzunehmenden Aufgaben erledigen (und wahrscheinlich eigentlich doch unsicher). Usability ist eben schwierig – und schlimmer noch, sie wird oft als nachteilig für die Security und als aktiv herabsetzend und nachteilig für die Benutzer*innen angesehen. Es gibt ein „echtes“ Linux, und es gibt bestenfalls unangenehme und schlimmstenfalls geradezu diskriminierende Witze darüber, dass „Ubuntu“ „Ich weiß nicht, wie man Debian installiert“ bedeuten würde. Wer nicht in der Lage ist, OpenPGP zu konfigurieren und zu verwenden, hat keine verschlüsselten E-Mails verdient, und warum sollten nicht einfach alle ihre eigene Nextcloud-Instanz einrichten, anstatt die Cloud-Dienste von Google zu nutzen? Das ist keine hilfreiche Einstellung. Die Verbesserung der Usability von Open-Source-Software wird sie für alle sicherer machen (ja, sogar für die Nerds).
Ich arbeite nun schon seit ein paar Jahren an Qubes OS (wann immer es mir eine Förderung gestattete). Als ich begann war diese Einstellung sowohl in unserer Community als auch in der breiteren Hacker-/Sicherheits-/Open-Source-Community ziemlich weit verbreitet. Qubes OS ist ein auf Security orientiertes Betriebssystem – heruntergebrochen ist die Idee dahinter: „Was wäre, wenn wir verschiedene Teile des Systems mit Hilfe von virtuellen Maschinen isolieren würden“. Es gibt eine separate virtuelle Maschine, die als Firewall dient, und eine, in der USB-Controller untergebracht sind, damit sie kein Chaos im restlichen System anrichten können. Man kann eine virtuelle Maschine mit Offline-Passwortschutz einrichten und eine weitere, die sich nach dem Schließen selbst löscht (so wie der private Surfmodus, aber besser), und da die USB-Geräte von allem anderen isoliert sind, können User*innen sogar gefahrlos überprüfen, was sich auf dem einen seltsamen USB-Stick befindet, den sie auf einem Parkplatz gefunden haben. Das alles ist eine ziemlich brillante (zumindest finde ich das), aber keine einfache Idee. Wann immer ich den Vorschlag vorbrachte, Qubes OS benutzerfreundlicher zu machen, stieß ich auf Widerstand. Fortgeschrittene Benutzer*innen, Hacker*innen, IT-Sicherheitsexpert*innen – sie hatten Angst, dass ein benutzbares System für sie nicht mehr benutzbar sein würde. Benutzerfreundlich bedeutete in ihren Augen, dass wichtige, alltägliche Funktionen hinter zehn Dutzend Klicks und einem herablassenden Assistenten versteckt wären. Benutzerfreundlich bedeutete große Symbole, die wenig Platz für das ließen, was sie eigentlich tun wollten. Benutzerfreundlich war geradezu abwertend.
Es gibt eine Standardantwort auf diese Befürchtungen:
„Aber wir müssen die Dinge benutzbar machen (d. h. einfach und hübsch), denn sonst wird sie niemand benutzen und dann wird Open-Source-Software aussterben! Hört auf, euch zu beschweren, Hacker*innen! Ihr werdet immer mit eurem Terminal, euren Bash-Skripten und eilig eingefügten, selbstgemachten Patches zurechtkommen. Euer Input ist nicht wichtig in dieser Debatte!“
Das ist jedoch kein hilfreicher Ansatz, diese Debatte zu führen. Außerdem ist Usability für alle wichtig – für Expert*innen und normale Benutz*innen gleichermaßen. Ja, fortgeschrittene Benutzer*innen, die ein bestimmtes Programm oder Betriebssystem sehr intensiv nutzen, können mit vielen Unannehmlichkeiten umgehen, die Anfänger*innen oder weniger engagierte Benutzer*innen abschrecken würden, aber das bedeutet nicht, dass eine schlechte Usability keine Folgen für sie hat. Ich vergleiche das gerne mit einem Schlagloch: Können vorsichtige und kompetente Fahrer*innen ein Schlagloch umfahren? Normalerweise ja. Das heißt aber nicht, dass es schlecht ist, Schlaglöcher zu reparieren, oder dass selbst vorsichtige und kompetente Fahrer*innen niemals ihr Auto beschädigen oder zumindest sich und ihre Mitfahrer*innen durch ein Schlagloch herumschubsen.
Denn – und hier verrate ich euch ein kleines Geheimnis – auch Expert*innen sind Menschen. Ein*e sehr gute* Computernutzer*in zu sein, bedeutet nicht, dass man frei von verschiedenen kognitiven Verzerrungen und Schwächen ist – und selbst Expert*innen und Hacker*innen können müde, krank oder verunsichert sein. Alle Menschen machen Fehler. Eine sichere Lösung, die von der Benutzer*in Perfektion verlangt, ist in Wahrheit ziemlich unsicher. Benutzer*innen werden hin und wieder Fehler machen, und es ist nicht die Aufgabe der Software, als strenge Eltern zu agieren, die sie für Momente der Unachtsamkeit bestrafen und IT-Sicherheit als Belohnung nur an die gehorsamsten Kinder ausschütten. Alle haben das Recht auf eine sichere und private Computernutzung und es geht nicht darum, dass man es sich durch genügend Arbeit verdient hat. Bei der Usability geht es nicht nur darum, die Dinge hübsch und einfach zu machen – es geht auch, und ich würde sagen vor allem, darum, die Benutzer*innen vor ihren eigenen Fehlern zu bewahren und die gute (sichere und effektive) Art der Nutzung unserer Programme zu derjenigen zu machen, die auch die bequemste und angenehmste ist.
Bei Usabilty geht es auch nicht darum, die Dinge so zu vereinfachen, dass sie unbrauchbar werden. Die Open-Source-Community braucht komplexe, konfigurierbare Tools, mit denen die Benutzer*innen alles und noch mehr machen können – aber wenn die Verwendung dieser Tools immer umständlich und zeitaufwendig ist, werden sie nie breit angenommen werden, auch nicht von Expert*innen, selbst dann, wenn sie Security und Datenschutz auf einem unvergleichlichen Niveau bieten. Wenn der einfachste und schnellste Weg, ein Foto vom Smartphone (der heutzutage am meisten genutzten Fotokamera) auf den PC zu übertragen, darin besteht, es über Facebook an jemanden zu senden oder Google Storage zu nutzen, werden viele Menschen, selbst sicherheits- und datenschutzbewusste Menschen, zumindest manchmal diese Lösungen wählen. Ja, Tools für Benutzer*innen, die über mehr einschlägige Kenntnisse verfügen und kompliziertere Dinge tun wollen, müssen konfigurierbar und flexibel sein, aber das bedeutet nicht, dass sie mühsam zu bedienen sein müssen.
Das Projekt, an dem ich derzeit im Rahmen des Prototype Fund arbeite, steht in engem Zusammenhang mit diesen Anliegen. Ich möchte die Art und Weise, wie die Geräteverwaltung in Qubes OS dargestellt wird, verbessern. Auf den ersten Blick hört sich das nicht nach einem großen Problem an – Geräte? Sie laufen einfach im Hintergrund, richtig? Mit Ausnahme von Druckern, aber die mag sowieso niemand. So einfach ist es in Qubes OS nicht. Die Benutzer*innen wählen selbst aus, welche Geräte von welcher virtuellen Maschine angesprochen werden können. Das ist ein sehr mächtiges Sicherheitswerkzeug – aber auch ein sehr verworrenes UX-Problem. Das „schlechte UX ist schlechte Security“-Problem kommt wieder zum Vorschein. Der einfachste Weg, verschiedene USB-Geräte in Qubes OS zu verwenden, ist die Verwendung innerhalb der dedizierten virtuellen USB-Maschine – schließlich sind sie dort bereits vorhanden. Aber das bedeutet, dass die Benutzer*in dazu verleitet wird, immer mehr Dinge innerhalb dieser virtuellen Maschine zu tun, sogar potenziell gefährliche Dinge, wie das Öffnen von Dateien von unbekannten USB-Sticks oder das Zugreifen auf Social-Media-Accounts. Der ganze Sinn von Qubes OS – die Isolierung verschiedener Aktivitäten in separaten virtuellen Maschinen – wird dadurch hinfällig. Mein Ziel – die sichere Nutzung von Geräten so schmerzlos wie möglich zu machen – ist also nicht nur etwas, das den Benutzer\*innen ein gutes Gefühl gibt, sondern ihnen auch Security verschafft. Denn je geringer die Kosten für die korrekte Ausführung der Dinge sind, desto eher werden die Leute es auch korrekt tun. Ja, ich würde die Benutzeroberfläche im Zusammenhang mit dem Gerätemanagement gerne verschönern – auch weil es einfacher ist, Dinge zu lesen, wenn sie hübscher aussehen (dazu gibt es psychologische Untersuchungen). Aber das Ziel dieser Änderungen an der Usability ist letztendlich die Security. Die besten Sicherheitsfunktionen sind nutzlos, wenn sie nicht genutzt werden. Qubes OS bietet mehr Security als die meisten anderen Betriebssysteme – aber wenn es aufgrund von Verwirrung, schlechten Interface-Entscheidungen oder sogar Faulheit der Benutzer*innen kaum genutzt wird, wird der Sicherheitsnutzen deutlich verringert.
Ich verbringe viel Zeit damit, mit Nutzer*innen zu arbeiten: Ich schaue mir an, wie sie Qubes OS verwenden, frage, was sie stört und was sie verbessern würden. Eine der Fragen, die ich während dieses Projekts gestellt habe, betrifft die Fehler, die Benutzer*innen bei der Handhabung von Geräten machen – Probleme wie „Ups, ich habe den verdächtigen USB-Stick der falschen virtuellen Maschine zugewiesen“ oder „Ich wollte das Gerät von der virtuellen Maschine trennen, aber stattdessen habe ich es an eine andere angeschlossen“. Das Ziel meines Projekts ist es, die Benutzeroberfläche so umzugestalten, dass diese Fehler seltener auftreten. Mehr visueller Abstand zwischen den verschiedenen UX-Optionen, mehr Konfigurierbarkeit – all diese Dinge können die Risiken verringern. Natürlich können und sollen wir die Menschen nicht vor allen Fehlern schützen – aber Programme sollten es ihnen schwerer machen, Fehler zu machen, nicht einfacher. Wer eine Kettensäge kauft, bekommt sie mit einer Reihe von Sicherheitsmerkmalen, von Handschutzvorrichtungen bis hin zu Bremsen. Meiner Meinung nach sollten Computerprogramme, die die wichtigsten Bereiche unseres Lebens berühren (wie Betriebssysteme und Browser) nicht weniger sicher zu bedienen sein als eine Kettensäge.
Open-Source-Software wird oft als Synonym für schlechte Usability angesehen. Dieser Ruf ist zum Teil ein unverdientes Überbleibsel vergangener Zeiten, zum Teil die Schuld von Finanzierungs- und Personalmangel (Benutzer*innenforschung braucht Zeit und erfordert Leute, die gut mit Menschen reden können – nicht gerade die Kernkompetenz von Softwareentwicklungsteams) – aber auch zum Teil eine Folge der tief verwurzelten Vorurteile, die ich oben erörtert habe. Wir haben Angst davor, unsere Software zu verdummen, sie in eine geführte MacOS-Erfahrung zu verwandeln, mit der man nur eine begrenzte Anzahl von Dingen tun kann, und getrieben von dieser Befürchtung entscheiden wir oft, dass die Usability die Zeit nicht wert ist. Schließlich kommen die Expert*innen schon zurecht und die anderen sollten einfach lernen, wie man es besser macht. Aber wir sind alle Menschen und machen alle Fehler. Eine gute Usability kann uns helfen, diese Fehler zu vermeiden. Das ist auch keine Zeitverschwendung, sondern entscheidend für den Erfolg von Open Source – machen wir uns an die Arbeit!
Marta Marczykowska-Górecka ist eine Software-Entwicklerin und UX-Designerin aus Berlin. Nach einem Abschluss in Psychologie und einigen interessanten Jobs hat sie ihr Zuhause in der Open-Source-Community gefunden und arbeitet seit 2017 an Qubes OS.