Archiv 27. Dezember 2018

Neues YT-Video: Broken Authentication

Gerade eben habe ich mein neues YouTube-Video veröffentlicht. Es ist aus der Secure Coding Reihe zum Platz 2 der OWASP-Top10 „Broken Authentication – Fehler in Authentifizierung und Session-Management.

Mich würde sehr interessieren, was Ihr darüber denkt. Konstruktive Kritik oder auch nur kurzes Feedback ist also willkommen. Entweder hier, oder auch bei YT als Kommentar.

Sicheres Passwort?

Wann ist ein Passwort eigentlich sicher?

Als Benutzer werden wir dazu erzogen, komplexe Passwörter zu verwenden. Aus gutem Grund werden zu einfache Passwörter zumeist abgelehnt, da Passwörter die in einem Wörterbuch vorkommen, innerhalb weniger Sekunden geknackt werden können durch einen sogenannten Wörterbuch-Angriff. Auch ein „123“ davor oder dahinter bringen da nicht viel, da man solche Varianten dabei gleich mit prüft.

Wenn nicht mindestens Gross- und Kleinbuchstaben, sowie Zahlen und Sonderzeichen verwendet werden, kommt man bei immer weniger Systemen weiter bei der Passwortauswahl. Leider wird oft auch nur ein roter Balken angezeigt, zusammen mit einer Warnung. Passwörter mit weniger als 12 Zeichen gelten aber auch als unsicher, wenn sie diese Kriterien erfüllen.

Lang soll es also sein. Mehr als 12 Zeichen. Und es darf nicht in Wörterbüchern vorkommen.

Alles Nutella?

Nutella findet es anscheinend sicher genug, ein 7-stelliges Passwort zu verwenden. In einem Tweet rufen sie dazu auf, mit „Nutella“ seine Geheimnisse zu sichern. Ein schlechter Scherz, dem leider vermutlich zu viele folgen:

Die am häufigsten verwendeten Passwörter sind eine Katastrophe. Mehr als 5 Millionen gekaperte Passwörter wurden durch SplashData statistisch ausgewertet. Zum fünften Mal in folge wurde „123456“ als das am meisten verwendete Passwort des Jahres ermittelt, gefolgt von „password“. 

Hier die aktuelle Top-10 Liste:

  1. 123456
  2. password 
  3. 123456789
  4. 12345678
  5. 12345
  6. 111111
  7. 1234567 
  8. sunshine
  9. qwerty
  10. iloveyou

Den meisten Benutzern ist anscheinend nicht klar, dass sie durch derartigen Leichtsinn riskieren, Opfer von automatisierten Angriffen zu werden. Es kann sehr schnell passieren, dass ein Erpressungs-Trojaner dann die Dateien auf dem eigenen PC verschlüsselt, so dass sie nicht mehr zu lesen sind. Nur durch Zahlung von einigen tausend Euro bekommt man seine Dateien dann wieder entschlüsselt, zusammen mit dem unguten Gefühl, nicht mehr Herr seiner Privatsphäre zu sein.

Doch was tun, wenn man sich für unzählige Konten Passwörter merken muss, die man dann auch noch regelmäßig ändern soll? Auf gar keinen Fall sollte man übrigens das gleiche Passwort für mehrere Konten verwenden, denn ist eines der Konten kompromittiert, haben die Angreifer dann auch gleich Zugriff auf die anderen Konten, wo das gleiche Passwort gilt. „Credential Stuffing“ nennt man einen solchen Angriff, bei dem bekannt gewordene Zugangsdaten bei anderen Webseiten ausprobiert werden. Die Erfolgsrate ist dabei relativ hoch.

Was also tun?

Solange wir uns mit Benutzernamen und Passwörtern authentifizieren müssen, sollten wir Passwortmanager-Programme verwenden. Dort werden die Passwörter sicher verwaltet, und durch Copy&Paste in die Webanwendung übernommen. Das hat den Vorteil, dass wir sehr lange und komplexe Passwörter verwenden können, die kein Mensch von Hand eintippen möchte. Es spricht also nichts dagegen, ein 100-stelliges Passwort zu verwenden, wenn das von der Webanwendung unterstützt wird. Ein Brute-Force-Angriff wird das nicht so schnell knacken können, so dass die Angreifer weiterziehen werden, und es mit anderen Opfern probieren wird, die es noch nicht kapiert haben.

Folgende Passwortmanager-Programme sind gängig:

  • KeePass
  • LastPass
  • Dashlane
  • 1Password
  • StickyPassword
  • Steganos Passwort-Manager

