I prodotti antivirus utilizzano "file canarino" per rilevare i rootkit?

9

Recentemente, ho appreso come alcuni rootkit sono in grado di nascondere determinati file, servizi, ecc. da programmi nel kernel o in modalità utente.

Questo mi ha fatto pensare: ci sono programmi antivirus o altri sistemi di rilevamento delle intrusioni che usano "file canarino" con stringhe comuni nei loro nomi di file che sono normalmente nascosti da rootkit per rilevarli?

cioè:

1.) MyRootkit.vir è noto per nascondere i file che includono la stringa ".vir" nel loro nome file.
2.) All'installazione (o aggiornamento della firma) MyAV inserisce MyRootkitcanary.vir in C: \ Programmi \ MyAV \ Canary Files \
3.) Durante una scansione, MyAV esegue cmd -c dir "C:\Program Files\MyAV\Canary Files\"
4.) Se MyRootkitcanary.vir non è incluso nella risposta del sistema, MyAV avverte che il sistema potrebbe essere infetto da MyRootkit.vir .

    
posta Iszi 11.11.2011 - 05:27
fonte

3 risposte

5

Non sono a conoscenza di alcun prodotto antivirus comune per gli utenti finali che lo fanno.

Molti rootkit, tuttavia, usano entrambi i percorsi assoluti o mettono i loro file in cartelle del sistema operativo ben note. Quindi un approccio, che mette i file canarino in una cartella arbitraria, non è in grado di catturare molti rootkit.

Mettendo i file delle isole Canarie al di fuori della cartella antivirus, è probabile che aumenti il sospetto di una vera infezione. Ciò rende molto più difficile la vita dei fornitori di antivirus, poiché creerà richieste di supporto aggiuntive e nel peggiore dei casi potrebbe comportare una cattiva copertura della stampa: "Anti virus A infettato da rootkit B come rilevato dall'antivirus C".

Strumenti di rilevamento dei rootkit dedicati potrebbero provare questo approccio. Per una rapida occhiata, chkrootkit , tuttavia, si basa principalmente sulla rilevazione di incoerenze: ad esempio, utilizza diversi modi per elencare i processi (chkproc) e le cartelle (checkdirs).

    
risposta data 11.11.2011 - 06:31
fonte
4

Una tecnica di rilevamento più affidabile consiste nel leggere il catalogo del filesystem direttamente dal disco e confrontare ciò che riporta con i risultati di chiedere al sistema operativo quali file ci sono. Se i risultati differiscono in modi imprevisti, allora potresti avere un kit di root. Come altre persone hanno riferito, il meccanismo che proponi si basa sul fatto che il root kit non è abbastanza buono da nascondere solo i propri file.

Si noti che ci sono differenze di attese nell'output: ad esempio, il file system HFS + ha una raccolta di file nel suo file di catalogo per la manutenzione interna che le buone implementazioni non esporranno al sistema operativo.

    
risposta data 11.11.2011 - 12:25
fonte
1

Buona idea. Alcuni cacciatori di rootkit implementano test canarino simili a quelli che descrivi. Consente di formalizzare un po 'il concetto. Crei una risorsa che verrà modificata dalla presenza di un rootkit.

Molti rootkit di Linux nascondono i processi / etc in base a uid o gid. Puoi creare un canarino per ogni utente / gruppo:

for uid in {0..65535}; do
 touch /root/tmp/canary_$uid
 chown $uid:$gid /root/tmp/canary_$uid
done

quindi conta i file visti da i.e. ls

if (( $(ls -la | head -n +1 | grep total | cut -d\  -f 2) -ne 65536 )); do
 echo "missing canary file, possible RK detected"
done

Inoltre, alcuni cacciatori di rootkit controllano anche quali risorse dovrebbero essere disponibili, ma non lo sono. Le prese e gli ID dei processi. Potresti facilmente creare un programma che tenta di collegarsi a tutte le porte tcp / udp disponibili e, se fallisce, indicherebbe che c'è "qualcosa di nascosto" che si è già associato a quella porta.

Ma questo è il modo in cui queste tecniche vanno e possono facilmente essere sovvertite. I rootkit possono essere eseguiti all'interno di altri processi (come thread) e possono evitare di allocare risorse condivise per la comunicazione (sniffing invece di binding).

Inoltre, puoi consultare: link

    
risposta data 11.11.2011 - 08:48
fonte

Leggi altre domande sui tag