martedì 27 settembre 2011

Perché Gootkit attaccando il mio sito e cosa posso fare?


La scorsa settimana ho scritto su attacco inutile Gootkit sul ASafaWeb e poi una cosa strana è successo: improvvisamente la mia parola chiave dei risultati di Google Analytics diventare molto Gootkit-centric:
Gootkit ricerca parole chiave
Vedo questo sia nel senso c'è molto interesse per Gootkit al momento o non c'è un sacco di informazioni disponibili su quello che è. O entrambi. Interessante notare, però, l'attività sembra aver dilagato proprio nel momento del mio post iniziale. I risultati della ricerca svolta tutti i risultati fino a fine settembre di quest'anno tra cui Gootkit auto-Rooter scanner - ciao, Gootkit auto-Rooter scanner e il file di log dei RAEE-recycling.com (andiamo, ragazzi, non mettere il pubblico accede display!)
Fammi provare a rispondere sia quello che è e di fornire un po 'di informazioni su alcuni anti-Gootkit difese.

Che cosa è Gootkit?

Diamo un'occhiata in due parti. In primo luogo, Symantec viene segnalato come un cavallo di Troia , o in altre parole un pezzo di software che pretende di fare qualcosa di innocente ancora, infatti, è intenzione del male. Una volta Gootkit infetta un host, allora si può iniziare a svolgere attività dannose che è la seconda parte del problema.
Per quanto riguarda che secondo problema, Symantec segnala che Gootkit può agire come una botnet che può quindi eseguire attività, tra cui:
  1. Inietta arbitraria di codice JavaScript in file HTML
  2. Può modificare il contenuto in un server FTP, compreso l'elenco, caricando, ed eliminare i file
Ciò significa che Gootkit può colpire in un paio di modi diversi, sia per infettare il PC o attaccare il vostro sito. Le mitigazioni per entrambi gli attacchi sono molto diverse e mentre io voglio concentrarmi sul secondo, facciamo solo ricapitolare rapidamente a difendere contro il primo.

Come posso proteggere il mio PC da Gootkit?

Questa è la solita 101 di proteggere il PC contro i cattivi:
  1. Non installare - o addirittura eseguire - qualsiasi cosa, da una fonte non attendibile.Questo include siti web direttamente fuori, file ricevuti via e-mail e soprattuttochiavette USB a trovare in giro nel parcheggio !
  2. Se i file o link vengono inviati da una fonte sicura, ma sembrano fuori dal personaggio, convalidare la loro autenticità con il mittente prima di fare qualsiasi cosa con loro. Se i tuoi messaggi capo di Justin Bieber ottenere un erezione , probabilmente avrete bisogno di approccio che uno con cautela.
  3. Sempre eseguire un controllo antivirus e tenere sempre le definizioni aggiornate. Puoi farlo gratuitamente su Windows con Microsoft Security Essentials o pagare per artisti del calibro di McAfee , Norton , Kaspersky , ecc
  4. Utilizzare un firewall. Questo può consistere delle caratteristiche incorporate negli strumenti di cui sopra, il firewall nativo di Windows, le caratteristiche del firewall del router, o una combinazione di ciascuno. Punto è che non si vuole il traffico in arrivo o uscire su qualsiasi vecchio porto o protocollo.
  5. Backup - lo fanno! Li di frequente e, preferibilmente, li fanno fuori sede con un servizio che può anche la versione del file in modo da poter ripristinare se il vostro prezioso documenti danneggiati. La mia soluzione è ancora lavorando magnificamente.
C'è qualche informazione più dettagliata a fondo all'articolo Symantec che è anche molto utile. Con quella di mezzo, andiamo sulla sicurezza web app.

Come posso proteggere il mio sito web contro Gootkit?

