
Moniteur de sécurité du noyau en temps réel basé sur eBPF détectant les exploits et rootkits via l'intégrité du flux de contrôle (wCFI) et la détection d'escalade de privilèges (PSD) pour les systèmes Linux.
VED (Vault Exploit Defense)-eBPF exploite eBPF (extended Berkeley Packet Filter) pour implémenter une surveillance de la sécurité du noyau en temps réel et une détection d'exploits pour les systèmes Linux.
eBPF est une machine virtuelle intra-noyau qui permet l'exécution de code dans le noyau sans modifier le code source du noyau lui-même. Les programmes eBPF peuvent être attachés à des tracepoints, des kprobes et d'autres événements du noyau pour analyser efficacement l'exécution et collecter des données.
VED-eBPF utilise eBPF pour tracer les comportements du noyau sensibles à la sécurité et détecter des anomalies qui pourraient indiquer un exploit ou un rootkit. Il fournit deux détections principales :
wCFI (Intégrité du flux de contrôle) trace la pile d'appels du noyau pour détecter les attaques de détournement de flux de contrôle. Il fonctionne en générant un bitmap des sites d'appel valides et en validant que chaque adresse de retour correspond à un site d'appel connu.
PSD (Détection d'escalade de privilèges) trace les modifications des structures de credentials dans le noyau pour détecter les escalades de privilèges non autorisées.
VED-eBPF attache des programmes eBPF à des fonctions du noyau pour tracer les flux d'exécution et extraire les événements de sécurité. Les programmes eBPF soumettent ces événements via des tampons perf vers l'espace utilisateur pour analyse.
wCFI trace la pile d'appels en s'attachant aux fonctions spécifiées en ligne de commande. À chaque appel, il vide la pile, attribue un ID de pile et valide les adresses de retour par rapport à un bitmap précalculé de sites d'appel valides généré à partir de objdump et /proc/kallsyms.
Si une adresse de retour invalide est détectée, indiquant une pile corrompue, il génère un wcfi_stack_event contenant :
* Trace de la pile
* ID de pile
* Adresse de retour invalide
Cet événement de sécurité est soumis via des tampons perf vers l'espace utilisateur.
Le programme eBPF wCFI suit également les modifications du pointeur de pile et de la région de texte du noyau pour maintenir la validation à jour.
PSD trace les modifications de la structure des credentials en s'attachant à des fonctions comme commit_creds et prepare_kernel_cred. À chaque appel, il extrait des informations comme :
* Credentials du processus courant
* Hachages des credentials et de l'espace de noms utilisateur
* Pile d'appels
Il compare les credentials avant et après l'appel pour détecter les modifications non autorisées. Si une escalade de privilèges illégale est détectée, il génère un psd_event contenant les champs de credentials et le soumet via des tampons perf.
VED-eBPF nécessite :
VED-eBPF est actuellement une preuve de concept démontrant le potentiel de la détection d'exploits et de rootkits du noyau basée sur eBPF. Les travaux en cours incluent :
VED-eBPF montre le potentiel d'eBPF pour construire une surveillance de sécurité du noyau efficace et à faible surcharge sans modification du noyau. En exploitant le traçage eBPF et les tampons perf, les événements de sécurité critiques peuvent être extraits en temps réel et analysés pour identifier les menaces émergentes du noyau dans un environnement cloud natif.