Usurpation d'identité allemande avec authentification en ligne et financement des réfugiés en Allemagne


Carte d'identité allemande

Le spécialiste de la sécurité Wolfgang Ettlinger de SEC Consult Vulnerability Lab a décrit une technique de falsification des données (y compris le nom et l'adresse) lors d'une vérification en ligne des identifiants allemands.

Les cartes d'identité allemandes sont délivrées à partir du 1er novembre 2010. Chaque carte contient une puce RFID qui stocke des informations sur le propriétaire, y compris le nom, la date de naissance et la photo biométrique. Si le propriétaire le souhaite, il peut enregistrer un scan d'empreintes digitales.

Les nouvelles cartes sont lisibles par machine et peuvent être utilisées comme documents de voyage dans la plupart des pays européens, ainsi que pour l'authentification dans les services gouvernementaux en ligne (fiscaux, postaux) ou pour vérifier l'âge. Ils sont utilisés pour authentifier les utilisateurs dans certains services en ligne, y compris sur le portail de déclaration fiscale .

L'authentification RFID est effectuée à l'aide d'un lecteur de carte et d'une application client eID (par exemple, AusweisApp 2 ), qui interagit avec la puce RFID et le serveur d'authentification (eID-Server ou SAML-Processor) pour vérifier les informations de connexion.



Pour empêcher la falsification d'identité, le serveur d'authentification valide les informations, puis signe la réponse envoyée au serveur Web par le client afin que le service Web puisse faire confiance à la légitimité des données reçues.

Wolfgang Ettlinger a trouvé un moyen de tromper une application Web en lui envoyant des données modifiées. La capture d'écran montre comment il s'est authentifié avec succès dans l'application officielle sous le nom de Johann Wolfgang von Goethe, un célèbre écrivain allemand. Le formulaire montre l'adresse où l'écrivain a vécu 50 ans, où se trouve aujourd'hui le musée Goethe.



La vulnérabilité se trouvait dans le SDK Governikus Autent, un composant logiciel permettant d'intégrer des fonctionnalités d'authentification dans des applications Web. L'inclure implémente la fonction de vérification d'authentification à partir du client eID. L'essentiel, c'est que la vérification s'effectue en deux étapes indépendantes . Lors de la première étape, la signature d'authentification du serveur d'authentification est vérifiée, et lors de la deuxième étape, les données elles-mêmes, y compris l'identité du propriétaire. En conséquence, il devient possible d'envoyer deux réponses SAML indépendantes à l'application: la première avec une signature valide et la seconde avec de fausses données et sans signature.

L'exploit exploite le fait que le SDK Governikus Autent vérifie la signature à l'aide de la méthode HttpRedirectUtils.checkQueryString , qui n'envisage pas d'utiliser plusieurs fois le même paramètre. Ainsi, après vérification du paramètre, les autres instances sont analysées comme si elles avaient déjà réussi le test.

Voici comment cette méthode est appliquée dans une application réelle:

 // check the signature of the SAML response. There is no XML signature in this response but the // parameter are signed. if (!HttpRedirectUtils.checkQueryString(request.getQueryString(), SamlExampleHelper.SERVER_SIG_CERT)) { storeError(request, response, "Signaturprüfung der SAML-Response fehlgeschlagen!"); return; } 

La méthode reçoit la chaîne de requête, l'analyse, crée une version canonique de la chaîne de requête et vérifie la signature.

Ensuite, la réponse SAML est analysée:

 // get the parameter value String samlResponseBasee64 = request.getParameter(HttpRedirectUtils.RESPONSE_PARAMNAME); [...] // parse the SAML Response. ParsedResponse parsed = parser.parse(samlResponse); 

Comme déjà mentionné, HttpRedirectUtils.checkQueryString n'envisage pas d'utiliser le paramètre plusieurs fois, en utilisant toujours la dernière valeur du paramètre.

Pour réussir à exploiter la vulnérabilité, un attaquant a besoin d'une chaîne de requête signée par le serveur d'authentification. Les détails tels que l'heure de la signature ou la personne pour laquelle elle a été demandée n'ont pas d'importance. Même si la chaîne de requête est valide pendant une courte période, un contrôle de validité est effectué pour les données sur la carte d'identité. Selon le chercheur, obtenir une demande valide ne sera pas difficile si vous savez où chercher, car elles sont disponibles via une recherche Google dans les journaux du client eID.

Les chercheurs montrent leurs résultats sur vidéo:


Applications Web vulnérables exécutant Governikus Autent SDK 3.8.1 et les versions antérieures qui gèrent les paramètres HTTP en double. La vulnérabilité peut être utilisée, par exemple, pour s'inscrire à des services en ligne sous un nom supposé.

Pourquoi pourriez-vous avoir besoin d'un tel faux nom? Vous pouvez donner un exemple aussi abstrait. Récemment, le ministère allemand de l'Intérieur a lancé l'initiative «Retour volontaire» , dans le cadre de laquelle il finance tout étranger qui souhaite rentrer volontairement chez lui. Payer un billet et un logement au gouvernement est moins cher que d'expulser de force un réfugié ( 700 contre 1500 euros ), c'est-à-dire que le financement a du sens.


Campagne publicitaire dans le métro de Berlin: pour les réfugiés qui ont notifié aux autorités allemandes leur départ volontaire vers leur pays d'origine jusqu'au 31 décembre, la location annuelle de logements dans leur pays d'origine est indemnisée

Théoriquement, tout étranger peut venir en Allemagne, demander le statut de réfugié, recevoir un refus - et être immédiatement financé dans le cadre de ce programme. Le seul problème pour le fraudeur est que vous ne pouvez faire cette astuce qu'une seule fois. De toute évidence, les services vérifieront alors que la prestation n'a pas encore été émise en son nom. Mais si vous vous inscrivez au programme sous un nom différent, l'argent peut être reçu plusieurs fois (théoriquement).

Bien entendu, l'usurpation d'identité électronique allemande ne permettra pas à un fraudeur détenteur d'un passeport étranger d'arriver en Allemagne sous un nouveau nom. Mais cet exemple montre que chaque système de sécurité doit avoir des vulnérabilités. La seule question est le désir et les ressources pour les trouver.





Source: https://habr.com/ru/post/fr431060/


All Articles