Die Sicherheitsfalle KWallet

Ich empfinde Passwortmanager als eine gute Alternative zu den normalen PostIt-Zetteln, den Ich-Nutze-Überall-Ein-Passwort-Regeln und vor allem der Aktion immer wieder eine Datei mit GPG zu ver- und entschlüsseln. Ein Passwortmanager sollte eine Erleichterung im Alltag sein und den Anwender unterstützen und vor allem schützen.

Vorgeschichte

Unter Debian nutze ich meine eigene selbstgebaute Umgebung. Ich fühle mich dort sehr wohl, aber im Arbeitsleben gibt es so etwas wie den „coroporate desktop“ und ich habe mich für SUSE entschieden. SUSE rennt auch auf den großen IBM-Maschinen, welche ich betreue. Wenn es mal nicht AIX, oder RH ist. Da ich in den 90ern mit dem damaligen noch aus Nürnberg stammenden SuSE anfing habe ich mich eben für jene Distribution entschieden. Die Wahl der Desktopumgebung war eine Situation aus entscheide Dich für den Teufel oder den Belzebub. Nach ein paar kleinen Tests waren die Schmerzensschreie bei KDE leiser und die Wutausbrüche bei Gnome größer. Somit ging ich mit einer gemütlichen Naivität an die Desktopumgebung, da sie mich ja untersützten sollte. Und KDE ist wahrlich keine Fremde für mich. Ich ziehe immer noch Debian mit einem TilingWM vor, aber das soll nun nicht der Gegenstand des Artikels werden.

KWallet

KWallet ist an sich ja ein netter Zauberer für die Sicherheit und so ein Schliessfach, welches ich noch in Einzelfächer unterteilen kann ist ja im Grunde ein wirklich Gute Idee. KWallet bietet die Möglichkeit ein Masterpasswort anzulegen und dann verschlüsselt für jede Anwendung meine wichtigen Daten abzuspeichern. Kommt eine Passwortanfrage, oder eine Anfrage nach vertaulichen Daten, dann bittet mich KWallet um mein Masterpasswort und übergibt der Anwendung meine Daten. Dies kann natürlich auch eine Anwendung sein, welche nicht der orginalen Desktopumgebung unterliegt, sprich nicht aus dem „Hause“ KDE ist. Um es mal salopp auszudrücken. Natürlich lässt sich auch zeitlich begrenzen wie lange das Masterpasswort im Speicher gehalten werden soll. Dies unterbindet minutiöse Anfragen und entnervt somit den Anwender. Auch kann man KWallet wieder abschalten, dazu gibt es einen Unterpunkt im Menü. Menschen mit kleiner Begeisterung vergeben als neues Passwort einfach keines, welches eigentlich den Tresor ab absurdum führt.
Es gibt da ein nettes kleines Script eines Perlmongers, welches die Passwörter aus KWallet auslesen kann.

Unerfüllte Erwartungen, oder wer will was wann und vor allem wozu?

Erwartungen an einen Passwortmanager sind:

  1. Passwörter sicher verschlüsseln
  2. Informieren wer ein Passwort haben möchte
  3. Informieren warum ein Passwort gebraucht wird
  4. Sich in die Desktopumgebung einfügen

Eine Sache davon erfüllt KWallet gänzlich (4) und bei der anderen kann ich es nicht wirklich sagen (1).
Zu 2 möchte ich doch einfach mal zwei Screenshots bemühen, welche Aussagekräftiger sind, als ein der Situation beschreibender Text

Chrome startet und KWallet fragt nach dem Masterpasswort
Chrome startet und KWallet fragt nach dem Masterpasswort

Warum ist in dem Moment nicht wirklich klar. Ich meine da steht ja Google Chrome möchte, dass die digitale Brieftasche geöffnet wird. Natürlich habe ich unmengen an Links offen, welche Passwörter erfordern:

Ich wüsste schon gerne warum man nun an meine digitale Brieftasche möchte. Aber leider gibt es keine informativen Button für diese Aufgabe. Es könnte vielleicht ein strace helfen, natürlich bei beiden Programmen. Aber das ist absurd. Absolut absurd
Ich wüsste schon gerne warum man nun an meine digitale Brieftasche möchte. Aber leider gibt es keine informativen Button für diese Aufgabe. Es könnte vielleicht ein strace helfen, natürlich bei beiden Programmen. Aber das ist absurd. Absolut absurd

