Source : Elastic Security Labs — Des chercheurs présentent « FlipSwitch », une technique de rootkit Linux capable de contourner le nouveau mécanisme de dispatch des syscalls introduit dans le kernel 6.9.
Le noyau Linux 6.9 a remplacé la table sys_call_table par un dispatch via switch pour neutraliser le hooking classique des syscalls. FlipSwitch contourne cette défense en modifiant directement le code machine du dispatcher des syscalls (x64_sys_call), évitant toute dépendance à la sys_call_table désormais non utilisée pour le routage effectif.
Techniquement, la méthode consiste à retrouver les adresses des fonctions syscall originales via kallsyms_lookup_name (au moyen d’une indirection kprobe), à scanner le code brut de x64_sys_call pour repérer des instructions call (opcode 0xE8) pointant vers des cibles comme sys_kill, puis à désactiver la protection en écriture en vidant le bit 16 du registre CR0 (write_cr0_forced). Le rootkit réécrit l’offset relatif 4 octets de l’instruction call pour rediriger l’exécution vers des fonctions contrôlées par l’attaquant, et rétablit les modifications au déchargement. 🧩
Cette approche bypasse le durcissement du kernel 6.9 tout en renforçant la furtivité: elle opère en ring 0, n’altère pas la sys_call_table et ne modifie que des offsets ciblés. Elastic Security publie des signatures YARA pour détecter ce proof‑of‑concept, soulignant l’évolution continue des menaces au niveau kernel face aux nouvelles protections.
IOC et TTP
- IOCs: aucun indicateur (hash, IP, domaine) détaillé; des signatures YARA sont annoncées (voir la référence)
- TTPs:
- Rootkit kernel opérant en ring 0
- Patching de code du dispatcher x64_sys_call (x86‑64)
- kallsyms_lookup_name via kprobe pour la résolution des symboles
- Scan d’opcodes 0xE8 et modification d’offsets relatifs 4 octets des instructions call
- Désactivation temporaire de WP via CR0 (write_cr0_forced)
Conclusion: publication de recherche décrivant une nouvelle technique de hooking de syscalls par patch binaire destinée à démontrer un vecteur de contournement des protections du kernel 6.9 et à fournir des artefacts de détection.
🔗 Source originale : https://www.elastic.co/security-labs/flipswitch-linux-rootkit
🖴 Archive : https://web.archive.org/web/20250930201919/https://www.elastic.co/security-labs/flipswitch-linux-rootkit