Security und Passwortstrategie

veröffentlicht am : Do, 06. 03. 2014 geändert am: Di, 16. 05. 2017

Kategorie: Sicherheit

Schlagworte: security


Security und Passwortstrategie

Es ist heutzutage ja nicht so einfach, sich alle Pins, Passwörter und Logins zu merken. Für jedes Forum und jeden Dienst im Internet muss man sich authentifizieren - schon aus rechtlichen gründen. Aber gerade im Zuge der letzten Enthüllungen über die Aktivitäten der Geheimdienste, sollte jeder sich mal überlegen, was er für Passwörter nutzt.

Passwortsicherheit - lang == sicher?

Kurz gesagt: von wegen

Die etwas längere Antwort ist, dass es heutzutage viel einfacher ist, das Passwort clever zu erraten, als kompliziert irgendwelche Buffer Overflows oder sonstige Exploits zu finden und auszunutzen. Hacker brauchen meist gar nicht lange nach dem Passwort suchen, google nennt einem häufig ein paar Kandidaten: Vorname der Ehefrau, Name des Haustiers, Geburtsdatum der Kinder etc. Mit diesem "Social Engineering" kann man die Zahl möglicher Passwörter stark reduzieren, da diese ja nicht wirklich zufällig erstellt werden. Im Allgemeinen sind Passwörter, die auf Worten basieren, mit einer Silben basierten brute Force Attacke recht schnell zu knacken, oft in Minuten. Ein gleich langes zufällig gewähltes Passwort ist dann aber vielleicht erst nach Stunden oder Tagen gefunden. Beispiel: nehmen wir das Passwort 'supermann'. Das besteht aus 9 Zeichen. Wenn ein Passwort mit 9 Zeichen wirklich zufällig wäre, müsste ein Hacker theoretisch 26 hoch 9 Versuche (= 5.429.503.678.976 ) machen (wenn man davon ausgeht, dass nur normale Buchstaben, keine Umlaute verwendet wurden), im das Passwort sicher rauszufinden. Allerdings besteht das Passwort nur aus drei Silben. Silben gibt es im deutschen je nachdem, wen man fragt, verschieden viele, aber wohl zumindest weniger als 1000. d.h. ich muss nicht mehr 26 hoch 9 Kandidaten ausprobieren, sondern nur noch ca. 1000 hoch 3 = eine Milliarde. das reduziert die Menge doch erheblich (0.018%!).

Aber, und das fällt mir in den Diskussionen zum Thema Passwortsicherhheit immer wieder auf: Ein Angreifer muss diese Information doch haben, um effizient das Passwort zu suchen. Wenn ein Angreifer das oben genannte Passwort knacken wollte und von einem zufälligen Passwort ausginge, hätte das Passwort auch keinen Nachteil gegenüber komplexen echt zufälligen Passwörtern. Klar in dem Beispiel probiert ein Angreifer einfach zuerst mal die Silbenattacke, dauert ja nicht lange. Erst, wenn das nicht geht, wird er auf den Standardweg "alles durchprobieren" zurückgreifen.

Da ist aber noch mehr: was, wenn der Hacker weiß, dass in dem Passwort die Buchstaben wqtzoiklnjdfghbv nicht vorkommen? Dann wird aus 26 hoch neun schnell 10 hoch 9 = 1.000.000.000 (fällt euch was auf: eine Milliarde) deutlich weniger, aus einer Woche wird dann plötzlich nur noch ne Stunde.

Im Allgemeinen ist es wichtig, alles über das Passwort geheim zu halten, d.h auch die Länge. Denn wenn ein Hacker nicht weiß, dass das Passwort 9 Zeichen hat, muss er ja theoretisch alle 6, 7 und 8-Zeichenpassworte vorher auch noch durchprobieren, um alles zu haben (wenn wir davon ausgehen, dass ein brauchbares Passwort eine Mindestlänge von 6 Zeichen hat). Oder eben sogar noch kleinere Passwortlängen - wenn nötig.

Das geht auch anders herum. Ich hatte mal den Fall, dass ich bei einer Windows-Büchse mich nicht mehr einloggen konnte, weil mir das Passwort entfallen war. Windows starte ich einfach zu selten... Ich hab echt alle möglichen Passwörter ausprobiert und wollte den Rechner schon neu installieren. Bis ich drauf gekommen bin: Kein Passwort ist die Lösung... Obwohl das Passwort extrem unsicher ist (logisch, ist ja keins da) - hab ich doch echt ne Ewigkeit gebraucht, bis ich da "eingebrochen" bin.

