Der Einsatz von Single-Sign-On-Verfahren (SSO) birgt für Unternehmen einige Vorteile, ist aber auch mit vielen Risiken verbunden. Gerbert Roitburd, Senior Consultant im usd HeroLab und Verantwortlicher für Single Sign-On Pentests, erläutert uns die Funktionsweise von Single Sign-On und was Unternehmen beim Einsatz solcher Lösungen beachten müssen.
Was ist Single Sign-On?
Single Sign-On ist eine Autorisierungs- und Authentifizierungsmethode, die es Benutzer*innen ermöglicht, sich mit nur einem Satz von Anmeldeinformationen bei mehreren Anwendungen, sogenannten Service Providern, anzumelden. Die Authentifizierung bzw. Autorisierung erfolgt über vertrauenswürdige Parteien, auch Identity Provider genannt, bei denen die Nutzer*innen bereits registriert sind. Wenn sich Benutzer*innen also auf einer Anwendung einloggen möchten, überprüft der Identity Provider die Anmeldeinformationen der Benutzer*innen und erteilt ihnen anschließend Zugriff. So reicht beispielweise oft der eigene Social Media Account aus, um sich auf einer Webseite anzumelden.
Single-Sign-On-Verfahren kommen auch im Unternehmenskontext immer häufiger zum Einsatz. Denn dies erlaubt es den Mitarbeiter*innen, sich auf diversen internen Anwendungen mit einem einzigen Benutzerkonto anzumelden und auf die IT-Assets zuzugreifen, für die sie autorisiert sind.
Die häufigsten zugrundeliegenden Standards bzw. Autorisierungs- und Authentifizierungsmechanismen für Anwendungen sind OAuth 2.0, OpenID Connect 1.0 und SAML, die in verschiedenen Kombinationen und Konfigurationen im Unternehmenskontext eingesetzt werden.
Welche Vorteile bringt die Verwendung von Single-Sign-On-Lösungen?
Single-Sign-On-Verfahren erhöhen die Benutzerfreundlichkeit, da Nutzer*innen meist nur noch einen Benutzernamen und ein Passwort benötigen, um sich bei mehreren Anwendungen anzumelden. Dieser vereinfachte Anmeldevorgang kann zudem die Sicherheit erhöhen, da die Anzahl der benötigten Anmeldeinformationen reduziert und die Wiederverwendung von meist schwachen Passwörtern gemindert wird.
Die oben genannten Vorteile sind auch für Unternehmen lockend, da so Benutzer- und Zugriffsberechtigungen effizient verwaltet werden können. Darüber hinaus können Unternehmen ihre Anwendungen dynamisch bei den Identity Providern eintragen lassen. Dies erleichtert die unternehmensübergreifende bzw. abteilungsübergreifende Zusammenarbeit enorm.
Welche Risiken sind mit dem Single-Sign-On-Verfahren verbunden?
Single Sign-On birgt seine ganz eigenen Gefahren. Denn erlangen Angreifende Zugriff auf ein verknüpftes Benutzerkonto, haben diese nun Zugriff auf alle Anwendungen, die beim Identity Provider für die Nutzer*innen hinterlegt sind. Wird ein Single Sign-On Identity Provider kompromittiert und seine Daten geleakt, kann dies verheerende Folgen für alle Nutzer*innen haben, deren Benutzeraccounts bei dem Identity Provider hinterlegt sind – insbesondere, wenn die kompromittierten Benutzerkonten für weitere Anwendungen verwendet werden.
Die Nutzung von aktuellen Authentifizierungs- und Autorisierungsverfahren, wie z.B. OAuth 2.0, ist kein Garant für Sicherheit. Denn sowohl Service Provider als auch Identity Provider können Fehler in ihrer Implementierung oder Konfiguration aufweisen. Diese können wiederum zu Schwachstellen führen, wodurch Angreifende Zugriff auf die darunterliegenden Anwendungs- und Nutzerdaten erlangen können.
Die Nutzer- und Anwendungsdaten von Single-Sign-On-Verfahren sind somit ein Asset, die es besonders zu schützen gilt. Dies macht eine sichere Implementierung von SSO-Lösungen essenziell für die IT-Sicherheit eines Unternehmens.
Was sind Empfehlungen, die du zur Erhöhung der Sicherheit oft gibst?
Im Allgemeinen lassen sich zwei Empfehlungen aussprechen, die Service oder Identity Provider umsetzen können, um die typischen Fallstricke zu umgehen.
- Es wird empfohlen auf bereits erprobte und sichere Bibliotheken zurückzugreifen. Insbesondere die Entwicklung von eigenen Bibliotheken für Authentifizierungs- und Autorisierungsprozesse ist oftmals fehleranfällig, da dies ein umfassendes Verständnis des Standards verlangt. Die Abläufe sind zum Teil komplex und werden nicht alle Details des Standards eingehalten, kann dies zu schwerwiegenden Schwachstellen führen. Zusätzlich ist die Wartung einer solchen selbstentwickelten Bibliothek mit großem Aufwand verbunden.
- Es gibt eine Reihe von Best Practices, die sowohl Service Provider als auch Identity Provider einhalten sollten, um möglichst gut abgesichert zu sein:
Zusätzlich kann das Zusammenspiel zwischen Identity Providern und Service Provider individuelle Schwachstellen ergeben. Mit einem Penetrationstest, kurz Pentest, wird die Sicherheit der SSO-Lösung überprüft, sodass Anwendungen und Benutzerdaten proaktiv geschützt werden.
Was ist ein Single Sign-On Pentest?
Bei einem Pentest übernehmen Security Analyst*innen die Rolle eines Angreifers. Sie überprüfen die IT-Landschaft eines Unternehmens auf Schwachstellen und Angriffspunkte, wobei sie auf Methoden, Techniken und Vorgehensweisen zurückgreifen, die auch reale Angreifende nutzen würden. Das Ziel ist, möglichst viele Schwachstellen zu finden, damit diese seitens des Unternehmens rechtzeitig behoben werden, bevor reale Angreifende sie ausnutzen können.
Single-Sign-On-Lösungen benötigen eine spezielle Form des Pentests, denn häufig sind solche Lösungen komplex aufgebaut und erfordern ein tiefgehendes Verständnis der Anwendung und zugrundeliegenden SSO-Standards, sowie eine breitgefächerte Erfahrung mit unterschiedlichen Technologien. Für die Überprüfung des Sicherheitsstands der implementierten SSO-Lösung ist ein spezielles Vorgehen nötig, das sowohl anwendungsspezifische Prüfelemente beinhaltet als auch SSO-spezifische Überprüfungen vornimmt. Hierzu zählt beispielsweise eine eingehende Analyse der Interaktion zwischen Nutzer*innen, Identity Providern und Service Providern.
Wie regelmäßig sollen Single Sign-On Pentest durchgeführt werden?
Wir empfehlen die Durchführung eines Single Sign-On Pentests vor dem produktiven Betrieb, damit identifizierte Schwachstellen vor der Inbetriebnahme behoben werden können. Außerdem können Veränderungen der bestehenden SSO-Lösung, wie beispielsweise Anpassungen der zugrundeliegenden IT-Umgebung, zu neuen Sicherheitslücken führen. Daher empfehlen wir unseren Kund*innen, Pentests regelmäßig im Zeitraum von einem Jahr zu wiederholen und fest in den Sicherheitsprozess zu integrieren.
Wie geht ihr bei Single Sign-On Pentests vor?
Meine Kolleg*innen und ich haben unsere Erfahrung und unser Know-How in eine spezielle Vorgehensweise zur Durchführung von Single Sign-On Pentests einfließen lassen. In Vorbereitung auf den Pentest stimmen wir uns eng mit unseren Kund*innen zum Prüfumfang ab. Dazu zählen beispielsweise der Zweck und das Rollenkonzept der Anwendung, Details zur implementierten SSO-Lösung und eingesetzte Technologien. Anschließend überprüfen wir die SSO-Lösung umfassend auf Schwachstellen und Fehlkonfigurationen sowie Einhaltung aller Best Practices des zugrundeliegenden SSO-Standards. Die Ergebnisse der Sicherheitsanalyse dokumentieren wir für unsere Kund*innen nachvollziehbar in einem detaillierten Bericht inklusive Maßnahmenempfehlungen zur Behebung von identifizierten Schwachstellen.
Sie möchten Ihre SSO-Lösung auf Einfallstore überprüfen lassen? Hier erfahren Sie mehr über unser Vorgehen und Schulungsmöglichkeiten zum Thema SSO. Kontaktieren Sie uns gern.