In riferimento all'articolo apparso su interlex , N. 376, del 26 giugno 2008, dal titolo "La luna, il pozzo, la bufala" di Corrado Giustozzi

 

Giustozzi scrive:

Sembrava impossibile, eppure al giorno d’oggi c’è ancora qualcuno che ha il coraggio di sostenere di aver trovato il punto debole  della firma digitale e di essere in grado di falsificarla. Ora, si trattasse di qualcuno che ha trovato un algoritmo efficiente di  fattorizzazione, gli daremmo il premio Nobel (stiamo cercando tale  algoritmo “solo” da duemilacinquecento anni, e la firma digitale si basa proprio sulla speranza che non esista…); si trattasse di  qualcuno che ha trovato un modo di generare facilmente collisioni di tipo second preimage nelle funzioni hash tipo SHA-2 gli faremmo tanto di cappello; ma i trucchi da imbonitore, per carità, evitateceli. E soprattutto non spacciateli per “debolezze intrinseche” della firma digitale: sarebbe come dire che i tostapane non funzionano perché se ci metto dentro una trota non esce una fetta di pane tostato!

 

Non abbiamo mai affermato nella nostra ricerca che il nostro attacco si basi sulla "rottura" dell'algoritmo RSA o degli hash crittografici usati nella firma. Il riferimento di Giustozzi a questa fattispecie è del tutto fuori luogo. Per informazione, il premio Nobel non potrà mai essere preso da nessuno in questo campo, perchè il premio Nobel non è stato istituito nè per la matematica, nè per l'informatica, che è disciplina troppo giovane. Poteva fare riferimento invece al premio Turing, scienziato che Giustozzi dall'alto della sua esperienza sicuramente conoscerà, come conoscerà la sua teoria.

 

Giustozzi scrive:

Già. In realtà ciò che il pluringegneristico team di ricerca dell’Università Mediterranea ha scoperto, e persino documentato in un dottissimo paper disponibile in sola lingua inglese, non è ahimè una vulnerabilità “della firma digitale” tout court ma, banalmente, una nota ed annosa limitazione (pardon,
“caratteristica”) di Windows. Tant’è che la proof of concept da essi illustrata a sostegno della propria tesi non funziona su nessun altro sistema operativo degno di questo nome. Ma di ciò i ricercatori calabresi si sono “dimenticati” di far menzione…

Vediamo dunque come stanno le cose. Dice il calabro ricercatore: “se prendo una immagine in formato BMP che dice una cosa, la violento trasformandola surrettiziamente in un documento HTML che ne dice un’altra, firmo il tutto, cambio nome al file da BMP in HTML, lo apro, allora perbacco! vedo il file HTML e non l’immagine BMP”.

Grande scoperta: lo sanno tutti che Windows decide cos’è un file non andandolo a guardare ma fidandosi di quello che dice il suo nome, o meglio l’estensione di tre lettere che segue il punto.
Così se prendo un file DOC e gli cambio estensione in BMP, e poi ci clicco sopra due volte, non partirà Word per aprirlo ma Paint, o il programma di grafica attivo per default; il quale oltretutto si arrabbierà moltissimo per non essere in grado di aprire il file, dato che il suo contenuto non corrisponde a quello previsto per un file BMP, e non saprà cosa fare per visualizzarlo. Naturalmente ciò vale anche per il viceversa, e per qualsiasi altra trasformazione da un’estensione ad un’altra. (Notiamo per inciso che tutti i sistemi operativi più seri quali Unix o Mac-OS non basano la loro decisione su una mera convenzione associata al nome del file, ma vanno a guardare cosa c’è effettivamente nel file stesso e lo riconoscono per quello che è il suo reale formato. Windows no, bontà sua).

Ora, è perfettamente possibile pensare di riuscire a costruire un file che risponda contemporaneamente alle specifiche tecniche di due formati differenti. Si tratta di una situazione patologica ma sicuramente realizzabile, magari sfruttando ad arte qualche bug di qualche diffuso programma di interpretazione di specifici formati (quello che si chiama genericamente parser). Ad esempio, come hanno fatto i ricercatori calabresi, si può accodare ad una immagine BMP un pezzo di testo HTML (confidando che il parser delle immagini non protesti per questi dati extra!) e quindi modificare i primi byte dell’immagine BMP (sempre confidando che il medesimo parser sia di bocca buona…) per far sì che l’immagine stessa appaia ad un interprete di codice HTML come un “commento” da ignorare.
Ora, questo abominio digitale è l’equivalente di quelle immagini ambivalenti di cui vanno tanto fieri gli psicologi cognitivi: ad esempio i due famosi profili affacciati che visti in altro modo diventano una coppa, o la vecchia signora che vista in altro modo diventa una giovane ragazza. Un bieco trucco, insomma, nel quale il file “taroccato” può essere aperto sia da un parser per immagini (che “vede” la sola parte BMP ed ignora quella HTML) che da un parser per HTML (che viceversa “vede” la sola parte HTML ed ignora quella BMP), con contenuti ovviamente assai diversi tra l’uno e l’altro caso.

