Quando un server è stato compromesso, l'hacker responsabile nasconde solitamente il suo passaggio cancellando le tracce nei log di attività. Inoltre, installa alcuni strumenti che gli permettono di creare una porta nascosta, così da essere anche in grado di tornare in un secondo momento. Nec plus ultra, l'hacker pensa generalmente anche a correggere la vulnerabilità che gli ha permesso di introdursi così da evitare che un altro pirata possa infiltrarsi. Comunque, la sua presenza sul server può essere tradita da alcuni comandi d'amministrazione che permettono di visualizzare la lista dei processi in corso oppure semplicemente gli utenti connessi al terminale.
Esistono dei software, detti rootkits, incaricati di distruggere la maggior parte degli strumenti di sistema e di sostituirli con dei comandi equivalenti che nascondono la presenza del pirata. È quindi facile capire che in assenza di un deterioramento per un amministratore può essere difficile accorgersi che un terminale sia stato compromesso. Alla scoperta di una compromissione, una delle prime azioni consiste nel datare la compromissione stessa per valutare la potenziale estensione sugli altri server. In effetti, in maniera generale i server immagazzinano nei file delle tracce delle loro attività e, in particolare, degli errori riscontrati.
Ora, è raro che in un attacco informatico il pirata arrivi a compromettere un sistema al primo tentativo. Agisce solitamente per tentativi, provando diverse richieste. Così la sorveglianza dei log consente di rilevare un'attività sospetta. È particolarmente importante sorvegliare i log d'attività dei dispositivi di protezione dato che, per quanto possano essere ben configurati, possono diventare il bersaglio di un attacco.
Esistono alcuni software (chkrootkit ad esempio) che permettono di verificare la presenza di rootkits sul sistema. Tuttavia, per poter usare questo tipo di strumenti, è essenziale essere sicuri dell'integrità dello strumento e della visualizzazione che rilascia. Quindi, un sistema compromesso non può essere considerato affidabile.
Per assicurare l'integrità di un sistema, è quindi necessario rilevare le compromissioni a monte e questo è l'obiettivo perseguito dai controllori di integrità come Tripwire. Il software Tripwire, sviluppato all'origine da Eugène Spafford e Gene Kim nel 1992, assicura l'integrità dei sistemi sorvegliando in permanenza le modifiche apportate ad alcuni file o cartelle. Tripwire effettua un controllo d'integrità e mantiene aggiornata una base di firma. Ad intervalli regolari ispeziona soprattutto le caratteristiche seguenti dei file per identificare le modifiche e le eventuali compromissioni:
Autorizzazioni;
Data dell'ultima modifica;
Data d'accesso;
Dimensione del file;
Firma del file.
Le allerte sono inviate per posta elettronica, di preferenza su un server remoto, per evitare qualsiasi cancellazione da parte del pirata.
Per basarsi sui risultati di un controllore di integrità, è essenziale essere sicuri dell'integrità del terminale al momento dell'installazione. Allo stesso modo può essere difficile configurare questo tipo di software dato che il numero potenziale di file da sorvegliare può essere elevato. Inoltre, al momento dell'installazione di nuove applicazioni è indispensabile mettere i loro file di configurazione sotto controllo.
D'altra parte, questo tipo di soluzione è suscettibile all’invio di un gran numero di falsi allarmi, soprattutto quando il sistema modifica solo dei file di configurazione o all'aggiornamento del sistema. Infine, se il terminale è effettivamente compromesso, è possibile che il pirata tenti di compromettere il controllore di integrità prima del prossimo aggiornamento, da qui l'importanza di immagazzinare gli allarmi su un terminale remoto oppure su un supporto esterno non riscrivibile.
Articolo redatto il 22 maggio 2006 da Jean-François PILLOU.
Foto: © Pixabay.