Non sembra essere un sacco di informazioni disponibili sul Gootkit così ho intenzione di bisogno di fare alcune ipotesi. Il comportamento che ho osservato durante l'attacco ASafaWeb era molto richieste GET, ma poi nel messaggio M86 mostrano chiaramente i tentativi di FTP in server remoti.
L'altra cosa ben visibile nel post M86 - e tenere a mente che avevano Gootkit in cattività in modo da poter monitorare il suo comportamento - è che infetta le macchine fanno parte di una botnet che prende istruzioni da un server di controllo. Ma in primo luogo, ecco un po 'dibotnet 101 da Wikipedia :
Una botnet è una collezione di computer compromessi collegati a Internet, chiamati bot, che vengono utilizzati per scopi nocivi. Quando un computer viene compromesso, diventa una parte di una botnet. Le botnet sono di solito controllati tramite protocolli di rete basati su standard come ad esempio IRC e http.
Il ruolo del server di controllo è quello di orchestrare il bot di eseguire sia le offerte, che possono includere i comportamenti che abbiamo osservato sopra (tentativi di FTP a un host o cercare / attacco pagine web meeting particolari modelli). Immagine come segue ( fonte immagine originale su ZDNet ):
Botnet e controllo server
Quindi, nel caso di Gootkit, si potrebbe plausibilmente eseguire qualsiasi compito del server di controllo assegna. Chiaramente se il modus operandi sembra attaccare siti web e iniettare contenuti nelle pagine.
Uno dei problemi con la protezione contro le botnet è che il traffico potrebbe letteralmente venire da qualsiasi luogo. In definitiva si tratta di innocenti singole macchine, che sono dietro gli attacchi e, come ha detto un commentatore sul mio post precedente, gli attacchi possono facilmente provenire da indirizzi IP totalmente differente sui lati opposti del mondo.Un giorno è una macchina infetta negli Stati Uniti il ​​rilascio degli attacchi, il prossimo potrebbe essere da qualche parte qui in Australia.

Mantenete il vostro quadro versioni aggiornate

In primo luogo, sulla base dei modelli di attacco che ho visto contro ASafaWeb, Gootkit è ovviamente molto interessato a siti web con PHP e database MySQL. Praticamente ogni indirizzo che ha esplicitamente richiesto "php" o "mysql" nel percorso.
In questo caso si sta cercando qualcosa di specifico, in modo chiaro i percorsi è colpire sono predeterminati. Spesso questo sarà quello di vedere se le vulnerabilità conosciute in un quadro specifico può essere sfruttata. Si parla OWASP cosa in parte 6 della Top 10,configurazione errata di sicurezza , è quello di mantenere strutture fino ad oggi. Lo scenario primo esempio riassume bene:
L'applicazione si basa su un potente framework come Struts e Spring. Falle XSS si trovano in queste componenti del framework si basano su. Un aggiornamento viene rilasciato per correggere questi difetti, ma non vengono aggiornate le librerie. Fino a che fare, gli aggressori possono facilmente trovare e sfruttare queste falle nella vostra applicazione.
La creazione di un sito web è un po 'come avere un bambino in questo senso - la responsabilità per la sua salute rimane looooong dopo inizia la vita. Una volta che una vulnerabilità nota è pubblicata, è necessario agire con decisione. PHP ha avuto 5 aggiornamenti quadro di quest'anno e se non sei stare al passo con loro, sei vulnerabile a qualsiasi bug o falle nella sicurezza cui si rivolgevano.
La cosa da ricordare è che l'aggiornamento alle versioni attuali strutture non è solo di avere il nuovo e brillante (cosa chi non si conosce di meglio mi hanno accusato di aver in passato!), Si tratta anche di proteggere il vostro sito, i dati e spesso la vostra reputazione.

Utilizzare password complesse e proteggere in modo appropriato

