Récemment, les experts en sécurité d’Approach ont découvert une faille simple mais critique dans le processus de paiement mis en oeuvre par les grandes plates-formes de vente en-ligne. Parmi les différentes méthodes de paiement proposées (carte de crédit ou autres méthodes sécurisées), ces plates-formes permettent à leurs clients de payer en fournissant tout simplement un numéro de compte IBAN. Aucun mécanisme d’authentification – mot de passe, Digipass ou autre – n’est requis. L’argent est automatiquement débité du compte dont on a fourni le numéro IBAN et les articles achetés sont envoyés.
Nous avons tenté la manoeuvre – avec succès – sur Amazon.de mais nous aurions pu appliquer le même processus sur les sites d’autres grandes boutiques en-ligne, telles que thomascook.com, Zalando ou Eventbrite.
Comment avons-nous procédé?
Nous avons commencé par créer un faux compte en utilisant un faux nom et une adresse mail créée de manière aléatoire; nous avons ensuite acheté quelques articles pour un montant relativement élevé (jusqu’à 200 euros).
Pour l’étape du paiement, nous avons fourni le numéro IBAN d’un collègue et nous avons donné un faux nom à Amazon lorsqu’il nous a demandé le nom du titulaire du compte. Le paiement fut immédiatement accepté et les articles expédiés et livrés quelques jours plus tard.
Dans notre cas, nous avons fait livrer les articles à l’adresse officielle de notre société mais, pour rendre l’achat totalement anonyme, nous aurions pu choisir une livraison dans un des “Amazon Lockers”, ces boîtes en libre service installées dans des endroits publics, comme des gares. Une fois le colis livré, le client reçoit un code qui permet d’ouvrir le casier. Cette formule de livraison rend l’achat totalement anonyme. En aucune circonstance, vous ne devez en effet révéler votre identité, ce qui rend le délit… parfaitement légal pour des voleurs.
Cette facilité qu’il y a à utiliser des numéros IBAN est extrêmement problématique. Les numéros IBAN ne sont en effet pas considérés comme étant secrets. Nous les communiquons fréquemment à d’autres personnes et ils sont affichés par les banques lors de chaque transfert bancaire. Pire, il arrive que publier le numéro IBAN soit une obligation légale (par exemple, les entreprises doivent mentionner leur numéro lors de facturations trans-frontalières européennes).
Comment est-ce possible?
La découverte de cette faille n’a pas manqué de nous étonner. Comment ces boutiques en-ligne peuvent-elles être autorisées à collecter de l’argent auprès de n’importe quel compte sans le consentement de leur titulaire?
En cause? Le système SEPA Direct Debit. Cette nouvelle norme [Single Euro Payments Area], inaugurée en 2009 dans 34 pays européens, permet aux commerçants de puiser de l’argent dans n’importe quel compte à la condition expresse qu’ils soient détenteur d’un mandat valide signé par le titulaire du compte. Les prélèvements automatiques sont typiquement effectués pour des paiements récurrents, avec des sommes variant d’une transaction à l’autre (par exemple pour les factures de téléphone, d’énergie, les abonnements à des magazines…).
Pierre Alexis (Approach): “Votre code IBAN peut être utilisé par n’importe qui qui procède à des achats en-ligne. Nous avons ainsi réussi à acheter des produits, pour rien, sur Amazon…”
Les prélèvements automatiques n’ont rien de nouveau: ils existaient déjà bien avant l’arrivée de la norme SEPA. SEPA Direct Debit a par contre modifié la manière d’obtenir des mandats. Avant l’entrée en vigueur de la nouvelle norme, le client devait contacter sa banque et octroyer au commerçant un accès à son compte.
Le commerçant devait donc attendre que le client organise le mandat avant de pouvoir commencer à prélever de l’argent. Le processus pouvant prendre un certain temps et être source de “friction” avec le client, SEPA a décidé de simplifier le processus en inversant la responsabilité de la création du mandat.
Selon le mécanisme SEPA Direct Debit, c’est le commerçant qui a désormais la responsabilité d’obtenir un mandat signé du consommateur. La définition d’un mandat “valide”, tel que prévu par le SEPA, est claire: il s’agit d’un document papier ou électronique qui doit comporter certaines informations, expliquer la finalité du mandat et qui doit être signé par le client. Une fois le mandat créé, le commerçant peut immédiatement commencer à prélever de l’argent à partir du compte du client.
Pour sa part, la banque, supposant que les mandats existent, ne vérifiera pas leur existence et ne demandera pas au client d’approuver les prélèvements. Elle ne demandera au commerçant de produire le mandat qu’en cas de conflit.
Ce procédé inversé est, de toute évidence, dangereux dans la mesure où un commerçant malveillant pourrait aisément prétendre qu’il détient un mandat alors que ce n’est pas le cas. Pour protéger le client contre des fraudes éventuelles, le SEPA a toutefois prévu quelques règles de remboursement aisées. En cas de transaction non autorisée (par exemple, si le commerçant ne peut pas présenter de mandat valide), le client peut exiger un remboursement, jusqu’à 13 mois après le prélèvement automatique.
On le voit, le processus SEPA Direct Debit est un moyen facile pour les commerçants d’obtenir de l’argent. C’est la méthode qu’utilisent les principaux sites marchands pour prélever de l’argent sur n’importe quel compte. Mais le souci majeur, c’est qu’ils n’ont aucun mandat pour le faire. Ils n’identifient pas leur client de manière robuste et ne demandent pas une signature légale pour certifier le mandat.
Pierre Alexis (Approach): “La faille existe depuis très longtemps. Ce qui nous porte à croire que ces sites marchands sont totalement conscient des risques financiers qu’ils prennent. Et qu’ils comparent les pertes éventuelles résultant de fraudes avec le bénéfice que leur procure le fait de proposer une méthode de paiement commode.”
Résultat, ces commerçants prennent un risque énorme. En cas d’achat frauduleux, ils devront rembourser la banque sans préavis puisqu’ils ne pourront pas prouver à la banque qu’ils détiennent un mandat valide. Il semble que, jusqu’ici, ces sites marchands aient sciemment décidé de courir ce risque.
Les clients semblent donc bien protégés. Le SEPA a en effet anticipé la possibilité de fraude en proposant un solide mécanisme de protection aux clients. Mais… il a oublié un point important: la négligence des clients.
Même si toute utilisation abusive d’un numéro de compte IBAN peut aisément être signalée et être suivie d’un remboursement immédiat, le consommateur ne vérifie pas toujours ses extraits bancaires de manière adéquate. Un paiement que l’on n’a pas initié peut très bien ne pas être repéré, surtout lorsqu’il concerne un site marchand sur lequel on a coutume d’effectuer des achats. Chaque client court dès lors un risque élevé d’utilisation abusive.
Un processus davantage sécurisé s’avère nécessaire
Les consommateurs ne devraient pas être les victimes de potentiels prélèvements malveillants sur leur compte. Voilà pourquoi nous estimons que le processus de paiement par prélèvement automatique devrait être davantage sécurisé.
En tout premier lieu, les e-commerçants devraient obtenir de véritables mandats. C’est chose aisée à l’aide des technologies actuelles. Les services de signature et d’identité numérique se multiplient afin d’autoriser une identification forte des clients numériques et de procurer une signature qualifiée qui ne peut être répudiée. En Belgique, nous connaissons par exemple l’application itsme.
Un autre exemple de processus davantage sécurisé pour obtenir des mandats est donné par Digiteal. La société propose une solution de paiement et de facturation électroniques qui s’appuie sur la fonctionnalité de prélèvement automatique SEPA. Contrairement à Amazon, Digiteal fait en sorte que les clients soient correctement identifiés par le biais d’un processus de calibre bancaire (l’une de ses solutions implique une vérification de la carte d’identité électronique). Elle permet aussi de vérifier si le client a ou non accès au compte pour lequel le mandat sera créé (l’une des solutions proposées consiste à envoyer un cent sur le compte bancaire du client, parallèlement à l’envoi d’un code de validation).
Non seulement les e-commerçants devraient opter pour une création de mandat plus robuste mais nous estimons également que le SEPA devrait imposer des règles. Pour éviter que les commerçants n’assument le risque ou ne le transposent en partie vers les clients, SEPA devrait exiger que la banque du commerçant vérifie le processus d’obtention des mandats mis en oeuvre par le commerçant avant de l’autoriser à effectuer un prélèvement automatique SEPA.
Les banques des clients, pour leur part, devraient également assumer un rôle. Chaque fois qu’un nouveau mandat est généré sur un compte, elles pourraient immédiatement en avertir le client et lui demander d’approuver ou de refuser le mandat. Compte tenu des applis mobiles existant aujourd’hui, ce scénario n’est pas difficile à appliquer.
Les normes SEPA ont favorisé la convergence bancaire au sein de l’UE. Il est devenu très facile et peu onéreux d’effectuer des paiements trans-frontaliers au sein du marché unique numérique de l’UE. Il y va de notre responsabilité collective de les améliorer au bénéfice de chacun et pour des raisons de sécurité.
Dans l’intervalle, comment les consommateurs peuvent-ils se protéger?
Un client a plusieurs manières de se protéger. La plus simple – même si elle n’est pas la plus facile – consiste à vérifier régulièrement ses relevés bancaires à la recherche de prélèvements frauduleux.
Ensuite, certaines banques offrent la possibilité de bloquer le prélèvement automatique SEPA. Soit de manière systématique (toute demande adressée à votre compte sera refusée) ou en élaborant une liste blanche des comptes de tiers qui sont autorisés à prélever de l’argent sur votre compte. Vérifiez avec votre banque si c’est possible.
Par ailleurs, comment les entreprises peuvent-elles parer à ce genre de faille dans leurs processus?
Nos recherches ont démontré que le piratage d’un système numérique ne s’appuie pas toujours sur des problèmes techniques et ne requiert pas de super-compétences de hacker. Dans le cas présent – et nous le constatons souvent chez nos clients -, la faille réside dans le processus proprement dit et dans la mauvaise application des responsabilités.
Lorsque l’on s’intéresse à la sécurité d’un système, il est très important d’étudier chacune de ses facettes et de ne pas se concentrer uniquement sur les seuls aspects techniques. Cela inclut notamment les aspects de procédures, de gouvernance, de légalité et de sélection initiale de solution.
Pierre Alexis
Approach
Cyber Security Consultant
Découvrez-nous sur Facebook
Suivez-nous sur Twitter
Retrouvez-nous sur LinkedIn
Régional-IT est affilié au portail d’infos Tribu Médias.