Klar, Hacker, die was auf sich halten werden sicher diese Standardfälle auch probieren. Aber ich bin eben kein Hacker, der was auf sich hält ;-)

Wie hackt man denn? Einfach ausprobieren

Das ist auch ein großes Missverständnis. Man kann nicht einfach in der Login-Maske eine Brute-Force Attacke fahren (d.h. einfach alle Logins ausprobieren). Das klappt so nicht. Denn meistens wird eine Verzögerung eingebaut, wenn man sich beim Passwort vertippt (ist vielleicht dem ein oder anderen mal aufgefallen) und wenn man es mit den Fehlversuchen übertreibt, wird der Account deaktiviert. Zumindest passiert das bei den meisten Seiten, die was auf Sicherheit geben. Wenn ein Hacker also einen Account, sagen wir einen Webmail account, knacken will, kann er so nicht vorgehen. Und da ist nun wirklich wissen notwendig. Was der Hacker braucht ist

  1. eine Liste der logins oder zumindest einen gültigen Login. Und wenn er die Daten einer bestimmten Person will, eben dessen Login
  2. die verschlüsselte Form des Passwortes
  3. oder eine Passwortprüfsumme

was ist damit gemeint? Passwörter werden heutzutage natürlich nicht im Klartext übertragen, sondern verschlüsselt. Sonst müsste man ja einfach nur "mitlesen" (Hallo NSA!). Also muss der Hacker erst mal an eine verschlüsselte Form des Passwortes kommen. Das ist gar nicht so kompliziert, erfordert aber viel Wissen über das System.

Die verschlüsselten Passwörter sind zwar meist recht einfach zu bekommen (sie werden ja am Anfang der Kommunikation übertragen), aber dummerweise recht schwer zu knacken. Da die Verschlüsselung meistens genau das ja zu verhindern versucht.

Wenn es also kein verschlüsseltes Passwort gibt oder man nicht ran kommt, kommt man evtl. an die Prüfsumme des Passwortes ran. Passwörter werden in vielen Systemen nämlich nicht im Klartext oder verschlüsselt gespeichert (das könnte man ja irgendwie entschlüsseln), sondern es wird "nur" die Prüfsumme abgelegt. Diese Prüfsummen tauchen immer mal wieder im Internet auf, weil ein System über die "üblichen" Wege, wie Buffer overflows oder sonstige Sicherheitslöcher geknackt wurde und man (die Hacker) nichts verändern, aber dafür auslesen konnte. (nicht immer erreichen Hacker den "Heiligen Gral" - also eine root-shell auf dem Zielsystem. Häufig können sie nur einzelne, eigentlich geschützte Dateien abgreifen. Und da bieten sich solche Passwortdateien natürlich an).

Jetzt kann man Milliarden von Versuchen mit der Prüfsumme oder der Verschlüsselung machen, bis man ein Passwort gefunden hat, was die gleiche Prüfsumme ergibt oder eben die Verschlüsselung knackt. Und dann hab ich komplette Zugangsdaten. (Anmerkung: dem geneigten Leser wird aufgefallen sein, dass man ein Passwort sucht, dass die gleiche Prüfsumme ergibt. Das muss nicht zwangsläufig das selbe Passwort sein, wie das, was der User ursprünglich eingegeben hat).

Alles in Allem recht aufwändig. Hat auch nix damit zu tun, wie es häufig im TV und so dargestellt wird. Also, wenn ich so eine Passwortprüfsumme habe, dann bin ich schon mal recht weit. Ich kann ungestört so lange rumprobieren, bis ich das zugehörige Passwort gefunden habe. Jetzt kommt es stark darauf an, wie lange es dauert für einen Passwortkandidaten eine Prüfsumme zu berechnen. Das hängt ein wenig davon ab, welches Prüfsummenverfahren eingesetzt wird. Das bekannteste und auch eines der ältesten (und mittlerweile recht "unsicheren", weil zu schnell und zu klein) ist MD5. Neuere und bessere wären die auf dem SHA-Algorithmus basierenden. Neuestes Mitglied der Gruppe ist SHA3 - wenn es auch ein wenig umstritten ist (link).

Mit egal welchem dieser Verfahren, es ist auf jeden fall möglich, Millionen von Passwortkandidaten in kurzer Zeit auszuprobieren. Und welche Kandidaten ausprobiert werden, hängt wiederum davon hab, welches Wissen ich über das Passwort habe.

