Scanner rootkit basato su firma?


20

Attualmente gli unici scanner rootkit che conosco devono essere installati sul computer prima del rootkit in modo che possano confrontare le modifiche ai file, ecc. (Ad es .: chkrootkite rkhunter), ma quello che devo davvero fare è essere in grado di scansionare la mia macchina e altre macchine da un LiveUSB perché se il rootkit è abbastanza buono avrà preso anche i programmi di rilevamento del rootkit.

Quindi c'è uno scanner rootkit basato su firma per Ubuntu / Linux che potrei semplicemente installare su un LiveUSB e usare per scansionare in modo affidabile le macchine in cui lo collego senza che debba monitorare il comportamento o confrontare i file di date precedenti?


Hai sicuramente il nome giusto, @Paranoid. I tuoi computer in circolazione su Internet sono completamente esposti?
SDsolar,

@SDsolar: No, ma mi piace un piano di backup per ogni evenienza. Inoltre, potrei voler scansionare la macchina di un amico e se è già compromessa, l'installazione di qualcosa come rkhunterprobabilmente non farà molto bene. In effetti, se viene installato un rootkit, mi aspetto rkhunterdi non dare più risultati precisi, quindi è un po 'sciocco perché sia ​​solo uno strumento installato sulla macchina reale che verrebbe compromesso.

Non voglio smorzare la tua movimentazione, ma penso che tu stia chiedendo uno strumento che perderebbe gran parte degli esperti di informatica forense del loro lavoro e potrebbe fare rapidamente milioni di $$$. :-)
CatMan,

@Paranoid Panda - Lo scanner gratuito per Linux di Sophos ha oltre 12,5 milioni di firme, ma per quanto ne so, dicono - è solo per i virus? Ma immagino che significhino con "virus" tutti i tipi di malware nel deserto (di M $ ...) ...
dschinn1001

@ParanoidPanda: Sembra che quello che vuoi sia prendere uno scanner rootkit che ti piace, installarlo su un sistema che sei sicuro sia pulito, quindi installarlo su un LiveUSB in modo che il tuo stick dello scanner possa fare riferimento ai file buoni sullo stick quando esegue la scansione di un sistema (potenzialmente compromesso). Potrebbe essere necessario hackerare lo scanner per esaminare il bastone per i file / le firme di riferimento che utilizza per controllare la macchina di destinazione. Potrebbe anche essere necessario disporre di uno stick separato per ogni versione del sistema operativo che si desidera scansionare.
Tom Barron,

Risposte:


3

AIDE ( A dvanced I ntruder D etection E nvionment) è un sostituto di quello tripwiremenzionato in un'altra risposta qui. Da Wikipedia :

Advanced Intrusion Detection Environment (AIDE) è stato inizialmente sviluppato come sostituto gratuito di Tripwire concesso in licenza in base ai termini della GNU General Public License (GPL).

Gli sviluppatori principali prendono il nome di Rami Lehti e Pablo Virolainen, entrambi associati all'Università di Tecnologia di Tampere, insieme a Richard van den Berg, un consulente di sicurezza olandese indipendente. Il progetto viene utilizzato su molti sistemi simili a Unix come sistema di controllo di base e di rilevamento di rootkit economico.


Funzionalità

AIDE esegue una "istantanea" dello stato del sistema, registra gli hash, i tempi di modifica e altri dati relativi ai file definiti dall'amministratore. Questa "istantanea" viene utilizzata per creare un database che viene salvato e che può essere archiviato su un dispositivo esterno per la custodia.

Quando l'amministratore desidera eseguire un test di integrità, l'amministratore posiziona il database precedentemente creato in un luogo accessibile e comanda AIDE per confrontare il database con lo stato reale del sistema. In caso di modifica al computer tra la creazione dello snapshot e il test, AIDE lo rileverà e lo segnalerà all'amministratore. In alternativa, AIDE può essere configurato per essere eseguito su una pianificazione e segnalare quotidianamente le modifiche usando tecnologie di pianificazione come cron, che è il comportamento predefinito del pacchetto Debian AIDE. 2

Ciò è utile principalmente per motivi di sicurezza, dato che qualsiasi modifica dannosa che potrebbe essere avvenuta all'interno del sistema sarebbe segnalata da AIDE.


Da quando è stato scritto l'articolo di Wikipedia, l'allora attuale manutentore Richard van den Berg (2003-2010) è stato sostituito da un nuovo manutentore Hannes von Haugwitz dal 2010 ad oggi.

La homepage di AIDE afferma che Debian è supportato, il che significa che l'applicazione può essere installata in Ubuntu con il prevedibile:

