Firma digitale falsificata: un attacco o una bufala?

Non voglio rubare del lavoro al caro Paolo Attivissimo, ma chi di voi ha seguito la vicenda nei giorni scorsi, sa di per certo che è stato sollevato un gran polverone per un problema nel processo di firma digitale molto noto.

Il prof. Buccafurri e il suo team di ricerca hanno presentato un articolo ad una conferenza IEEE su un (presunto) nuovo attacco alla firma digitale. L'articolo è stato accettato e questo è indice di sicuro interesse da parte della comunità scientifica nonché di validità dell'articolo stesso.

In sostanza il gruppo di ricerca ha dimostrato che creando un file "polimorfo", nel caso specifico un file BMP con appeso un file HTML, e firmando tale file mediante una busta crittografica p7m, il contenuto del file visualizzato prima e dopo la firma potrebbe non coincidere.

Tenete a mente il termine "visualizzato" :-)

I passi dell'attacco sono i seguenti.

Fase di apposizione della firma:

  • apro un file BMP che mi è stato inviato e non mi accorgo che il file è "polimorfo";
  • lo visualizzo con un visualizzatore standard nel mio PC che, associando all'estensione del file un programma per la sua apertura, viene indotto a pensare che il formato sia BMP;
  • decido che questo è il contenuto che voglio firmare e quindi creo una busta crittografica p7m inserendo la mia SmartCard e il mio PIN per la firma;
  • la busta crittografica è stata creata con il nome: nomefile.bmp.p7m

Fase di verifica della firma (supponiamo sia un notaio):

  • ...qualcuno cambia in modo malizioso il nome del file da "nome_file.bmp.p7m" in "nome_file.html.p7m";
  • il notaio apre la busta crittografica p7m che, dopo aver verificato la firma, scrive su disco il file "nome_file.html";
  • sempre il notaio apre il file con il suo visualizzatore di default che, ingannato dall'estensione, apre la parte HTML del file polimorfo, mostrandogli un documento diverso (magari con delle cifre completamente diverse).
E' chiaro che la firma digitale del file polimorfo non è cambiata. Intendo per firma digitale il processo tecnico di creazione di un hash e la relativa firma con chiave privata nella smartcard o dispositivo di firma sicuro.

Quello che è cambiato è solo la diversa visualizzazione del file prima della firma e dopo la verifica della firma da parte di un altro soggetto, provocata dal cambio di estensione del file e dalla sua natura "polimorfa".

L'articolo del prof. Buccafurri mette in risalto in realtà un problema arcinoto, con una tecnica, questa sì, originale. Il fatto che la visualizzazione di un file corrisponda ad un'interpretazione dello stesso che dipende dal visualizzatore utilizzato, è cosa nota e abbastanza intuitiva ma è chiaro che possa gettare nel caos chi non si intende di firma digitale e in generale di Informatica.

Il prof. propone come alternativa quella di memorizzare nella busta p7m anche il nome del file. Potrebbe limitare il problema che però secondo me è più generale.

Il problema è che quello che viene visualizzato non è mai "il file", inteso come sequenza di bit, ma una sua interpretazione da parte di un visualizzatore opportuno. Quest'ultimo potrebbe essere modificato maliziosamente e allora il problema si riproporrebbe, anche inserendo nel pacchetto p7m i metadati relativi al formato del file.

Perché invece non risolvere il problema della corretta visualizzazione chiedendo al CNIPA di certificare dei "visualizzatori" che verifichino prima di tutto che il contenuto del file sia un contenuto valido (struttura, corrispondenza con il nome del file, etc)?

Ma allora questa firma digitale ha molti problemi che con penna e carta non ci sono...ma siamo proprio sicuri?

Vediamo un esempio di contraffazione che sfrutta questa volta il multisecolare supporto cartaceo:

Cosa succede se firmo un documento cartaceo, scritto in modo tale che alcune righe siano visibili solo dopo un po' di tempo e altre righe siano invece scritte con l'inchiostro "simpatico"?

Dopo 2 ore che il documento è stato firmato, il documento cambierà la sua natura e la verifica della firma sarà su un contenuto diverso da quello originariamente firmato.

Il problema del documento polimorfo c'è anche sul documento cartaceo quindi!

Qualche link utile a chi volesse approfondire il discorso:

Buon divertimento e fatemi sapere cosa ne pensate...

Commenti

  1. rilegendolo dopo tanto tempo tutto quello che posso pensare è che non hai capito un granchè della cosa....

    RispondiElimina

Posta un commento

Post popolari in questo blog

Exploit: icsploit o espluà?

TrueCrypt 5.0: nuova release

ING Direct: ancora con il PAD numerico rotante!