Il malware può avere un codice firmato?
Sì.
Molti pezzi di malware sono stati firmati, incluso Stuxnet, e il malware recentemente associato a CCleaner è stato firmato, nel caso di Stuxnet questo è stato probabilmente fatto rubando il certificato di firma, mentre nel caso dell'attacco CCleaner sembra che sia stato fatto infettando il server di build, in modo tale da iniettare malware prima di firmare il rilascio.
Come può Microsoft garantire che solo le autorità di certificazione (CA) possano creare il codice firmato?
Le CA non creano direttamente codice, rilasciano certificati, che gli sviluppatori usano per firmare i loro eseguibili.
Ad esempio, se FooBar Widgets ha rilasciato un'app, potrebbe firmarla con un certificato come questo:
Root CA
Intermediate CA
FooBar Widgets
Se il tuo computer si fida della CA radice, allora si fiderà del certicato per i widget FooBar e mostrerà il prompt firmato per il programma, anziché quello senza firma.
Come tale ci sono 4 modi principali per cercare di aggirare questo tipo di firma del codice:
- Rompi lo schema della firma (come fece la Fiamma)
- Trucca la CA nel creare un certificato falso (più comune nei certificati SSL)
- Ruba il certificato di firma (stile Stuxnet)
- Fai in modo che la compagnia firmi il tuo malware (stile CCLeaner)
Riferimenti