Voordat u een APK-bestand installeert, kunt u door de SHA-256-hash te vergelijken vaststellen of uw bestand overeenkomt met de versie waarvan u een betrouwbare hash hebt. Dat is nuttig, maar bewijst op zichzelf niet dat de app vrij is van kwetsbaarheden of malware.
Bij veilig downloaden spelen drie afzonderlijke vragen: waar komt het bestand vandaan, is het onderweg gewijzigd en welk bewijs is er over de code erin? Geen enkele hashwaarde beantwoordt op zichzelf alle drie.
Wat doet een bestandshash?
SHA-256 maakt van de inhoud van een bestand een waarde met een vaste lengte. Als het bestand verandert, wordt verwacht dat ook de hash verandert. Twee hashes vergelijken is daarom een praktische manier om te controleren of de bytes van bestanden identiek zijn.
Die uitkomst is slechts zo betrouwbaar als de vergelijkingsreferentie. Kan een aanvaller zowel de APK als de ernaast vermelde hash vervangen, dan brengt een overeenkomst het probleem niet aan het licht. Ook Livara’s dreigingsmodel legt deze beperking van bestandscontrole uit.
Controleren vóór installatie
Bepaal de bedoelde versie. Vergelijk de productnaam, het versienummer en het pakkettype met de releasepagina. Bestanden van twee verschillende versies hebben doorgaans niet dezelfde hash.
Haal de verwachte hash uit een betrouwbare bron. Vertrouw niet alleen op een onbekend bericht waarin bestand en hash samen worden toegestuurd. Controleer het adres van de officiële website onafhankelijk.
Bereken de hash van het gedownloade bestand. Livara’s Proof Lab biedt een hulpmiddel om APK-hashes te vergelijken. Verwar dit niet met een volledige beveiligingstest van de app.
Vergelijk de volledige waarde. Alleen de eerste of laatste tekens vergelijken is niet genoeg. Controleer ook of u de verkeerde versienaam of het verkeerde bestand hebt gekozen.
Stop de installatie bij een verschil. Een afwijking kan ontstaan door een andere versie, een onvolledige download of een gewijzigd bestand; zij bewijst op zichzelf geen malware. Installeer het bestand niet totdat de oorzaak duidelijk is en controleer het opnieuw via het officiële kanaal.
Deze handleiding geeft geen voorbeeldhash als die van een ‘veilige versie’, omdat de juiste waarde afhangt van het specifieke releasebestand.
Wat is het verschil tussen een hash, een handtekening en een reproduceerbare build?
| Controle | Welke conclusie kan zij ondersteunen? | Wat bewijst zij op zichzelf niet? |
|---|---|---|
| SHA-256-hash | Het bestand is identiek aan de vergelijkingsreferentie | De code is veilig of de uitgever betrouwbaar |
| APK-handtekening | Het bestand is met een bepaalde ondertekeningssleutel ondertekend en de handtekeningcontrole slaagt | De sleutelhouder zal nooit schadelijke code publiceren |
| Reproduceerbare build | Met een bepaalde broncode, omgeving en instructies kunnen dezelfde bytes worden gebouwd | De broncode bevat geen beveiligingsfouten |
| Beveiligingsonderzoek van de code | Binnen de onderzochte scope en versie zijn problemen gevonden of beoordeeld | Er zijn geen onbekende fouten meer |
De officiële Android-tool apksigner kan APK-handtekeningen en certificaatinformatie controleren. Een nieuwe installatie is bovendien niet hetzelfde als het bijwerken van een bestaande app: Android controleert bij updates de compatibiliteit van de ondertekenaar. Een geldige handtekening van een onbekende uitgever is onvoldoende reden voor vertrouwen.
Ook de definitie van een reproduceerbare build vereist een bepaalde broncode en bouwomgeving. De downloadhash vergelijken vervangt dat proces niet.
Wat is de reikwijdte van Proof Lab?
Naast bestandshashes biedt de Proof Lab-pagina een cryptografische demonstratie in de browser. Een geslaagde demonstratie van een cryptografische bewerking is geen volledige audit van de geïnstalleerde app en evenmin een volledige uitvoering van de berichtprotocollen. Ook het hulpmiddel moet in een betrouwbare omgeving draaien: een besmet apparaat of een aangetaste pagina kan een misleidend resultaat tonen.
Ook na de installatie blijven updates, appmachtigingen en apparaatbeveiliging belangrijk. Het bestand van vandaag controleren betekent niet automatisch dat een toekomstige versie is gecontroleerd.
Een hashvergelijking is één specifieke controle in de vertrouwensketen; zij is waardevoller als u ook de releasebron, de ondertekenaar en de beperkingen van de uitkomst kent.