Sichererer?

Noch besser als sehr gute Passwörter zu verwenden ist, wenn man neben diesen auch noch ein weiteres Merkmal verwendet, wir ein Token, das z.B. über eine Authenticator-App generiert wird. Multifakor-Authentifizierung ist der Fachbegriff dafür. Dadurch ist es für Angreifer nicht mehr möglich, durch abgefischte Passwörter den Account zu übernehmen. Im Online-Banking Bereich setzt sich das mehr und mehr durch, auch wenn viele Banken nach wie vor SMS als 2. Faktor verwenden. Dass das nicht sicher ist, darüber habe ich in einem vorigen Post berichtet.

UPnProxy – oder zu was Plug and Play/Pray noch so alles missbraucht werden kann

Wer erinnert sich noch an „Universal Plug and Play“? Es wurde von Microsoft in den 90ern erfunden, um die lästigen Treiber-Installationen unter Windows zu vereinfachen. Die Idee dabei war, dass sich Geräte über Port 1900 von ganz alleine finden können, und der Benutzer gar nichts mehr tun muss, um beispielsweise seinen neuen Joystick zu verwenden. Also Einstecken und Spielen. Die Idee dahinter war also wie so oft eine Gute, aber in der Praxis lief das nicht immer (um nicht zu sagen selten) reibungslos, so dass sich schnell der Begriff „Plug and Pray“ verbreitete, der dieses Protokoll verspotten sollte.

Da dieses Protokoll keinerlei Sicherheit beinhaltet, da ihm Authentifizierung und Autorisierung fehlen, ist es ausschließlich für das interne LAN gedacht. UPnP darf also unter keinen Umständen ins offene Internet exponiert werden, denn dann werden Tür und Tor geöffnet für Neugierige und Angreifer. „Hey, kommt in mein LAN, ich zeige Euch gerne alles was ich habe“ – das wäre die native Botschaft von einem ins Internet losgelassene UPnP.

Man sollte meinen, dass es deshalb klar sein sollte, dass UPnP niemals ins Internet losgelassen werden sollte, da es so ganz ohne Sicherheitsmechanismen nur für absolut vertrauenswürdige Umgebungen gemacht ist. Leider, leider… ist dem nicht so. Im Gegenteil. Viele namhafte Hersteller von Routern bieten ein „Feature“ an: „Expose UPnP to WAN“. Gemäß einer Analyse von Akamai sind bis zu 4,8 Millionen Geräte betroffen.

Ein nicht-versierter Heim-Admin, der dieses Feature aktiviert, würde damit das Unvernünftigste tun, was in der heutigen Zeit in der Internet-Welt denkbar ist. Aber er wird noch schlimmer: Einige der Hersteller haben dieses Feature standardmäßig auch noch aktiviert. Das ist wirklich das Allerletzte – beim Schreiben dieser Zeilen fehlen mir vor lauter Entsetzen fast schon die Worte. Also am besten gleich den eigenen Router zuhause checken, ob dieser ein solches Feature hat und sicherstellen, dass es inaktiv ist.

Die Folge eines über UPnP ins Internet exponierten Routers ist, dass dieser zunächst für Brute-Force-Angriffe auf die Admin-Oberfläche erreichbar ist. Was vorher nicht der Fall war. Es ist nur eine Frage der Zeit und der Qualität des verwendeten Passworts, wie lange dieses dem Brute-Forcing standhält. Üblicherweise nicht besonders lange. Es kommt dann wie es kommen muss: der Router wird übernommen und von den bösen Buben geentert und missbraucht. Für Botnetze und andere Schweinereien.

Ein neuer Trend der kriminellen Machenschaften im Zusammenhang mit Botnetzen ist UPnProxy. Dazu wird einer der Millionen verwundbaren privaten Heimroutern für zur Verschleierung von Angriffen missbraucht, in dem er als Proxy fungiert. Wenn ein Opfer bzw. eine Strafverfolgungsbehörde versucht, einen Angreifer zurückzuverfolgen, dann führt die Route dadurch nicht direkt zum Angreifer, sondern über die verwendeten Proxies, die die Route dadurch zu verschleiern versuchen. UPnProxy ist damit ein weiteres wichtiges Instrument der organisierten Kriminalität, Angriffe noch schwerer zurückzuverfolgen.

Einmal mehr zeigt sich hier, wie ein zunächst gut gemeintes Feature (bzw. Protokoll) missverstanden wird, und durch Unwissenheit und Ignoranz zum Desaster der Internet-Sicherheit wird.

Mehr zu diesem Thema bei Bleeping Computer.