{"id":237199,"date":"2020-11-03T06:58:09","date_gmt":"2020-11-03T05:58:09","guid":{"rendered":"https:\/\/www.borncity.com\/blog\/?p=237199"},"modified":"2020-11-11T01:25:44","modified_gmt":"2020-11-11T00:25:44","slug":"bankkonten-bernahme-mittels-oauth-2-0-openid-connect-1-0","status":"publish","type":"post","link":"https:\/\/borncity.com\/blog\/2020\/11\/03\/bankkonten-bernahme-mittels-oauth-2-0-openid-connect-1-0\/","title":{"rendered":"Bankkonten-&Uuml;bernahme mittels OAuth 2.0\/OpenID Connect 1.0"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" style=\"float: left; margin: 0px 10px 0px 0px; display: inline\" src=\"https:\/\/borncity.com\/blog\/wp-content\/uploads\/2015\/01\/Schutz.jpg\" width=\"40\" align=\"left\" height=\"47\"\/>Ein Million Bank-Konten \u00fcbernehmen, obwohl moderne Authentifizierungsverfahren genutzt werden? Durch eine fehlerhafte Implementierung ist das einem Sicherheitsforscher in den USA wohl gelungen. Die Schwachstelle ist inzwischen aber geschlossen. <\/p>\n<p><!--more--><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/vg06.met.vgwort.de\/na\/d6a7fe29a66d48ad8cb360db348651a8\" width=\"1\" height=\"1\"\/>Die Verwendung moderner Authentifizierungsverfahren wie OAuth 2.0 und OpenID Connect 1.0 kann Risiken bergen, wie ein Sicherheitsforscher demonstrieren konnte. Er hat seine Erkenntnisse in <a href=\"https:\/\/web.archive.org\/web\/20201103114003\/https:\/\/medium.com\/bugbountywriteup\/internet-bank-account-takeover-of-1m-users-real-scenario-e119a6a3267d\" target=\"_blank\" rel=\"noopener noreferrer\">diesem Medium-Beitrag<\/a> offen gelegt, nachdem die Schwachstelle geschlossen wurde. Ich bin \u00fcber nachfolgenden <a href=\"https:\/\/twitter.com\/Dinosn\/status\/1323209213347270658\" target=\"_blank\" rel=\"noopener noreferrer\">Tweet<\/a> auf das Thema aufmerksam geworden.<\/p>\n<p><a href=\"https:\/\/twitter.com\/Dinosn\/status\/1323209213347270658\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" title=\"Bankkonten&uuml;bernahme\" alt=\"Bankkonten&uuml;bernahme\" src=\"https:\/\/i.imgur.com\/vqre8E0.jpg\"\/><\/a><\/p>\n<h2>OAuth 2.0\/OpenID Connect 1.0<\/h2>\n<p>OAuth ist ein offenes Protokoll, das die Autorisierung in einer einfachen und standardisierten Methode von Web-, Mobil- und Desktop-Anwendungen erm\u00f6glicht. Dieser Mechanismus wird von Unternehmen wie Amazon, Google, Facebook, Microsoft und Twitter verwendet, um es den Benutzern zu erm\u00f6glichen, Informationen \u00fcber ihre Konten mit Anwendungen oder Websites Dritter zu teilen. F\u00fcr Internetbenutzer bietet die die M\u00f6glichkeit, Websites oder Anwendungen Zugang zu ihren Informationen auf anderen Websites zu gew\u00e4hren, ohne diesen die Passw\u00f6rter f\u00fcr den Zugriff auf die betreffenden Konten geben.<\/p>\n<p>OpenID Connect 1.0 ist eine Identit\u00e4tsschicht, die auf dem dem OAuth 2.0-Protokoll aufsetzt. Das erm\u00f6glicht es Clients, die Identit\u00e4t des Endbenutzers auf der Grundlage der von einem Autorisierungsserver durchgef\u00fchrten Authentifizierung zu \u00fcberpr\u00fcfen und grundlegende Profilinformationen \u00fcber den Endbenutzer auf interoperable und REST-\u00e4hnliche Weise zu erhalten. OpenID Connect erm\u00f6glicht es Clients aller Art, einschlie\u00dflich webbasierter, mobiler und JavaScript-Clients, Informationen \u00fcber authentifizierte Sitzungen und Endbenutzer anzufordern und zu erhalten.<\/p>\n<h2>Fehlerhafte Implementierung legt Zug\u00e4nge offen<\/h2>\n<p>Ein Sicherheitsforscher hat sich dann eine der bekanntesten Online-Banking-Anwendungen vorgenommen (die Bank wird aus Sicherheitsgr\u00fcnden nicht genannt, wegen der nationalen ID tippe ich auf ein US-Institut). Deren Online-Banking-Zugang erm\u00f6glicht f\u00fcr die Authentifizierung und Autorisierung von Benutzern per OAuth 2.0-Protokoll und OpenID Connect 1.0. <\/p>\n<p>Der Autorisierungsserver der Bank akzeptiert eine Authentifizierungsanforderung, die Parameter enth\u00e4lt, die sowohl durch die OAuth 2.0- als auch durch die OpenID Connect 1.0-Spezifikationen definiert sind. Nutzer m\u00fcssen Ihre Anmeldedaten, die sowohl Benutzername\/nationale ID als auch Passwort enthalten, eingeben, um sich bei Ihrem Internet-Banking-Konto anzumelden. Wer bereits identifiziert und in der Bank registriert ist, kann sich mit Benutzername\/nationaler ID und Passwort im Konto einloggen.<\/p>\n<blockquote>\n<p>In Deutschland kommen dagegen andere Anmeldedaten f\u00fcr Banken zum Einsatz und die PSD-Richtlinie erfordert die zyklische Best\u00e4tigung der Authentifizierung durch eine generierte TAN. <\/p>\n<\/blockquote>\n<p>\u00dcber den Weg \"Passwort vergessen\" versuchte der Sicherheitsforscher dann, ob er eine Authentifizierung ohne Anmeldedaten, nur mit OAuth 2.0\/OpenID Connect 1.0 hin bekommt. Die Angabe seiner Mobilfunknummer klappte nicht, aber die Angabe seiner nationalen ID reichte aus, um Zugang zum Konto zu bekommen. <\/p>\n<p>Eine unsachgem\u00e4\u00dfe Implementierung des OAuth-Protokolls war der Grund f\u00fcr diese Sicherheitsl\u00fccke. In diesem Fall wiest der Entwickler dem Benutzerkonto ein Zugriffstoken zu, bevor ein OTP (2FA-Code) an die Telefonnummer geschickt wird, um es zu \u00fcberpr\u00fcfen. Wenn sich die nationale ID des Opfers in der Datenbank befindet, wird sie durch OpenID authentifiziert, und der Benutzer wird mit einem Zugriffstoken im URL-Fragment zur\u00fcck zur Anwendung umgeleitet. <\/p>\n<p>Der Sicherheitsforscher hat dann eine nationale ID-Datenbank verwendet und einen praktischen Exploit geschrieben, um mehr als eine Million Bankkonten zu hacken. Der Fall wurde als Lehrbeispiel ver\u00f6ffentlicht, um zu zeigen, wie eine fehlerhafte Implementierung trotz OAuth 2.0-Protokoll und OpenID Connect 1.0. eine gro\u00dfe Sicherheitsl\u00fccke aufrei\u00dft. Details sind in <a href=\"https:\/\/web.archive.org\/web\/20201103114003\/https:\/\/medium.com\/bugbountywriteup\/internet-bank-account-takeover-of-1m-users-real-scenario-e119a6a3267d\" target=\"_blank\" rel=\"noopener noreferrer\">diesem Artikel<\/a> abrufbar.<\/p>\n<blockquote>\n<p>Ich denke hier vor allem um die \u00d6ffnung der Bankkonten durch die <a href=\"https:\/\/de.wikipedia.org\/wiki\/Zahlungsdiensterichtlinie\" target=\"_blank\" rel=\"noopener noreferrer\">PSD2<\/a> im Hinblick auf die Datenanalyse durch Drittanbieter. Bisher hatten deutsche Banken gute Sicherheitsmechanismen. Durch die \u00d6ffnung f\u00fcr Dritt-Applikationen per PSD2-Schnittstellen muss da eventuell genauer hingeschaut werden. Zumindest bleibt bei mir ein absolut mulmiges Gef\u00fchl, wenn ich gezwungen w\u00e4re, irgendwelcher obskuren Software oder Banking-Apps den Zugang zu meinen Bankkonten zu gew\u00e4hren. <\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Ein Million Bank-Konten \u00fcbernehmen, obwohl moderne Authentifizierungsverfahren genutzt werden? Durch eine fehlerhafte Implementierung ist das einem Sicherheitsforscher in den USA wohl gelungen. Die Schwachstelle ist inzwischen aber geschlossen.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[426],"tags":[4328],"class_list":["post-237199","post","type-post","status-publish","format-standard","hentry","category-sicherheit","tag-sicherheit"],"_links":{"self":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/237199","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/comments?post=237199"}],"version-history":[{"count":0,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/237199\/revisions"}],"wp:attachment":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/media?parent=237199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/categories?post=237199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/tags?post=237199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}