La miopia di Windows fa sì che questa insana ambivalenza interpretativa possa essere “pilotata” a piacere semplicemente modificando l’estensione del file: se questa è BMP allora il doppio clic lo farà automaticamente aprire da un visualizzatore di immagini, mentre se è HTML da un browser. I risultati saranno ovviamente diversi, perché ciascun programma “vedrà” solo la parte di file che è in grado di interpretare e, se non è troppo schizzinoso, non si lamenterà per non riuscire ad interpretare l’altra parte. Ciò però vuol dire che il file è cambiato da una visualizzazione all’altra? Ovviamente no: semplicemente, l’automatismo fa sì che se ne veda una parte oppure un’altra, a scelta. Ma il file è sempre quello, nella sua immutabile interezza, a prescindere da quale parte si decida di vederne.

 

Il fatto che i file prodotti secondo la tecnica da noi mostrata siano "polimorfi" è un fatto intrinseco. Non dipende dal Sistema Operativo usato.
La cosa attiene ad un principio basilare, noto a chiunque sia competente in informatica, circa il fatto che il significato di una sequenza di bit puo' essere definito quando è definita la codifica che essi rappresentano, e quindi il modo con cui questi bit devono essere intepretati.

L'aggravante dei sistemi operativi che, come Windows, effettuano associazioni automatiche tra file ed applicazioni in base al'estensione, rende il problema significativo dal punto di vista pratico, circa il modo con cui la firma è utilizzata, considerato che la stragrande maggioranza dei documenti (ivi compresi quelli firmati) sono elaborati e mantenuti su piattaforma Microsoft (piaccia o non piaccia).

 

Giustozzi scrive:
E allora dov’è il tanto sbandierato bug della firma digitale? Ci dice ancora il professore: “se io firmo il file, e poi cambio estensione al file firmato, visualizzo di fatto un documento non conforme a quello che mi aspettavo, eppure la firma digitale risulta sempre verificata.”.

Ma che grande scoperta! Il file non è stato modificato, e dunque è ovvio che la firma digitale risulti verificata. Il fatto che il trucco dell’estensione continui a funzionare sul file firmato è un problema che riguarda la miopia di Windows, non la firma digitale in sé: la quale, come noto, riguarda solo ed esclusivamente il contenuto di un file e non, per amor di Dio, i suoi metadati.
 

Il motivo che la firma non rilevi il problema, è certamente evidente, per come funziona la firma e per come è usata la busta crittografica. Il problema sta proprio nel fatto che i metadati non vengono firmati. Questo è proprio la debolezza su cui si basa l'attacco. Come il CNIPA mi ha confermato, circa l'ipotesi di soluzione da noi ipotizzata (inclusione del nome -- in particolare l'estensione -- del file in un campo della busta sottoposto a firma), sarebbe una soluzione da "consigliare ai certificatori"
(anche se, probabilmente, di difficile attuazione -- aggiungo io)

 

Giustozzi scrive:

In altre parole: nella formazione della firma digitale non  concorrono cose quali il nome del file, la sua data di creazione,  la lunghezza, l’attributo di sola lettura e via dicendo, com’è giusto che sia. Perché infatti il nome di un documento dovrebbe essere significativo rispetto al suo contenuto? Sarebbe come se il nome attribuito ad un faldone nel quale sono riposti degli atti fosse importante ai fini del contenuto degli atti ivi riposti, col risultato che l’eventuale modifica del nome del faldone dovrebbe inficiare la validità (e la firma) degli atti stessi!

 

La metafora del faldone non regge. Il fatto che il nome diventi significativo nel nostro caso dipende da un fatto tecnico.

Di fatti si parla dell'estensione e non del nome, in quanto essa (per la quasi totalità dei casi reali -- windows è il piu' diffuso SO al mondo), è un metadato che DESCRIVE IL FORMATO DEL DOCUMENTO.

Allora la metafora giusta dovrebbe essere legata ad una domanda del tipo:

"Avrebbe efficacia probatoria, in merito alla funzione dichiarativa, una firma autografa apposta su un documento codificato in un linguaggio coniato ad hoc, dal sottoscrittore, non noto a nessuno, senza che il documento stesso abbia al suo interno "i metadati" necessari a poter intepretare il contenuto?"

Il valore probatorio sarebbe nullo.

Semplicemente perchè quel pezzo di carta non sarebbe un documento secondo l'accezione giuridica del termine (in quanto non è la rappresentazione di atti e fatti giuridicamente rilevanti, ma soltanto una sequenza inintellegibile di caratteri).

 