Will ich z.B. ein Telefon, Tablet oder Notebook knacken, wäre es notwendig, dass ich in einem unbeobachteten Moment mal Zugriff auf das Ding bekomme, damit ich auf die Daten zugreifen kann. Das ist je nach Modell und OS relativ einfach oder extrem kompliziert und zeitaufwändig. Aber es geht immer! Wenn ich das ding anfassen kann, kann ich es auch hacken - nur eine Frage des Aufwandes und der Motivation und evtl. des Geldes...

Dann lese ich irgendwie die Passwort-Prüfsummen aus und dann kann ich in aller Ruhe die Passwörter ausprobieren, die sinnvoll erscheinen. Wenn ich dem "Opfer" bei der Eingabe des Passwortes mal zugesehen habe, habe ich bestimmt eine Vorstellung davon, wie lang das Passwort ist und evtl. sogar, wie welche Buchstaben vorkommen oder sicher nicht vorkommen (bei Touchscreens geben die Fingerspuren auf dem Display gute Hinweise). Das war nur ein Beispiel und ist natürlich etwas simplifiziert - aber ich denke, man bekommt einen Eindruck.

Deswegen ist es so sinnvoll, dass man sich ein Passwort überlegt, im dem nicht nur Buchstaben vorkommen. Sonderzeichen und Umlaute sind auf jeden fall auch in ein gutes Passwort einzubauen. Je mehr buchstabenklassen man verwendet, umso besser.

Das erhöht die 26 in den Beispielen oben, und somit auch die Anzahl potenzieller Passwörter. Und: man sollte sein Passwort von Zeit zu Zeit mal ändern. Denn: wenn ich mein Passwort 3 Jahre lang nicht ändere, hat ein Hacker theoretisch bis zu 3 Jahre Zeit das Passwort zu knacken oder zu erraten. Und in 3 Jahren kann man eine Menge Passwörter ausprobieren...

Was ist denn ein gutes Passwort?

Ja, das ist genau das Problem. Was ist in dem Zusammenhang gut? Wenn ich es aus der Sicht der Security sehe, dann sollte das Passwort möglichst lang sein und möglichst zufällig und möglichst viele zeichen aus verschiedenen Zeichenklassen (Großbuchstaben, Kleinbuchstaben, Zahlen, Sonderzeichen, Punktuation, Accents, Umlaute...) beinhalten. Das kann sich aber kein Mensch merken - erst recht nicht, wenn er, wie man es eigentlich tun sollte, für jeden Zugang ein anderes Passwort benutzt.

Und da man sich so was nicht merken kann, was benutzt man dann? Geburtsdaten und so zeuch. oder ein etwas komplexeres Passwort für alles - auch nicht clever. Aber verständlich...

Das ist vermutlich auch einer der Hauptgründe, warum es Hacker (und Geheimdienste) so leicht haben, uns auszuspähen oder unsere Virtuelle Identität zu karpern oder auch nur Spam zu schicken, dass vermeindlich so gut zu mir passt. Hat man ein Passwort, hab ich alle... das ist gerade heutzutage schon als fahrlässig zu bezeichnen.

Die Lösung - Passwortstrategien...

Ein gutes passwort muss also eines sein, dass

  1. lang ist, mindestens 6 Zeichen
  2. mindestens ein Zeichen aus Jeder Klasse haben (Klein- und Großbuchstaben, Zaheln, Sonderzeichen und Punktuation)
  3. Sollte nich auf ein Wort zurückgehen.
  4. Aucn nicht LeetSpeak sein..

oder?

Ja, genau so erzwingen es einige Systemadministratoren mit den z.B. in Betriebssystemen verfügbaren Mitteln. Ob das nun die Sicherheit erhöht, sei mal dahin gestellt. Es fördert zumindest ein Bewustsein, dass so etwas wichtig ist.

Zum "Glück" - wenn man es in dieser Richtung bedenkt - gab es den NSA Skandal, denn jetzt machen sich vielleicht mehr Leute darüber Gedanken - und ich kann evtl. ein paar Denkanstöße geben.

Denn diese Security Policies, in denen festgelegt wird, dass z.B. ein Passwort monatlich geändert werden muss, führt häufig dazu, dass der Monat irgendwie im Passwort drin ist. Das ist meine Erfahrung mit solchen Policies. Knackbar sind die immer... Und wenn der Kollege fragt: "Welchen Monat haben wir denn gerade?" bevor er sich am System anmeldet, weiß man zumindest, dass der aktuelle Monat als Zahl oder Text vorkommt - das schränkt die möglichen Passwörter schon wieder um so einige Millionen ein.

Wie denn sonst? Satzbasierte Authentifizierung?

