# Attaque par relais

Une attaque par relais, connu en anglais sous le nom de « relay attack », est un type d'attaque informatique, similaire à l'attaque de l'homme du milieu et l'attaque par rejeu, dans lequel un attaquant ne fait que relayer mot pour mot un message d'un expéditeur vers un récepteur valide.

## Principe

Le principe de l'attaque par relais établit que deux victimes croient communiquer directement entre elles et ne s'aperçoivent pas qu'un système pirate relaie leur dialogue.
Le scénario pour mener à bien une telle entreprise est d'introduire un faux couple d'interlocuteurs dans un dialogue normalement directement conduit entre deux correspondants légitimes.
On parle d'attaque passive lorsque le dialogue, initié par une des deux victimes vers son correspondant, est intercepté puis relayé par un attaquant qui a l'intention de tirer profit des données échangées sans pour autant chercher à les modifier. Par contre si un piratage est mené dans le but d'altérer les informations transmises on utilise alors le terme d'attaque active$^,$.
Le faux client Cf se charge d'intercepter les informations émises par un vrai serveur S tandis que le faux serveur Sf assure cette même tâche auprès d'un bon client C. Via un moyen de communication adapté, les faux serveur et client doivent établir un relais de la communication sans se faire repérer. L'idée d'une telle manipulation est remarquable dans le sens où elle se réalise sur la couche la plus basse de la liaison afin de s'affranchir des différentes sécurisations de communication habituellement déployées$^,$. Dans la pratique le couple d'équipements composant le système frauduleux peut éventuellement être agrégé en un seul dispositif matériel mais sera toujours composé de deux interfaces Sf-Cf assurant chacun les rôles précédemment décrits.
Le but de l'attaque par relais est de pouvoir usurper l'identité ou les droits d'un utilisateur. Le pirate sera en mesure de contourner des systèmes de contrôle d'accès, de frauder des systèmes de paiement, de détourner des votes par bulletins électroniques, de s'introduire et de communiquer sur tout réseau sur lequel il ne serait normalement pas admis. Il pourra également accéder à des fichiers réservés ou inonder (Spam) des messageries de courriers électroniques.

## Historique

Si le principe d'une attaque par relais a été défini de façon théorique dès 1976, il n'a trouvé ses applications pratiques qu'au début du XXIe siècle. Les attaques par relais ont été conduites, dans un premier temps, à l'encontre de services disponibles sur le réseau Internet, puis, dès 2004, à l'encontre des systèmes de communication sans fil (Bluetooth, étiquettes électroniques...).
La chronologie, ci-après reprend les grandes dates du développement des attaques par relais.

### 1976

Conway propose le problème du "Maître des échecs", où il décrit comment une personne qui ne connait même pas les règles, peut défier deux maîtres en les affrontant dans un jeu par courrier. Le joueur n'aurait qu'à transmettre les mouvements d'un maître à l'autre, les faisant en fait jouer l'un contre l'autre. Une attaque par relais est une extension de ce scénario à un ou plusieurs protocoles de sécurité.

### 1978

Le premier SPAM ou pourriel est envoyé sur Arpanet par Gary Thuerk, démontrant qu'il est possible d'utiliser frauduleusement un serveur de messagerie (via sa fonction Relais) pour envoyer des messages électroniques en nombres. Le pirate se sert du serveur de messagerie pour relayer ses messages en masquant son identité derrière celle du serveur victime.

### 1988

