Falco: runtime security per container e Kubernetes

Falco 0.13 (gennaio 2019) di Sysdig Inc.: runtime security engine per Linux che rileva comportamenti anomali in container e Kubernetes tramite syscalls hook, regole YAML, alert in tempo reale. CNCF Sandbox da ottobre 2018.

Cyber SecurityOpen SourceWeb FalcoSysdigRuntime SecurityKuberneteseBPFCNCFCyber SecurityOpen Source

Sicurezza a runtime dei container

Scan di immagini container e policy Kubernetes coprono la parte statica della sicurezza: “questa immagine è safe?”. Non coprono la parte runtime: “il container in esecuzione sta facendo qualcosa di strano adesso?”.

Falco, avviato nel 2016 da Sysdig Inc., risponde al secondo problema. Accettato nel CNCF Sandbox nell’ottobre 2018, al gennaio 2019 Falco è alla versione 0.13 con adozione iniziale in produzione. Licenza Apache 2.0. Nel 2020 Falco passerà a CNCF Incubating, nel 2024 a Graduated.

Come funziona

Falco intercetta le syscall del kernel Linux — operazioni che ogni processo deve fare per interagire con il sistema (file, network, exec). Lo fa tramite:

  • Kernel module Sysdig — al 2019 l’approccio primario
  • eBPF probe — alternativa cresciuta negli anni successivi, meno invasiva
  • Userspace instrumentation (moderna)

Le syscall intercettate sono confrontate con regole YAML che descrivono comportamenti sospetti:

- rule: Terminal shell in container
  desc: A shell was used as the entrypoint/exec point into a container
  condition: >
    spawned_process and container
    and shell_procs and proc.tty != 0
  output: >
    A shell was spawned in a container (user=%user.name
    container_id=%container.id image=%container.image.repository)
  priority: NOTICE
  tags: [container, shell, mitre_execution]

Se la condizione matcha, Falco emette un alert — su stdout, syslog, file, webhook HTTP, Slack, Kafka, Elasticsearch.

Regole di base

Falco è distribuito con ~150 regole di base (al 2019) che coprono scenari comuni:

  • Shell spawn in container di produzione — tipicamente anomalo
  • Sensitive file access — lettura di /etc/shadow, chiavi SSH
  • Privilege escalation — setuid, capabilities inaspettate
  • Network activity — binding su porte non previste, DNS su server non standard
  • Container escape attempts — mount di filesystem host, accesso a namespace diversi
  • Cryptomining — esecuzione di pattern noti (xmrig, etc.)

Le regole sono estensibili dall’utente per policy specifiche dell’organizzazione.

MITRE ATT&CK mapping

Le regole Falco sono tagged con MITRE ATT&CK tactics/techniques. Questo facilita integrazione con SOC workflow: un alert Falco è contestualizzato rispetto al framework di threat modeling standard.

Integrazione Kubernetes

In Kubernetes Falco si dispiega tipicamente come DaemonSet — un’istanza per nodo. Gli alert includono automaticamente metadata K8s (namespace, pod name, labels) grazie a Kubernetes Audit integration.

Falcosidekick (componente complementare) inoltra alert a decine di destinazioni (Slack, Teams, AlertManager, OpsGenie, AWS Lambda, webhook custom).

Confronto con alternative

  • Sysdig Secure — prodotto commerciale proprietario di Sysdig, con UI, policy management, compliance report. Falco è il core open source sottostante
  • Aqua Security, Trend Micro Cloud One, Palo Alto Prisma Cloud — suite commerciali che competono con Falco per capability
  • Tracee (Aqua Security, 2020) — alternativa open source eBPF-native
  • eBPF-based tools emergenti (Tetragon di Isovalent, 2022) cambiano nuovamente il panorama

Nel contesto italiano

Al 2019 Falco è adottato in Italia da:

  • Startup con infrastruttura cloud-native
  • Banche e fintech con cluster Kubernetes multi-tenant
  • SaaS italiani — monitoring di runtime containerizzato
  • PA in progetti di cloud pubblico regolato

Riferimenti: Falco 0.13 (gennaio 2019). Sysdig Inc. (fondatrice). CNCF Sandbox (ottobre 2018), Incubating (aprile 2020), Graduated (2024). Licenza Apache 2.0. Kernel module/eBPF probe. Integrazione MITRE ATT&CK, Kubernetes Audit. Falcosidekick per notification routing.

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi