Açık kaynak VPN istemcisi: kod neyi kanıtlar, neyi kanıtlayamaz
Herkese açık bir depo, kaynak kodu hakkında kanıttır; kurduğunuz derleme ya da arkasındaki sunucular hakkında değil. Sürümü eşleştirin, sonra incelemeyi genişletin.
Kaynak kodu yayımlandı, lisans temiz, ve bağlantı hâlâ uçtan uca doğrulanamıyor. Bu boşluk olağan ve skandal değil. Kodu yayımlamak bir bileşeni davet edilmemiş kişilerce incelenebilir kılar, ve bu gerçek ve alışılmadık bir özelliktir. Bundan, kurduğunuz ikili dosyanın o koddan geldiği sonucu çıkmaz, ya da sağlayıcının diğer tarafta çalıştırdığı herhangi bir şeyin incelendiği sonucu.
Bileşeni üründen ayırın
Dört şey açık kaynak etiketini taşıyabilir ve nadiren hepsi açıktır. İnsanların kastettiği istemci uygulamasıdır. Altındaki protokol uygulaması başka bir yapıttır, bazen bir kütüphane bazen ağaç içindeki koddur. Sunucu yazılımı üçüncüsüdür, sağlayıcının kendi altyapısı, hesap portalı ve destek araçları dördüncüsüdür. Her biri bağımsız olarak açık veya kapalı olabilir.
Bu yüzden "uygulamamız açık kaynak" gibi ifadeler ilk maddeyi anlatır ve gerisini yanıtsız bırakır; bu dürüst olmamak değil, daha çok kategori kaymasıdır. Faydalı soru, hangi deponun, hangi etikette, güvendiğiniz bileşene karşılık geldiğidir.
Bu ayrım, aynı açık istemcilere sahip iki ürünün neden çok farklı güvenceler sunabildiğini de açıklar. İstemci kontrol edebildiğiniz kısımdır; işletmecinin davranışı başka yollarla değerlendirmeniz gereken kısımdır.
Kurulu derlemeyi yayımlanan etiketle eşleştirin
Depo bir niyet kaydıdır; diskinizdeki ikili dosya çalışan şeydir. Bu boşluğu kapatmak mekanik bir alıştırmadır ve neyin kurulu olduğunu tam olarak saptamakla başlar, indirme sayfasının reklamını yaptığı şeyle değil.
| 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 |
Paket üst verisi size sürümü ve kökeni söyler, bu da eski veya değiştirilmiş paket gibi basit durumu dışlar. Ancak paketin nasıl derlendiğini söylemez, ve tam olarak bu soruyu yanıtlamak için yeniden üretilebilir derlemeler vardır. Yeniden üretilebilir derlemeler bağımsız bir tarafın aynı kaynaktan yeniden derlemesini ve çıktıyı bayt bayt karşılaştırmasını sağlar, böylece uyuşmazlık şüphe değil kanıt olur.
Kusursuz bir eşleşme bile insanların umduğundan azını kanıtlar. Yapıtın kaynağa ve derleme tarifine uyduğunu gösterir, kaynağın kusursuz olduğunu ya da kullanılan araç zincirinin güvenilir olduğunu değil. İkisini de bilmek değerlidir, ama bunlar farklı iddialardır.
dpkg -S /usr/bin/wg
apt-cache policy wireguard-tools
sha256sum /usr/bin/wgBelirti genellikle nerede başlar
Bu okumaya yol açan şikâyet nadiren "kod kapalı" olur. Genellikle somut bir gözlemdir: beklenmedik bir yere bağlanan istemci, sürüm notlarından farklı bir sürüm ya da tünelin ihtiyaç duyması gerekenden fazlasını isteyen bir destek süreci. Bu noktaların her biri farklı bir bileşene işaret eder.
İstemciden gelen beklenmedik ağ trafiği istemci kaynak kodu sorusudur ve bağlantıyı açan kod yolunu okuyarak yanıtlanabilir. Sürüm uyuşmazlığı paketleme sorusudur. Kimlik belgeleri isteyen destek süreci hesap sistemi sorusudur ve hiçbir istemci denetimi bunu çözmez.
Bileşeni adlandırmak belirsiz güvensizliği somut bir kontrole dönüştürür. Somut bir kontrol yanıtlanabilir, tartışılabilir veya kapatılabilir. Alternatif, sonraki adımı olmayan kalıcı bir şüphedir.
İncelemenin ulaşamadığı şeyler ve bunun yerine ne yapılmalı
Sağlayıcının sunucularındaki saklama istemcinin erişiminin dışındadır. Faturalama portalının, dolandırıcılık denetimi sağlayıcısının veya ekleri saklayan destek masasının davranışı da öyle. "Hizmeti denetledik" noktasına kadar uzatılan bir istemci incelemesi, kanıtın desteklemediği bir iddiada bulunur.
İşletmecinin saklama ve talepler hakkında yayımladıklarını okuyun, tarihi not edin ve bunu bir ölçüm değil, ilgili tarafın beyanı olarak ele alın. Bu daha zayıf bir kanıt biçimidir ve farkı açıkça söylemek, yeniden anlatırken onu yükseltmekten daha faydalıdır.
Sonra elinizdekini birkaç girdiden biri olarak kullanın: kurulu sürümün kimliği, yazılımın bakımının yapılıp yapılmadığı, istemcinin nasıl yapılandırıldığı ve işletmecinin kendi sistemleri hakkında ne söylediği. Açık kod bu değerlendirmeyi bir noktada güçlendirir. Gerisinin yerini almaz.
Bir denetim iddiası her zaman bileşenlerini ve sürümlerini adlandırmalıdır. Bir rapor hangi depoyu ve hangi derlemeyi incelediğini söyleyemiyorsa, ürünü değil niyeti anlatıyordur.