Newsgroup: it.fan.marco-ditri
Titolo: Integrità del sistema (sicurezza)

Ciao, sono nuovo del gruppo e sono davvero un fan di Marco che ogni tanto trovo su linux-it@freenode. Ma passiamo alla ragione per cui sto postando.
 
Volevo porre l'accento sul fatto che ambiente linux non esiste a mio parere un tool per controllare l'integrità del sistema e tentare di scoprire se c'è qualcosa che non va.
Come sappiamo oggi c'è una ricchissima varietà di malware e virus in ambiente windows e molto probabilmente meno in ambiente linux, ma forse anche più sottovalutato.
Vorrei scrivere un tool in python che si occupi di fare check per vedere se il sistema è integro. Penso che i vari tool che controllano l'integrità dei file partendo da un sistema a runtime siano praticamente inutili visto che un semplice modulo del kernel permette tranquillamente di alterare md5 e contenuto dei file. In secondo luogo gli aggiornamenti al sistema devono essere fatti e forse un hijacking su questi aggiornamenti passerebbe inosservato.
Quindi a mio avviso l'unico check attendibile è quello fatto non a runtime, cioè da un cdlive.
La mia idea è quella di controllare tutto il sistema partendo dai file più importanti quali il kernel e moduli, e su via via a quelli meno importanti.
In ambiente redhat e debian (che sono gli ambienti sui quali mi concentrerei per ora) possiamo controllare l'integrità dei singoli pacchetti in quanto questi ultimi contengono una lista dei file con i relativi hash.
Quindi scriverei script in python che scarica via via i vari pacchetti installati nella macchina e quindi procedere al check degli hash. In questo modo potrei controllare con uno sforzo minimo quasi l'intera macchina.
A questo punto rimarrebbero fuori il mbr, eventualmente i firmware della macchina. 
Che cosa ne pensate ? 
Alla luce delle vostre conoscenze di rootkit e malware che cosa vi sembra che manchi ?
Per esempio stavo pensando che un addon maligno per firefox riuscirebbe a scappare... ma mi sembra anche piuttosto facile da trovare..
 
Opinioni ?
grazie.

> Alla luce delle vostre conoscenze di rootkit e malware che cosa vi sembra che manchi ?
 
Come fai ad essere sicuro che il malaware non si in chiaro in una delle centinaia di file di configurazine di testo ?
Dai una lista di quelli modificati o aggiunti all' utente sperando in un controllo manuale ?
 
Giulia
 
 
 


si ovviamente, si tratta di un tool per utenti avanzati.. nel caso trovasse un file di configurazione alterato lui si limita a segnalarlo.. poi tu a manina vai lo apri e approfondisci.
questo tool serve solo per scremare il grosso dei file.. appunto i molti file di configurazione che si trovano in /etc
penso che la gran parte dei file in /etc siano integri dal pacchetto di installazione per cui se qualcosa di anomalo viene avviato al boot dovrebbe venire fuori facilmente. Altra cosa e aprirsi a mano tutti file..
o peggio farsi un reversing di tutti i moduli del kernel..direi operazione impossibile.

scoprire se c'ï¿œ qualcosa che non va.
Uhm, no. Ce ne sono in abbondanza da tripwire in poi.
 
-- 
ciao,
Marco


In effetti non comprendo bene la differenza di questo tool rispetto ad 
un tripwire da CD live.

 un tripwire da CD live.
 
che io sappia tripwire raccoglie gli hash senza tenere conto del normale cambiamento degli hash dopo gli aggiornamenti dei pacchetti.
poi aggiungerei che non e' detto che gli hash raccolti in prima istanza da tripwire siano attendibili. Cioe' la macchina potrebbe gia' essere compromessa.
Mentre gli hash dei file dei pacchetti scaricati nuovamente da internet sono certamente attendibili.

 Mentre gli hash dei file dei pacchetti scaricati nuovamente da internet sono certamente attendibili.
 
rkhunter per esempio tra i controlli che fa include quello
dell'integritï¿œ dei binari principali del sistema, e da file di
configurazione ï¿œ possibile indicare di fare il raffronto con gli hash
inclusi nei pacchetti deb binari.
 
 
-- 
Flavio Visentin
 
Scientists discovered what's wrong with the female brain: on the left
side, there's nothing right, and on the right side, there's nothing left

 inclusi nei pacchetti deb binari.
 
 
grazie dell'informazione, non lo sapevo. Comunque penso che faccia sempre riferimento al db locale della macchina.

 Comunque penso che faccia sempre riferimento al db locale della macchina.
 
Se il raffronto lo fai fare con i pacchetti hai gli hash che sono
estratti dal "DB" di dpkg.
 
/var/lib/dpkg/info/<nomepacchetto>.md5sums
 
Considerando che i pacchetti per poter essere installati sono firmati
digitalmente direi che sia un metodo sufficientemente sicuro.
Per caritï¿œ, non ci vuole tantissimo a calcolare il nuovo md5sum ed
andare a scriverlo nel giusto file, ma considerando il limitato uso di
rkhunter, il lavoro per falsificare questi dati ï¿œ eccessivo per il
beneficio che se ne otterrebbe.