Ich wüsste schon gerne warum man nun an meine digitale Brieftasche möchte. Aber leider gibt es keine informativen Button für diese Aufgabe. Es könnte vielleicht ein strace helfen, natürlich bei beiden Programmen. Aber das ist absurd. Absolut absurd

Absurd

Aber so richtig absurd wird es, wenn man dann mit Google Chrome eine Reise durch das Netz unternimmt. Immer wieder erscheint die Anfrage auf das Neue, wenn sich KWallet nach eingestellter Zeit des Nichtzugriffs schliesst. Ein sehr beruhigendes Gefühl, wenn der Browser auf die „digitale Brieftasche“ im Turnus zugreifen möchte, ohne den Grund zu nennen. Wenn dann noch gleich nach erfolgten Login in KDE diese Abfrage kommt

Der Dienst hätte gerne das Passwort  
Der Dienst hätte gerne das Passwort

Dann ist man wirklich auf der sicheren Seiten, denn der Dienst fragt nach dem Passwort, der KDE-Dienst. Welcher Dienst auch immer das ist. Man nehme einfach mal pstree und schaue sich so die KDE-Dienste an und nimmt einen seiner Wahl.
Es ist auch nicht so, dass ich nicht in das Handbuch schaute ツ
Toll sind auch alle obskure Antworten, welche so in den Foren krassieren.Was man da so alles liest.

Abschliessend

Ich gehe nicht davon aus, dass dies nur mir aufgefallen ist. Ich stelle mir aber die Frage, dass wenn man KDE so mit KWallet verzahnt, warum um Gottes Willen hat man sich nicht darum gekümmert die Sache informativer zu gestalten.
Ist der neue semantische Desktop wirklich so weit von einem Stück simpler Sicherheit entfernt?
Für mich beweist sich das Stück „Sicherheitssoftware“ als Schlangenöl und ich kann es mit gutem Gewissen Niemanden empfehlen. Freuen würde es mich, wenn man KWallet informativer gestaltet und vielleicht auch mit PAM modular verzahnt, denn dann können auch der Fingerabdruckscanner und andere biotmetrische Authentifizierungen für KWallet genutzt werden.
Im Moment ist KWallet für mich nur eine obskure Box mit Freßzettelchen.

Links zu dem Thema:

KDE 4.2 feature plan Kwallet
KWallet KDE 4.2 Overhaul the interface .
KDE Tech Base Projects/Utils/kwallet

 

Das Wasserzeichen auf den Bildern ist die alte Domain auf welchen das Blog einmal lief. Diese ist noch in meinem Besitz und die Screenshots sind nicht gestohlen. Ja, die Frage ist schon aufgekommen

