Les puces Apple pulvérisent les défenses de Linux en quelques millisecondes : la barrière de calcul ne bloque que les humains

Les puces Apple pulvérisent les défenses de Linux en quelques millisecondes : la barrière de calcul ne bloque que les humains

Crawlers IALinuxPoW

Sources:HN + web research

Environ 6 millions de requêtes affluent chaque jour vers le dépôt de code source officiel du noyau Linux (git.kernel.org). Selon le modèle statistique le plus optimiste, seules 2 % de ces visites sont d’authentiques requêtes humaines légitimes. Les 98 % restants sont entièrement des crawlers IA tentant de dévorer chaque ligne de code pour entraîner de grands modèles de langage.

Les dévoreurs infatigables de puissance de calcul

Ce cluster de 5 nœuds distribués géographiquement, comptant 90 cœurs de processeur, subit actuellement une charge asymétrique indicible. Parmi eux, 14 à 16 cœurs sont en permanence à pleine charge, leur unique tâche étant de générer les pages de validation de code (commit) pour les crawlers. Cela consomme directement 20 % de la capacité de calcul totale du système, et les crawlers attaquent toujours par vagues, rendant les pics de charge instantanés réels encore plus extrêmes.

La voracité des crawlers dépasse l’entendement de l’ingénierie conventionnelle. Le noyau Linux possède environ 1,48 million d’enregistrements de commits de code, et le site officiel héberge près de 922 versions de branches de développeurs (fork), ce qui crée des milliards de liens valides accessibles. Les crawlers IA parcourent mécaniquement chaque lien, capturant individuellement les 922 copies dupliquées au contenu strictement identique. Cela montre qu’aujourd’hui, l’acquisition de données d’entraînement a abandonné les optimisations techniques telles que la déduplication, évoluant directement vers une approche de force brute qui noie les serveurs cibles sous une puissance de calcul écrasante.

Une ligne de défense de papier

Pour bloquer ces extractions violentes et incontrôlées, le site officiel du noyau Linux a déployé un système anti-crawler nommé Anubis. Il s’agit d’un problème mathématique cryptographique basé sur la preuve de travail (PoW) : l’appareil du visiteur doit combiner une chaîne de caractères donnée avec sa propre adresse IP et une clé dynamique du serveur, puis calculer continuellement sa valeur de hachage SHA-256 jusqu’à ce que les N premiers caractères du résultat soient tous des zéros.

À l’heure actuelle, Anubis a bloqué avec succès 66 % des programmes de balayage rudimentaires, mais 33 % des machines avancées ont résolu le problème mathématique et ont réussi à accéder au site principal.

git.kernel.org 请求漏斗 Figure : Entonnoir des requêtes git.kernel.org : 66 % bloquées, 33 % autorisées, seulement 2 % légitimes. Source : people.kernel.org

Face à ces 33 % de crawlers avancés de plus en plus pressants, la seule arme des défenseurs est d’augmenter la difficulté de calcul du hachage du niveau 4 au niveau 5. Cependant, le mécanisme central de cette ligne de défense présente une faiblesse fatale : il exige que les scripts JavaScript dans le navigateur consomment la puissance de calcul de la machine. Utiliser un langage interprété de haut niveau pour exécuter des calculs de hachage intensifs est en soi une méthode d’affrontement extrêmement inefficace et très asymétrique.

La frappe asymétrique des instructions matérielles

Dans quelle mesure ce problème mathématique entrave-t-il réellement les véritables crawlers IA ? Dans la section de discussion technique de Hacker News (HN), un développeur nommé semiquaver a apporté une démonstration technique dévastatrice.

Il n’a eu besoin que de 10 minutes pour écrire une extension personnalisée du navigateur Safari. En appelant les instructions natives d’accélération matérielle SHA256H* spécifiques à l’architecture ARM, et en réécrivant la logique centrale de résolution en langage C, il a réduit la vitesse de résolution d’un problème de niveau de difficulté 6, qui prenait initialement 180 secondes sur un iPhone, à quelques millisecondes. Cela démontre que face à un jeu d’instructions matérielles dédié, un mécanisme de défense purement logiciel s’effondre. Lorsque l’attaquant peut contourner le bac à sable inefficace du navigateur et appeler directement la puissance de calcul matérielle sous-jacente, le mécanisme de délai soigneusement conçu par le défenseur est instantanément réduit à néant.

Anubis 难度曲线 Figure : Augmentation progressive de la difficulté d’Anubis et courbe de souffrance des robots qui s’adaptent. Source : people.kernel.org

La perte de contrôle systémique de la course aux armements

Pendant ce temps, les tactiques des attaquants connaissent également une mutation qualitative. De la déclaration initiale d’en-têtes de requêtes (UA) authentiques, ils sont passés à un déguisement complet en navigateurs grand public ordinaires. Aujourd’hui, ils ont même évolué vers la tactique avancée de détourner des millions d’adresses IP de haut débit domestique et de réseaux mobiles pour les faire tourner. Grâce à divers outils de monétisation furtifs par SDK proxy, de nombreux téléviseurs intelligents d’utilisateurs ordinaires deviennent, à leur insu, des nœuds de réseaux de zombies (botnets) servant à d’autres pour extraire des données.

Certains développeurs ont rétorqué lors des discussions que tant qu’on n’utilise pas des défis d’une difficulté extrême, le moteur JavaScript d’un appareil normal peut résoudre le problème en 8 secondes. Ils estiment que l’énorme fossé entre 180 secondes et quelques millisecondes est simplement dû à la différence d’efficacité d’exécution de trois ordres de grandeur entre le moteur JavaScript et le langage C natif.

Mais c’est précisément là que réside l’embarras des défenseurs. Les crawlers peuvent exploiter sans retenue les langages natifs, les clusters de serveurs et même le matériel sous-jacent, tandis que les vrais utilisateurs restent piégés dans le lent environnement d’exécution des navigateurs. Sur quoi les défenseurs peuvent-ils s’appuyer pour supposer que l’avantage à long terme est de leur côté ?

La conception anti-crawler qui fait payer aux machines un coût de calcul a complètement échoué face au matériel dédié et au code natif. La vitesse à laquelle les machines exécutent les tâches de calcul sera toujours supérieure de plusieurs ordres de grandeur à celle des terminaux ordinaires utilisés par les humains. Konstantin Ryabitsev, responsable de la maintenance du noyau Linux, a fini par admettre avec impuissance qu’il n’y a actuellement aucune solution technique simple, si ce n’est désactiver certaines fonctions de requête pour réduire le nombre de liens pouvant être capturés. L’effondrement de la solution anti-crawler Anubis signifie que : dans la course aux armements de la puissance de calcul entre les crawlers IA et la défense des sites Web, les défenseurs font face à une perte systémique. Lorsque le mur du calcul est anéanti par le matériel, tout ce que les captchas complexes arrivent à bloquer, ce sont les vraies personnes qui tentent de lire tranquillement du code. L’auteur estime que face à cette course aux armements qui ne cesse de s’intensifier, toute stratégie défensive risque d’être balayée par la prochaine percée de calcul, et nous devons rester humbles quant à nos prévisions pour l’avenir.

Liens de référence :

  • Article original sur people.kernel.org
  • Discussions techniques sur HN