Instalator VPN z lustra? Najpierw zweryfikuj wydawcę
Kanał pobierania decyduje, jaki kod jest uruchamiany i kto może go aktualizować. Najpierw sprawdź podpis, źródło sumy kontrolnej i wystawcę profilu.
Tunel działał, interfejs się pojawił, a sesja pozostała stabilna przez tydzień. Nic z tego nie mówi, kto zbudował instalator. Klient VPN działa z uprawnieniami wystarczającymi do przepisywania tras i odczytywania danych logowania, więc wydawca jest częścią modelu zagrożeń, a nie przypisem.
Wykonuj kontrole po kolei i zatrzymaj się na pierwszej, która zawiedzie. Są tanie, a każda zamyka inną lukę.
Pierwszy krok: Pobierz z kanału, który wskazuje projekt
Każdy projekt dokumentuje, gdzie znajdują się jego wydania, i ta strona jest odniesieniem. Kompilacje społecznościowe, wpisy w sklepach i portale dostawców to wszystko legalne kanały. Każdy z nich jest legalny tylko wtedy, gdy sam projekt na niego wskazuje. To jest test, i nie jest to samo co wyglądanie na oficjalny.
Plik nazwany po projekcie niczego nie dowodzi. Zmiana nazwy instalatora to operacja trwająca sekundę, a nazwa jest tym, co wynik wyszukiwania pokazuje jako pierwsze.
Drugi krok: Zweryfikuj podpis wobec znanej tożsamości
Weryfikacja podpisu dobrze odpowiada na wąskie pytanie. Mówi, że określona tożsamość podpisała ten plik binarny i że plik nie zmienił się od tego czasu. Odpowiada na jedno pytanie, a odmawia odpowiedzi na inne. Nie może powiedzieć, czy ta tożsamość to ta, której chciałeś zaufać.
# macOS: who signed this app, and is the signature intact?
codesign -dv --verbose=4 /Applications/Tunnel.app
spctl -a -vvv -t install /Applications/Tunnel.app
# Windows: signature and publisher of the installer
Get-AuthenticodeSignature .\tunnel-setup.exe | Format-List Status, SignerCertificate
# Linux: detached signature from the project's release page
gpg --verify tunnel-1.4.2.tar.gz.asc tunnel-1.4.2.tar.gz
Czytaj tożsamość, nie słowo statusu. Niepowiązany deweloper z ważnym certyfikatem tworzy ważny podpis. System operacyjny zgłaszający rozpoznanego wydawcę powiedział ci tylko, że ktoś zapłacił za certyfikat.
Trzeci krok: Porównaj hash z niezależnym źródłem
Suma kontrolna dowodzi zgodności z wartością referencyjną. Jeśli referencja przybyła obok pobrania, obie mogą być błędne jednocześnie, a porównanie i tak przejdzie. To jest wzorzec awarii w większości poradników. Hash znajduje się na tej samej stronie co plik, który opisuje.
# Linux and macOS
shasum -a 256 tunnel-1.4.2.dmg
# compare against the value published on the project's own release page
# not against a value copied from the same mirror
Gdy projekt publikuje podpisane sumy kontrolne lub podpisany manifest wydania, weryfikuj podpis na liście, a nie na każdym pliku osobno. W ten sposób jedno zaufane odniesienie obejmuje całe wydanie.
Po instalacji: Zachowaj ścieżkę aktualizacji
Wspierany kanał nadal ma znaczenie po zakończeniu instalacji. Przepakowane kompilacje mogą nieść własny aktualizator, a ten aktualizator decyduje, co będzie działać w przyszłym miesiącu. Kompilacja, która nigdy się nie aktualizuje, nie jest bezpieczniejsza. Jest po prostu starsza.
Zapisz, jak klient powinien się aktualizować i czy system zarządzania odpowiada za ten krok. Jeśli odpowiedzią jest ręczne pobranie z forum, pytanie o łańcuch dostaw nigdy tak naprawdę się nie zamknęło.
Dwa źródła pochodzenia, nie jedno
Deweloper klienta i wystawca profilu to odrębne strony. Oficjalny klient importujący profil od niepowiązanego operatora to normalny układ, a profil zasługuje na własną kontrolę: kto go wydał, jak został dostarczony i czy certyfikat serwera zgadza się z oczekiwaną nazwą.
Utrzymuj oba źródła pochodzenia rozpoznawalne w notatkach. W momencie, gdy klient zostaje wymieniony lub urządzenie przywrócone z kopii zapasowej, właśnie te dwie linie powstrzymują nieznaną kompilację lub nieznany profil przed powrotem wraz z resztą danych.