VPN-asentaja peilistä? Vahvista ensin julkaisija
Latauskanava ratkaisee, mikä koodi suoritetaan ja kuka voi päivittää sen. Tarkista ensin allekirjoitus, tarkistussumman lähde ja profiilin julkaisija.
Tunneli toimi, käyttöliittymä nousi ja istunto pysyi vakaana viikon. Mikään tästä ei kerro, kuka asentajan rakensi. VPN-asiakasohjelma toimii riittävillä oikeuksilla reittien uudelleenkirjoittamiseen ja tunnistetietojen lukemiseen, joten julkaisija on osa uhkamallia, ei alaviite.
Tee tarkistukset järjestyksessä ja pysähdy ensimmäiseen, joka epäonnistuu. Ne ovat halpoja, ja jokainen sulkee eri aukon.
Ensimmäinen vaihe: Lataa kanavasta, jonka projekti nimeää
Jokainen projekti dokumentoi, missä sen julkaisut sijaitsevat, ja se sivu on vertailukohta. Yhteisön koontiversiot, kauppojen listaukset ja toimittajaportaalit ovat kaikki laillisia kanavia. Jokainen niistä on laillinen vain silloin, kun projekti itse osoittaa siihen. Se on testi, eikä se ole sama asia kuin näyttää viralliselta.
Projektin mukaan nimetty tiedosto ei todista mitään. Asentajan uudelleennimeäminen on yhden sekunnin toimenpide, ja nimi on se, minkä hakutulos näyttää ensimmäisenä.
Toinen vaihe: Vahvista allekirjoitus tunnettua identiteettiä vastaan
Allekirjoituksen vahvistus vastaa hyvin kapeaan kysymykseen. Se kertoo, että tietty identiteetti allekirjoitti tämän binaaritiedoston ja että tiedosto ei ole muuttunut sen jälkeen. Se vastaa yhteen kysymykseen ja kieltäytyy toisesta. Se ei voi kertoa, onko tuo identiteetti se, johon aioit luottaa.
# 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
Lue identiteetti, älä tilasanaa. Asianliittymätön kehittäjä, jolla on voimassa oleva varmenne, tuottaa voimassa olevan allekirjoituksen. Käyttöjärjestelmä, joka ilmoittaa tunnustetun julkaisijan, on kertonut vain, että joku maksoi varmenteesta.
Kolmas vaihe: Vertaa hash-arvoa riippumattomaan lähteeseen
Tarkistussumma todistaa vastaavuuden viitearvon kanssa. Jos viite saapui latauksen vieressä, molemmat voivat olla väärin yhtä aikaa ja vertailu menee silti läpi. Se on useimpien opasteiden epäonnistumismalli. Hash on samalla sivulla kuin tiedosto, jota se kuvaa.
# 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
Kun projekti julkaisee allekirjoitetut tarkistussummat tai allekirjoitetun julkaisumanifestin, vahvista allekirjoitus luettelon yli sen sijaan, että vahvistaisit jokaisen tiedoston erikseen. Näin yksi luotettu viite kattaa koko julkaisun.
Asennuksen jälkeen: Pidä päivityspolku
Tuettu kanava on tärkeä myös asennuksen päätyttyä. Uudelleenpaketoidut koontiversiot voivat tuoda oman päivittäjänsä, ja se päivittäjä päättää, mitä ensi kuussa ajetaan. Koontiversio, jota ei koskaan päivitetä, ei ole turvallisempi. Se on yksinkertaisesti vanhempi.
Kirjaa, miten asiakasohjelman on tarkoitus päivittyä ja omistaako hallintajärjestelmä sen vaiheen. Jos vastaus on manuaalinen lataus foorumilta, toimitusketjun kysymys ei koskaan oikeastaan sulkeutunut.
Kaksi alkuperää, ei yksi
Asiakasohjelman kehittäjä ja profiilin julkaisija ovat erillisiä osapuolia. Virallinen asiakasohjelma, joka tuo profiilin asiaan liittymättömältä operaattorilta, on tavallinen järjestely, ja profiili ansaitsee oman tarkastelunsa: kuka sen myönsi, miten se toimitettiin ja vastaako palvelimen varmenne odottamaasi nimeä.
Pidä molemmat alkuperät tunnistettavina muistiinpanoissasi. Hetkellä, jolloin asiakasohjelma vaihdetaan tai laite palautetaan varmuuskopiosta, juuri ne kaksi riviä estävät tuntemattoman koontiversion tai tuntemattoman profiilin paluun muun datan mukana.