Endurgeranlegar byggingar fyrir VPN-forrit: hvað sannar samsvörun
Samsvarandi endurbygging tengir dreifta tvíundarskrá við uppgefið frumkóða og verkfæri. Hún segir ekkert um VPN-þjónustuna að baki skránni né skrár hennar.
Endurgeranleiki er eiginleiki aðfangakeðjunnar: sömu uppgefnu inntak verða að framleiða sama gripinn. Fyrir VPN-biðlara tengir þessi fullyrðing uppsetningarforritið sem þú sóttir við frumkóða og verkfærakeðju sem hver sem er getur byggt upp á ný. Hún segir ekkert um þjónustuna sem biðlarinn tengist.
Gagnlega spurningin er því þröng og svaraðanleg. Birtir verkefnið verklag, og samsvarar þín tiltekna gripur því?
Hvar bygging hættir að vera ákvarðanleg
Þýðendur byggja inn tímatengla, algera slóðir og nöfn byggingarhýsla nema þeim sé bannað það. Skjalasöfn skrá röð skráa og breytingatíma, hlekkjarar breyta úttaki sínu eftir útgáfu verkfærakeðjunnar, og samhliða þjöppun getur raðað blokkum á ný. Hvert þessara atriða veldur því að tvær byggingar af sama frumkóða eru ólíkar í bætum án þess að nokkuð óhugnanlegt gerist. Ákvarðanleiki er byggður inn í byggingu með verkfræði, hann er aldrei erfður sjálfgefið.
Verkefni sem segist vera endurgeranlegt verður að nefna þá staðfærslu sem það beitir: fasta tímatengla, varpaðar slóðir, raðaðar skjalasafnsfærslur, festar útgáfur þýðanda og háðra pakka. Án þess lista er ekki hægt að túlka frávik, því rými lögmætrar tilbrigða er óskilgreint.
Uppgefið inntak verður líka að vera heilt. Slóð í gagnageymslu án merkis er ekki endurskoðun, læsingarskrá án hash er ekki mengi háðra pakka, og byggingarskrift sem sækir verkfæri á keyrslutíma hefur inntak sem enginn getur fest. Hvert skarð verður síðar að mun. Kláraðu listann áður en þú berð eitthvað saman, því ófullkominn listi getur ekki mistekist á þann hátt að það þýði eitthvað.
| Input | How it drifts | What pins it |
|---|---|---|
| Source | Branch moves after release | Commit hash in the build metadata |
| Toolchain | Compiler patch level differs | Container image digest |
| Packaging | Archive order and mtimes vary | Normalised archive settings |
Hvað samanburðurinn athugar í raun
Óháður aðili byggir upp á ný í uppgefnu umhverfi og ber úttakið saman við birtu gripinn. Bita-jöfn er sterka formið; skjalfest staðfærsluskref, þar sem skráð frávik er snúið við og niðurstöðurnar passa þá, er veikara en samt gagnlegt form.
Samanburðurinn snýst um tvíundarskrána. Undirskrift svarar annarri spurningu: hún tengir útgáfu við lykil og lykil við auðkenni, og verkefni getur haft gildar undirskriftir yfir gripum sem enginn hefur endurbyggt. Athuganirnar tvær leggjast saman í stað þess að koma í staðinn fyrir hvora aðra.
sha256sum wireguard-installer.msi gpg --verify wireguard-installer.msi.sig wireguard-installer.msi
Keyrðu báðar fyrir uppsetningu og berðu hash-ið saman við það sem birt er fyrir sömu útgáfu og kerfisstillingu. Hash sem passar við síðu seljandans sannar að niðurhalið kom óskert; endurbyggð tvíundarskrá sem passar við birt hash seljandans sannar eitthvað sterkara um hvernig hún var gerð.
Hvers vegna frávik er ekki sönnun um aðkomu
Flest frávik koma frá inntaki sem enginn stjórnaði. Önnur lagfæringarútgáfa þýðandans, byggingarslóð sem lak inn í aflúsunartákn, staðfærsla sem breytti röðun, eða pökkunarskref sem beitt var eftir samanburðinn gefa öll annað hash en heiðarlegt verk.
Þess vegna verður að lesa frávik gegn skjalfestu verklagi áður en það verður að sögu. Ef verklagið festir allt og munurinn er áfram óútskýrður, er það raunveruleg niðurstaða sem vert er að leggja fyrir verkefnið. Ef verklagið þegir um pökkun getur munurinn verið algjörlega væntanlegur.
Samhverfa skiptir líka máli hér: samsvörun sannar ekki að frumkóðinn sé gallalaus, aðeins að tvíundarskráin samsvari honum. Vel endurskoðaður kóði og endurgeranlegur kóði eru ólíkir eiginleikar, og verkefni getur haft annan án hins.
Hvað fullyrðingin segir um þjónustuna að baki forritinu
Biðlarinn er forrit í tækinu þínu; þjónustan er netþjónar, reikningskerfi og varðveislustefnur annars staðar. Endurgeranleiki takmarkar hið fyrra og segir ekkert um hið síðara, sama hve vandlega uppsetningarforritið er staðfest.
Stilling endapunktsins getur líka breyst eftir uppsetningu, með fjartengingum eða stillingasniði sem veitandinn stýrir. Þær breytingar berast um netið og eru ekki undir neinu hash-i sem þú reiknaðir áður en þú tengdist.
Lestu fullyrðinguna í raunverulegu umfangi hennar og athugaðu svo næstu spurningu sérstaklega: hvað veitandinn skráir og undir hvaða lögsögu hann svarar beiðnum. Staðfest tvíundarskrá og óstaðfest þjónusta geta verið til saman, og það er einmitt tilvikið sem aðfangakeðjuathugun er hönnuð til að gera sýnilegt, ekki til að laga.