Nel corso sul blog di Webroot , che parlare un po 'come è stato osservato Gootkit compromettere siti web:
Si collega ai server Web utilizzando credenziali FTP rubate, e in caso di successo, modifica tutti i file HTML e PHP con codice aggiuntivo.
Questo dovrebbe (si spera) andare da sé, ma le password deboli e / o meccanismi di stoccaggio poveri per loro ti lascia molto vulnerabile. Se il PC non essere infettati, non sarà un compito difficile per individuare password in chiaro sul file system e li hanno estratto e inviato al controller botnet.
Utilizzare un buon manager password e garantire le password non sono memorabili . Ma naturalmente questo non è infallibile - keylogger combinata con la possibilità di recuperare il portachiavi può sconvolgere il applecart molto velocemente ma è un bel sito meglio di memorizzazione in un documento Word o note di Outlook.
Quest'ultimo punto dovrebbe andare da sé, ma è chiaro che la primissima cosa che vuoi fare se il vostro sito è compromessa è cambiare le password relative al sito come una questione di assoluta priorità. Non fanno così anche la briga di iniziare sistemato le cose, se la porta è ancora aperta.

Non utilizzare meccanismi di trasporto sicuro per la pubblicazione

Non è chiaro se Gootkit può sfruttare questo vettore o no, ma di certo il trasferimento di dati - e in particolare le proprie credenziali - giro per il web in formato testo non è una mossa intelligente. Per esempio, quando si pubblica via FTP le credenziali vengono inviati in un grezzo, in chiaro moda. Se qualcuno è sniffare il traffico di rete tra il computer e l'host o addirittura catturando i pacchetti a livello locale mentre si muovono attraverso la vostra scheda di rete, hai un grosso problema.
Quindi la risposta è che hai del calibro di SFTP che è molto spesso supportato da web host o altri protocolli sicuri come distribuzione Web su HTTPS da Microsoft. Inoltre, non dimenticare il database - utilizzare un client VPN per l'host (ammesso che lo supportano) o passare altri protocolli sicuri a seconda del DB di scelta. Il punto è che né credenziali né i dati devono essere inviati attraverso reti pubbliche in chiaro e così facendo lascia vulnerabili.

Registrazione e le notifiche sono inestimabili

L'unico modo che ho scoperto l'attacco Gootkit ASafaWeb è che me ne ha parlato, o almeno ELMAH in esecuzione sul sito ha fatto. Senza servizio di notifica non sarebbe stato sollevato alla mia attenzione e senza la registrazione non sarei stato in grado di controllare ciò che è realmente accaduto. Avendo entrambi questi è inestimabile .
Naturalmente la scelta dello strumento sarà diverso dal framework web, ma ecco il tipo di registrazione di cui sto parlando:
ELMAH log degli errori
Una volta che un "evento di sicurezza" accade, la capacità di eseguire una sorta di indagine forense può essere assolutamente inestimabile. Ciò include la capacità di vedere ciò che è stato attaccato, quando è successo e dove l'attacco è venuto da. Esso consente di mettere gli eventi di nuovo insieme per ottenere una comprensione di quello che è successo e, soprattutto, come recuperare da esso e come evitare in futuro.
Ora non sto dicendo ELMAH è lo strumento perfetto per il lavoro - anzi - ma mi forniscono preziose informazioni e aggiungerlo al tuo sito web ASP.NET è letteralmente un lavoro di cinque minuti. In un mondo perfetto, che ci si guarda un apposito firewall applicazione webche non solo forniscono la registrazione significativamente maggiore ma anche impiegare difese attive contro un attacco.

Hanno un piano per minimizzare il RTO

