Prima di installare un file APK, confrontarne l’hash SHA-256 può mostrare che il file è identico alla versione di cui possiedi un hash affidabile. È un controllo utile, ma da solo non dimostra che l’app sia priva di vulnerabilità o malware.
Per scaricare in sicurezza occorre porsi tre domande distinte: da dove proviene il file, è stato modificato durante il trasferimento e quali prove esistono sul codice che contiene? Nessun valore hash risponde da solo a tutte e tre.
A che cosa serve l’hash di un file?
SHA-256 genera un valore di lunghezza fissa dal contenuto del file. Se il file cambia, ci si aspetta che cambi anche il suo hash. Confrontare due hash è quindi un modo pratico per verificare se i byte dei file sono identici.
Il risultato è affidabile solo quanto il riferimento usato per il confronto. Se un attaccante può sostituire sia l’APK sia l’hash mostrato accanto, la corrispondenza non rivelerà il problema. Anche il modello di minaccia di Livara spiega questo limite della verifica dei file.
Come verificare prima dell’installazione
Identifica la versione desiderata. Confronta nome del prodotto, numero di versione e tipo di pacchetto con la pagina di pubblicazione. I file di due versioni diverse di solito non hanno lo stesso hash.
Ottieni l’hash atteso da un riferimento affidabile. Non affidarti soltanto a un messaggio anonimo che invia insieme file e hash. Verifica in modo indipendente l’indirizzo del sito ufficiale.
Calcola l’hash del file scaricato. Il Proof Lab di Livara offre uno strumento per confrontare gli hash degli APK. Non confonderlo con un test completo della sicurezza dell’app.
Confronta l’intero valore. I primi o gli ultimi caratteri non bastano. Controlla anche eventuali errori nel nome della versione o nella scelta del file.
Se i valori differiscono, interrompi l’installazione. La differenza può dipendere da una versione diversa, un download incompleto o una modifica del file; da sola non dimostra la presenza di malware. Non installare il file finché la causa non è chiara e verifica nuovamente attraverso il canale ufficiale.
Questa guida non fornisce alcun hash di esempio come «versione sicura», perché il valore corretto dipende dallo specifico file pubblicato.
Qual è la differenza tra hash, firme e build riproducibili?
| Verifica | Conclusione che può sostenere | Che cosa non dimostra da sola |
|---|---|---|
| Hash SHA-256 | Il file corrisponde al riferimento di confronto | Il codice è sicuro o l’editore è affidabile |
| Firma APK | Il file è stato firmato con una determinata chiave di firma e la verifica della firma ha esito valido | Il titolare della chiave non pubblicherà mai codice dannoso |
| Build riproducibile | Con sorgente, ambiente e istruzioni definiti si possono ottenere gli stessi byte | Il sorgente è privo di difetti di sicurezza |
| Revisione della sicurezza del codice | Sono stati scoperti o valutati problemi nell’ambito e nella versione esaminati | Non restano difetti sconosciuti |
Lo strumento ufficiale apksigner di Android serve a verificare le firme degli APK e le informazioni dei certificati. Neppure una nuova installazione e l’aggiornamento di un’app esistente sono la stessa cosa: per gli aggiornamenti Android controlla la compatibilità del firmatario. Una firma valida di un editore sconosciuto non è un motivo sufficiente per fidarsi.
Anche la definizione di build riproducibile richiede un sorgente e un ambiente di compilazione definiti. La corrispondenza dell’hash di un download non sostituisce questo processo.
Qual è l’ambito di Proof Lab?
Oltre all’hash dei file, la pagina Proof Lab offre una dimostrazione crittografica nel browser. Dimostrare con successo un’operazione crittografica non equivale a un audit completo dell’app installata né all’esecuzione completa dei protocolli del servizio di messaggistica. Anche lo strumento deve funzionare in un ambiente affidabile: un dispositivo o una pagina compromessi possono mostrare risultati fuorvianti.
Dopo l’installazione restano importanti gli aggiornamenti, le autorizzazioni dell’app e la sicurezza del dispositivo. Verificare il file di oggi non verifica automaticamente una versione futura.
Il confronto degli hash è un controllo specifico nella catena di fiducia; il suo valore aumenta quando conosci anche il riferimento di pubblicazione, il firmatario e i limiti del risultato.



