Come rilevare il codice dannoso che invia informazioni al server di un utente malintenzionato in linux

6

Supponiamo che tu abbia un codice dannoso sul tuo laptop Linux, ad esempio un rootkit o trojan o qualcosa del genere. Ora limita la tua attenzione al caso in cui il codice dannoso trasferisca alcune informazioni all'hacker via Internet, ad esempio perché l'hacker vuole rubare alcuni file dal tuo computer o le tue password tramite un keylogger o perché vuole usare la tua macchina come una base per hackerare ad esempio un'azienda o un server governativo.

Essendo un laico sulla sicurezza della rete presumo che dovrebbe essere possibile solo reindirizzare (ad esempio tramite ARP-spoofing o qualcosa di simile) tutto il traffico della tua casella (A) su un'altra casella non compromessa (B) e vedere da annusando se c'è traffico sospetto. Questo sembra essere facile se sai che A non dovrebbe inviare traffico al momento (perché non navighi sul web e così via ...). Tuttavia, il codice dannoso potrebbe essere un po 'più intelligente e inviare i dati solo se c'è un altro traffico in uscita da (A), ad esempio quando navighi nel web. Allora avresti bisogno di un metodo per generare il traffico controllato in uscita dalla macchina A. La macchina B dovrebbe quindi sapere che traffico è quando viene generato, cioè aspettarsi e dovrebbe essere in grado di trovare il traffico aggiuntivo e rilevare in questo modo il virus quando segnala al server .

Credo che questo modello sia un po 'ingenuo, ma voglio imparare ulteriori dettagli tecnici su questo punto:

  • Quanto è vicina la mia descrizione sopra alla realtà?
  • Quali altri metodi più sofisticati potrebbero utilizzare il virus per mascherare la sua trasmissione di informazioni?
  • Se lo sniffing descritto è un buon metodo per rilevare tale codice quando il codice riporta al server, come si fa a farlo in dettaglio (in linux)? E come assicurarti di individuare anche modi molto intelligenti per mascherare l'invio di informazioni?
posta student 25.04.2014 - 10:37
fonte

1 risposta

1

in realtà dipende da quanto profondo sia l'attaccante nel tuo sistema; se controlla il tuo DNS, questo sarà un po 'complicato; se un attaccante è già sul tuo server, sei condannato comunque; ci sono molti backchannel nascosti che non sono facili da rilevare o command-channels usando twitter, p2p, dns-queries etc pp; cerca SANS-ISC Reading-Room per "canali nascosti" per avere un'idea di cosa potrebbe essere possibile

redirect ... and see by sniffing if there is any suspicious traffic

quasi impossibile; le euristiche non funzionano. e cosa fai con il traffico crittografato?

per il controllo delle richieste http:

  • utilizza lo squid come proxy trasparente e utilizza una whitelist con i target di connessione consentiti

per il controllo generale della rete

  • usa rigoroso iptables-setup di fronte al tuo server (DENY qualsiasi cosa, concedi ciò che è necessario)
  • registra qualsiasi connessione in uscita, tentativo di analisi successiva
  • usa tcpdump per registrare qualsiasi traffico (non dimenticare UDP)
risposta data 25.04.2014 - 14:11
fonte

Leggi altre domande sui tag