Vai al contenuto

EDR

ZADIG XDR offre un software EDR. Esso è composto da un insieme di progetti che implementano un unico core di servizio multipiattaforma, che combina più moduli (eventualmente nativi) e viene distribuito in modo coerente su diverse piattaforme di destinazione. L'agente vero e proprio è progettato per funzionare in background e reagire a diversi tipi di eventi. La soluzione XDR prevede un agent persistente i cui dati vengono visualizzati e gestiti tramite piattaforma unificata con funzionalità di gestione e protezione endpoint e che consente di effettuare correlazione con gli altri dati provenienti da tutte le altre sorgenti integrate. È stato inizialmente progettato per supportare gli eventi del filesystem di accesso, ma può facilmente ospitare altre fonti di eventi.

La soluzione supporta installazioni non persistenti nella misura in cui il cliente sia già dotato di una soluzione di gestione automatica della distribuzione di applicazioni. Gli alert prodotti dalla piattaforma possono essere elaborati dal SOAR al fine di attivare i profili di distribuzione dell’agente sui dispositivi coinvolti dall’alert.

Di seguito il diagramma dell'architettura del servizio. Esso copre tutti gli aspetti principali del suo design esaminati successivamente:

Alt text

Inserimento di moduli

La risoluzione delle dipendenze avviene tramite autofac utilizzando un file di configurazione. Tutti i moduli possono essere considerati produttori di eventi (generatori) o consumatori (gestori). Tutti espongono o si connettono ad alcune interfacce comuni. A seconda della piattaforma di destinazione e delle caratteristiche desiderate, è possibile configurare un diverso set di moduli per la risoluzione di dipendenze in base alla distribuzione.

Estensioni native

I moduli possono dipendere da funzionalità o API specifiche della piattaforma. In questo caso, il modulo fornisce tutte le estensioni native richieste, ad es. binding, librerie, driver o applicazioni aggiuntive.
In nessun caso altri moduli di interfacciamento dovrebbero preoccuparsi di come tale specificità della piattaforma viene implementata, tutto rimane nascosto all'interno del modulo.

App hosts

La compositon root fa parte di una libreria che può essere referenziata da diversi tipi di application host. Questo rende più facile sviluppare, testare e distribuire l'agente all'interno di più wrapper minimi che meglio si adattano al dispositivo endpoint. Ad esempio, è possibile eseguire la stessa base di codice del servizio agente come applicazione console o servizio in background.

Applicazioni utente

Un certo numero di features richiede interazioni utente. La loro implementazione fa parte di applicazioni specifiche per la piattaforma che meglio corrispondono ai vari casi d'uso in diverse classi di dispositivi endpoint.

Configurazione

Il servizio core dell'agente può includere un modulo che necessita di parametri out-of-package da impostare in modo che il modulo sia funzionale. Le applicazioni utente devono avere accesso in scrittura - a determinate condizioni - a posizioni di configurazione condivise che il core dell'agente potrebbe leggere all'avvio.

Dato che il core del servizio agente sarà probabilmente eseguito con alti privilegi a livello di sistema, l'applicazione utente deve eventualmente chiedere diritti elevati per scrivere nella posizione di configurazione condivisa.

Interazione con il servizio core

Il servizio core dell'agente potrebbe includere moduli di gestione degli eventi che richiedono interazioni asincrone dell'utente per la segnalazione dello stato del servizio, l'avviso o l'adozione di decisioni.
Le applicazioni dell'utente si associano a questo tipo di moduli e forniscono l'interfaccia utente necessaria e le integrazioni con le API shell della piattaforma.

Modello di distribuzione

Ogni piattaforma consente una serie di diversi modelli di distribuzione. E' stato necessario scegliere alcuni che forniscano in modo efficiente sia l'agent service worker di base (con tutti i suoi moduli) e l'applicazione utente.
L'implementazione pacchettizzata sembra essere abbastanza conveniente per i requisiti esterni, poiché ogni sistema operativo attualmente fornisce un modo per raggruppare i nostri due componenti in un unico elemento distribuibile.

Funzionalità disponibili con distribuzione a pacchetto

Le applicazioni pacchettizzate possono beneficiare di funzionalità della piattaforma come gli aggiornamenti automatici, la facile disinstallazione, la consegna e licenza dei pacchetti ottimizzati (che potrebbero essere utili in futuro nel caso in cui diversi moduli vengano installati come plug-in aggiuntivi).