L'accélération du temps

J'ai été confronté plusieurs fois dans ma vie à des ruptures technologiques, et rares sont celles que j'ai pu anticiper : j'ai connu l'arrivée de la calculatrice, en remplacement des tables de logarithmes et de la règle à calcul, puis l'arrivée de l'ordinateur personnel puis d'internet dans les foyers et enfin le tsunami des téléphones portables. A chaque fois, même si je faisais partie des premières vagues d'utilisateurs, j'observais progressivement les impacts de ces technologies dans la société. En automatique, on parle de réaction du second ordre à un échelon de Heaviside : la rupture se modélise par une marche, et le système réagit, puis sur-réagit, et enfin se stabilise autour d'un nouvel état.

Aujourd'hui, nous vivons une transformation majeure : la première vraie percée de l'IA avec l'arrivée des LLM (Large Language Models). Je n'ai pas besoin d'être devin pour le comprendre, cette évolution va avoir un impact terrible.

Effroyable pour la planète.
Effroyable pour les emplois.
Effroyable pour l'informatique.

Avant d'aborder le troisième point, je voudrais revenir sur la manière dont j'ai réagi sur les ruptures technologiques que j'ai citées :

  • calculatrice (1975) : génial, mais attention à pouvoir continuer à faire des calculs sans (ahaha).
  • ordinateur personnel (1979) : fantastique, je vais pouvoir faire des jeux, écrire des algorithmes plus puissants, explorer des hacks.
  • internet (1989) : c'est rigolo, je vais pouvoir échanger des programmes avec d'autres chercheurs et accéder à plus de puissance de calcul disponible à distance dans les centres de recherche mieux pourvus.
  • téléphone portable (2001) : Mouais, bof, je ne vois pas trop l'intérêt d'y avoir collé un appareil photo.

Bref, je ne suis pas très intuitif sur le succès ou l'impact d'une technologie...

Comme beaucoup de personnes, j'ai été fasciné par ChatGPT et l'onde de choc que cet outil a générée. J'ai joué un peu avec, puis j'ai créé quelques images avec d'autres LLM, quelques morceaux de musique et puis, guidé aussi par mes enfants qui insistaient sur le pillage des créatifs, en particulier sur la génération d'images "façon bidule", guidé également par quelques remarques de lecteurs, j'ai cessé d'utiliser ces gadgets autrement que "de temps en temps".

Mais, dans le cadre de mon travail de RSSI, j'ai été amené à voir concrètement la hausse du nombre d'attaques sur l'informatique de l'entreprise. Mon budget est en baisse, mon équipe se réduit et le nombre de prestation que je peux demander à des experts cybers se réduit comme peau de chagrin.

Concomitamment le sujet de l'IA entrait dans mon entreprise, comme dans beaucoup d'autres. Détenteur d'une thèse ayant comme sujet principal les réseaux de neurones, je ne pouvais pas ne pas m'intéresser au sujet. Las, la seule vraie chose qu'on me demandait, parce que c'est ma fonction dans l'entreprise, était de faire en sorte que l'adoption des outils d'IA se fasse en toute sécurité, sans fuite de données anarchiques et avec une analyse des risques pour l'entreprise.

Je suis allé plus loin.

Avec mon alternant qui apprend à faire du red-team, nous avons commencé à tester des outils open source à base d'IA. Et nous avons été bluffés. Le billet intitulé "Pentests assistés par IA" n'était que le début de nos découvertes. Voici ce qu'il s'est passé en quelques semaines.

Le déclic s'est produit quand mon alternant m'a indiqué qu'il se payait avec son argent un abonnement Claude Pro à 100€ par mois. Ca m'a beaucoup surpris, et je suis rentré le soir dans ma coquette studette parisienne, très dubitatif. Si mon alternant dépensait 100€ dans un abonnement IA pour faire du red-team, j'étais en train de rater quelque chose. Je ne pouvais pas rester sur le bord de la route à regarder passer le train sans monter dedans. J'ai donc pris un abonnement Anthropic Claude Max à 100€ pour un seul mois, et je me suis donné comme objectif de tout comprendre en un mois. Cela a été le mois le plus intense, avec des sensations que je n'avais pas connues depuis longtemps.

J'étais redevenu un chercheur.
J'avais de nouveau 25 ans.

J'ai installé une VM GNU/Linux sur mon poste pour isoler un peu mes tests. Je savais que j'allais apprendre en marchant, et donc faire pas mal d'erreurs. Une fois sous Linux, j'ai installé le CLI Claude Code et commencé à tatonner un peu. Puis j'ai cloné les projets opensources suivants (et beaucoup d'autres) :

Pendant des jours, et des nuits, j'ai étudié leur fonctionnement et testé leurs possibilités, mais surtout, je les ai complètement transformé en codant des nouvelles fonctionnalités, des correctifs et en étendant leurs possibilités. Le tout sans taper une seule ligne de code...

En trois semaines, j'avais mis au point un superbe outil de pentests blackbox, greybox et whitebox, capable de trouver en 2h toutes les vulnérabilités REELLES des applications de mon entreprise, avec preuves d'exploitation et avec rapport pédagogique de remédiations pour les équipes de développement et les équipes infrastructures. Ce que je demandais à faire par des experts une fois par an, je peux le faire maintenant plusieurs fois par jour.