Giustozzi scrive:
Con l’occasione notiamo che i nostri prodi ricercatori, senza dover necessariamente stuprare un’immagine BMP, potevano produrre un effetto similare in vari modi alternativi. Prendiamo ad esempio il formato ZIP, comunemente usato per archiviare tanti file comprimendoli in uno solo: oramai molte applicazioni di uso comune producono i loro file in questo formato standard, ma hanno cura di dotarli di estensioni differenti per fare in modo che non vengano aperti per errore da altre applicazioni. Il formato ODT per i documenti OpenOffice ed il formato JAR usato per distribuire classi Java e metadati associati sono due esempi comuni di tale diffusa pratica. Se dunque fate doppio clic su un file ODT esso verrà aperto da OpenOffice come se fosse un documento (ed in effetti lo è), mentre se gli cambiate nome in ZIP e poi gli fate doppio clic verrà aperto da WinZip come se fosse un archivio (ed in effetti è anche questo!). Anche in questo caso la semantica dell’azione innescata dal doppio clic viene decisa dall’estensione associata al nome del file, e ciascuna applicazione lanciata lo vedrà in modo diverso: ma la sostanza del file rimane sempre la medesima, ossia quella di un insieme di byte unico ed immutabile.

Anche in questo caso, dunque, funzionerebbe il trucco del professore calabrese: ma cosa c’entra la firma digitale?

 

Ciò che dice Giustozzi su Zip e ODT è privo di significato. Il nostro attacco è basato sulla capacità di un documento di presentarsi in modo diverso con diversi contenuti informativi entrambi intellegibili. Per questo ha significatività pratica. Non è il caso a cui Giustozzi si riferisce.

 

Giustozzi scrive:
Per concludere: non scherziamo con la firma digitale e soprattutto non scomodiamola invano. Già ha avuto tanti problemi nel corso degli anni, ed ha dovuto subire denigrazioni e sconfessioni da parte di personaggi ed istituzioni a dir poco insospettabili. Se c’è tuttavia una cosa che funziona bene sono i suoi meccanismi tecnici, e quelli non è possibile metterli in discussione con trucchi da prestigiatore. Una cosa di cui assolutamente non abbiamo bisogno è quella di ingenerare nella gente comune ulteriore confusione e sospetto nei riguardi delle tecnologie digitali.

Se vogliamo alzare il livello di alfabetizzazione e pretendere che tutti inizino a partecipare alla vita della Società digitale non possiamo continuare impunemente a fare disinformazione terroristica sulla valenza delle tecnologie abilitanti su cui essa si fonda. Quando si scoprirà l’algoritmo di fattorizzazione veloce o quello di collisione degli hash ci preoccuperemo, ma sino ad allora, per carità, non alimentiamo falsi spettri con minacce inesistenti.

 

Mi fa piacere che Giustozzi sia così tranquillo e scettico rispetto alla necessità di adottare strategie per evitare l'uso fraudolento della debolezza da noi individuata. Si sa che l'ansia non fa bene alla salute.

Vedo infatti che ha perso l'atteggiamento ansioso che invece aveva nel settembre del 2002, quando (con almeno 2 anni di ritardo -- in quanto la cosa era ampiamente regolata dalla normativa vigente in forza della deliberazione AIPA 51/2000), nell'articolo "Funziona o non funziona? L'aspetto tecnico" (http://www.interlex.it/docdigit/corrado8.htm) propagandava come scoop il fatto che alcuni formati comunemente usati (es. Word, ed Excel) potessero includere macro-istruzioni, e i relativi rischi di falsi informatici, senza neppure citare che l'organo competente (AIPA) aveva già considerato approfonditamente il problema e introdotto restrizioni nell'ambito della PA relative ai formati utilizzabili (sopra citata deliberazione AIPA 51/2000).

In quell'articolo Giustozzi era particolarmente preoccupato per l'attacco basato sulle macro-istruzioni, che, si noti bene, ha GLI STESSI POTENZIALI EFFETTI DELL'ATTACCO PRESENTATO NEL NOSTRO STUDIO. Infatti, nella sezione introduttiva dell'articolo scriveva: "Tuttavia non si può evitare di affrontare la questione, liquidandola, come molti hanno fatto, con un'alzata di spalle: il problema c'è davvero ed è anche dannatamente serio, come vedremo. Ed è anche, purtroppo, di difficilissima soluzione, perché non è un problema (solo) tecnico. Siamo nella classica situazione in cui bisogna cercare di salvare capra e cavoli; questa volta però non è detto che ci si riesca, forse occorrerà sacrificare qualche cavolo."

Ma, in relazione alla mutevolezza delle dotte valutazioni di Giustozzi, è davvero singolare la parte finale di quell'articolo che recita:

"Quale può essere infine la conclusione di questa vicenda? La risposta non è facile. Il buon senso suggerirebbe di  risolvere il problema limitando il novero dei documenti firmabili digitalmente ai soli formati "puri", non programmabili, immutabili ed assoluti. Ossia ai veri documenti, e non ai meta-documenti come sono quelli di Word o di Excel [...]".

Ciò dimostra che un mondo ideale in cui sono ammessi formati che non includono macro-istruzioni o codice eseguibile l'avrebbe tranquillizzato

Oggi Giustozzi scopre che anche in questo mondo ideale (il nostro attacco agisce infatti su un formato - quello immagine - che assolutamente non può includere macro-istruzioni), i pericoli a cui fa riferimento in quell'articolo esisterebbero comunque, ma non si preoccupa per nulla.

Le mie congratulazioni, significa che ha migliorato di molto il suo self-control.

 

Torna indietro