L'Histoire des Pingouins

- Par Antoine Bellot -
Épisode XXXVI
Deep into a shell

Malgré la diversité apparente des amusements qui semblent m'attirer, ma vie n'a qu'un objet: elle est tendue tout entière vers l'accomplissement d'un grand dessein. J'écris l'histoire des Pingouins.

Anatole France: l'île des Pingouins

Sans même jeter un oeil sur la console du scanner, n'accordant qu'une attention distraite au gémissement continu du snoop dans le haut parleur, Kremps sentait dans tous ses nerfs l'impact de la tornade de paquets sur son arrière. L'interface en feu, les buffers en surchauffe, perdant des paquets par dizaines, il comprit que l'impérial (qui d'autre oserait?) avait changé de stratégie. De nombreuses marches de l'E-Empire et d'ailleurs affluaient les paquets aveugles, signe qu'un déni de service froidement commandé à distance l'avait pris pour cible. L'Ether n'était plus le havre de paix de sa jeunesse, dans lequel de candides rêveurs reproduisaient avec un entêtement aussi primitif que leurs montures d'alors, les discours et les erreurs de leurs aînés, en d'autres lieux de ce fameux vrai monde.

Désormais, l'Ether, immense, glacial, anonyme, était selon lui le biotope de bien étranges créatures. Kremps les trouvaient pour la plupart répugnantes, ignobles, repoussantes, au mieux ennuyeuses. Neuneux, abrutis de tous poil, gamins et retraités désoeuvrés, prompts à étaler leur ignorance crasse à un univers heureusement limité à la seule francophonie, tous n'évoquaient pour lui qu'une horde aveugle de lemmings en quête du nouveau marionnettiste qui les mènerait hors de l'horreur supposée d'un quotidien dont se contenteraient bien tous les crève-la-faim de la terre. «Dormez bien, braves gens, et n'oubliez pas la saison des soldes!»

Tout compte fait, il y avait mieux à faire que pester: les commandes répondaient mal, très mal. Sous peu, il perdrait tout contrôle sur son châssis. Cela ne pouvait signifier qu'une chose: l'impérial avait renoncé à s'attaquer à Schoelcher et détourné le flux de l'attaque vers lui. On pouvait probablement considérer cela comme une bonne nouvelle.

Il lui restait a priori une solution pour s'en tirer en douceur: passer en clair, libérer quelque peu son processeur de la charge du code crypto, en profiter pour ajuster la priorité de quelques processus, et décrocher du secteur en vitesse. Il sentait ses poils se hérisser sous l'afflux soudain de l'adrénaline. «Ce n'est qu'un jeu.» pensa-t-il, mais ses tripes s'obstinaient à exiger de lui qu'il vive l'instant de la manière la plus intense, au plus près du flux binaire mêlant les logiques contradictoires des penseurs qui n'auraient sans doute jamais (et à tort!) imaginé de tels usages de leurs protocoles. Au fond de son esprit, les synapses menaient en parallèle plusieurs raisonnements, triant une à une les hypothèses, déterrant le savoir enfoui, réveillant les automatismes.

Quel trip, bon sang! Jamais il ne quitterait l'Ether, rien que pour ça, rien que pour vivre cela, quelques fois encore, entre deux océans d'un immense ennui ponctué de trop rares RFCs: l'urgence de l'instant qui exige d'un coup de sortir le jus de cervelle qualité grand cru.

Passer en clair en plein Ether est un suicide, même les neuneux le savent, bien qu'ils le fassent souvent. Raison de plus pour le faire! Quelques secondes suffiraient alors à un ennemi déterminé pour intercepter son mot de passe. L'oiseau du jour avait l'air du modèle passablement énervé, et pas l'genre manchot pour un impérial. On disait que Schoelcher en avait croisé un de ce genre, il y a peu, probablement le même: l'E-Empire ne devait pas en avoir tant que ça en stock. Raison de plus pour montrer à ces petits branleurs de pingouins ce qu'est un vrai pilote: le routeur en enregistrerait suffisamment pour cela.

