Comment faire un déni de service à la poste
Divulgâchage : C'est en fait assez facile à faire, mais ça demande des ressources et ça ne durera pas.
Il y a quelques semaines, des merdeux se sont amusés à rendre certains cyber-services de la poste indisponibles. La poste a depuis publié un communiqué sur l’attaque1. En gros, le suivi de colis et la banque postale en ligne n'étaient plus disponibles.
Comme c'est plutôt visible, la presse en avait beaucoup parlé à l'époque. Avec une question qui revient systématiquement lorsqu'ils nous appellent :
Techniquement, comment ça marche ce type d'attaque ?
Un journaliste
L'explication est plutôt simple et même intéressante pour les curieux mais malheureusement, elle ne tient pas dans une dépêche. On s'est donc dit qu'on vous la partagerait ici, histoire que ça soit pas perdu.
Alors, sous vos yeux ébaubis, voyons comment rendre les services de la poste indisponible ! Et pour rendre l'explication plus facile, restons dans le monde réel et considérons un bureau de poste comme il y en a tant dans nos villes et villages…
Attention. Ce qui suit est une œuvre de fiction. Les cascades ont été réalisées par des professionnels. Ne les tentez pas à la maison. Aucun postier, facteur ou vigile n’a été blessé pendant le tournage.
Blocage physique
Pour commencer, on pourrait rendre le bureau physiquement inaccessible. On peut faire simple en bloquant la serrure avec de la colle, plus efficace en murant la porte ou plus bourrin en déversant du fumier dans l'entrée. Ou plus définitif et incendier le bâtiment.
Pour les services informatiques, l'équivalent consisterait à couper l'arrivée électrique ou réseau des serveurs (ou du bâtiment qui les héberge), ou d'y mettre le feu.
Vous vous en doutez, c'est très visible et surtout illégal2 et la force publique fera le nécessaire pour vous retrouver et vous expliquer qu'il y a plein de manières plus intéressantes de passer le temps (sinon pour vous, pour le reste de la société).
Voyons donc d'autres manières plus subtiles3 de s'y prendre…
Gonfler l'affluence
Si vous avez de nombreux amis, vous pourriez vous rendre tous ensemble au même bureau de poste… On vient, on entre, on attend notre tour, on dit bonjour à l'agent au guichet et on repart. On peut alors retourner dans la file d'attente pour un deuxième tour.
Dans notre village, il suffit d'être 5 pour remplir le bureau et obliger les suivants à rester dehors. Ensuite, une trentaine de comparses sont suffisants pour occuper la ruelle qui mène au bureau de poste. Sachant que la plupart des usagers renoncent s'ils voient plus de 5 personnes dans la file à l'extérieur. Il n'est donc pas nécessaire d'être si nombreux.
Techniquement, il n'est pas forcément nécessaire d'aller jusqu'au guichet. Être présent dans la file occupe déjà de la place et gène suffisamment les autres pour voir un effet. On peut aussi venir en famille, des enfants qui jouent prennent plus de place qu'un adulte debout qui attend calmement.
Pour les services informatiques, ça consiste à envoyer le plus de données possibles à un serveur cible. Peu importe qu'il sache lire les données ou pas, le but est de saturer ses liaisons internet pour qu'aucun autre paquet ne puisse passer.
Pour aider à résorber cette affluence à la poste, on peut imaginer qu’un vigile accueille les usagers et leurs demande le but de leur visite pour les aiguiller plus efficacement vers le bon guichet. Appelons-le Amaury4.
En plus de répartir les clients vers les postiers, Amaury peut également se charger des demandes plus simples ce qui déchargera ses collègues et fluidifiera l'ensemble. Une petite bande d’Amaury sera particulièrement efficace pour gérer une bande de merdeux qui n'ont rien à faire dans le bureau de poste en leur indiquant la sortie.
Spécificité de l’informatique sur le monde réel... lorsque les merdeux sont trop nombreux, un routeur peut choisir de supprimer les paquets qui leur ressemblent trop. Dans la vraie vie, un vigile ne peut heureusement pas filtrer les clients qui n’ont pas la bonne tête5, et encore moins les supprimer6.
Occuper son petit monde
Venir sans objectif, ça marche un temps, mais les vigiles vont vite résoudre le problème. L’idéal c’est d’avoir une demande pour les occuper. Car tant qu’un guichetier, ou même un vigile, est occupé à traiter notre demande, il ne peut pas s’occuper des autres clients.
La première idée consiste à ne simplement rien dire. Lorsqu’un postier (agent ou vigile) demande ce qu’on fait là, on les regarde, mais on ne répond pas (et on ne bouge pas). Le postier attend une réponse et, pendant qu’il attend, il ne peut servir personne.
Sauf que si on ne dit rien, le postier perdra sa patience et se tournera vers le client suivant en se disant qu’il peut gérer ce client là le temps qu’on retrouve ce qu’on voulait faire. Et s’il traite un autre client, le bureau continue de fonctionner…
La deuxième idée consiste donc à parler, mais très lentement. Un mot à la fois. Avec de looongue poses entre les mots. Par exemple, on attend que le postier semble s’intéresser au client suivant pour poursuivre la phrase. Ce qui l’empêche de s’occuper des autres clients7.
Mais Amaury et ses collègues ne sont pas idiots, ils verront la supercherie et peuvent y répondre de deux manières complémentaires :
- Demander d’écrire la demande avant de la fournir au postier. Tant qu’on écrit, il peut gérer la demande d’un autre client. Bien sûr on occupe la place dans le bureau de poste pendant qu’on écrira mais il suffit d’agrandir le bureau (ou poser une tonnelle en extérieur).
- Indiquer la sortie lorsque leur patience aura atteint sa limite.
Il faut donc trouver un véritable prétexte pour venir au guichet. Un déni plausible.
La troisième idée consiste à venir au bureau de poste avec une demande dont on sait qu’elle prendra le plus de temps possible. Fournir un faux avis de passage avec un numéro de colis qui n’existe pas et laisser le postier le chercher dans la réserve. Puis le voyant revenir bredouille, insister pour qu’il vérifie. Ou éventuellement lui suggérer d’appeler les bureaux des villages voisins au cas où8.
Vous pouvez aussi poser des questions sur la tarification (vu la taille du classeur qui les explique il doit y avoir plein de cas particuliers intéressants pour en débattre au guichet), ou sur tous les autres services proposés par la poste (puisque c’est devenu une banque et un opérateur de téléphonie). Ce ne sont pas les idées qui manquent9.
Attention avec les demandes trop absurdes. Les postiers pourront les détecter et déterminer qu’on n’est là que pour leur faire perdre leur temps. Ils pourront alors nous indiquer la sortie (mais on reviendra) ou la direction d’un guichet vide (on y perdra le temps de comprendre qu’il ne s’y passe rien), ou celui de Calypso10 qui répond par des questions encore plus absurdes pour nous occuper.
La seule solution pour la poste est alors d’ajouter des guichets et des postiers. En théorie, doubler le nombre de guichets devrait doubler le débit des clients traités. Mais en pratique ça pose des problèmes…
- Les ressources. Pour traiter un forte affluence, il faudra agrandir le bâtiment, ajouter du mobilier et embaucher du personnel. Mais si l’affluence est temporaire, ces ressources sont gaspillées. On peut alors imaginer un système élastique avec des équipes mobiles (e.g. des intérimaires).
- Le parallélisme. Le personnel doit mettre en place des procédures pour gérer les accès concurrents (e.g. l’accès à la réserve des colis). Et si le bureau est particulièrement grand, le théorème CAP nous dit qu’on ne peut pas fournir à la fois des réponses toujours correctes et un service toujours disponible11.
Déléguer
Avec son infrastructure distribuée, la poste a pu délivrer 5,6 milliards de lettres et 2,6 millions de colis en 202412. On ne fait clairement pas le poids… on a besoin d’aide, de complices. Mais comment les recruter ?
Inutile de véritablement recruter des complices. Ils pourraient vouloir une compensation pour leur aide, poser des questions auxquelles on ne veut pas répondre ou encore fournir des indications aux enquêteurs qui voudraient nous retrouver. C’est plus amusant efficace avec des innocents.
Plutôt que de se rendre au bureau de poste, on va s’arranger pour que d’autre le fasse. À l’insu de leur plein gré. Comment ? C’est simple…
On va imprimer de faux avis de passage de la poste tout à fait crédibles et les distribuer dans des boîtes aux lettres. Leurs propriétaires, recevant cet avis n’y verront que du feu et se rendront au bureau de poste le plus proche pour réclamer leur colis (qui n’existe pas)13. Les avantages sont énormes…
L’amplification. S’il nous faut 30 secondes pour distribuer un faux avis de passage, le propriétaire occupera le bureau plusieurs dizaines de minutes. Sachant qu’il se croit dans son bon droit, ça peut prendre 30 minutes facilement (soit 60 fois notre investissement initial, c’est pas mal14).
L’anonymat (relatif). Sauf à installer des caméras de surveillance devant chaque maison (ou des enquêteurs en planque), comment savoir qui a distribué les faux avis ?
L’industrialisation. En mettant l’avis dans une enveloppe, on peut même la faire distribuer par la poste15. Des entreprises de distribution de publicités le feront pour moins cher et ça évitera qu’on écrive les adresses.
Face à l’afflux de ces victimes collatérales, le postier est assez démuni. Il s’agit manifestement de fausses demandes pour lui faire perdre son temps mais ces visiteurs semblent si sincères… En les catégorisant comme pénibles, le postier prend le risque que ces clients se voient refuser l’accès aux autres bureaux de postes16.
Nouvelle solution pour la poste, authentifier les courriers (et les avis) qu’elle distribue. Les clients pourront alors contrôler que l’avis de passage correspond effectivement à un colis17 et ne perdront pas de temps à venir pour rien. Encore faut-il que les clients vérifient ces signatures mais c’est une autre histoire…
Il faut enfin considérer qu’une fois l’attaque détectée par la poste, elle va y répondre. En déployant des vigiles et des guichets temporaires d’abord. En communiquant sur les faux avis de passage (le public n’est alors plus dupe). Et en portant plainte pour nous retrouver.
Donc même si on a réussi à bloquer l’accès à quelques bureaux de postes, ce n’est que temporaire et on ne pourra pas recommencer de si tôt.
Et après ?
Comme on l’a vu, une attaque de déni de service est plutôt simple à mettre en place mais n’aura, au mieux qu’un effet temporaire. C’est ce qu’il se passe à chaque fois qu’un site est la cible de ce type d’attaque : il fini toujours par revenir en ligne. Il suffit d’être un patient.
Ensuite, puisque des méthodes existent pour s’en protéger, un site qui tombe face à ce type d’attaque est un choix de politique de sécurité. L’opérateur a jugé que le service rendu n’était pas suffisamment important pour mériter la débauche de ressource nécessaire pour garantir sa disponibilité permanente. En vrai, nous pouvons nous passer de ces services un petit moment, leur indisponibilité n’a pas un si grand impact que ça.
Prenons les exemples plus ou moins récents avec le site web de la poste, celui de Parcoursup et enfin du CNED. Dans les trois cas, la France ne s’est pas arrêtée parce que ces sites ont été indisponibles et nous avons pu revenir le lendemain (ou le surlendemain) pour y faire nos affaires.
Finalement, et c’est peut être le plus important à retenir, ces attaques ne font que rendre le guichet indisponible. Bien sûr le client n’a pas eu de réponse, mais le reste de l’activité continue de se poursuivre en coulisse. La poste à continué à distribuer le courrier, les choix d’orientations des élèves n’ont pas disparu, et le CNED a continué d’enseigner à distance (e.g. via le téléphone).
Peut être que le problème des Dénis de Services, c’est qu’ils nous renvoient à notre dépendance aux services instantanés, à une forme d’intolérance à la frustration. Peut-être sont-ils la solution ?