Tracee - Cheatsheet Sicurezza Runtime & Forensics eBPF
Tracee è uno strumento open-source eBPF-based runtime security e forensics di Aqua Security. Utilizza eBPF per tracciare gli eventi del sistema operativo — syscall, attività di processo e rete, operazioni su file — a livello del kernel con bassissimo overhead, poi applica una libreria di firme comportamentali per rilevare attività sospette o malevole a runtime. È costruito per host Linux, container e Kubernetes, ed è un complemento valido a Falco e Tetragon nello spazio runtime-security eBPF.
Requisiti
- Linux kernel ≥ 5.4 (supporto BTF / CO-RE consigliato; la maggior parte delle distribuzioni moderne)
- Root / container privilegiato (eBPF richiede capacità elevate)
Installazione
| Metodo | Comando |
|---|
| Docker (più veloce) | docker run --name tracee -it --rm --pid=host --cgroupns=host --privileged -v /etc/os-release:/etc/os-release-host:ro aquasec/tracee:latest |
| Kubernetes (Helm) | helm repo add aqua https://aquasecurity.github.io/helm-charts/ && helm install tracee aqua/tracee -n tracee --create-namespace |
| Binary | scarica da GitHub Releases, esegui sudo ./tracee |
| Verifica | tracee version |
Utilizzo di Base
| Comando | Descrizione |
|---|
sudo tracee | Inizia il tracciamento con firme di rilevazione predefinite |
sudo tracee --output json | Emetti eventi come JSON |
sudo tracee --scope comm=nginx | Traccia solo un processo specifico |
sudo tracee --events execve,open | Traccia eventi specifici |
tracee --help | Elenco completo delle opzioni |
Selezione degli Eventi (--events)
| Selettore | Corrisponde a |
|---|
--events execve | Esecuzioni di processo |
--events open,openat | Aperture di file |
--events net_packet_dns | Traffico DNS |
--events security_file_open | Hook LSM file-open |
--events 'fs' | Un intero insieme di eventi (filesystem) |
--events 'signatures' | Solo rilevamenti di firma |
--events execve.args.pathname=/usr/bin/* | Filtra per valore di argomento |
Filtraggio per Ambito (--scope)
| Selettore | Corrisponde a |
|---|
--scope comm=bash | Per nome del comando |
--scope pid=1234 | Per PID |
--scope container | Solo eventi container |
--scope container=new | Solo container appena avviati |
--scope uid=0 | Attività root |
--scope pid=new | Processi appena creati |
--scope not-container | Eventi solo host |
Firme di Rilevamento
Tracee include firme comportamentali (Go e Rego) che segnalano tecniche di attacco note.
| Esempio di rilevamento | Tecnica |
|---|
| Anti-debugging | Evasione tramite ptrace |
| Caricamento di codice dinamico | Payload residenti in memoria |
| LD_PRELOAD | Iniezione di libreria |
| Privilege escalation | Abuso setuid/capability |
| Container escape | Accesso namespace/host |
| Caricamento modulo kernel | Installazione rootkit |
| Comando | Descrizione |
|---|
sudo tracee --events signatures | Esegui solo le firme di rilevamento |
--rego- flags | Carica firme Rego personalizzate |
--signatures-dir DIR | Carica firme da una directory |
Output & Cattura
| Opzione | Descrizione |
|---|
--output json | Eventi JSON (pipe a un SIEM) |
--output table | Tabella leggibile all”uomo |
--output gotemplate=FILE.tmpl | Output su template personalizzato |
--capture exec | Cattura binari eseguiti su disco |
--capture mem | Cattura regioni di memoria (forensics) |
--capture net | Cattura traffico di rete per evento |
--output forward:tcp://host:port | Inoltra eventi a un collettore |
Flussi di Lavoro Comuni
# Guarda solo l'attività container, JSON per un SIEM
sudo tracee --scope container --output json | tee tracee-events.json
# Rileva minacce solo (firme), output tabella
sudo tracee --events signatures --output table
# Indaga un processo specifico e cattura binari eseguiti
sudo tracee --scope comm=suspicious --capture exec
# Emerge DNS prodotto da nuovi container (caccia all'esfilazione)
sudo tracee --scope container=new --events net_packet_dns
Tracee vs Falco vs Tetragon
| Aspetto | Tracee | Falco | Tetragon |
|---|
| Motore | eBPF (Aqua) | eBPF (CNCF) | eBPF (Cilium) |
| Focus | Forensics + rilevamento + cattura | Alerting/rilevamento | Osservabilità + enforcement in-kernel |
| Enforcement | Focalizzato su rilevamento | Rilevamento | Sì (kill/override) |
| Cattura forense | Forte (exec/mem/net) | Limitata | Event-focused |
| Migliore per | Forensics di minacce & cattura | Libreria di regole maturo | Prevenzione + visibilità profonda |
Risorse