Wer sagt denn, dass ein Passwort unbedingt ein "Wort" sein muss? Klar, früher, so in den 1990ern, da war Speicherplatz so teuer, da konnte man nicht einfach ein beliebig langes Passwort erlauben, deswegen ist es ja auch nur ein Wort. Besser man benutzt heutzutage den Begriff Passphrase, also eher so was wie "Pass-Satz". Und dann kommen wir der Sache schon näher. Einen Satz kann man sich viel besser merken, als eine wüste Aneinanderreihung von Zeichen. Egal wie unsinnig der Satz ist, merken kann man sich den auf jeden Fall viel leichter. Und wenn man den Satz noch mit Sonderzeichen versieht, so hat man doch ein brauchbares Passwort, oder?

Klar hat man, denn so ein Satz hat gerne mal seine 20 Zeichen. Mit einem buchstaben- bzw. zeichenbasierten Ansatz kommt man da nicht weit. Wenn man Silben nutzt kommen wir in etwa bei der selben Komplexität raus, wie bei einem ca. 8 Zeichen Langen zufälligen Passwort!

Wie gesagt, der Satz muss nicht mal Sinn machen. Vermutlich ist es sogar besser so - sonst könnte man ja eine Wort/Satzbasierte Attacke probieren.

Nehmen wir einen sinnlosen Beispielsatz: "Der jungfräuliche, grüne Stuhl betritt eine friedliche Lampe 6x!" Hier haben wir alle Zeichenklassen vertreten, der macht überhaupt keinen Sinn ist aber leicht zu merken. Egal wie man es dreht und wendet, man hat eine Vorstellung von dem, was da gerade passiert.

Betrachten wir mal wieder die andere Seite.

  • eine zeichenbasierte Brute force Attacke wird wohl kaum sicher diese Passphrase finden. Dazu müssten ja (voausgesetzt man kennt die Länge von 66 Zeichen) 66 hoch ca. 50 Versuche unternommen werden. Die Zahl wäre echt groß... irgendwas mit 90 Stellen oder so.
  • Wie wäre es mit einem Silbenansatz? Klar, wenn der Hacker weiß, dass es sich um Deutsch handelt, könnte er versuchen die ca. 1000 Silben als Basis zu nehmen. In der Passphrase kommen 29 silben vor - d.h. er bräuchte 1000 hoch 29 versuche um nur die passenden Worte zu finden - ganz zu schweigen von den Satzzeichen und co... auch kaum praktikabel.
  • Aber er könnte doch einen Wortbasierten ansatz wählen? Auch möglich. Allerdings gibt es verflucht viele Worte ;-) Und dann müsste das auch noch so zusammengebaut werden, dass da Satzzeichen drin sind... Ich als Hacker würde mir sicher in dieser Richtung gedanken machen, aber ist schwierig anzugehen. Aber spinnen wir den Gedanken mal weiter. Gehen wir davon aus, dass es im Deutschen ca. 75000 Wörter gibt link. Wenn ich dann noch wüsste, dass in der Passphrase ca. 9 Worte vorkommen, so käme ich auf 75000 hoch 9 (eine Zahl mit 45 Stellen) mögliche Passwörter die passen. Ist schon ne Menge. Da kann ich sicherlich die rausfiltern, deren länge nicht passt, aber da bleiben schon eine Menge übrig. Wenn ich dann noch die Satzzeichen dazu packe müsste man diese Zahl noch mal mit 10 Multiplizieren (an 10 Stellen könnte ja ein Satzzeichen stehen). Alles in allem ne recht große Zahl, oder?

Das klingt doch wirklich vielversprechend, warum also nicht gleich so eine Passphrase benutzen? Naja... 66 Zeichen müssen auch eingegeben werden. Nicht jeder kann das 10 Finger System und tippt das ganze in einer Sekunde. Und auf einem Touch-Screen ist das ganze noch ungleich schwieriger, da ist es fast unmöglich so viele Zeichen ohne Fehler zu tippen. Passphrases sind sicher ne gute Lösung, aber nicht für jeden Anwendungsfall.

Wie wäre es mit Biometrie?

Klar, gerade mit dem aktuellen iPhone 5s und seinem Fingerabdrucksensor kommt diese Diskussion wieder auf. Stimmerkennung und Gesichtserkennung zählt auch zu den Biometrischen Verfahren. Warum hat sich das noch nicht durchgesetzt?

Das Problem mit Biometrischen Verfahren ist häufig die Ungenauigkeit und, dass man zwar erkennen kann, ob derjenige, der da vor der Kamera steht, Herr Müller ist, oder nicht. Nur zuverlässig erkennen kann man Herrn Müller deswegen noch nicht. Und wenn Herr Müller nen eineiigen Zwilling hat wird die Sache schnell extrem kompliziert.

