SHARE THE PERSPECTIVE
Hashes, handtekeningen, reproduceerbare builds en audits beantwoorden verschillende vragen.

Open broncode maakt het mogelijk code te onderzoeken, maar bewijst op zichzelf niet dat de geïnstalleerde app met die code overeenkomt of geen kwetsbaarheden heeft. Bij het beoordelen van een berichtenapp kun je verschillende soorten bewijs beter uit elkaar houden: broncode, het bouwproces, de bestandshandtekening, protocoltests en auditrapporten.

Wat laat elk type bewijs precies zien?

Bewijs Belangrijkste bijdrage Wat het op zichzelf niet bewijst
Leesbare broncode Ontwerp en implementatie kunnen worden onderzocht Overeenstemming met het installatiebestand of afwezigheid van alle bugs
Reproduceerbare build Uitvoer uit een bepaalde bron en omgeving kan worden vergeleken Dat de code zelf veilig is
APK-handtekening Controle van de handtekening en de koppeling van het bestand aan een vertrouwde ondertekeningssleutel Dat het gedrag van de app onschadelijk is
SHA-256-hash Verschillen in bytes vaststellen ten opzichte van een vertrouwde digest Authenticiteit wanneer een aanvaller zowel het bestand als de digest heeft vervangen
Testvector Specifiek gedrag controleren bij bepaalde invoer en uitvoer Dekking van alle toestanden en uitvoeringspaden
Onafhankelijke audit Bevindingen uit onderzoek van een bepaalde reikwijdte en versie Een blijvende garantie voor alle toekomstige versies

Een reproduceerbare build is niet hetzelfde als een bestand met dezelfde hash downloaden

Volgens de definitie van Reproducible Builds betekent reproduceerbaarheid dat dezelfde uitvoer wordt gebouwd uit een bepaalde bron, omgeving en set instructies. Als je alleen een gedownload bestand vergelijkt met de door de maker gepubliceerde hash, voer je een integriteitscontrole uit; je hebt het bestand nog niet zelf uit de code gebouwd.

Vraag bij het beoordelen van een claim over reproduceerbaarheid naar de codeversie, afhankelijkheden, bouwinstructies en het verslag van iemand anders die het resultaat heeft gereproduceerd. ‘De bron staat op GitHub’ vervangt dit bewijs niet.

Hoe interpreteer je een APK-controle correct?

  1. Download het bestand via de officiële weg en voor een specifieke versie.
  2. Haal de digest en gegevens van de ondertekenaar uit een bron waarvan je de authenticiteit vertrouwt.
  3. Bereken de hash van het bestand en vergelijk deze met die van dezelfde versie.
  4. Valideer bij technisch onderzoek ook de handtekening; de officiële tool apksigner ondersteunt dit.
  5. Stop bij een afwijking de installatie en zoek de oorzaak uit; onderteken het bestand niet opnieuw om de fout te omzeilen.

Voorbeeld van een controleopdracht voor een deskundige die Android SDK Build Tools heeft:

apksigner verify --verbose --print-certs app.apk

De naam app.apk is slechts een voorbeeld. Een geslaagde opdracht neemt niet weg dat je de geldige sleutel van de uitgever moet kennen.

Welke rol speelt Proof Lab?

Livara’s Proof Lab biedt hulpmiddelen voor specifieke controles. Lees wat elk experiment omvat: een bestandshash, een voorbeeld van sleutelovereenstemming en het afwijzen van gemanipuleerde gegevens beantwoorden verschillende vragen. Een geslaagde cryptografische demonstratie is geen audit van de volledige geïnstalleerde app, de server, updates of accountbeheer.

Ook Livara’s dreigingsmodel vermeldt expliciet dat een overeenkomende hash op zichzelf geen authenticiteit bewijst als een aanvaller zowel de APK als de getoonde digest vervangt. Dit is een algemene beperking van hashcontroles, niet een eigenschap van één specifieke berichtenapp.

Welke vragen stel je bij het lezen van een auditrapport?

  • Welke organisatie of personen hebben het onderzoek uitgevoerd en waar staat het openbare rapport?
  • Welke versie en commit zijn onderzocht?
  • Welke onderdelen vielen buiten de reikwijdte?
  • Hoe zijn belangrijke bevindingen verholpen en opnieuw getest?
  • Is jouw geïnstalleerde versie dezelfde, of bevat deze de bijbehorende verbeteringen?

Trek geen definitieve conclusies uit woorden als ‘goedgekeurd’ zonder deze vragen te beantwoorden. Het gebruik van een gestandaardiseerd algoritme is evenmin gelijk aan certificering van het volledige product volgens een norm.

De conclusie voor het kiezen van een berichtenapp

Open broncode en verifieerbaarheid zijn geen concurrenten; ze leveren aanvullend bewijs. Geef de voorkeur aan een product met precieze, traceerbare claims en een duidelijke reikwijdte. Pas vervolgens dezelfde beoordeling toe op jouw gebruikssituatie, zoals groepen, de webversie, back-ups en gekoppelde apparaten, in plaats van uit één geslaagde test absolute veiligheid af te leiden.

Controleer de hash van de Android-installatie bij Livara
CONTINUE THE THREADAndroid & device security ↗
YOU’VE REACHED THE ENDBack to the reading room ↗