Unsere Security Analysten decken während ihrer Penetrationstests immer wieder Einfallstore in IT-Systemen und Anwendungen auf, die erhebliche Risiken für die Unternehmenssicherheit darstellen. Dabei begegnen ihnen vermehrt die gleichen Schwachstellen in unterschiedlichen IT-Assets, die teilweise schon seit Jahren bekannt sind. In unserer Mini-Serie stellen wir unsere Top 5 auffälligsten Schwachstellen aus 2020 vor. Teil 2: Broken Access Control
Hintergrund zur Schwachstelle
Als Broken Access Control bezeichnet man Schwachstellen, bei denen Endpunkte oder Funktionalitäten in einer Anwendung nicht ausreichend durch Authentifizierungs- oder Autorisierungsmechanismen geschützt sind. Angreifer können diese Endpunkte aufrufen, bzw. entsprechende Funktionalitäten verwenden, ohne dafür ausreichende Berechtigungen zu besitzen. Einer der häufigsten Gründe für das Auftreten der Schwachstelle besteht darin, dass lediglich eine clientseitige Validierung von Anfragen verwendet wird, während auf Serverseite keine weitere Prüfung erfolgt.
Beispielhafter Hackerangriff und seine Folgen
Bei unserem Beispiel handelt es sich um eine Anwendung, die Benutzeranfragen nur clientseitig validiert. Der folgende Screenshot zeigt eine entsprechende Fehlermeldung, wenn ein niedrig privilegierter Benutzer versucht, administrative Applikationsinhalte aufzurufen.
Obwohl ein niedrig privilegierter Benutzer den administrativen Bereich der Anwendung nicht angezeigt bekommt, kann er die oben gezeigte Anfrage absenden, um das Passwort eines beliebigen Benutzers zurückzusetzen. Informationen über den entsprechenden Endpunkt könnte ein Angreifer aus internen Quellen, dem JavaScript-Code der Anwendung oder durch einfaches Raten erhalten.
Maßnahmenempfehlung
Clientseitige Zugriffskontrolle sollte nie als einzige Schutzvorkehrung gegen unbefugten Zugriff verwendet werden. Wie oben demonstriert verhindert eine fehlende Darstellung innerhalb der Applikation nicht, dass ein Angreifer den Endpunkt dennoch verwendet. Nur eine Validierung auf Serverseite kann die unbefugte Nutzung eines Endpunktes verhindern. Dies gilt neben Webanwendungen insbesondere auch für Desktop-Anwendungen (Thick Clients).
Bitte beachten Sie, dass es sich hierbei um eine allgemeingültige Maßnahmenempfehlung handelt. Gern unterstützen wir Sie mit individuellen Lösungen. Sprechen Sie uns gern an.
In unserem Jahresbericht 2020 finden Sie mehr zu unseren Top 5 auffälligsten Schwachstellen und weitere spannende Themen.