Zdrojový kód je zverejnený, licencia je čistá a spojenie sa stále nedá overiť od konca do konca. Tá medzera je bežná a nie je to škandál. Zverejnenie kódu robí jednu komponentu preskúmateľnou ľuďmi, ktorí neboli pozvaní, a to je skutočná a nezvyčajná vlastnosť. Z toho nevyplýva, že binárka, ktorú ste nainštalovali, pochádza z toho kódu, ani že čokoľvek, čo poskytovateľ prevádzkuje na druhej strane, bolo vôbec skontrolované.

Oddeľte komponentu od produktu

Označenie otvorený kód môžu niesť štyri veci a málokedy sú otvorené všetky. Klientska aplikácia je to, čo ľudia mienia. Implementácia protokolu pod ňou je iný artefakt, niekedy knižnica a niekedy kód v strome. Serverový softvér je tretí a vlastná infraštruktúra poskytovateľa, portál účtu a nástroje podpory sú štvrté. Každá môže byť otvorená alebo zatvorená nezávisle.

Preto výroky ako „naša aplikácia je s otvoreným kódom“ opisujú prvú položku a zvyšok nechávajú bez odpovede, čo nie je nečestnosť, ale skôr posun kategórie. Užitočná otázka znie, ktorý repozitár a na ktorej značke zodpovedá komponente, na ktorú sa spoliehate.

Tento rozdiel tiež vysvetľuje, prečo dva produkty s totožnými otvorenými klientmi môžu ponúkať veľmi odlišné záruky. Klient je časť, ktorú môžete skontrolovať; správanie prevádzkovateľa je časť, ktorú musíte posúdiť inými prostriedkami.

Spárujte nainštalované zostavenie so zverejnenou značkou

Repozitár je záznam zámeru; binárka na vašom disku je to, čo beží. Uzavrieť tú medzeru je mechanické cvičenie a začína zistením, čo je presne nainštalované, nie tým, čo inzerovala stránka na stiahnutie.

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

Metadáta balíka vám povedia verziu a pôvod, čo vylučuje triviálny prípad zastaraného alebo nahradeného balíka. Nepovedia vám, ako bol balík skompilovaný, a práve na túto otázku existujú reprodukovateľné zostavenia. Reprodukovateľné zostavenia umožňujú nezávislej strane zostaviť znova z toho istého zdroja a porovnať výstup bajt po bajte, takže nezhoda sa stane dôkazom, nie podozrením.

Aj dokonalá zhoda dokazuje menej, než ľudia dúfajú. Ukazuje, že artefakt zodpovedá zdroju a receptu zostavenia, nie že zdroj je bez chýb a nie že použitá reťaz nástrojov bola dôveryhodná. Oboje stojí za to vedieť, ale sú to rôzne tvrdenia.

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

Kde zvyčajne začína príznak

Sťažnosť, ktorá vedie k tomuto čítaniu, zriedka znie „kód je zatvorený“. Zvyčajne ide o konkrétne pozorovanie: klient, ktorý volá niekam nečakane, verzia odlišná od poznámok k vydaniu, alebo proces podpory, ktorý žiada viac, než by tunel mal potrebovať. Každý z týchto bodov ukazuje na inú komponentu.

Neočakávaná sieťová prevádzka z klienta je otázka klientskeho zdrojového kódu a dá sa zodpovedať čítaním kódovej cesty, ktorá otvára spojenie. Nezhoda verzií je otázka balenia. Proces podpory, ktorý žiada doklady totožnosti, je otázka systému účtov a žiadny audit klienta to nevyrieši.

Pomenovanie komponenty mení hmlistú nedôveru na konkrétnu kontrolu. Na konkrétnu kontrolu sa dá odpovedať, hádať sa s ňou alebo ju uzavrieť. Alternatívou je trvalé podozrenie bez ďalšieho kroku.

Kam kontrola nedosiahne a čo namiesto toho robiť

Uchovávanie na serveroch poskytovateľa je mimo dosahu klienta. Rovnako správanie fakturačného portálu, dodávateľa kontroly podvodov alebo podporného centra, ktoré ukladá prílohy. Kontrola klienta natiahnutá na „vykonali sme audit služby“ robí tvrdenie, ktoré dôkazy nepodporujú.

Prečítajte si, čo prevádzkovateľ zverejňuje o uchovávaní a žiadostiach, poznamenajte dátum a berte to ako vyhlásenie zainteresovanej strany, nie ako meranie. Je to slabšia forma dôkazu a výslovné pomenovanie rozdielu je užitočnejšie než jeho povýšenie pri prerozprávaní.

Potom použite to, čo máte, ako jeden z viacerých vstupov: identitu nainštalovaného vydania, či je softvér udržiavaný, ako je klient nakonfigurovaný a čo prevádzkovateľ hovorí o svojich vlastných systémoch. Otvorený kód toto hodnotenie posilňuje v jednom bode. Nenahrádza zvyšok.

Tvrdenie o audite by malo vždy pomenovať svoje komponenty a verzie. Ak správa nedokáže povedať, ktorý repozitár a ktoré zostavenie skúmala, opisuje zámer, nie produkt.

Súvisiace články