Personas¶
Au lieu d'un serveur Ubuntu générique, chaque session HYDRA sélectionne aléatoirement l'un des trois personas — des environnements simulés complets conçus pour attirer des profils d'attaquants spécifiques.
Pourquoi les personas comptent¶
Un serveur vide ne donne rien à explorer aux attaquants. Un serveur avec des credentials réalistes, des services et un historique leur donne une raison de rester — et chaque minute qu'ils restent produit des données d'entraînement.
L'insight : les environnements à valeur financière attirent un engagement plus profond. Nos données le confirment : fintech_trading génère 2,4× plus de commandes que corp_ad.
Les trois personas¶
fintech_trading¶
Un serveur d'API de trading appartenant à une petite fintech.
| Élément | Contenu |
|---|---|
| Hostname | srv-prod-01 |
| Services | PostgreSQL, Redis, API Node.js de trading |
| Credentials leurres | Clés AWS dans /root/.aws/credentials, .env.prod avec mots de passe DB |
| bash_history | pg_dump trading_prod -t wallets, vim /opt/trading/config/.env.prod |
| MOTD | Bannière d'avertissement serveur de production |
Performance : 34 sessions signal, 1 349 commandes moy., 94s durée moy.
crypto_validator¶
Un nœud validateur blockchain Solana.
| Élément | Contenu |
|---|---|
| Hostname | solana-val-01 |
| Services | Validateur Solana, stack de monitoring |
| Credentials leurres | Keypairs dans /root/.config/solana/, solde simulé ~4 847 SOL |
| bash_history | solana balance, solana-keygen, commandes de gestion validateur |
Performance : 17 sessions signal, 643 commandes moy., 148s durée moy. Notamment, 303 tentatives de login ont utilisé les noms sol et solana — les scanners ciblent spécifiquement les nœuds Solana.
corp_ad¶
Un serveur membre Active Directory dans un environnement corporate.
| Élément | Contenu |
|---|---|
| Hostname | dc-backup-03 |
| Services | Samba, SSSD, Kerberos, LDAP |
| Credentials leurres | Keytabs Kerberos, exports LDAP, comptes de service |
| bash_history | smbclient, ldapsearch, kinit admin@CORP.LOCAL |
Performance : 15 sessions signal, 555 commandes moy., 86s durée moy. Moins de commandes mais des TTPs plus variés — énumération LDAP, Kerberos et SMB.
Fonctionnement technique¶
Le PersonaEngine gère la sélection et l'injection des personas :
- Sélection — Choix aléatoire au
session_start, pondéré par la configuration - Overlay VFS — Chaque persona a un
fs_blueprint.yamldéfinissant son arborescence. Le VFS démarre avec ce blueprint et fork une copie CoW pour la session. - Contexte LLM — La description du persona est injectée dans le prompt système du LLM, pour que les réponses correspondent à l'environnement (ex : lister des processus liés à Solana sur le persona crypto)
- Surcharges d'identité — Hostname, MOTD, variables d'environnement, services en cours d'exécution
- Événements live — Sorties asynchrones périodiques (logs cron, alertes monitoring) pour rendre l'environnement vivant
- Fichiers de remplissage — Dotfiles universels (
.Xauthority,.lesshst,.rnd) ajoutés à chaque persona pour quels -la /rootne montre pas un répertoire suspecteusement propre