9 Gedanken zu „Die Sicherheitsfalle KWallet“

  1. Naja, das Problem bei KWallet ist, dass es dir ja gerade den Komfort bieten will, dass Anwendungen selbst das Passwort anfordern.
    Chrome hat z.B. selbst einen Passwort-Safe, kann diesen aber auch in KWallet auslagern. Wenn Chrome nun auf einer Seite ein Passwortfeld findet, für das ein Kennwort gespeichert wurde, fragt es halt die KWallet an, sich zu öffnen. Hier könnte jetzt natürlich noch ein informativer Satz kommen „Dieses Passwort wird benötigt für blablub“, aber ob Chrome das ausgelesene Passwort wirklich dafür verwendet, steht in den Sternen.
    Das Einzige, was man hier noch tun könnte, wäre z.B. eine feiner granulierte Zugriffskontrolle, dass eine Anwendung für jedes Passwort neu fragen muss und KWallet dann anzeigt, welches Passwort gerade rausgegeben werden soll. Das würde aber auch den Nervfaktor wieder erhöhen, was die meisten User dann eh wieder dazu verleitet, einfach auf „Allow Always“ zu klicken.

    Ich selbst habe von daher die Speicherung von Passwörtern im Browser ganz ausgeschaltet und nutze KeePassX. Wenn ich ein Kennwort brauche, dann selektiere ich das Eingabefeld, drücke eine Tastenkombination, gebe mein Masterpasswort ein und KeePassX füllt das Feld dann aus. Damit sind eigentlich alle vier von dir genannten Punkte erfüllt.

    • Das ist ja auch genau mein Ding in meiner Umgebung.
      Der von Dir angesprochene Punkt mit dem Verleiten ist eine Sache mit welcher man immer wieder in der Thematik Sicherheit zu kämpfen hat. Nur empfinde ich es, darum auch der Artikel, die Sache mit KWallet etwas irreführend und hoffe, dass der Artikel nicht bei den Entwicklern von KWallet auf taube Ohren stösst.
      Wer Tasker von Android kennt würde genau diese Granulierung, welche du vorschlägst, auch vorschlagen.
      Wenn Programm aufgrund der Bedinnung dieses Passwort braucht, dann gebe es. Wenn die Bedingungen nicht erfüllt sind, mache dieses.
      Ich denke genau das ist der beste Weg.
      Und der modulare Aufbau, welchen ich gerne von KWallet hätte, würde doch genau dies ermöglichen. Er erweitert das Potential der Anwendung für weitere Entwickler.

      • Wie willst du denn die Bedingungen prüfen? Chrome könnte KWallet sonst was erzählen. Dann heißt „Login bei Google+“ vielleicht in Wirklichkeit „Kaufe 100000 Po’&% bei foo.example.com über Google Wallet“. Diese Verhaltensanalyse anhand von Heuristiken ist doch genau das, was Antivirenhersteller seit Jahren vergeblich versuchen.
        Eine feinere Granulierung könnte nur erreicht werden, indem die Zugriffsrechte statt auf die gesamte Wallet nur auf ein Passwort vergeben werden (was u.U. sogar vielleicht schon der Fall ist, das weiß ich jetzt nicht, da ich KWallet nicht nutze). Eine Knüpfung an Bedingungen wird nicht funktionieren und eine Angabe des Verwendungszwecks kann nur der Information dienen, ist aber in keinem Falle verbindlich. Von daher könnte das auch schon fast wieder gefährlich sein, da bösartige Anwendungen dann nette Texte schreiben könnten, die über die bösen Absichten hinwegtäuschen. Stell dir mal diese Meldung vor:

        „Das Programm luftundliebe hat die Öffnung der digitalen Brieftasche kdewallet angefordert. Grund: Ich brauche dein Facebook-Passwort, um unseren Single-Chat-Dienst mit deinem Facebook-Konto zu verknüpfen.“

        Klingt für den gemeinen Wald- und Wiesennutzer erst einmal unverfänglich und selbst wenn man das kombiniert mit der feineren Zugriffsgranulierung, könnte das für viele technisch unbedarfte Nutzer, die nicht ganz so genau lesen, eine gefährliche Falle darstellen:

        „Das Programm luftundliebe hat die Öffnung der digitalen Brieftasche kdewallet zur Entnahme des folgenden Passworts angefordert: PayPal. Grund: Ich brauche dein Facebook-Passwort, um unseren Single-Chat-Dienst mit deinem Facebook-Konto zu verknüpfen.“

        Lässt man den Grund weg, werden die Nutzer vielleicht eher stutzig und fragen im Zweifelsfalle jemanden, der sich etwas besser damit auskennt. Ich habe nämlich die Erfahrung gemacht, dass sich viele Nutzer an Dinge, die sich nicht verstehen, nicht rantrauen in der Angst, etwas kaputt zu machen (z.B. schon oft erlebt bei der Windows-Benutzerkontensteuerung für das Ausführen von Updates). Schlechte Usability könnte hier vielleicht sogar einen Schutz vor vorschnellem Handeln darstellen.

        • Du kannst in KWallet verschiedene Unterbrieftaschen anlegen und und das diffrenzieren.
          Aber Du sprichst immer wieder das allegemein Passwort und Sicherheitsproblem an, dafür kann ich Dir keine Lösung geben.
          Der Benutzer, User, ist sich selber immer der größte Feind und das denken kann ich Ihm nicht abnehmen. Aber ich kann Ihm die Information zur Hand geben, warum er etwas herausgeben soll.
          Und da stimmst Du mir ja zu, oder?
          Google Chrome bekommt ja wohl aus einem Grund die Anfrage ein Passwort herauszugeben und das kann KWallet mitteilen.
          Sei es nun die Headerinformation oder sonst etwas dazu, und wenn es ein Screenshot.
          Das Singlebörsenproblem braucht dafür nicht KWallet, da veruteilst Du den Überbringer der Nachricht. Denn so, oder so würde das Passwort erfragt werden. Da kann auch der händische Weg ein Problem werden.
          Btw Login bei google+ ist ja wohl auch richtig erfragt, wenn ich die Seite öffne ;)
          Auch wenn ich den Pass im Browser speichern würde, würde es der Brwoser nicht an Wald und Wiesenpo*()/ übergeben ( btw ich habe Dein Wort betreffend der Filme mal entschärft)

          • Naja, das ist halt das generelle Problem, wenn man die Anwendung selbst das Passwort erfragen lässt.
            Mal angenommen, du vertraust der Anwendung, dich nicht anzulügen und willst von Chrome z.B. nur wissen, auf welcher Seite denn jetzt welches Passwort eingegebenen würde, dann wäre das schon eine wertvolle Information, da stimme ich dir zu.
            Aber dann kann man eigentlich auch gleich den Weg wählen, wo der Nutzer selbst aktiv eine Passworteingabe veranlasst, wie das z.B. bei KeePassX der Fall ist.
            Umgekehrt wird der Weg natürlich schwierig für Systemdienste wie z.B. den Network-Manager, der das WLAN-Passwort haben will.

            Einen Königsweg sehe ich da nicht. Aber die Knüpfung an Bedingungen zur Passwort-Herausgabe funktioniert halt nicht.

          • Nein, einen Königsweg gibt es da nicht.
            Naja, dem Benutzer es gleich machen zu lassen, dann fällt ja KWallet weg ;)
            Da fällt mir nur noch https://www.pwdhash.com/ ein, dann braucht man auch kein Passwortprogramm mehr in diesem Sinne oder eine tabula recta.
            Für letzteres hatte ich mal vor Jahren einen Genrator geschrieben ( wer nicht), aber das zielt ja an dem Faulheitsprinzip der gemeinen Anwender vorbei sogar das WLAN-Passwort dort abzulegen.
            Auf Deutsch, bei einem sind wir uns sicher, mehr Infos und besser User ;)

  2. Woher soll KWallet eigentlich jetzt wissen, für welche Websites etc. Chrome ein Passwort anfordert?
    Und selbst wenn Chrome das irgendwie mitteilt, woher will KWallet wissen, dass diese Information richtig ist?

    Also im besten Fall ist es KWallet nicht möglich zu sagen, welche Website das Passwort will und im schlechtesten Fall zeigt KWallet unwissend falsche Infos an.

    • Dann schau Dir noch einmal den Screenshot an und ohne ein geöffnete Seite fragt Chrome KWallet nach einem Screenshot.
      Was ist der Grund für die Anfrage?
      Wofür der Browser das Passwort ohne geöffnete Seite braucht, kann er wohl mitteilen, oder möchtest Du dies absprechen?
      Ein Request auf einen Datentyp verlangt doch Minimum den Datentyp zu benennen, oder?
      Wäre es da nicht einfach die Anfrage an den Nutzer zur Information weiterzureichen um welchen Datentyp es sich handelt?

      Bei einer geöffneten Seiten liegt dies wiederum anders, aber jene Daten würde ich nicht Kwallet anvertrauen, sondern eine eigene Lösung nehmen.
      Nur wenn man das Hinterfragt:

      Also im besten Fall ist es KWallet nicht möglich zu sagen, welche Website das Passwort will und im schlechtesten Fall zeigt KWallet unwissend falsche Infos an.

      Sollte man jede Passwortabfrage im Browser hinterfragen, vor allem die Herausgabe von Passwörtern die im Browser gespeichert sind.
      Würde mich um eine Antwort freuen.
      Entschuldige, dein Kommentar war in die Spamroutine gerutscht und ich hatte ein schwere Grippe

Kommentare sind geschlossen.