Tunnelen fungerte, grensesnittet kom opp, og økten holdt seg stabil i en uke. Ingenting av dette forteller deg hvem som bygde installasjonsprogrammet. En VPN-klient kjører med nok rettigheter til å skrive om ruter og lese påloggingsopplysninger, så utgiveren er en del av trusselmodellen, ikke en fotnote.

Gjør kontrollene i rekkefølge, og stopp ved den første som feiler. De er billige, og hver av dem lukker et ulikt hull.

Første trinn: Last ned fra kanalen prosjektet navngir

Hvert prosjekt dokumenterer hvor utgivelsene ligger, og den siden er referansen. Fellesskapsbygg, butikkoppføringer og leverandørportaler er alle legitime kanaler. Hver av dem er bare legitim når prosjektet selv peker på den. Det er testen, og den er ikke det samme som å se offisiell ut.

En fil som er oppkalt etter prosjektet, beviser ingenting. Å gi installasjonsprogrammet nytt navn er en operasjon på ett sekund, og navnet er det et søkeresultat viser først.

Andre trinn: Bekreft signaturen mot en kjent identitet

Signaturbekreftelse svarer godt på et smalt spørsmål. Den forteller deg at en bestemt identitet har signert denne binærfila, og at fila ikke har endret seg siden. Den svarer på ett spørsmål og avviser et annet. Den kan ikke fortelle deg om den identiteten er den du mente å stole på.

# macOS: who signed this app, and is the signature intact?
codesign -dv --verbose=4 /Applications/Tunnel.app
spctl -a -vvv -t install /Applications/Tunnel.app

# Windows: signature and publisher of the installer
Get-AuthenticodeSignature .\tunnel-setup.exe | Format-List Status, SignerCertificate

# Linux: detached signature from the project's release page
gpg --verify tunnel-1.4.2.tar.gz.asc tunnel-1.4.2.tar.gz

Les identiteten, ikke statusordet. En utenforstående utvikler med et gyldig sertifikat produserer en gyldig signatur. Et operativsystem som rapporterer en anerkjent utgiver, har bare fortalt deg at noen betalte for et sertifikat.

Tredje trinn: Sammenlign hashen med en uavhengig kilde

En kontrollsum beviser samsvar med en referanseverdi. Hvis referansen kom sammen med nedlastingen, kan begge være feil samtidig, og sammenligningen består likevel. Det er feilmønsteret i de fleste veiledninger. Hashen står på samme side som fila den beskriver.

# Linux and macOS
shasum -a 256 tunnel-1.4.2.dmg

# compare against the value published on the project's own release page
# not against a value copied from the same mirror

Når et prosjekt publiserer signerte kontrollsummer eller et signert utgivelsesmanifest, bekreft signaturen over listen i stedet for over hver fil for seg. Slik dekker én betrodd referanse hele utgivelsen.

Etter installasjonen: Behold oppdateringsveien

En støttet kanal fortsetter å bety noe etter at installasjonen er ferdig. Omemballerte bygg kan ha sin egen oppdaterer, og den oppdatereren avgjør hva som kjører neste måned. Et bygg som aldri oppdateres, er ikke tryggere. Det er bare eldre.

Noter hvordan klienten skal oppdateres, og om et styringssystem eier det trinnet. Hvis svaret er en manuell nedlasting fra et forum, har spørsmålet om forsyningskjeden aldri egentlig blitt lukket.

To opphav, ikke ett

Klientutvikleren og profilutstederen er separate parter. En offisiell klient som importerer en profil fra en utenforstående operatør, er en normal ordning, og profilen fortjener sin egen gransking: hvem som utstedte den, hvordan den ble levert, og om serverens sertifikat samsvarer med navnet du forventer.

Hold begge opphavene identifiserbare i notatene dine. I det øyeblikket en klient erstattes eller en enhet gjenopprettes fra sikkerhetskopi, er det de to linjene som hindrer et ukjent bygg eller en ukjent profil i å komme tilbake sammen med resten av dataene.

Relaterte artikler