Der Inside-Out-Sicherheits Blog - Der Inside-Out-Sicherheits Blog

Was uns Magic Kingdom in Sachen Authentifizierung lehrt – Kerberos aus der Nähe betrachtet, Teil I

Geschrieben von Michael Buckbee | Aug 19, 2014 8:04:00 AM

Die NTLM-Lücken über die ich bereits berichtete könnten zu der Annahme führen, dass eine wirklich sichere Authentifikation in einer gemeinsam genutzten Umgebung kaum möglich ist. Zum Glück ist der Kampf gegen Hacker nicht komplett aussichtslos. Forscher des MIT entwickelten bereits in den 1980er Jahren eine wirkungsvolle Open-Source-Software, die sogenannte Kerberos-Authentifizierung. Sie existiert bis heute und bietet eine sichere Lösung für genau diesen Themenbereich.

Aber wie gut ist Kerberos wirklich? Selbst Microsoft empfiehlt es als ausgereifte Lösung und unterstützt Kerberos, wenn auch durch eine eigene Version. Das Kerberos-Protokoll ist komplizierter aufgebaut als das NTLM-Protokoll. Zudem weitaus schwieriger zu implementieren, allerdings ist das eine Mühe, die sich lohnt und kaum in nur einem Blogartikel beschrieben werden kann.

Kerberos nutzt komplexe Interaktionen, in denen „Tickets“  oder Token von Kunden über verschiedene Server im Guardian-Umfeld geleitet werden. Anstelle Kerberos mit den üblichen Protokoll-Diagrammen näher zu erläutern, habe ich mich für eine andere Lösung entschieden.

Auch wenn es wohl nicht mehr nachprüfbar ist – es ist durchaus möglich, dass sich die Kerberos-Entwickler von ganz realen Authentifizierungssystemen haben inspirieren lassen. Vielleicht sogar von solchen wie sie in Freizeitparks wie Disney World tagtäglich benutzt werden.

Die allgemeine Standardeintrittskarte (Kerberos’s Ticket Granting Ticket)

Mein letzter Besuch im Magic Kingdom liegt schon eine ganze Weile zurück. Dennoch erinnere ich mich an ein allgemeines Standardeintrittsticket, mit dem es erlaubt war den Park zu betreten und bestimmte Fahrgeschäfte zu nutzen – wer sich für die Historie interessiert, folgt diesem Link.

Kerberos legt diesbezüglich ein ähnliches Konzept zugrunde. Es unterscheidet sich von NTLM, da Nutzer und Client-Applikationen mit einem sogenannten „Key-Distribution-Center“ (KDC) interagieren müssen. Die eigentliche Anmeldung liegt vor der Authentifizierung und der nachfolgenden Verwendung einzelner Dienste.

Sie können das mit dem Eingangstor in Disney World vergleichen. Hier müssen Sie zunächst eine allgemeine Standardeintrittskarte erwerben, wie beim Kerberos KDC Login-Dienst. Hier wird bereits eine erste Authentifizierungsprüfung vorgenommen. Kerberos würde sich an dieser Stelle auf das sogenannte Ticket Granting Ticket (TGT) beziehen. Nun erlaubt das Standardticket es zwar einige Fahrgeschäfte zu nutzen, für die besonders guten und aktuellen wie „Pirates of the Caribbean“, muss man aber gesonderte und individuelle Tickets erwerben. Sind Sie also erst ein Mal im Park dient das Ticket als Nachweis, dass Sie sich hier aufhalten dürfen und den Eintrittspreis bezahlt haben. Im nächsten Schritt können individuelle Tickets benutzt oder weitere gekauft werden.

Es braucht drei…Faktoren zur Authentifizierung

Eine Authentifizierung unter NTLM ermöglicht eine binäre Beziehung zwischen einem Benutzer und einem Server ohne zentrale Authentifizierungsstelle. So wie auf dem Rummel, wo das Ticket – üblicherweise leicht zu fälschen – direkt dem Kontrolleur gezeigt wird.

Kerberos hat eine neue, dritte Komponente in dieses System eingeführt – das KDC.

In der physischen Welt ist ein komplexes Verwaltungsverfahren erforderlich, um die Fälschung von Dokumenten wie Tickets, Reisepässen oder Führerscheinen zu verhindern und die rechtmäßige Inhaberschaft sicherzustellen. Natürlich existieren diese Herausforderungen  auch in der digitalen Welt. Es überrascht also nicht, dass Kerberos TGT ähnlich komplex ist.

Wie NTLM verwendet auch Kerberos Passwörter und andere IDs indirekt als Schlüssel, um bestimmte Informationen zu verschlüsseln. Um den Authentifizierungsprozess zu starten, sendet der Kerberos-Client die grundlegenden Identitätsdaten – den Nutzernamen und die IP-Adresse – zum KDC. Die KDC-Anmeldung prüft, ob diese mit der internen Datenbank übereinstimmen und bereitet den TGT vor – sozusagen die digitale Version des Disney-Tickets. Der KDC erzeugt zunächst eine zufällige Session-ID. Diese verwendet es als Schlüssel, um die Identifizierungsinformationen des Client zusammen mit der Sitzungs-ID und einigen Zeitstempeln zu versenden.  Heraus kommt das sogenannte TGT. Anders ausgedrückt enthält das TGT einige einzigartige Daten über den Benutzer zusammen mit dem Schlüssel, der im nächsten Schritt zum Entschlüsseln verwendet werden kann.

Um das alles zu bewerkstelligen, benötigt der Client die Session-ID. Natürlich kann diese nicht in Klartext übersendet werden – die Session-ID muss also ihrerseits verschlüsselt werden. Als Grundlage wird das Passwort des Nutzers beziehungsweise der passende Hash genutzt. Die verschlüsselte Sitzungs-ID und die verschlüsselten TGT werden dann als Datenblöcke zurück an den Nutzer gesendet.

In der kleinen, authentifizierten Welt

Damit dieses System funktioniert, nimmt Kerberos traditionell an, dass nur der Benutzer und der KDC das Passwort kennen. Die Client-Software fragt den Nutzer nach seinem Passwort und verwendet dann dessen Hash, um die zurück gesendete Session-ID zu entschlüsseln. Die entschlüsselte Session-ID wird dann zur Entschlüsselung des TGT verwendet.

Ab diesem Zeitpunkt hat der Kerberos-Client Zugriff auf die gesamte IT-Umgebung. Wie die Kunden bei Disney benötigt er aber weitere Berechtigungen, um auf dem Server Änderungen vorzunehmen.

Der Nutzen dieser ersten Interaktion liegt darin den TGT zu bekommen. Der Client wurde zu dem Zeitpunkt authentifiziert, ab dem er den Hash des geheimen Nutzerpassworts besitzt, welches die Session-ID verschlüsselt. Der Sever ist genau dann authentifiziert, wenn er die Session-ID erhalten hat, um das TGT zu verschlüsseln.

Wie ich beim letzten Mal schon angemerkt habe sind Rouge-Server ein Problem für das NTLM Challenge-Response-Protokoll. Kerberos löst dieses Problem vollständig. Sowohl bei der ersten Authentifizierung, als auch für die individuellen Zugriffe.

Soweit erst ein Mal. Im nächsten Artikel werde ich mich dann mit dem Rest des Kerberos-Prozesses beschäftigen.

The post Was uns Magic Kingdom in Sachen Authentifizierung lehrt – Kerberos aus der Nähe betrachtet, Teil I appeared first on Varonis Deutsch.