Cavalli di Troia e vulnerabilità di
sistema
di Dante Picca* - 22.05.03
Sul numero della settimana scorsa abbiamo accennato ai risultati di una
ricerca che ha mostrato come sia possibile ottenere documenti firmati con
firma digitale all'insaputa del legittimo titolare (vedi Actalis cresce. Intanto si parla ancora di
"bachi").
La notizia, che ha allarmato i più, per gli addetti ai lavori non è una
novità. Il problema, infatti, non risiede nella scarsa sicurezza della firma
digitale, bensì nelle caratteristiche dei sistemi informativi utilizzati: la
natura del problema trascende quindi il campo della firma digitale e
riguarda, più in generale, i sistemi di validazione informatica.
Questa volta non sono la firma digitale o i certificatori ad essere
sotto accusa, ma i sistemi informativi, come ad esempio i sistemi operativi
installati sui computer utilizzati per svolgere le operazioni di
sottoscrizione.
Proprio perché il problema è noto da tempo e riguarda tutti i sistemi di
validazione informatica, è necessario conoscerlo per prendere le dovute
precauzioni.
Innanzitutto, per riuscire nella sottoscrizione illecita, è necessario
installare sul computer utilizzato per sottoscrivere documenti informatici, un
programma appositamente realizzato: il classico virus a "cavallo di
Troia". È quindi possibile ridurre il rischio con un'attenta gestione
del proprio computer o utilizzando sistemi operativi difficili da infettare.
Per descrivere la situazione è utile dividere il problema in due parti.
1. Per sottoscrivere un documento informatico con la firma digitale
di qualcuno all'insaputa dello stesso, è necessario sottrargli il PIN. Senza
correre con la fantasia, questa operazione può essere realizzata, almeno nei
sistemi Windows, in modo molto semplice. Utilizzando infatti funzioni messe a
disposizione con il sistema operativo, è possibile leggere il PIN durante
l'inserimento tramite tastiera da parte del titolare. Alcune funzioni
consentono, infatti, di leggere il nome della finestra nella quale l'utente
inserisce dei dati (ad esempio getwindowtext), nonché leggere i singoli
caratteri digitati sulla tastiera (ad esempio getkeynametext). Nel sito della
Microsoft sono disponibili dettagliate descrizioni di queste funzioni.
È sufficiente, quindi, un "cavallo di Troia" per ricavare il
PIN.
A titolo esemplificativo, utilizzando un diffuso software di firma digitale,
nel caso di inserimento del PIN segreto 123456, il sistema operativo
fornisce le seguenti informazioni:
Nome della finestra: Identificazione del Titolare
Testo inserito: 123456
Questa criticità è ormai nota da tempo e risulta che anche l'AIPA ne sia
a conoscenza.
2. E' necessario cifrare l'impronta di un documento utilizzando il
dispositivo di firma senza sottrarlo al legittimo titolare, che altrimenti
potrebbe chiedere la revoca del certificato.
Ancora una volta, però, il virus che ha letto il PIN può fare questo lavoro.
Infatti le librerie per comunicare con la smart card e cifrare con la chiave
privata presente nel dispositivo di firma, sono descritte nel sito della
Microsoft ed in quello dei vari produttori. Ancora una volta, quindi, un buon
programmatore può ottenere questo risultato utilizzando librerie pubbliche.
È sufficiente che il titolare del dispositivo di firma lasci la smart card
inserita nel lettore qualche secondo di troppo.
La firma del documento informatico così prodotta può quindi essere
trasferita dal virus la prima volta che il computer viene connesso alla rete.
Non è superfluo sottolineare che la firma così prodotta è indistinguibile,
sul piano informatico, da quella che avrebbe apposto il legittimo titolare.
Quanto visto, ovviamente, vale tanto per la firma digitale, quanto per ogni
altra operazione che richieda l'identificazione dell'utente presso il sistema
informativo, come ad esempio l'home banking.
A quanto descritto sino a questo punto deve essere aggiunto un ulteriore
elemento: dal momento che un virus di questo tipo sarebbe mirato solo ad un
ristretto insieme di computer, i normali antivirus difficilmente sarebbero in
grado di individuarlo, lasciando i computer-bersaglio senza difese.
Soluzioni a questo problema ce ne sono poche, in questo momento. Le ultime
versioni professionali di Windows, tuttavia, consentono di configurare il
sistema operativo per complicare di molto la vita agli sviluppatori del virus.
Configurare Windows a questo scopo richiede sfortunatamente competenze
elevate. Alcuni certificatori hanno rilasciato prodotti per la sottoscrizione
con firma digitale anche per sistemi operativi Linux e Mac. Anche se ogni
sistema operativo è potenzialmente vulnerabile, tali sistemi garantiscono, ad
oggi, una minore probabilità di infezione.
Per questa "nuova criticità" non esistono colpevoli ed allo
stesso tempo ne esistono molti. Non esistono colpevoli perché tutti gli
strumenti utilizzabili per portare a buon fine un attacco sono necessari anche
per attività lecite. D'altronde ci sono molti colpevoli: da un lato i
produttori di software che hanno progettato con superficialità software che
non trattano in modo opportuno i dati sensibili, dall'altro lato la scarsa
formazione degli utenti, che li porta ad utilizzare sistemi operativi per uso
domestico anche per attività critiche come l'home banking o la sottoscrizione
con firma digitale.
È timore diffuso che, per non affrontare il problema della cattiva
progettazione e sviluppo dei sistemi informativi o della scarsa formazione
degli utenti, ci propongano Palladium od altre diavolerie come soluzione a
tutti i problemi di sicurezza, almeno per un po'.
Il problema comunque esiste ed è serio poiché mette in dubbio, nei fatti,
l'univoca associazione tra la firma digitale ed il firmatario.
Anche se sono emersi problemi procedurali nella consegna dei dispositivi di
firma da parte di alcuni certificatori, che consentono di ottenere i medesimi
risultati senza dover scrivere una riga di codice, deve far riflettere il
comportamento del legislatore che, se da un lato è a conoscenza del problema,
dall'altro riconosce alla firma digitale un valore maggiore della firma
autografa. La speranza, ancora una volta, è che fallita la politica del security
through obscurity si arrivi presto ad una soluzione di questo specifico
problema. Staremo a vedere.
|