Und die meisten Biometrischen Systeme kann man mit einer Audioaufzeichnung oder einem Foto austricksen. Bei Fingarabdrucksensoren ist das ganze schon schwieriger und mit Bastelei verbunden. Aber auch das geht.

Biometrische Verfahren werden mehr und mehr Einzug in die Technik halten, aber vermutlich nicht der Weisheit letzte schluss sein. Insbesondere wenn diese Daten dann irgendwo abgelegt werden.... Datenschutz ist da noch mal wichtiger...

Passworttools - Gefahr oder Segen?

Da man wohl in absehbarer Zeit nicht ohne Passwörter oder Ähnliches auskommen wird, kommt die Frage: wie soll ich das einerseits sicher machen und andererseits in mein Hirn bekommen?

Da helfen Passwort-Apps, wie z.B. 1Password. Diese speichern Passwörter z.B. für Webformulare oder WLan-Zugänge in einer eigenen Datenbank verschlüsselt ab. Gesichert wird das ganze nur durch ein einziges Passwort (oder besser eine Passphrase) mit der man dann Zugriff auf alle eine Passwörter Bekommt.

Apple hat so was auch mit der "Schlüsselbundverwaltung" und jetzt neu der Passwortsynchronisation über die Cloud.

Hey, cool, damit ist doch alles gelöst... Oder?

Naja, theoretisch schon. Aber ein findiger Hacker könnte ja jetzt auf die Idee kommen, gar nicht das Passwort deines EmailAccounts zu knacken, sondern einfach den Store von 1Password. Wenn ihm das gelingt bist du ganz schön angeschmiert. Dann müssen alle(!) dort gespeicherten Passworte geändert werden - und finde das mal raus.

Eine gruselige Vorstellung. Deswegen sollte man solche tools wirklich nur unter folgenden Bedingunen verwenden:

  1. man sollte sich mal testberichte ansehen, wie die App die Daten verschlüsselt und was die Experten dazu so sagen
  2. Welche Firma steckt dahinter? Ist die Vertrauenswürdig?
  3. Wenn ich die Daten zwischen verschiedenen Geräten Synchronisiern möchte, geht das hoffentlich auch offline? Z.b. per Wlan oder bluetooth?
  4. Wenn ich online Synchronistation nutze, dann sollte ich mir 2x überlegen, ob ich da auf ein Proprietäres protokoll setzen sollte. Am besten wäre es, die App unterstützt vertrauenswürdige drittanbieter (sofern man die so nennen kann) wie DropBox oder iCloud.
  5. Ich sollte mir auch hier überlegen, welche Daten ich da ablege. Und mir bewusst sein, wie gefährlich es wäre, wenn jemand darauf zugriff bekäme
  6. Hier sollte ich eine Passphrase benutzen!

Auch wenn das den Komfort etwas einschränkt, ich denke, das ist es wert... Dann kann man auch solche Tools guten Gewissens einsetzen - aber nicht Bedenkenlos!

Verschlüsselung hilft, oder?

Verschlüsselung wird ja jetzt immer wieder als die Lösung für alle Probleme mit der Privatsphäre und Datensicherheit genannt. Das ist zwar richtig, aber Verschlüsselung alleine bringt zunächst mal nix, wenn der Schlüssel, mit dem ich verschlüssele, innerhalb von Sekunden zu knacken ist.

Die ganze Passwortdiskussion von oben ist auch für das Verschlüsselungsthema wichtig. Denn die beste Verschlüsselung nützt nix, wenn der Schlüssel "1234" ist.

Deswegen noch mal: auch wenn Daten verschlüsselt irgendwo abgelegt werden (wie in PasswortManagern) ist das per se noch nicht vor Fremdem Zugriff geschützt!

und nu?

Naja... wie viel Sicherheit man nun für seine Daten benötigt muss jeder für sich selbst entscheiden. Wer sich mit einem vierstelligen Code auf dem Telefon gut fühlt, der kann das weiterhin nutzen. So jemand wird vermutlich sein Telefon etwas strenger beäugen, als jeman, der sein Telefon mit einem 20-Stelligen Code gesichert hat.

Security kostet immer irgendwas. Meistens eine Kombination aus Komfort, Geld und Zeit. Und jeder muss entscheiden, wie viel von jedem ihm die sicherheit der Daten wert ist.

Nur so ein Beispiel: Ein Iris-Scanner vor dem Klo ist sicherlich wenig sinnvoll.... Aber der Banktresor sollte mit mehr geschützt sein als mit einem Fahrradschloss...

erstellt Stephan Bösebeck (stephan)