Բաց կոդով VPN հաճախորդ՝ ինչ է ապացուցում կոդը և ինչ չի կարող
Հանրային պահոցը ապացույց է սկզբնական կոդի մասին, ոչ թե ձեր տեղադրած բիլդի կամ դրա հետևում գտնվող սերվերների մասին։ Համապատասխանեցրեք թողարկումը, ապա ընդլայնեք վերանայումը։
Կոդը հրապարակված է, լիցենզիան մաքուր է, և կապը դեռ հնարավոր չէ ստուգել ծայրից ծայր։ Այդ բացը սովորական է և սկանդալ չէ։ Կոդի հրապարակումը մի բաղադրիչ դարձնում է ստուգելի այն մարդկանց համար, ովքեր չեն հրավիրվել, և դա իրական ու անսովոր հատկություն է։ Դրանից չի հետևում, որ ձեր տեղադրած բինարը եկել է այդ կոդից՝ կամ որ մատակարարի մյուս կողմում գործարկվող որևէ բան ընդհանրապես վերանայվել է։
Առանձնացրեք բաղադրիչը արտադրանքից
Չորս բան կարող է կրել բաց կոդի պիտակը, և հազվադեպ են բոլորը բաց։ Հաճախորդի հավելվածը այն է, ինչ մարդիկ նկատի ունեն։ Դրա տակ գտնվող արձանագրության իրականացումը այլ արտեֆակտ է՝ երբեմն գրադարան, երբեմն ծառի ներսում գտնվող կոդ։ Սերվերի ծրագրաշարը երրորդն է, իսկ մատակարարի սեփական ենթակառուցվածքը, հաշվի պորտալը և աջակցության գործիքները՝ չորրորդը։ Յուրաքանչյուրը կարող է բաց կամ փակ լինել ինքնուրույն։
Այսպիսով՝ "մեր հավելվածը բաց կոդով է" արտահայտությունները նկարագրում են առաջին կետը և թողնում մնացածը անպատասխան, ինչը անազնվություն չէ, այլ ավելի շուտ կատեգորիայի սահում։ Օգտակար հարցն այն է, թե որ պահոցը, որ պիտակով, համապատասխանում է այն բաղադրիչին, որի վրա հենվում եք։
Այդ տարբերությունը նաև բացատրում է, թե ինչու նույնական բաց հաճախորդներ ունեցող երկու արտադրանք կարող են շատ տարբեր երաշխիքներ առաջարկել։ Հաճախորդն այն մասն է, որը կարող եք ստուգել. օպերատորի վարքը այն մասն է, որը պետք է գնահատեք այլ միջոցներով։
Համապատասխանեցրեք տեղադրված բիլդը հրապարակված պիտակին
Պահոցը մտադրության գրառում է. ձեր սկավառակի բինարը այն է, ինչ աշխատում է։ Այդ բացը փակելը մեխանիկական վարժություն է, և այն սկսվում է նրանից, թե ինչ է ճշգրիտ տեղադրված, ոչ թե ինչ էր գովազդում ներբեռնման էջը։
| Component | What inspection can show | What it leaves untouched |
|---|---|---|
| Client source | How profiles, packets and optional telemetry are handled | Whether the shipped binary matches that source |
| Build output | Whether a declared build reproduces a matching artefact | Whether the source is correct or the toolchain is clean |
| Server software | What the implementation is capable of logging | What the operator actually configures and retains |
| Account and support systems | Almost nothing, unless they are separately published | Everything about how those systems treat your data |
Փաթեթի մետատվյալները ձեզ ասում են տարբերակը և ծագումը, ինչը բացառում է հնացած կամ փոխարինված փաթեթի պարզ դեպքը։ Դրանք չեն ասում, թե ինչպես է այդ փաթեթը կոմպիլացվել, և հենց այդ հարցին պատասխանելու համար գոյություն ունեն վերարտադրվող բիլդերը։ Վերարտադրվող բիլդեր թույլ են տալիս անկախ կողմին նույն աղբյուրից նորից կառուցել և համեմատել արդյունքը բայթ առ բայթ, այնպես որ անհամապատասխանությունը դառնում է ապացույց, ոչ թե կասկած։
Նույնիսկ կատարյալ համընկնումն ապացուցում է ավելի քիչ, քան մարդիկ հույս ունեն։ Այն ցույց է տալիս, որ արտեֆակտը համապատասխանում է աղբյուրին և բիլդի բաղադրատոմսին, ոչ թե որ աղբյուրը զերծ է թերություններից, և ոչ թե որ օգտագործված գործիքաշղթան վստահելի էր։ Երկուսն էլ արժե իմանալ, բայց դրանք տարբեր պնդումներ են։
dpkg -S /usr/bin/wg
apt-cache policy wireguard-tools
sha256sum /usr/bin/wgՈրտեղից է սովորաբար սկսվում ախտանիշը
Բողոքը, որն առաջացնում է այս ընթերցումը, հազվադեպ է "կոդը փակ է"։ Այն սովորաբար կոնկրետ դիտարկում է՝ հաճախորդ, որը զանգահարում է անսպասելի տեղ, տարբերակ, որը տարբերվում է թողարկման նշումներից, կամ աջակցության գործընթաց, որը պահանջում է ավելին, քան թունելը պետք է ունենա։ Այս կետերից յուրաքանչյուրը մատնանշում է այլ բաղադրիչ։
Հաճախորդից անսպասելի ցանցային երթևեկությունը հաճախորդի սկզբնական կոդի հարց է, և դրան կարելի է պատասխանել կարդալով այն կոդի ուղին, որը բացում է կապը։ Տարբերակի անհամապատասխանությունը փաթեթավորման հարց է։ Ինքնության փաստաթղթեր պահանջող աջակցության գործընթացը հաշվային համակարգի հարց է, և ոչ մի հաճախորդային աուդիտ այն չի լուծի։
Բաղադրիչի անվանումը անորոշ անվստահությունը դարձնում է կոնկրետ ստուգում։ Կոնկրետ ստուգմանը կարելի է պատասխանել, վիճել կամ փակել այն։ Այլընտրանքը մշտական կասկածն է առանց հաջորդ քայլի։
Ինչին վերանայումը չի հասնում, և ինչ անել փոխարենը
Մատակարարի սերվերներում պահպանումը հաճախորդի հասանելիությունից դուրս է։ Այդպիսին է նաև վճարման պորտալի, խարդախության ստուգման մատակարարի կամ կցորդներ պահող աջակցության սեղանի վարքը։ Հաճախորդի վերանայումը, որը ձգվում է մինչև "մենք աուդիտ արեցինք ծառայությունը", պնդում է անում, որը ապացույցները չեն աջակցում։
Կարդացեք, թե ինչ է հրապարակում օպերատորը պահպանման և հարցումների մասին, նշեք ամսաթիվը, և վերաբերվեք դրան որպես շահագրգիռ կողմի հայտարարության, ոչ թե չափման։ Սա ապացույցի ավելի թույլ ձև է, և տարբերության մասին բացահայտ ասելն ավելի օգտակար է, քան այն վերապատմելիս բարձրացնելը։
Այնուհետև օգտագործեք այն, ինչ ունեք, որպես մի քանի մուտքերից մեկը՝ տեղադրված թողարկման ինքնությունը, արդյոք ծրագրաշարը պահպանվում է, ինչպես է կարգավորված հաճախորդը, և ինչ է ասում օպերատորն իր սեփական համակարգերի մասին։ Բաց կոդը մեկ կետում ուժեղացնում է այդ գնահատականը։ Այն չի փոխարինում մնացածը։
Աուդիտի պնդումը միշտ պետք է նշի իր բաղադրիչներն ու տարբերակները։ Եթե զեկույցը չի կարող ասել, թե որ պահոցը և որ բիլդն է ուսումնասիրել, ապա այն նկարագրում է մտադրություն, ոչ թե արտադրանք։