Il rilevamento di rootkit tramite il confronto di file, processi e liste di connessioni è una buona pratica?

2

Attualmente sto leggendo il manuale della squadra blu e uno dei i metodi raccomandati per rilevare i rootkit sono di confrontare i dati tecnici ottenuti da varie fonti. Come ho capito, questo è praticato in questo modo:

  1. Confronta un elenco di tutti i file su un HDD ottenuto attraverso il sistema con un elenco di tutti i file ottenuti utilizzando un CD live

  2. Confronta un elenco di tutte le connessioni mostrate dal sistema con un elenco di connessioni catturate da un tocco di rete.

  3. Confronta un elenco di tutti i processi mostrati dal sistema con un elenco di processi estratti da un'immagine di memoria con uno strumento come la volatilità.

Gli elenchi dovrebbero corrispondere alla causa. In caso contrario, l'host potrebbe essere compromesso. Dato che ho smesso di fare esperienza di scripting, sono in grado di fare tutte queste cose, ma questo è davvero un metodo di rilevamento comune e valido?

È davvero costoso e onestamente non conosco una singola persona che abbia mai realizzato qualcosa di simile per rilevare un rootkit. Va notato che sono un amministratore e non un ragazzo IR.

    
posta davidb 11.07.2016 - 10:47
fonte

1 risposta

2

È un buon metodo di rilevamento, da ripetere:

  • Controllo della memoria per i processi nascosti
  • Controllo del traffico di rete
  • Controllo del filesystem

La soluzione di cui sopra è flessibile, scalabile e sicura, tuttavia non è lo script medio se è coinvolta su larga scala, per cui questa è la soluzione migliore. Ma questo non significa che non funzionerebbe su scale più piccole, tuttavia lo sforzo potrebbe essere troppo alto. La possibile implementazione potrebbe essere eseguita nel modo seguente:

  • La memoria controlla l'host di virtualizzazione integrato
  • Monitoraggio del traffico di rete sul livello di rete (ad esempio netflow)
  • Il filesystem verifica il livello di archiviazione di rete

Ora il problema è che, dato che è un lavoro abbastanza personalizzato, non sarà possibile fare affidamento sui risultati prima che si spenda tempo e denaro sufficienti per lo sviluppo di tale soluzione, quindi funziona, ma su larga scala, ad es. un sacco di server, diciamo, 10.000 di loro o più, avrebbe senso. Anche se questi server eseguono varie cose e non sono lo stesso tipo di server. Tuttavia, ci possono essere dei compromessi, potresti voler valutare alcuni software per farne alcuni, e quindi potrebbe essere più facile da fare, vedi sotto.

Se vuoi provare da solo, prova a configurare il monitoraggio Netflow (sflow) e con questo, puoi rilevare correttamente il traffico dannoso quando succede. L'utilizzo di software già pronti sarebbe più efficiente. Ad esempio, puoi selezionare i caratteri per i pacchetti per aumentare l'allarme. Un sacco di traffico insolito può essere rilevato con successo non solo in relazione all'hacking e questo aiuta molto. È economico, facile, multiuso ed efficace. L'unica cosa è che devi inventare i modelli appropriati (ad esempio quali pacchetti vuoi catturare), questi potrebbero essere fondamentalmente qualcosa di insolito ma permesso, ad es. connessioni TCP in uscita, che al rilevamento iniziale possono essere autorizzate se non dannose. Un altro modo semplice sarebbe eseguire tcpdump , poi netstat ed eseguire il confronto. Ma questo è meno utile, rileva solo connessioni di rete nascoste, e se cerchi internet, potresti già trovare alcuni script utili.

Per quanto riguarda i filesystem, puoi anche usare lo script normale per verificare la consistenza dei binari (ad esempio, usando i comandi standard rpm o dpkg ), e anche controllare la consistenza dei file di configurazione. Tale script può essere eseguito da un host esterno che si collega su ssh , carica lo script generato (ad esempio con gli ultimi checksum calcolati da git repo erano configs), esegue il controllo e restituisce il risultato. Rundeck può essere un software per aiutarti con questo. Il comando di esecuzione da un host esterno ti assicura che verrà eseguito al primo posto e alla fine è un metodo semplice ed efficace.

Riguardo la RAM, questa è la parte più difficile, e puoi saltare questa parte per il momento perché è più avanzata. Scaricare e analizzare la RAM è tutt'altro che facile.

Cerca anche chkrootkit e rkhunter script e simili. C'è antivirus gratuito Clamav e soluzioni a pagamento come Kaspersky . Questi controllano le backdoor conosciute, tuttavia, in un ambiente aziendale / di hosting medio esiste un 50/50 di probabilità se è personalizzato con patch sshd con chiave segreta o una backdoor nota.

E non dimenticare di assicurarti che il kernel non è stato riparato o che non ci sono moduli maligni, ma è un argomento diverso. Vorrei provare a ricercarlo e ad usare lo stesso script per controllare sia il kernel che i processi nascosti. Potrebbero esserci già alcuni script su Internet.

In sintesi, Netflow (o Sflow, è la stessa cosa) ti aiuterà molto non solo con la sicurezza ma anche con la rete. Non ha nulla a che fare con i server, funziona in questo modo, quell'interruttore invia ogni n-esimo pacchetto al ricevitore netflow che viene controllato rispetto a schemi predefiniti e con le relative statistiche. Dovrebbe fornire anche rapporti. I controlli del filesystem sono facili da fare con rpm e dpkg , e il resto può essere controllato da git o con build server. Si noti che i gestori di pacchetti utilizzano firme cristallografiche per cui non è necessario utilizzare LiveCD. Infine, controlla il kernel e i processi nascosti e sei ordinato. E prima di distribuire il software, digitalizzalo con "Kaspersky".

Prendi tempo, sviluppa un piano e pian piano a poco non è difficile fare tutto.

    
risposta data 11.07.2016 - 16:42
fonte

Leggi altre domande sui tag