sudo apt install aide

Per quanto riguarda la portabilità e il supporto per pen drive USB, la homepage continua dicendo:

Crea un database dalle regole delle espressioni regolari che trova nei file di configurazione. Una volta inizializzato, questo database può essere utilizzato per verificare l'integrità dei file. Ha diversi algoritmi di digest dei messaggi (vedi sotto) che vengono utilizzati per verificare l'integrità del file. Tutti i soliti attributi di file possono anche essere controllati per incoerenze. Può leggere database da versioni precedenti o più recenti. Vedere le pagine del manuale all'interno della distribuzione per ulteriori informazioni.

Ciò implica per me che potresti avere il database delle firme sulla tua pen drive insieme all'applicazione su memoria USB permanente dal vivo. Non sono sicuro che AIDE soddisfi le tue esigenze, ma poiché è un sostituto del tripwiretuo attuale preferito, vale la pena esaminarlo.


Risposta intelligente! :-)
Fabby,

@Fabby Grazie per il complimento. AIDE è installato cronnella maggior parte delle installazioni. Potrei considerarlo io stesso non solo per la protezione del rootkit ma anche per proteggerlo dalla mia cattiva programmazione: p Potrebbe essere educativo vedere cosa cambia anche dopo apt get install.
WinEunuuchs2Unix

3

Mi ricorda tripwire che crea checksum crittografici dei file specificati. Installa una copia del sistema che stai controllando da una buona fonte conosciuta (ad esempio DVD), installa gli stessi aggiornamenti del sistema di destinazione), fai in modo che tripwire crei il file checksum. Copia il file checksum di tripwire sul sistema di destinazione, fai confrontare tripwire file di checksum con i file di sistema di destinazione.

Ovviamente gli aggiornamenti / upgrade / installazioni / file di configurazione specifici non sincronizzati verranno contrassegnati / contrassegnati come modificati.

Aggiornamento 06/05/2018:

Dovrei anche aggiungere che il sistema di destinazione deve essere verificato offline. Se la destinazione è stata compromessa, l'hardware, il firmware di avvio, il kernel del sistema operativo, i driver del kernel, le librerie di sistema, i file binari potrebbero essere già stati compromessi e interferire o restituire falsi positivi. Anche l'esecuzione attraverso una rete nel sistema di destinazione potrebbe non essere sicura poiché il sistema di destinazione (compromesso) elaborerebbe localmente i pacchetti di rete, il file system, il dispositivo di blocco, ecc.

Lo scenario comparabile più piccolo che viene in mente sono le smart card (EMV utilizzato nelle carte di credito, PIV utilizzato dal governo federale, ecc.). Ignorando le interfacce wireless e tutte le protezioni hw / elettriche / RF, l'interfaccia di contatto è essenzialmente una porta seriale, a tre o due fili. L'API è standardizzata e in bianco, quindi tutti concordano sul fatto che è impervia. Hanno protetto i dati in transito, nella memoria di runtime, a riposo nella memoria flash?

Ma l'implementazione è chiusa. Nell'hardware può esistere una backdoor per copiare l'intero runtime e la memoria flash. Altri possono manipolare i dati in transito tra l'hardware e le memorie interne, il sistema operativo Smart Card o l'I / O dalla / alla scheda. Anche se i compilatori hw / fw / sw / sono open source, dovresti controllare tutto ad ogni passo e potresti comunque perdere qualcosa a cui tu / tutti gli altri non avete pensato. La paranoia può mandarti in una stanza di gomma bianca.

Scusa se scappo su una paranoia tangente. Seriamente, porta le unità target fuori per testare. Allora devi solo preoccuparti dell'unità target hw / fw. Meglio ancora, basta estrarre i piatti HDD / i chip flash SSD per testare (supponendo che il sistema di test sia dorato). ;)


Sì, improvvisato, ma in realtà è un'ottima soluzione al problema! Lo accetterò perché non sembra esserci un'altra buona soluzione là fuori per Linux. Anche se se arriva un'altra risposta che fornisce la soluzione completa e richiesta alla domanda, dovrò spostare l'indicatore di accettazione. Ma grazie mille per questa soluzione almeno temporanea!

Nota: alcuni SSD crittografano effettivamente i dati inattivi nella memoria flash, quindi il mio commento sullo spostamento dei chip flash per il test non funzionerà in questo caso. Ad un certo punto devi solo sospirare e accettare il compromesso tra sicurezza e portare a termine il tuo compito di elaborazione.
rcpa0,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.