Dossier · Cybersécurité
Exfil Guardian
Détection d'exfiltration de données en Rust : agent, driver kernel, serveur et application desktop.
Une solution complète de détection d'exfiltration de données, écrite en Rust de bout en bout. C'est le projet sur lequel je suis allé le plus loin techniquement.
Architecture
- Agent : collecte sur le poste, en espace utilisateur.
- Driver kernel : instrumentation au niveau noyau, pour Windows et Linux. C'est la partie la plus exigeante — deux modèles de pilotes très différents à couvrir avec une base de code commune.
- Serveur : centralisation, corrélation et conservation des événements remontés par les agents.
- Application desktop : console d'analyse pour l'opérateur.
Pourquoi Rust
Un agent de sécurité qui tourne en permanence sur un poste, et a fortiori du code qui s'exécute en espace noyau, ne peut pas se permettre une corruption mémoire : le coût d'un bug n'est pas un crash, c'est une élévation de privilèges. Rust apporte les garanties du langage sans renoncer au niveau d'accès dont ce type d'outil a besoin.
Ce que ça m'a appris
Le développement de pilotes m'a forcé à comprendre pour de bon ce qui se passe sous l'API : gestion mémoire, contextes d'exécution, frontière user/kernel. C'est ce qui m'a donné le goût du bas niveau, que je continue à creuser en dehors de ce projet.