Identificazione dell'autore (s) di un pezzo di malware

29

Quando viene visualizzato un nuovo malware, le persone possono provare a determinare da dove provengono e chi potrebbero essere i suoi autori.

In che modo gli esperti di sicurezza tentano di identificare gli autori di un nuovo malware pubblicamente divulgato? Quali tecniche (ad esempio reverse engineering) sono disponibili?

    
posta user3404735 14.01.2016 - 12:47
fonte

2 risposte

50

Esistono diverse tecniche diverse, a seconda del livello di abilità dell'autore del malware:

  • Metadati incorporati - i programmi compilati possono contenere dettagli sui loro autori. Questo è più comunemente visto in programmi legittimi, e mostra nella schermata dei dettagli se si guarda nelle proprietà di Windows. Gli attaccanti che sono fuori per la fama potrebbero benissimo mettere i dettagli identificativi in questi campi
  • Incorporamento accidentale - i compilatori spesso includono dettagli sui flag del compilatore utilizzati, che potrebbero includere i percorsi dei file di origine. Se il file sorgente era in /users/evilbob/malware , puoi fare una buona ipotesi sul fatto che il malvagio bob lo abbia scritto. Ci sono modi per disattivare queste inclusioni, ma a volte tutti fanno errori
  • Codice comune: gli autori di malware sono come qualsiasi altro programmatore e riutilizzeranno bit di codice utili dal lavoro precedente. Talvolta è possibile notare che una sezione di codice compilato corrisponde a una sezione di codice precedentemente rilevata così strettamente che sembra probabile che sia stato utilizzato lo stesso codice sorgente per ciascuno. Se questo è il caso, può dedurre che il secondo autore ha avuto accesso al codice dal primo, o potrebbe essere la stessa persona.
  • Toolchain comune - se uno sviluppatore tende ad utilizzare Visual Studio, sarebbe inaspettato vedere il proprio codice comparire compilato con GCC. Se usano uno specifico packer, sarebbe strano vederli usando un packer diverso. Non è perfetto, ma potrebbe suggerire una distinzione.
  • Tecniche comuni - analogamente a quanto sopra, i programmatori hanno spesso schemi di codifica specifici. È improbabile che le persone modifichino i pattern, quindi è ragionevole supporre che, se un codice compilato non fosse stato generato in uno stile di codifica particolare, probabilmente non è stato scritto da qualcuno che in precedenza era noto per utilizzare uno stile diverso. Questo è molto più semplice con i linguaggi interpretati, poiché vedere un uso coerente di, per esempio, for loops piuttosto che while loops è più semplice che individuare le differenze tra l'output compilato di ciascuno (i compilatori moderni potrebbero ridurli esattamente allo stesso set di istruzioni).
  • Origine malware: da dove viene? Ha testo in lingue specifiche o errori di battitura che suggeriscono uno sfondo particolare? (ad es. colour suggerirebbe che l'autore non fosse americano, generale potrebbe suggerire qualcuno abituato a scrivere in una lingua romanza come francese o italiano)

Nessuno di questi è sufficiente da solo per determinare un autore, ma combinato, potrebbero suggerire un autore comune con malware precedente o anche con altro codice noto (ad esempio, da progetti OS).

    
risposta data 14.01.2016 - 13:10
fonte
27

La risposta di Matthew è stata eccellente. Ci sono anche altri modi.

  • Non tutti gli autori di malware sono così brillanti. Ad esempio, puoi aprire molti file eseguibili in notepad e cercare i dati di stringa. Ho visto innumerevoli autori che semplicemente inseriscono il loro indirizzo email / nome del server, nome utente e password all'interno dei programmi in una stringa, e mostra letteralmente il blocco note.
  • Malware di ingegneria inversa creato da autori che hanno oscurato il passaggio precedente.
  • Trovare l'indirizzo a cui si connette il malware e indagare su chiunque dietro di esso. Se si tratta di un tipo specifico di malware che infetta molte macchine, lo sviluppatore è probabilmente già noto per cominciare. In caso contrario, seguilo alla fonte. Ci sono percorsi dati ovunque.
risposta data 14.01.2016 - 17:13
fonte

Leggi altre domande sui tag