Origine et principe du jeu de commandes

En 1981, Dale Heatherington et Dennis Hayes conçoivent le Hayes AT command set pour le Smartmodem. Le protocole repose sur des chaînes de texte courtes, précédées du préfixe AT, qui sont interprétées par le modem lorsqu’il se trouve en mode commande. Cette approche remplace les anciens «diallers» matériels et exploite les broches de données RS‑232 déjà présentes, évitant ainsi toute modification du câblage.

Le passage du data mode au command mode s’effectue grâce à la séquence d’échappement

+++
suivie d’une pause d’environ une seconde. La temporisation empêche la confusion avec des données légitimes : tout octet reçu pendant l’intervalle est traité comme donnée et non comme commande.

Évolution vers des débits supérieurs

Le jeu initial ne couvrait que les modems à 300 bit/s. L’essor des modems à 1200 bit/s puis 2400 bit/s a nécessité l’ajout de nouvelles instructions, souvent préfixées par le caractère & (ex. &S0 pour la gestion du port série). Hayes a rapidement publié un modèle 2400 bit/s dont le jeu de commandes était identique à celui du 1200 bit/s, ce qui a permis aux logiciels existants de fonctionner sans modification. Cette compatibilité rétroactive a consolidé la domination du jeu Hayes dans le marché des modems.

Le même jeu de commandes a été repris presque intégralement par les fabricants de modems 300 baud, assurant une uniformité de l’interface à travers les différents vendeurs.

Vulnérabilité du séquence d’échappement

Pour contourner le brevet Hayes, certains constructeurs ont implémenté une Time Independent Escape Sequence (TIES), supprimant la pause d’une seconde. Cette modification introduit une faille de déni de service : la chaîne +++ATH0 transmise en mode données force le modem à raccrocher immédiatement. Un attaquant peut exploiter ce comportement en injectant la séquence dans le payload d’un ping ICMP ; le système cible répond alors avec le même payload, déclenchant la déconnexion du réseau.

Cette faiblesse montre comment une optimisation de compatibilité peut créer un vecteur d’attaque exploitable à grande échelle, surtout sur les systèmes qui utilisent encore des modems analogiques pour l’accès Internet.

Standardisation et héritage

Dans les années 1990, le TIA/EIA a formalisé le jeu de commandes à 2400 bit/s sous la norme «Data Transmission Systems and Equipment – Serial Asynchronous». La spécification conserve la syntaxe AT et les préfixes &, garantissant la continuité entre les implémentations propriétaires et les exigences de l’industrie.

Aujourd’hui, même si les connexions haut débit ont supplanté les modems analogiques, le jeu de commandes AT persiste dans les modules cellulaires, les modems USB et les équipements IoT. Son architecture simple, son mode de basculement via +++ et son jeu de registres restent des références pour la conception d’interfaces de contrôle basées sur du texte.