Socle système
Serveur Linux hébergé en France. Accès administrateur restreint, mises à jour de sécurité automatiques.
Deux ensembles séparés. D'un côté le serveur qui héberge ce site. De l'autre un laboratoire privé, découpé en zones étanches, où je m'entraîne à attaquer et à défendre sans risque.
aucune communication entre les zones
Ce site tourne sur un serveur qui lui est réservé, sans lien avec le laboratoire. Chaque élément a un rôle unique.
Serveur Linux hébergé en France. Accès administrateur restreint, mises à jour de sécurité automatiques.
Un pare-feu refuse tout par défaut et n'ouvre que le strict nécessaire. Les tentatives de connexion répétées sont bloquées automatiquement.
Le trafic est chiffré de bout en bout, avec un certificat renouvelé automatiquement. Le navigateur reçoit des consignes strictes sur ce qu'il a le droit de charger.
Une seule commande met le site à jour, du dépôt à la production. Chaque version est reconstruite à l'identique, sans intervention manuelle.
Les bibliothèques utilisées par le site sont surveillées automatiquement. Quand une faille est publiée, la correction est proposée le jour même.
Le site ne reçoit jamais directement les requêtes venues d'Internet, elles passent toutes par le proxy. Il tourne avec le minimum de droits et une mémoire plafonnée.
Un serveur d'occasion remis en service, avec une mémoire limitée. Cette contrainte a dicté toute l'architecture, et c'est ce qui rend l'exercice intéressant.
Une seule machine physique fait tourner une dizaine de systèmes isolés. Sauvegarde avant chaque modification importante.
Un pare-feu sépare le réseau en quatre zones qui ne communiquent pas entre elles. Aucune n'est accessible depuis Internet.
Un système de détection surveille le trafic. J'attaque depuis une zone et je vérifie que l'alerte se déclenche bien dans l'autre.
Un annuaire d'entreprise reconstitué, comme on en trouve dans la plupart des sociétés. Il sert à comprendre comment ces environnements sont attaqués et défendus.
Un poste dédié aux tests d'intrusion, face à des applications volontairement vulnérables. Il ne peut atteindre ni le reste du laboratoire, ni Internet.
L'administration passe par un tunnel chiffré, avec une clé différente par appareil.
Le laboratoire surveille le site depuis l'extérieur. Un contrôle quotidien compare son état à celui de la veille et signale la moindre différence.
Le site répond-il, la connexion est-elle bien chiffrée, le certificat est-il toujours valide.
Les protections envoyées au navigateur sont-elles toujours en place, et le contenu de la page a-t-il changé sans raison.
Le nom de domaine pointe-t-il toujours au bon endroit, et personne d'autre n'a-t-il obtenu de certificat à mon nom.
L'étape suivante est de refaire cette architecture chez moi, sur mon propre réseau. Le matériel est en cours de rassemblement.
Une machine récupérée, remise en service pour accueillir un second laboratoire indépendant du premier.
Un serveur de stockage assemblé sur mesure, pour garder les sauvegardes ailleurs que sur la machine qu'elles protègent.
Un pare-feu en tête du réseau domestique, pour séparer les usages personnels du laboratoire.
Ce qui suit n'est pas une feuille de route, c'est une direction. Je veux concevoir entièrement ce que je construis, du circuit imprimé au logiciel qui le pilote, jusqu'à l'objet fini. Puis relier ces domaines dans une même infrastructure, avec un outillage commun capable de les couvrir tous, et qui tienne debout sans rien devoir à personne.
Certains de ces sujets sont hors de portée aujourd'hui. Ils le resteront moins longtemps si je m'y prépare maintenant.
Des dispositifs qui prouvent ce qu'ils exécutent, au lieu de demander qu'on les croie.
Toute la sécurité repose aujourd'hui sur une confiance accordée au fabricant. Je veux inverser ce rapport. Concevoir du matériel capable de démontrer, à celui qui s'en sert, quel code il exécute réellement. Le faire en logiciel est déjà difficile. Le faire dans le silicium est l'étape d'après.
Protéger des appareils dont une défaillance ne se répare pas.
Un moniteur, une pompe, un implant. Ces machines maintiennent des gens en vie et se pilotent parfois sans authentification sérieuse. La réglementation avance, l'outillage non. Tout est à construire, et presque personne ne s'y attelle.
Des équipements dont on maîtrise chaque composant, du circuit au code.
Un système d'armes qu'on ne peut pas auditer entièrement reste une dépendance déguisée. Concevoir, fabriquer et vérifier sur son propre territoire n'est pas une posture, c'est la seule façon de savoir ce que fait vraiment ce qu'on déploie.
Sécuriser les machines qui font tourner un pays.
Traitement de l'eau, énergie, chaînes de production. Des automates de trente ans qu'on ne peut ni arrêter ni remplacer, désormais reliés à des réseaux qu'ils n'ont jamais été conçus pour affronter. Les protéger sans y toucher est un problème magnifique.
Des machines qui se déplacent et décident seules, donc qu'on peut détourner.
Drones, robots, véhicules. Une intrusion n'y vole plus des données, elle prend la main sur un objet qui agit dans le monde réel. Savoir les concevoir et savoir les mettre en défaut sont les deux faces du même métier, et je veux les deux.
Voir, comprendre et contester ce qui circule dans les ondes.
Radar, télémétrie, liaisons de commande. Tout ce qui émet se détecte, s'analyse et se perturbe. Cette bataille invisible demande autant d'électronique que de traitement du signal, et c'est l'un des terrains les plus exigeants de la discipline.
Fabriquer les appareils qui manquent pour observer un matériel.
Auditer une carte demande de lire ses signaux, sa consommation et sa mémoire pendant qu'elle fonctionne. Les instruments qui font ça coûtent des dizaines de milliers d'euros, quand ils existent. Les construire soi-même ouvre des portes que personne d'autre n'ouvre.
Attaquer et défendre des systèmes qui apprennent.
Un modèle embarqué dans une machine devient une surface d'attaque d'un genre nouveau. On peut le tromper, l'extraire, l'empoisonner. À l'inverse, il repère des signaux faibles qu'aucune règle écrite à la main ne verrait. Les deux directions m'intéressent autant.
Le tout de mes propres mains.