
Monitor di sicurezza del kernel in runtime basato su eBPF che rileva exploit e rootkit tramite integrità del flusso di controllo (wCFI) e rilevamento di escalation dei privilegi (PSD) per sistemi Linux.
VED (Vault Exploit Defense)-eBPF sfrutta eBPF (extended Berkeley Packet Filter) per implementare il monitoraggio runtime della sicurezza del kernel e il rilevamento di exploit per sistemi Linux.
eBPF è una macchina virtuale all'interno del kernel che consente l'esecuzione di codice nel kernel senza modificare il codice sorgente del kernel stesso. I programmi eBPF possono essere collegati a tracepoint, kprobes e altri eventi del kernel per analizzare in modo efficiente l'esecuzione e raccogliere dati.
VED-eBPF utilizza eBPF per tracciare i comportamenti sensibili alla sicurezza del kernel e rilevare anomalie che potrebbero indicare un exploit o un rootkit. Fornisce due principali rilevamenti:
wCFI (Integrità del Flusso di Controllo) traccia lo stack di chiamate del kernel per rilevare attacchi di hijacking del flusso di controllo. Funziona generando una bitmap dei siti di chiamata validi e convalidando che ogni indirizzo di ritorno corrisponda a un callsite noto.
PSD (Rilevamento di Escalation dei Privilegi) traccia le modifiche alle strutture delle credenziali nel kernel per rilevare escalation di privilegi non autorizzate.
VED-eBPF collega i programmi eBPF alle funzioni del kernel per tracciare i flussi di esecuzione ed estrarre eventi di sicurezza. I programmi eBPF inviano questi eventi tramite buffer perf allo spazio utente per l'analisi.
wCFI traccia lo stack di chiamate collegandosi alle funzioni specificate sulla riga di comando. Ad ogni chiamata, scarica lo stack, assegna un ID stack e convalida gli indirizzi di ritorno rispetto a una bitmap precalcolata di siti di chiamata validi generata da objdump e /proc/kallsyms.
Se viene rilevato un indirizzo di ritorno non valido, che indica uno stack danneggiato, genera un wcfi_stack_event contenente:
* Traccia dello stack
* ID stack
* Indirizzo di ritorno non valido
Questo evento di sicurezza viene inviato tramite buffer perf allo spazio utente.
Il programma eBPF wCFI traccia anche le modifiche al puntatore dello stack e alla regione di testo del kernel per mantenere aggiornata la convalida.
PSD traccia le modifiche alle strutture delle credenziali collegandosi a funzioni come commit_creds e prepare_kernel_cred. Ad ogni chiamata, estrae informazioni come:
* Credenziali del processo corrente
* Hash delle credenziali e namespace utente
* Stack di chiamate
Confronta le credenziali prima e dopo la chiamata per rilevare modifiche non autorizzate. Se viene rilevata un'escalation di privilegi illegale, genera un psd_event contenente i campi delle credenziali e lo invia tramite buffer perf.
VED-eBPF richiede:
VED-eBPF è attualmente una proof-of-concept che dimostra il potenziale del rilevamento di exploit del kernel e rootkit basato su eBPF. Il lavoro in corso include:
VED-eBPF mostra le potenzialità di eBPF per costruire un monitoraggio efficiente e a basso overhead della sicurezza del kernel senza modifiche al kernel. Sfruttando il tracing eBPF e i buffer perf, gli eventi di sicurezza critici possono essere estratti in tempo reale e analizzati per identificare le minacce emergenti al kernel per ambienti cloud native.