ProteGo. Czy samo otwarcie kodu wystarczy, by walczyć z COVID-19 bezpiecznie?

Ministerstwo Cyfryzacji pracuje nad kolejną appką mającą wspomóc walkę z pandemią COVID-19 w Polsce. Dokładnie, by powrót do normalnego życia po zakończeniu okresu „narodowej kwarantanny” był bezpieczny. Zanim przeczytasz resztę tego tekstu zachęcam do przeczytania ogłoszenia na stronie MC.

Bardzo, bardzo, bardzo chwali się otwarcie kodu. Przed laty intensywnie lobbowaliśmy to jako Fundacja Wolnego i Otwartego Oprogramowania (FWiOO). Fajnie, że w końcu się dzieje. Niestety ten fakt, sam z siebie, nie gwarantuje ani bezpieczeństwa, ani zaufania.

Cel aplikacji, jest kontrowersyjny. Z drugiej strony czas pandemii zaczął już przyzwyczajać do bezkompromisowego naruszania naszej prywatności. O ile w Polsce ta inwigilacja nie jest jeszcze jakoś bardzo zaawansowana, to na świecie wprowadzają ją bezpardonowo.

W teorii rozwiązanie nie brzmi źle i ma predyspozycje bycia fair w stosunku do użytkownika. Warunkiem jest, aby rzeczywiście żadne dane identyfikujące nie były przesyłane na serwery. Słabym punktem wszelkich tego typu rozwiązań jest ich dystrybucja za pomocą sklepów takich jak App Store czy Google Play. Wprowadzają one do całego łańcucha pomiędzy kodem w repozytorium na githubie, a użytkownikiem elementy wymagające od nas zaufania do tych, którzy odpowiedzialni są za przygotowanie paczki i umieszczenie jej w sklepach. Musimy im, ich szefom oraz szefom tych szefów zawierzyć, że po zgarnięciu kodu z repo nie dodają nic, co mogłoby dodatkowo zbierać informacje o użytkownikach i przekazywać je do serwerów ministerstwa.

Oczywiście powyższe ma zastosowanie, gdy kod będzie sprawdzony przez niezależnych programistów i specjalistów, a Ci powiedzą, że rzeczywiście realizuje on przedstawione przez autorów założenia w sposób bezpieczny.

Jest kilka metod na zbudowanie takiego zaufania, ale każda z nich wymaga pewnej biegłości technicznej. W pierwszym przypadku po wystawieniu przez ministerstwo appki w sklepach, ktoś pobiera je i generuje ich sumy kontrolne (z uwzględnieniem dodawanych w procesie publikacji sygnatur). Jest to ciąg znaków unikalny dla zawartości danego pliku. Nawet najdrobniejsza jej zmiana skutkuje uzyskaniem zupełnie innej sumy kontrolnej. W drugim kroku osoba taka pobiera kod appki z repozytorium na githubie i samodzielnie buduje go, zgodnie z udostępnioną przez autorów instrukcją, by uzyskać taki sam plik, który umieszczony może być w sklepie i na urządzeniu mobilnym. Jeśli suma kontrolna samodzielnie skompilowanej aplikacji oraz tej pobranej ze sklepu są identyczne, wtedy mamy pewność, że nic po drodze do naszego urządzenia nie zostało do niej dodane.

W drugim przypadku możemy zdać się, na alternatywne sklepy z aplikacjami. Dla Androida jest to FDroid, sklep zawierający tylko aplikacje o otwartym kodzie, w dodatku kompilowane bez elementów śledzących użytkownika (jak tamten moduł facebooka w Kwarantannie Domowej). By za pośrednictwem FDroida udostępnić appkę należy zapewnić powtarzalność jej budowania, ponieważ udostępniane są jedynie aplikacje, które budowane są samodzielnie przez automat, by wykluczyć możliwość działań opisanych wcześniej.

Sam zdecydowałbym się na zostanie użytkownikiem ProteGo tylko pobierając ją właśnie z FDroida.

Drugą częścią kontrowersji tego pomysłu ministerstwa jest potrzeba odpalonego wciąż modułu bluetooth. Wyłączenie zarówno jego, jak i pozostałych czujników (NFC, WiFi, 3/4G), gdy tylko nie są nam potrzebne jest jednym z podstawowych zaleceń bezpiecznego korzystania ze smartfona. Technologia Bluetooth posiada wiele dziur, a nie wszystkie z nich załatać można poprzez aktualizację oprogramowania (firmware), część z nich wymaga wymiany modułu sprzętowego w telefonie na nowszy.

Zdecydowana większość użytkowników smartfonów posługuje się starszymi ich modelami, wrażliwymi na takie zagrożenia. Znikome ich grono jest w stanie samodzielnie dokonać wymiany modułu na nowszy, bez zakupu nowego urządzenia. Zastosowanie ProteGo zgodnie z zamysłem ministerstwa niestety spowoduje, że Polacy będą chodzić po ulicach i siedzieć w swoich domach czy biurach z otwartymi furtkami dla cyberprzestępców w kieszeniach.

Więcej