Quindi, il peggio è successo, sei stato violato, i dati sono stati esposti e manipolati più pagine HTML sono ora pieni di iframe propagare il nasties ai visitatori del tuo sito, e adesso?E 'qui che si comincia a parlare di RTO :
L'obiettivo tempo di recupero (RTO) è la durata del tempo e un livello di servizio all'interno del quale un processo aziendale deve essere ripristinato dopo un disastro (o interruzione) al fine di evitare conseguenze inaccettabili associato ad una soluzione di continuità aziendale.
In poche parole, quando tutto colpisce il ventilatore, quanto tempo posso tornare attivo e funzionante? Sul lato dati, questo dovrebbe costituire una questione di come accessibili sono i backup delle ultime versioni note bene dei dati (backup di versioni non danneggiati). Questo di solito è una domanda per il vostro host o IT disastro gruppo piani di recupero (backup ad esempio aver bisogno di venire da fuori sede), e poi la tua capacità di integrare questi nuovamente dentro l'ambiente di produzione. Dico "integrare" perché ci potrebbero anche essere i dati raccolti in quanto la violazione che è necessario mantenere. Avere gli strumenti a disposizione per confrontare velocemente e di migrare i dati ( SQL Data Compare è un buon punto di partenza) può fare la differenza quando ne avete bisogno in fretta.
Naturalmente il ripristino dei dati può applicarsi anche allo strato web, ma nel caso di Gootkit, con ogni probabilità si sta andando ad avere bisogno di ridistribuire risorse web come pagine HTML. Come minimo, si vuole essere in grado di estrarre la stessa versione di controllo del codice sorgente, come era precedentemente in ambiente vivo (si utilizza controllo del codice sorgente, non è vero?) Preferibilmente, si desidera un ambiente continuo di integrazione che consente di per ridistribuire la stessa versione a un clic di un pulsante. E 'questo ultimo punto che mi ha fatto un po' presuntuoso di ASafaWeb perché AppHarbor fornisce l'ambiente CI per automatizzare questo - ridistribuendo l'applicazione è un gioco da ragazzi.

Ricorda: la sicurezza a strati

In modo che le strutture siano aggiornati e le password sono ben protetti. Buon inizio, ma questo non basta. Pensate a software per la sicurezza come una pratica di sempre stesa in strati di difesa ai vari livelli in tutta l'applicazione. Chiaramente uno di questi strati di utilizzare una serie di forti credenziali per compiti amministrativi quali file scaricare via FTP, ma cosa succede quando anche questo non riesce? Cosa succede, ad esempio, se il vostro host è stato immagazzinarli nel testo da qualche parte e sono state compromesse?
Un ultima linea di difesa per i vostri dati sono memorizzazione di dati crittografici . Questa potrebbe essere la crittografia asimmetrica dei dati sensibili dei clienti o hashing delle password utilizzando un algoritmo di hashing forte e sale casuali crittograficamente. Il punto è che il compromesso totale dei dati persistenti non significa necessariamente che informazioni sensibili esposte, almeno non senza che lo rende estremamente difficile da raggiungere.

Riassunto

Questo è davvero tutto solo buono, di buon senso pratiche di sicurezza web e, mentre vi aiuterà respingere Gootkit, tutto quanto sopra è ugualmente rilevante per le minacce provenienti da altre fonti. Il punto che mi piace fare - e certamente sono un po 'prevenuto - è che la sicurezza software deve essere affrontata come una caratteristica e costruito nel processo dal primo giorno. Quando si avvia ad affrontarlo in modo retrospettivo e in particolare quando hai solo iniziare a prestare attenzione dopo una violazione (che è molto spesso il caso), allora avete un grosso problema da affrontare, che con ogni probabilità avrebbe potuto essere facilmente evitato.
Questo ultimo punto vale la pena soffermarsi per un momento, perché il messaggio chiaramente non arriva a molti sviluppatori e organizzazioni. L'auto-Rooter scanner Gootkit è un esempio perfetto di come attacchi indiscriminati sito sono. ASafaWeb è prossima a zero l'esposizione pubblica era ancora bersaglio Gootkit. Non era personale - è sul web quindi è un bersaglio. Se non trattare ogni singola attività pubblicamente esposto (e non credo che per un momento che le risorse interne sono perfettamente sicuri), come qualcosa che sarà continuamente e unabatedly attaccato e intraprendere azioni proattive per assicurare loro, anche tu ' sarò trovare un post come questo, mentre cerca di riprendersi da una violazione importante. E questo non è mai divertente.
Per una lettura più generale su web app di sicurezza, fare il vostro senso attraverso laOWASP Dieci Rischi applicazione più critiche per la sicurezza Web o se si lavora in. spazio NET, provare la mia serie sul OWASP Top 10 per sviluppatori. NET .
Corso Visual Studio - Corsi Visual Studio
Corso .Net- Corso Dot.Net - Corso Vb.net
Corso C# - Corso PHP - Corso Joomla

Nessun commento:

Posta un commento