Passwörter – das schwächste Glied der Sicherheitskette

„Da haben sich Hacker aus $Land in Systeme von $Firma eingehackt!“
So oder so ähnlich lautet meistens die reißerische Überschrift, wenn mal wieder Daten abhanden gekommen sind.
In der Realität hacken Hacker hackbare Systeme aber oftmals nicht, indem sie Technikmagie betreiben – sondern durch sogenanntes Social Engineering.
Grob gesagt umgeht man dabei die Technische Hürde der Kryptographie durch Soziale Kompetenz: Im zweifel fragt man einfach nach dem Passwort und bekommt es prompt geliefert.
Natürlich benötigt das mal mehr, mal weniger Aufwand – Rhetorik und Geduld voraus gesetzt führt dieses Manipulieren oder Beeinflussen aber sehr oft zum Ziel.
Man muss also nicht unbedingt über Technisches Wissen aus 10 Jahren Arbeitsalltag verfügen, es reicht, zu wissen, wie man mit Menschen umgeht.

Problemlösung – niemand kennt die Zugangsdaten

Ich merke mir nur noch sehr wenige Passwörter, denn ich benutze einen Passwortmanager namens Passwordsafe (es gibt natürlich noch viele Alternativen am Markt).
Dieses Programm hat folgende, lebenserleichternde Features:

  • es generiert Passwörter, deren Komplexität man definieren kann
  • es speichert Passwörter in Verknüpfung mit Useraccounts und Emailadressen
  • es ermöglicht, mit einem einfachem Klick Loginformulare automatisch auszufüllen
  • die angelegte Passwortdatei ist kopier- und verschiebbar

Die Anwendung existiert sowohl für Android, IOS als auch Windows.
Das einzige Passwort, was ich mir wirklich merken muss, ist das Masterpasswort zu meiner Datei.
465901687_5636cd6c6b_o

Quelle

Das bedeutet am Ende des Tages folgendes:

  • Meine Passwörter können beliebig lang und komplex sein – ich muss sie mir ja nicht merken
  • Ich habe alle meine Passwörter überall verfügbar (außer unter Linux, aber das bediene ich meist eh via SSH)
  • Selbst Keylogger, Programme, die meine Tastatureingaben mitloggen, können die Passwörter nicht kopieren (da ich das Auto type feature benutze)

Warum Sollte man das wollen?

Weil wir alle mehr und mehr Passwörter, Nutzernamen etc haben – und entweder sehr diszipliniert sind, oder dazu neigen, sehr einfache oder erratbare Passwörter zu nutzen.
All das kann man mit der Hilfe eines solchen Tools umgehen. In diesem Fall erleichtert die Technik sehr die Arbeit.
Nur das Masterpasswort sollte eben so stark wie möglich sein und möglichst nur im Safe der Firma oder des Zuhauses niedergeschrieben werden.

 

Der nächste Schritt ist dann die Nutzung von 2-Faktor-Authentifizierung.
Mit dieser Methode ist es dann nur noch möglich, mit einem Token, das eine zweiten Schlüssel enthält, die Datei zu öffnen – sei es ein zweites Passwort oder ein USB Stick.

 

Quelle

6 Gedanken zu „Passwörter – das schwächste Glied der Sicherheitskette

  1. Hier mal noch ein paar Infos dazu, wie man aus beliebigen Eingabefeldern die Daten auslesen kann:

    Alle benötigten Funktionen sind in der WinAPI implementiert, stehen also jedem Windows-Programm zur Verfügung. (IIRC war es aber so, dass man nur auf die Programme des Nutzers zugreifen kann – Programme die zum Beispiel als Administrator gestartet wurden sind also außen vor).

    Die benötigten Funktionen sind:
    * SendMessage
    * GetClassName
    * EnumChildWindows
    * EnumWindows
    * EnumProcesses
    * OpenProcess
    * GetModuleFileName

    Der Ablauf könnte dann so aussehen:
    Mit EnumProcesses kann man sich die PIDs aller laufenden Prozesse besorgen, über OpenProcess und GetModuleFileName bekommt man dann den Namen des Programms (brauchen wir um zu Filtern).

    Danach suchen wir nach Fenstern dieses Prozesses – dafür lassen wir uns als erstes per EnumWindows alle Fenster geben und nehmen merken uns alle die zu den interessanten Prozessen gehören (das können wir mit GetProcessHandleFromHwnd herausfinden).

    Schließlich können wir rekursiv durch die gefundenen Fenster-Handles rennen und uns alle Kinder geben lassen (EnumChildWindows), bei denen wir mit GetClassName herausfinden ob es Eingabefelder sind (Klasse wäre dann EDIT) und ob sie für Passwörter sind (mit GetWindowLong(EX) prüfen ob ES_PASSWORD gesetzt ist).

    Sobald wir alle Passworteingabefelder haben, können wir diese mit SendMessage und der Nachricht WM_GETTEXT auslesen und haben dann das sich darin befindende Passwort.

    DISCLAIMER:
    Das alles funktioniert so in der Theorie – ich hab es allerdings nie probiert. Ich weiß aber aus Erfahrung, dass man problemlos an beliebige Fenster Nachrichten schicken kann. Da das so zur WinAPI gehört, braucht man auch keine weitere Software um diese Funktionen zu nutzen. Noch dazu sind das keine Sicherheitskritischen Funktionen.
    Man kann seine eigenen Programme nur vor solchen Angriffen schützen, indem man seine Steuerfelder nicht über die WinAPI erstellt.

  2. Nur weil du das Autotype Feature nutzt, bist du übrigens noch nicht vor Passwortdiebstahl sicher – nur vor klassischen Keyloggern.
    Mit nicht viel mehr Aufwand ist es auch möglich, aus beliebigen Eingabefeldern den Inhalt auszulesen.
    Nur mal so als Randnotiz 😉

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.