Un EDR (Endpoint Detection and Response) è una soluzione di sicurezza endpoint che supera i limiti dell’antivirus tradizionale basato su firma, raccogliendo telemetria comportamentale continua dal sistema operativo — chiamate di sistema, creazione di processi, connessioni di rete, accesso a file, modifiche al registro — e correlando questi eventi per rilevare attività anomale, incluse tecniche avanzate come living-off-the-land, fileless malware e movimenti laterali. Il termine fu coniato da Anton Chuvakin di Gartner nel 2013.
Differenza rispetto all’antivirus tradizionale
Un antivirus tradizionale lavora principalmente con firme statiche: confronta i file sul disco con un database di hash e pattern di malware noti. È efficace contro malware conosciuto, ma cieco di fronte a varianti nuove, codice offuscato o attacchi che non scrivono file su disco.
Un EDR agisce a un livello più profondo:
| Antivirus | EDR | |
|---|---|---|
| Paradigma | Firma statica | Comportamento dinamico |
| Visibilità | File su disco | Processi, syscall, rete, registro |
| Rilevamento zero-day | Limitato | Sì (anomaly detection) |
| Forensica | No | Sì (timeline, process tree) |
| Risposta | Quarantena file | Isolamento host, kill process, remediation |
| Retention dati | No | Sì (giorni/settimane di telemetria) |
Architettura
Un agente EDR è installato su ogni endpoint (Windows, macOS, Linux) con privilegi di sistema. Intercetta eventi a livello kernel tramite:
- Kernel callbacks (Windows): notifiche su creazione di processi, caricamento di immagini, accesso a oggetti
- ETW (Event Tracing for Windows): framework di telemetria del kernel
- eBPF (Linux): probes nel kernel per osservare syscall e eventi di rete senza modificare il kernel
La telemetria viene inviata a una piattaforma cloud dove algoritmi di machine learning e regole di correlazione analizzano i pattern, generano detection e alimentano un grafo di attività che permette la ricostruzione forense completa di un incidente.
Capacità di risposta
La componente Response dell’EDR non è solo rilevamento passivo: permette agli analisti di intervenire direttamente sull’endpoint compromesso:
- Isolamento di rete: disconnettere l’host da tutta la rete (tranne il canale C2 dell’EDR) per contenere la propagazione
- Kill process: terminare processi malevoli in esecuzione
- Rimozione file: eliminare artefatti malevoli
- Live response shell: sessione interattiva sull’endpoint per investigazione forense in tempo reale
- Memory dump: acquisire la RAM per analisi forense
Evasione degli EDR
Gli attori avanzati (APT) sviluppano tecniche specifiche per aggirare gli EDR:
Kernel driver exploit: caricare un driver del kernel vulnerabile e firmato per disabilitare l’agente EDR dal kernel (BYOVD — Bring Your Own Vulnerable Driver). Usato da Lazarus Group e altri.
Direct syscalls: bypassare le API userspace hookkate dall’EDR chiamando direttamente le syscall del kernel tramite istruzioni assembly, evitando il codice di intercettazione iniettato dall’agente.
EDR unhooking: ripristinare le funzioni NTDLL originali sovrascrivendole con una copia pulita caricata dal disco, rimuovendo gli hook dell’EDR in userspace.
Process tampering: sfruttare tecniche come process hollowing o process doppelgänging per eseguire codice in processi legittimi senza passare per i punti di intercettazione normali.
XDR: l’evoluzione
XDR (Extended Detection and Response) estende l’EDR correlando la telemetria di endpoint, rete, cloud, email e identità in un’unica piattaforma analitica. Permette di rilevare attacchi multi-vettore che attraversano più domini — es. un’email di phishing che porta a una compromissione endpoint che genera movimento laterale in rete — che i silos separati non riuscirebbero a correlare.