Des années de pratique assidue de r00twar prenaient désormais tout leur sens: à peine avait-il relancé sa connexion en clair, et sans même qu'il ait besoin d'y penser, que son script de connexion détruisait automatiquement toute possibilité de future connexion interactive distante à l'UID zéro. «Seuls les plus paranoïaques survivent.» pensa-t-il, et il constata sans surprise que l'ennemi avait réagi à peine quelques instants après son passage en clair, rejouant le paquet de connexion à peine modifié, lequel s'écrasa mollement sur l'ouverture fraîchement refermée. Il ponctua l'impact d'un sourire narquois en se demandant combien de châssis serveurs de l'Ether auraient pu résister à une telle attaque (à supposer que les marionnettes aux commandes aient pu simplement y voir quelque chose). L'algorithme de calcul des numéros de séquences TCP de son châssis étant a priori correct (il ne l'avait jamais vérifié, pensait-il... En attendant la prochaine RFC, il savait désormais quoi faire), il disposait en théorie désormais d'une connexion sûre. En théorie.

Information: l'ennemi avait déjà utilisé des paquets TCP-reset pour pulvériser les sockets qu'il avait lancé vers Shoelcher. Évidemment, le châssis (impérial!?) de Schoelcher (mais qu'est-ce qu'il foutait à bord d'un mastodonte impérial?) avait explosé sous l'impact. Une technique simple, bestiale, redoutablement efficace contre une pile IP de conception classique. Bien sûr, cela ne donnerait pas à son assaillant un accès aux commandes, mais il perdrait le contrôle du châssis pour un certain temps. Kremps n'était pas absolument certain d'avoir modifié le code de son châssis contre ce genre de tracasseries. Il était imprudent de perdre du temps à vérifier. D'abord, lancer les scripts de recouvrance taillés pour la r00twar à priorité maximale: passer les commandes d'éjection de modules et tripatouiller les démons en mode interactif prendrait trop de temps. Il finasserait plus tard. Pendant ce temps, jeter un oeil au scanner. Si sa liaison explosait, hé bien... Il aurait alors le temps de coder ce fameux protocole non-connecté de connexion à distance avec excursion de ports, protos et d'adresses qui lui trottait dans la tête depuis quelque temps, histoire de niquer un peu ces saloperies de firewall stateless: «Phear!»

Le log du scanner défilait à une vitesse folle (penser à préparer de meilleurs filtres pour la prochaine fois, ces expressions tcpdump sont vraiment trop casse-XXX). Il crut voir défiler les trames RST de l'ennemi, mais constata avec soulagement qu'il contrôlait toujours son châssis au bout de quelques secondes: il n'était donc pas sous code standard. Il voyait aussi les trames émises par ses ailiers, mais n'arrivait pas à analyser leurs manoeuvres, la cervelle caramélisée, ne fonctionnant plus qu'à l'instinct. Il devait être possible de repasser en crypté, maintenant, semblait-elle lui dire (perdre le temps de vérifier requérait trop d'attention). Il avait perdu pour quelque temps le contrôle de l'UID zéro, mais il savait où se cachait un fichier SUID presque invisible, répondant au nom anodin de ``.. '', compilé compact, ne laissant fuir que des symboles trompeurs (gagner du temps, toujours...), qu'il lui faudrait ensuite utiliser d'une manière bien précise pour réinitialiser l'accès root. Mettre une faille dans son propre châssis était tout à fait dans la logique des tordus qui ne disposaient pas dans leur jeune temps des jeux 3D en réseau pour épuiser leur temps libre, mais il constata avec regret qu'il était aux taquets sur les plans de coyote, ce qui ne lui était pas arrivé depuis bien longtemps. Mais il fallait enchaîner, reprendre l'attaque. À r00twar, la défense ne paye pas, il faut bouger, toujours, ou contempler l'écran gelé les bras ballants, puis payer son coup à boire.

Plus de vingt cinq secondes s'étaient écoulées depuis qu'il avait mis à exécution le plan élaboré avec Schoelcher. Il était rare qu'un combat en Ether dure aussi longtemps sur un réseau rapide avec des processeurs modernes. Connexion relancée, il attendait impatiemment que le brouillard d'Ether se déchire, ouvrant à nouveau sa connexion cryptée: ces saloperies de protocoles asymétriques rapides prenaient paraît-il plus de vingt secondes à connecter un terminal WAP: ça donne le temps de réfléchir dans la chicane, même sur un châssis bien réglé...

Ça y est: clé de session acquise! Le scanner, accrochant petit à petit l'environnement, grésillait doucement, lui indiquait avant même qu'il soit en visuel que la tempête était loin d'être terminée.

Contact! La console interactive s'anima, alignant les messages de service un à un. Le snoop, à nouveau saturé faisait siffler continûment le haut-parleur. Son interface perdait encore trop de paquets. «Bon sang!» pensa-t-il, ses ailiers devaient être dans la même situation que lui il y a quelques secondes! Serrant sa regexp au plus près, il accrocha d'un coup d'oeil l'horizon de l'Ether.

Nulle trace de Schoelcher. Ses deux ailiers étaient désormais pris à partie par trois nouveaux châssis surmotorisés exhalant une forte signature impériale: ses scripts réagirent immédiatement. Prédire leurs séquences n'était normalement pas possible en si peu de temps, mais sait-on jamais? Laissons quand même une priorité minimale à cette tâche (s'il restait quelque chose à attribuer: finalement, il aurait aimé un plus gros processeur). Les ailiers avaient prudemment entamé de violentes manoeuvres d'évasion, trompant la lenteur de réaction du déni de service téléguidé. L'impérial lui faisait face, s'attendant visiblement à son retour. La partie s'annonçait serrée.

Jouer encore était certes tentant. Mais il ne pouvait pas décider du destin de ses deux ailiers. Seul face à quatre châssis assistés d'un déni téléguidé, c'était un pur suicide. Il enclencha le communicateur sur la canal ICMP.

«Bleu-2, Bleu-3, fini de rire, on décroche.
--Bleu-1, ici Bleu-2, j'ai quelques enregistrements de la situation au sol. Encore quelques secondes, et nous disposerons d'un schéma complet de leurs forces à terre. Central appréciera sans doute ces informations.»

Incroyable!? Les impériaux n'avaient-ils pas eu le temps de déployer leurs firewalls pour masquer leurs nouvelles installations dans les locaux du CaLUG? Des serveurs impériaux fraîchement installés, c'était suicidaire de leur part, et ils devaient le savoir. Sans doute les manoeuvres de Schoelcher les avaient fait paniquer. Mais non, c'était bien plus simple que cela: pour lancer leur attaque, ils avaient probablement débranché les écrans de leur base. Ils étaient sans défense!

Et l'oiseau du jour le savait probablement: il avait pris sa décision en pensant qu'intercepter Schoelcher isolé serait rapide, et valait le risque encouru. Il avait dû être tout aussi surpris que lui de les voir débarquer en pleine attaque.

Mais l'ennemi avait probablement intégré les nouvelles éventualités liées à la présence de trois châssis rebelles expérimentés sur un réseau ouvert. Il sentait un plan se définir à la limite de son esprit conscient.

«Transmettez les informations, Bleu-2, par message général et en clair: priorité absolue. Bleu-3, préparez-vous à décrocher. Bleu-2, décrochez immédiatement après Bleu-3.»

Il imaginait l'étonnement de son compagnon. Il le perçut dans le délai de quelques secondes que mit son ailier à exécuter la manoeuvre. C'était rassurant, car son plan était pour le moins tordu. Si Bleu-2 l'avait immédiatement compris, il aurait mieux valu laisser tomber. Lorsque les premières trames apparurent en provenance de son ailier, il entama un piqué, droit sur le CaLUG assiégé, seul. Ses ailiers ne suivraient pas.

Cette fois, c'était quitte ou double. Tout dépendait de la réaction des impériaux.

Les données transmises par Bleu-2 seraient probablement lues et analysés très rapidement: l'impérial ne mettrait que quelques instants à les interpréter: des traces de scan sur ses bases arrières transmises par un éclaireur à ses partenaires. Il en déduirait certainement que l'escadrille planifiait une attaque suicidaire sur les cibles restées au sol, du moins fallait-il l'espérer. Ses ailiers n'auraient aucun mal à décrocher. De toute façon, il avait entamé le piqué.

Cinq secondes: sans doute l'impérial n'aurait-il pas la capacité de constater immédiatement que les clichés de Bleu-1 étaient incomplets. Mais pour peu qu'ils décident de se replier rapidement et ré-activer leurs écrans pour faire face à ce qui s'annonçait comme un assaut sur l'arrière, il disposerait du délai nécessaire pour approcher la base au plus près, précédant probablement les impériaux de quelques secondes. Il aurait alors certainement la possibilité de passer avant que l'écran ne se referme, réaliser des clichés plus complets, puis dégager en trombe, les moteurs à plein régime.

Deux secondes: il pensait déjà à l'instant où passerait en rase-mottes au-dessus des rampants terrifiés. Rien ne lui faisait plus plaisir que d'imaginer la panique, les échanges de mémos à venir dans les méandres de l'administration impériale: un chasseur rebelle passant à un hop à peine de leurs précieux datawarehouses, en pleine opération hostile et probablement imprévue sur leurs frontières! Il en jubilait d'avance. L'E-Empire réfléchit rarement dans ces cas-là: Saint-Godfrain d'une main, le Code du Travail de l'autre, un obscur clergyman demanderait des têtes. «Surtout, ne pas céder à l'excitation» se répétait-il, il fallait agir calmement, avec méthode, lancer les probes.

Contact: c'est parti, vingt, trente, quarante, cent sockets-probes lancés au sol. Les clichés reviendraient dans quelques...

La console s'obscurcît soudain, écran gelé. L'impérial avait gagné, il n'avait rien vu venir. Routeur-Central renvoyait, d'un entêtement tout mécanique:
ICMP_HOST_UNREACHABLE... ICMP_HOST_UNREACHABLE...
ICMP_HOST_UNREACHABLE... ICMP_HOST_UNREACHABLE...
ICMP_HOST_UNREACHABLE...

Il analyserait les détails plus tard. Son regard hagard quitta un instant l'écran, regardant bêtement le haut parleur qui désormais ne renvoyait qu'un cliquètement presque en rythme avec les battements sourds de son coeur.

Il avait joué, et perdu. Mieux valait aller se coucher.

Ses ailiers avaient certainement décroché à temps. Il fallait l'espérer du moins. «Hé merde!» Il empoigna rageusement le téléphone.


Épisode précédent
Épisode suivant


Fiche mise à jour le mardi 18 mars 2003.
Thomas Nemeth
back
Script (version 2.9.9-r9) fait en août 2000