Pour améliorer les chances de mon outils de pentest, j'ai demandé un accès à tous les dépôts de code de l'entreprise et j'ai lancé Metis qui, pour chaque application, m'a donné des fichiers SARIF de failles exploitables qui je pouvais passer à Shannon pour améliorer ses découvertes.

Idem avec pyADRecon, PentAGI et Prowler, qui m'aident à fournir des preuves de faiblesses de nos outils informatiques à nos équipes de sécurité opérationnelles.

A chaque fois, j'ai procédé de la même manière : analyse de l'outil, analyse de son code source et de sa stack technique, puis adaptation à mes besoins et à mes possibilités. Par exemple, j'ai doté tous les outils d'un accès aux différents LLM du marché, pour ne pas dépendre du seul Anthropic et j'ai pris un abonnement à 100€ à Ollama Cloud pour pouvoir utiliser les modèles à poids ouverts que j'ai pu tester sur ma machine perso multi GPU dont j'ai déjà parlé sur ce blog et qui me sert de chauffage l'hiver.

Comme je n'ai écrit aucune ligne de code, je ne peux pas envisager de contribuer sur ces projets (et heureusement pour eux), mais j'ai partagé en interne les outils avec mon équipe et avec les équipes de développement.

Mon outil de pentest a permis également d'encadrer tous les projets de "citizen devs" en vibe coding qui pouvaient naître dans l'entreprise. Les résultats freinaient un peu ceux qui pensaient pouvoir créer de grosses applications "en un week-end", tout en leur permettant de revoir leur copie à la lumière des recommandations que je pouvais leur faire.

Un mois après, j'obtenais de mon entreprise un abonnement Claude Max x20 + un abonnement Ollama Cloud x20 + un abonnement OpenAI Pro x20 pour pouvoir couvrir tous mes besoins en analyses et en recherches de failles de sécurité. Les équipes de dev et infra disposent également d'abonnements pour pouvoir corriger au plus vite toutes les failles découvertes, et éviter d'en générer de nouvelles, en améliorant la qualité de la sécurité de leur code.

J'ai appris (en tout cas, j'ai survolé) la méthode TDD, les tests des QA, la chaîne CI/CD jusqu'à la prod. J'ai mieux compris les problèmes des Devs, je peux plus facilement discuter avec eux et servir de pont avec l'infra. Tout cela est venu s'ajouter à mes fonctions de pilotage du SOC externe managé et de suivi des actions de sécurité opérationnelle.

En un mois le temps s'est accéléré et je ne l'ai pas vu passer, mais nous avons corrigé un grand nombre de failles et mieux protégé nos données.

Le plus dur est de savoir que cela ne suffira pas... car les défenseurs perdent toujours : les seuls châteaux qui n'ont pas été pris sont ceux qui ont fini par être abandonnés par leurs occupants.

C'est le même constat pour mon blog : je sais qu'il se fera pirater un jour mais cela ne m'empêche pas d'essayer de reculer cette échéance. J'ai d'ailleurs pu appliquer ici même mes nouvelles connaissances pour passer, en une semaine, d'un site WordPress à un site statique, de durcir la sécurité du serveur et du CDN, de passer à DNSSEC, et d'améliorer l'accessibilité du site. Je repoussais toutes ces tâches par manque de temps.

L'IA est à considérer comme une aide, comme un stagiaire pouvant être très performant mais aussi très mauvais, ou comme un consultant. Ce qui m'amène à finir ce billet avec une blague que j'ai retrouvée cette semaine dans un de mes emails de juillet 2000 et qui s'appelle :

".... à méditer !"

La voiture s'immobilise et le jeune qui en descend s'adresse au berger :
- Si je devine combien de moutons vous avez, vous m'en donnez un ?

Le berger regarde le jeune homme, regarde les moutons qui broutent et dit :
- Oui.

Le jeune homme gare la voiture, branche le notebook et le GSM, entre dans un site de la NASA, scrute le terrain à l'aide du GPS, établi une base de données, 60 tableaux Excel pleins d'algorithmes et d'exponentielles, plus un rapport de 150 pages, imprime sur sa mini imprimante HIGH-TECH, puis se tourne vers le berger et dit :
- Vous avez ici 1586 moutons.

Le berger répond :
- C'est tout à fait correct, vous pouvez avoir votre mouton.

Le jeune homme prend le mouton et le met dans le coffre de la Jeep. A ce moment le berger lui demande :
- Si je devine votre profession, vous me rendez mon mouton ?

Le jeune homme répond :
- Oui

Le berger dit tout de suite :
- Vous êtes consultant.
- Comment avez vous deviné ? Demande le jeune homme.

Très facile répond le berger :
1) Vous êtes venu ici sans qu'on vous appelle.
2) Vous me taxez un mouton pour me dire ce que je savais déjà.
3) Vous ne comprenez rien à ce que je fais, parce que vous avez pris mon chien !

Statue sombre d'un homme en costume marchant en avant, brandissant un drapeau dont l'étoffe lui recouvre le visage, sur fond de ciel bleu.
Source https://banksy.co.uk/