Pirmkods ir publicēts, licence ir tīra, un savienojumu joprojām nevar pārbaudīt no gala līdz galam. Šī plaisa ir ierasta, un tā nav skandāls. Koda publicēšana padara vienu komponenti pārbaudāmu cilvēkiem, kuri netika uzaicināti, un tā ir reāla un neparasta īpašība. No tā neizriet, ka jūsu instalētais binārais fails nāk no šī koda, ne arī tas, ka kaut kas, ko pakalpojumu sniedzējs darbina otrā pusē, vispār būtu pārskatīts.

Atdaliet komponenti no produkta

Četras lietas var nēsāt atvērtā koda birku, un reti visas ir atvērtas. Klienta lietotne ir tas, ko cilvēki domā. Zem tās esošā protokola ieviešana ir cits artefakts, dažkārt bibliotēka un dažkārt kods kokā. Servera programmatūra ir trešā, un paša sniedzēja infrastruktūra, konta portāls un atbalsta rīki ir ceturtā. Katrs no tiem var būt atvērts vai slēgts neatkarīgi.

Tāpēc apgalvojumi kā "mūsu lietotne ir atvērtā koda" raksturo pirmo vienumu un atstāj pārējo bez atbildes, kas nav negodīgums, bet drīzāk kategorijas noslīdējums. Noderīgs jautājums ir, kura krātuve, kurā tagā, atbilst komponentei, uz kuru paļaujaties.

Šī atšķirība arī izskaidro, kāpēc divi produkti ar identiskiem atvērtiem klientiem var piedāvāt ļoti atšķirīgas garantijas. Klients ir daļa, ko varat pārbaudīt; operatora uzvedība ir daļa, kas jānovērtē ar citiem līdzekļiem.

Saskaņojiet instalēto būvējumu ar publicēto tagu

Krātuve ir nodoma ieraksts; binārais fails jūsu diskā ir tas, kas darbojas. Šīs plaisas aizvēršana ir mehānisks vingrinājums, un tas sākas ar precīzu noteikšanu, kas ir instalēts, nevis ar to, ko reklamēja lejupielādes lapa.

ComponentWhat inspection can showWhat it leaves untouched
Client sourceHow profiles, packets and optional telemetry are handledWhether the shipped binary matches that source
Build outputWhether a declared build reproduces a matching artefactWhether the source is correct or the toolchain is clean
Server softwareWhat the implementation is capable of loggingWhat the operator actually configures and retains
Account and support systemsAlmost nothing, unless they are separately publishedEverything about how those systems treat your data

Paketes metadati norāda versiju un izcelsmi, kas izslēdz vienkāršo novecojušas vai aizstātas paketes gadījumu. Tie nenorāda, kā šī pakete tika kompilēta, un tieši uz šo jautājumu atbild atkārtojamās būvēšanas. Atkārtojamās būvēšanas ļauj neatkarīgai pusei pārbūvēt no tā paša avota un salīdzināt izvadi baitu pa baitam, tā ka neatbilstība kļūst par pierādījumu, nevis aizdomām.

Pat perfekta sakritība pierāda mazāk, nekā cilvēki cer. Tā parāda, ka artefakts atbilst avotam un būvēšanas receptei, nevis to, ka avots ir bez defektiem, un nevis to, ka izmantotā rīku ķēde bija uzticama. Abas zināšanas ir vērtīgas, bet tie ir atšķirīgi apgalvojumi.

dpkg -S /usr/bin/wg
apt-cache policy wireguard-tools
sha256sum /usr/bin/wg

Kur parasti sākas simptoms

Sūdzība, kas izraisa šo lasījumu, reti ir "kods ir slēgts". Parasti tas ir konkrēts novērojums: klients, kas zvana kaut kur negaidīti, versija, kas atšķiras no izlaiduma piezīmēm, vai atbalsta process, kas prasa vairāk, nekā tunelim vajadzētu. Katrs no šiem punktiem norāda uz citu komponenti.

Negaidīta tīkla plūsma no klienta ir klienta pirmkoda jautājums, un uz to var atbildēt, lasot koda ceļu, kas atver savienojumu. Versiju neatbilstība ir iepakošanas jautājums. Atbalsta process, kas pieprasa personas dokumentus, ir kontu sistēmas jautājums, un neviens klienta audits to neatrisinās.

Komponentes nosaukšana pārvērš neskaidras neuzticības konkrētu pārbaudi. Uz konkrētu pārbaudi var atbildēt, par to strīdēties vai to slēgt. Alternatīva ir pastāvīgas aizdomas bez nākamā soļa.

Ko pārbaude nevar sasniegt, un ko tā vietā darīt

Datu glabāšana pakalpojumu sniedzēja serveros ir ārpus klienta sasniedzamības. Tāpat arī norēķinu portāla, krāpšanas pārbaudes pakalpojumu sniedzēja vai atbalsta dienesta, kas glabā pielikumus, uzvedība. Klienta pārbaude, kas izstiepta līdz "mēs auditējām pakalpojumu", izvirza apgalvojumu, ko pierādījumi neatbalsta.

Lasiet, ko operators publicē par glabāšanu un pieprasījumiem, atzīmējiet datumu, un uztveriet to kā ieinteresētās puses paziņojumu, nevis mērījumu. Tā ir vājāka pierādījumu forma, un skaidri nosaukt atšķirību ir lietderīgāk nekā paaugstināt to atstāstā.

Pēc tam izmantojiet to, kas jums ir, kā vienu no vairākām ievadēm: instalētā izlaiduma identitāti, vai programmatūra tiek uzturēta, kā klients ir konfigurēts un ko operators saka par savām sistēmām. Atvērts kods stiprina šo vērtējumu vienā punktā. Tas neaizstāj pārējo.

Audita apgalvojumam vienmēr jānosauc tā komponentes un versijas. Ja ziņojums nevar pateikt, kuru krātuvi un kuru būvējumu tas pārbaudīja, tas apraksta nodomu, nevis produktu.

Saistītie raksti