L'attaque appelée « Mafia fraude » est décrite pour la première fois par Y. Desmedt lors du SecuriCom 88 SEDEP, Paris, France. C'est une attaque en temps réel qui ne nécessite aucune connaissance des schémas d'identification, réalisée par deux entités frauduleuses un Prouveur (P') et un Vérifieur (V'). Elle permet à P' de convaincre un Vérifieur légitime (V) qu'il dialogue directement avec un Prouveur légitime (P) sans connaître les informations qui sont échangées. Quand P est prêt pour commencer le dialogue avec V', V' établit une communication radio avec P' et envoie toutes les informations qui lui sont transmises par P vers P' qui retransmettra à V. Le même mécanisme est mis en œuvre par P' qui transmettra les informations reçues de V vers V' qui retransmettra à P. V' et P' fonctionnent comme une seule entité transparente entre V et P sans que V et P s'aperçoivent de la fraude.
Ce mécanisme est entre autres utilisé pour le piratage des paiements par carte bancaire.

### 2001

Des attaques sur le service de partage de ressources SAMBA sont réalisées et documentées sur Internet par un groupe de pirates, donnant aux pirates un accès à des fichiers normalement interdits.

### 2004

Une publication de A. Levi fait état d'attaque par relais sur le protocole d'authentification Bluetooth.

### 2005

Une attaque sur des cartes à la norme (ISO/IEC 14443 (en)) destiné à la Radio-identification est mise en pratique et publiée par Gerhard Hancke. La RFID devient vulnérable.

### 2006

Ilan Kirschenbaum & Avishai Wool mettent en application la théorie d'augmentation de la distance de fonctionnement entre un dispositif sans fil RFID et un lecteur.

### 2007

R. Halprin décrit une attaque par relais humain sur le système Captcha. Il utilise à son insu un humain pour saisir le texte du Captcha qui sera redirigé vers un site victime.
Lors du USENIX Security Symposium, une publication de Saar Drimer démontre le système d'attaque par relais sur les cartes bancaires de paiement.

### 2009

Yossef Oren & Avishai Wool réalisent plusieurs attaques par relais sur un système de vote électronique israélien.
A. Lahmadi publie un article illustrant dans le détail la vulnérabilité de la méthode Digest access authentication (en) permettant à un pirate de communiquer au travers d'un proxy réseau aux dépens d'un utilisateur légitime.

### 2010

A. Francillon décrit une attaque par relais sur des véhicules sans clé (PKES) permettant à un voleur d'ouvrir un véhicule à l'insu de son propriétaire. Le relais consiste à faire croire au véhicule que son propriétaire se trouve proche, alors qu'il est en fait à plusieurs dizaines de mètres.
Une étude de faisabilité sur une attaque par relais sur des mobiles NFC communiquant via NFCIP (ISO/IEC 18092 (en)) est réalisée en laboratoire par L. Francis et G. Hancke.

## Illustration sur différentes technologies

L'attaque par relais est réalisable dans une grande variété de situations et peut donc être exploitée sur tout modèle client-serveur habituellement présent dans les différentes technologies de l'information et de la communication.

### Communications radio
#### RFID

En 2005 Gerhard Hancke est passé avec succès de la théorie à la réalisation pratique d’une maquette démontrant une attaque sur des cartes à la norme (ISO/IEC 14443 (en)) destiné à la Radio-identification. Sa démonstration était applicable sur une distance pouvant aller jusqu’à 50 mètres entre la carte et le lecteur attaqués, car elle s’appuie sur une technique basique de relais du canal physique, avec l’exécution d’une simple modulation/démodulation par les équipements pirates placés à proximité des deux extrémités.

#### Véhicules sans clé

En 2010 A. Francillon a décrit un type d’attaque par relais sur des véhicules sans clé (PKES) permettant à un voleur d'ouvrir ou de fermer la voiture tout en se tenant éloigné dans une zone allant de 2 à 8 mètres. Il peut alors autoriser l'ouverture des portes et le démarrage du moteur en provoquant un ordre direct de la vraie clé en UHF fonctionnel jusqu'à 100 mètres.
Le système de la première attaque via un câble coaxial est composé de deux antennes radio connectées ensemble par un câble. Quand l'antenne est présentée près de la porte du véhicule elle capture le signal de la balise. Ce champ magnétique excite l'antenne qui crée, par induction, un signal en sortie d'antenne. Via le câble, ce signal électrique est ensuite transmis à la seconde antenne qui engendre un champ magnétique omni-directionnel. Ce champ radio excite alors l'antenne de la clé qui démodule le signal et envoie au véhicule via UHF l'ordre d'ouverture et de déverrouillage du démarrage.
Le système de la seconde attaque sans câble est composé de deux antennes radio, d'un émetteur et d'un récepteur. L'émetteur capture le signal pour le convertir en ondes 2,5 GHz puis l'amplifie pour transmission. Le récepteur qui reçoit ce signal le convertit et envoie l'ordre de départ à l'antenne de la clé. Le système d'ouverture et de déverrouillage du démarrage est alors activable comme pour l'attaque via câble.

#### Téléphones mobiles NFC

L. Francis et G. Hancke ont décrit en 2010 une attaque par relais réalisée sur des mobiles NFC communiquant via NFCIP (ISO/IEC 18092) en P2P. Deux mobiles pirates ont réussi à faire le relais durant l'initialisation de la transaction P2P en communiquant en Bluetooth entre eux. L'étude de faisabilité a été réalisée en laboratoire sur une transaction basique : Le mobile A joue le rôle d'initiateur de la transaction et envoie un message sur 2 bits au mobile B qui devient à son tour l'initiateur en envoyant un autre message de 2 bits au mobile A. Le but était simplement de démontrer qu'il est possible de relayer cet échange via deux autres mobiles pirates sans pour autant chercher d'applications pratiques à cette attaque.

#### Systèmes de vote électronique

En 2006, Ilan Kirschenbaum et Avishai Wool ont mis en application la théorie d'augmentation de la distance de Ziv Kfir and Avishai Wool permettant d'étendre la distance de fonctionnement entre un dispositif sans fil et un lecteur. Dans les faits ils obtiennent un fonctionnement de l’ordre de 25 cm environ au lieu des 5 cm habituels ce qui constituait un premier élargissement des possibilités d'attaque.
En 2009, Yossef Oren & Avishai Wool indiquent, malgré la mise en œuvre de systèmes d'appairage entre console de votes et bulletins électroniques RFID, plusieurs attaques par relais possibles sur un système de vote électronique israélien.
On retiendra les attaques suivantes :

##### Sniffing Ballot$^,$

    un attaquant peut lire les votes déjà contenus dans l'urne. Il utilise pour cela depuis l'isoloir un lecteur pirate relayant la lecture du ou des bulletins vers le terminal de vérification des votes.

##### Ballot Stuffing$^,$

    il s’agit de modifier en masse les votes existants dans l’urne. Pour cela, une carte pirate est proche du terminal de vote dans l'isoloir et l'attaquant en réalisant son vote, relaie le signal de vote vers un ou plusieurs bulletins électronique situé dans l'urne. Cette attaque est considérée comme indétectable car même s'il y a une différence entre le nombre de votes comptabilisés par le terminal et le nombre de bulletins dans l'urne, c'est le comptage des bulletins qui fera foi.

#### Bracelet électronique

L’attaque par relais peut également être utilisée pour déjouer la surveillance par bracelet électronique mise en œuvre pour les procédures judiciaires d’assignation à résidence surveillée.

#### Bluetooth

Dès 2004 une publication fait état d'attaques par relais possibles sur le protocole d'authentification Bluetooth même si cette partie de la communication est sécurisée. Pour procéder à l'attaque un certain nombre de conditions favorables doivent être remplies. Une fois le relais établi l'attaquant peut ensuite modifier les transferts d'informations entre les équipements piégés ou leur transférer lui-même de fausses informations.

### Cartes de paiement

L'attaque par relais peut être développée contre des cartes de paiement. Malgré le haut niveau de protections mises en œuvre sur cette technologie, faire utiliser un faux lecteur de carte à un client est toujours possible. On peut ainsi imaginer le cas d'une personne qui voudrait payer son repas : lorsqu'elle présente sa carte au faux lecteur d'un employé escroc, celui-ci relaie la transaction via un ordinateur portable équipé d'une connexion réseau vers un complice situé dans une bijouterie par exemple. Ce dernier sera lui-même équipé d'un dispositif de communication ad hoc et d'une carte de paiement contrefaite. En synchronisant l'achat des bijoux avec le paiement du repas, les escrocs peuvent ainsi réussir à faire valider un achat d'un montant très important dans une bijouterie. À distance et à son insu la victime valide donc l'achat des escrocs alors qu'elle pense être en train de payer le prix raisonnable de son repas.

### Messagerie électronique

Ces attaques utilisent la faille de l'Open mail relay pour réexpédier des messages n'appartenant pas au domaine propre du serveur. Il n'est donc pas conseillé de laisser un serveur de messagerie en relais ouvert sur l'Internet comme indiqué par le site Internet de la Sécurité Informatique Française
Des études sur la lutte contre le Spam recommandent la mise en place de protectioncontre ce relais de message non sollicité.

### Sites Internet

Un autre type d'attaque par relais concerne la sécurité des publications sur les sites internet.
Pour faire face au Spam et aux robots Internet qui prolifèrent sur la toile, il est nécessaire de réaliser de manière automatisée la différence entre un interlocuteur humain et informatique. Le Captcha en est un exemple d'application.
Malgré la sécurisation qu'il procure, le Captcha est désormais sensible à une attaque par relais, consistant à relayer une demande d'identification d'une image Captcha d'un site légitime à un internaute humain utilisateur d'un site relayeur attrayant. De ce fait, l'humain vérifie le Captcha et rend la réponse informatique au faux site qui le relaiera au robot chargé d'attaquer le site initial.

### Partage de ressources

En 2001, Sir Dystic (en), un pirate du groupe CULT OF THE DEAD COW (cDc), publie un logiciel (SMBRelay (en)) permettant de réaliser une attaque par relais sur le protocole de partage de ressources SMB sur des réseaux locaux avec des machines sous Windows.
Il faudra attendre 7 ans pour qu'en novembre 2008 Microsoft publie un bulletin de sécurité au sujet de cette faille.
Comme le système d'exploitation Microsoft Windows essaye automatiquement de se loger en tant qu'utilisateur courant si aucune autre authentification n'est explicitement fournie, si un attaquant force une connexion Netbios depuis sa cible il peut récupérer les informations d'authentification de l'utilisateur courant.
Il est très facile de forcer une connexion Netbios, par exemple en envoyant un courriel ou en dirigeant la victime vers un site Web qui fait référence à un fichier image qui pointe vers un lien du type file://, de ce fait, les informations d'authentification de l'utilisateur seront transmises au serveur Netbios. Après que l'authentification soit complète, le client est déconnecté et l'attaquant reste connecté au serveur cible piratant la connexion tant que la victime est connectée. L'attaquant va s'emparer de l'information et va pouvoir la rejouer sur le réseau pour obtenir un accès aux données de la victime. L'attaquant aura les mêmes droits que la victime, si ce sont des droits administrateur il aura un accès total à la machine.
SMBRelay (en) est un programme qui tire parti du protocole de partage de fichiers SMB. On trouve très facilement sur Internet des guides pour réaliser une attaque par relais via SMBRelay.

### Session de communication multimedia

Pour le protocole SIP on trouve une rédaction IETF illustrant dans le détail la vulnérabilité de la méthode (Digest access authentication (en) permettant à un pirate de communiquer au travers d'un proxy réseau aux dépens d'un utilisateur légitime.
Le pirate peut user de plusieurs stratagémes pour forcer sa victime à émettre un message re-INVITE d'authentification alors qu'il intercale son propre client SIP (user agent) entre celui de l'utilisateur légitime et le proxy réseau.
Il profite alors du fait que les messages SIP sont transmis en texte clair pour récupérer les attributs rattachés au profil de l'utilisateur légitime. Il peut ensuite s'enregistrer et initier des sessions (passer des appels voix voip par exemple mais aussi transférer des données ou établir des communications vidéo) sur le compte de l'utilisateur légitime.
Dans un souci d'optimisation de gestion des services et réseaux, la conception même de SIP intègre que les routeurs soient en mesure de modifier certains messages afin d'adapter au mieux la transmission des sessions établies ou en cours d'établissement. Le mécanisme de routage des messages SIP entre les différents serveurs relais (ou proxy) constitue donc en soi une vulnérabilité qu'il convient de sécuriser. Ce type de vulnérabilité est aisément reproductible dans le contexte d'un réseau privé (IPBX de type Asterisk) installé en entreprise.

## Contre-mesures existantes
### Communications radio

Fin 2010 un groupe d'étude mené avec Gildas Avoine a publié une analyse où il est mis l’accent sur le fait que l’allongement du temps d’aller-retour de la transmission (RTT - Round Trip Time) généré par un mécanisme de relais constitue un facteur clé pour gérer la sécurisation du lien physique.
Du point de vue du pirate, il apparaît dès lors judicieux, ceci afin de déjouer certaines contre-mesures d’attaque, d’établir des stratégies permettant de différer, par anticipation ou retardement, l’envoi des messages requêtes/réponses échangés entre lecteur et étiquette RFID.
La technique de Distance-bounding protocol est à ce jour la contre mesure générique la plus envisagée. Cette notion a été introduite dès 1993 par Stefan Brands (en) et David Chaum. Associée au calcul du temps de transmission (appelé Round-Trip delay Time) elle vise à borner autour du lecteur le périmètre de fonctionnement de la carte RFID. Elle se base sur le fait qu’un signal radio ne peut pas être propagé plus rapidement que la vitesse de la lumière. Cette notion a depuis été reprise et évaluée par de nombreux chercheurs.
Une récente implémentation du RF Bounding Protocole a montré que le temps de calcul de la clé est stable (à 62 ps (10$^{-12}$seconde) pres) ce qui pourrait convenir aux besoins des PKES. Un RF Bounding Protocole pour s'assurer que la clé est à moins de 2 mètres du véhicule et une triangulation avec 3 points dans le véhicule pour s'assurer que la clé est bien dans le véhicule sont deux contre-mesures envisageables.
Les plus récentes modélisations de laboratoire, et notamment celle de 2009 menée par Avoine Gildas et Aslan Tchamkerten, mixent les études initiales et celles publiées par Gerhard Hancke (en). En introduisant dans l’initialisation de la communication différentes phases successives lentes et rapides, supportant à la fois des challenges authentification et de mesures du RTT, elles tentent de sécuriser au maximum l’échange entre lecteur et carte RFID. Néanmoins elles ne se prétendent pas fiables à 100 % et font encore débat avant une possible implémentation industrielle.
Pour les technologies utilisées par les mobiles NFC, il faut donc trouver d’autres contre-mesures autour de la localisation.
Les services de localisation devenant de plus en plus accessibles sur les mobiles, ils offrent une contre-mesure efficace tout en restant transparents pour l’utilisateur. Obtenir son no Cell-ID et des informations complémentaires telles que Mobile Country Code (MCC), Mobile Network Code (MNC) et le Location Area Code (LAC), donne au mobile les paramètres de base pour calculer sa position. Le Global Positioning System (GPS) est une autre méthode pour obtenir la position du mobile.
Une méthode simple pour éviter les attaques par relais consiste à ajouter la localisation du mobile et un Horodatage aux données transmises. Le mobile récepteur compare la localisation de l’émetteur à la sienne ce qui lui permet de confirmer que l’émetteur est à proximité. Un système de clés de chiffrement entre les deux mobiles assure qu’un attaquant ne pourra pas modifier le message transmis. L’horodatage assure que l’attaquant ne pourra pas enregistrer et rejouer le message plus tard dans le même périmètre.
La protection physique des Radio-étiquettes, est une contre-mesure simple pour assurer au propriétaire que sa clé ne sera pas utilisée à son insu.
Le système de Cage de Faraday par l'utilisation d'étuis ou de boites métalliques peut isoler des clés de voitures, des passeports équipés de puce RFID, des urnes de vote.
Des solutions mécaniques (bouton pour désactiver les clés) ou logicielles (indiquer au véhicule que, momentanément, seule l’introduction de la clé dans la serrure autorisera l’ouverture de la porte), sont des contre-mesures efficaces pour assurer au porteur de la carte qu’il ne pourra pas être victime d’une attaque par relais.
Le système de vote électronique sera également sécurisé par l'utilisation de bip lors de la lecture ou de l'écriture sur le bulletin électronique, les assesseurs du bureau de vote pourraient ainsi constater d'éventuels votes pirates. Il y a également la possibilité d'introduire un délai minimum entre les différents actions sur le bulletin, de 30 secondes ce qui permet d'éviter la lecture/écriture simultanée de plusieurs bulletins. Et enfin l'utilisation de carte électronique à écriture unique, permettrait de prévenir les changements de vote a posteriori.

### Messagerie électronique

La prolifération des pourriels a poussé aux développements de correctifs et de restrictions d'accès.
* Fermeture du relais ouvert anonyme
Ainsi certaines machines (généralement celles situées sur le réseau local ou appartenant à des plages d'adresses IP utilisées par l'entreprise) peuvent envoyer des messages à des domaines de messagerie autres que celui du serveur.
* Utilisation de l'authentification SMTP
L'extension SMTP-AUTH décrit par la RFC 2554 a pour rôle de faire authentifier l'émetteur d'un message par le serveur de messagerie. Cela permet également de sécuriser un relais de messagerie ouvert sur l'internet, où l'envoi de mail anonymement était jusqu'à présent possible. Cependant, cette extension ne sécurise pas complètement un serveur dans le sens où il suffit d'obtenir un login/mot de passe du serveur pour passer outre l'interdiction de relais. L'utilisation de mots de passe trop simples et sensibles aux attaques force brute constitue la principale faille de cette extension.

### Relais humains

Pour éviter que les réponses aux Captcha soient relayées vers un autre site, il faut les rendre dépendantes de la page Internet d'origine, c'est-à-dire que le Captcha génère une image qui pose une question en relation avec la page du Captcha.

### Session de communication multimedia

La version « S » SIPS reposant sur TLS (Transport Layer Security) est une solution adaptée, et recommandée par la RFC 3323, car elle chiffre de bout en bout les ́échanges SIP et permet ainsi de préserver la confidentialité des messages. Ce mécanisme implémenté au niveau transport est très coûteux en termes de bande passante.
Également, notamment pour protéger la partie accès vers le réseau opérateur, on peut implémenter une encryption sur la couche réseau en encapsulant SIP au-dessus d'IPSec.

## Perspectives

Pour A. Francillon, l’attaque par relais pourrait être particulièrement nuisible au développement de la RFID dans les applications sensibles, et également contraire aux intérêts des utilisateurs. Pourtant, les fabricants ou revendeurs de solutions RFID ne semblent pas s’inquiéter de cette menace. Les fabricants restent indifférents à la notion d’attaque par relais.
Les Radio-étiquettes posent un problème de la violation de la vie privée. La Commission Européenne a publié en 2009 des recommandations sur la sécurité du RFID et préconise que les recherches soient menées sur des solutions performantes et peu couteuses autour des technologies du RFID.
Par ses travaux, G. Hancke espère que les résultats qu'il a présentés serviront pour d'autres standards que l'ISO 14443 et que cela augmentera la sécurité des technologies RFID.
Afin de ne pas freiner le développement du marché des différentes technologies vulnérables à l'attaque par relais le besoin de développement de solutions de contre-mesures adaptées émerge. Plusieurs pistes sont évoquées en fonction des situations. Le but commun est de s'assurer que l'acte initial est volontaire puis que la relation est opérée dans un cadre normé et sécurisé. On évoque pour cela des solutions novatrices comme les capteurs d'environnement, la vérification comportementale ou l'introduction d'un tiers de confiance permettant de s'assurer du non relais frauduleux.