Come rilevare contenuti sospetti in un font TrueType (.ttf) file

7

Mi sono incuriosito su come scansionare o valutare il rischio di un particolare file di font prima di distribuirlo agli host. La prima linea di difesa, ovviamente, è assicurarsi che i nostri host siano corretti rispetto a tutte le vulnerabilità dei font TrueType.

Ho letto l'eccellente ricerca di Google Project Zero e sembra che valga la pena di comprendere i rischi derivanti dai caratteri. Ho letto anche la risposta di Tom Leek questo suggerisce (molto sensibilmente) di provare il font su Linux prima di provarlo su Windows perché:

it would be very hard to craft a "malicious font" which can install a virus on a Windows system, but otherwise works "correctly" on a Linux system

Infine, ho installato una libreria python (FontTools) che consente una conversione da un file .ttf a un file .xml leggibile. Nel file risultante, ci sono centinaia di righe di codice assembly in quanto esiste un "meccanismo di suggerimento" in ogni file .ttf. È in questo codice assembly che un utente malintenzionato inserisce exploit.

Per ulteriori indagini, mi piacerebbe confrontare un file .ttf noto come cattivo, come quelli che sono stati usati per sfruttare le vulnerabilità di gestione dei caratteri, con un file .ttf noto. Immagino che sarebbe difficile individuare le differenze senza una conoscenza approfondita dell'assemblaggio, ma mi piacerebbe dare un'occhiata, o almeno ascoltare qualcuno da queste parti se una cosa del genere è possibile. Quindi, la domanda è: qualcuno conosce un modo per analizzare i file .ttf per i comandi sospetti e qualcuno sa dove trovare un file .ttf utilizzato per sfruttare le vulnerabilità di gestione dei caratteri.

    
posta mcgyver5 12.05.2016 - 22:55
fonte

1 risposta

3

Questa è una domanda interessante. I file di font sono come gli altri file multimediali che potrebbero essere abusati da malware o da tentativi di sfruttamento.

Rilevare blocchi dannosi in tali file multimediali seguirebbe un approccio basato sulle firme: tu o il tuo software antivirus dovreste cercare pattern sospetti.

Non sono a conoscenza di una compilazione pubblica di codice dannoso nei file dei font. Potrebbe essere necessario compilare il proprio con l'aiuto di database di vulnerabilità pubblici e sfruttare i database.

L'apertura di un file non attendibile su un'altra piattaforma potrebbe essere in grado di rilevare i difetti senza esporre l'ambiente. Questo perché il codice di exploit di solito si rivolge a una piattaforma specifica e non è possibile avere successo sugli altri. Un file di carattere non funzionante potrebbe quindi essere un indicatore per un tentativo di attacco.

La conversione di un file di font da un formato a un altro è fondamentalmente ciò che farebbe un proxy (un gateway di applicazione lo sta facendo con i protocolli). Un'implementazione rigorosa potrebbe rilevare comportamenti scorretti e fallire la conversione. Un'implementazione meno rigida ignorerebbe le parti dannose e genererebbe un file valido senza pericoli rimanenti.

    
risposta data 03.06.2016 - 07:44
fonte

Leggi altre domande sui tag