Koduj dla Polski

Fajne otwarcie, ale nie tędy droga

9 kwietnia 2020 | Blog
 

Kilka dni temu Ministerstwo Cyfryzacji ogłosiło, że pracuje nad stworzeniem aplikacji ProteGo, która docelowo ma być instalowana przez każdego obywatela. Aplikacja wykorzystuje technologię Bluetooth do identyfikowania i zapisywania obecności urządzeń mobilnych (a przez to również ludzi), które znalazły się w naszej najbliższej okolicy w ciągu ostatnich dwóch tygodni. Aplikacja ma być przydatna, kiedy zniesione będą ogólnopolskie ograniczenia poruszania się, żeby typować osoby, które będą poddane indywidualnej kwarantannie. Ministerstwo Cyfryzacji powołuje się przy tym na przykład Singapuru, który stworzył podobną aplikację. ProteGo nie jest jeszcze ukończona, ale Ministerstwo już teraz upubliczniło jej dokumentację i kod źródłowy oraz zaprosiło ekspertów i innych obywateli do wyrażania swoich opinii na jej temat. Internauci nie zawiedli i pojawiło się wiele ważnych sugestii.

Prywatność i bezpieczeństwo

Bardzo wiele osób zgłaszało zastrzeżenie, że aplikacja stwarza zagrożenie dla prywatności użytkowników. Z tego powodu dużą popularność uzyskał wątek jak zmienić model działania aplikacji na anonimowy i zdecentralizowany

Ze swojej strony przedstawiłem też argument, że ProteGo stwarza zagrożenie dla bezpieczeństwa. Aplikacja opiera się na założeniu, że użytkownicy będą cały czas mieć włączony Bluetooth w swoich telefonach. To może być niebezpieczne, ponieważ system dystrybucji poprawek bezpieczeństwa do oprogramowania Android jest dysfunkcjonalny – poprawki nie są od razu dostępne dla użytkowników telefonów. Google publikuje informacje o znalezieniu luki bezpieczeństwa i poprawkę do oprogramowania, ale producenci telefonów z Androidem dopiero muszą zintegrować te poprawki ze swoim oprogramowaniem, co może trwać miesiącami. Dopiero potem udostępniają poprawki swoim użytkownikom. Przez te miesiące telefony użytkowników są podatne na atak.

Żeby pokazać, że to nie jest problem teoretyczny, wystarczy poszukać w Google raportów na temat znalezionych niedawno luk bezpieczeństwa w Bluetooth. Na przykład w lutym tego roku znaleziono lukę CVE-2020-0022, która pozwala atakującemu na uruchomienie dowolnego kodu na telefonie znajdującym się w pobliżu. Po upublicznieniu informacji o tej luce bezpieczeństwa eksperci radzą zaktualizować oprogramowanie telefonu, a jeśli nie ma jeszcze aktualizacji dostępnej na dany model telefonu, to wyłączyć Bluetooth lub ustawić swój telefon jako niewidzialny dla innych telefonów z Bluetooth. Wyłączenie Bluetooth oczywiście spowoduje, że aplikacja ProteGo przestanie działać. 

Automatyczne wyłączanie się aplikacji

Ważne spostrzeżenia przedstawił Tomasz Zieliński, bloger posługujący się pseudonimem Informatyk Zakładowy. Tomasz zauważył, że można mieć pewność, że aplikacja będzie działać, tylko wtedy, gdy użytkownik będzie miał ją wyświetloną na ekranie. Ale jeśli użytkownik włoży telefon do kieszeni, to telefon przechodzi w stan uśpienia, a wtedy aplikacja może zostać zupełnie zamknięta przez system operacyjny. To dlatego, że producenci telefonów ścigają się w wymyślaniu coraz to nowszych sposobów na oszczędzanie baterii. Telefony niektórych producentów zamkną aplikację po pewnym czasie, przy czym różni producenci mają w tym zakresie różną politykę. Niestety, twórca ProteGo nie ma nad tym mechanizmem pełnej kontroli. Ten problem sprawia, że aplikacja Ministerstwa Cyfryzacji może nie działać zgodnie z oczekiwaniami.

A może przez Google?

W Internecie padają pomysły wykorzystania innych technologii do śledzenia kontaktów. Aplikacja ProteGo ma jeszcze tę wadę, że wymaga zainstalowania przez użytkowników. Tymczasem przy współpracy z firmą Google można by śledzić położenie wszystkich użytkowników telefonów Android bez konieczności instalowania aplikacji. Google śledziłby położenie telefonu przy pomocy GPS i przesyłał informacje o położeniu przez Internet do centralnego serwera. To rozwiązanie omija problemy z technologią Bluetooth, ale ma swoją wadę – firma Google uzyskałaby bardzo dużo wrażliwych danych o swoich użytkownikach. 

Czy warto w ogóle śledzić wszystkich obywateli?

Do dyskusji włączył się dr Kownacki, lekarz medycyny, który podważa w ogóle sens śledzenia wszystkich użytkowników telefonów. Dr Kownacki powołuje się przy tym na definicję WHO kontaktu z osobą zakażoną koronawirusem SARS-CoV-2:

  • Pozostawał w bezpośrednim kontakcie z osobą chorą lub w kontakcie w odległości mniej niż 2 metrów przez ponad 15 minut.
  • Prowadził rozmowę z osobą z objawami choroby twarzą w twarz przez dłuższy czas.
  • Osoba zakażona należy do grupy najbliższych przyjaciół lub kolegów 
  • Osoba mieszkająca w tym samym gospodarstwie domowym, co osoba chora, lub w tym samym pokoju hotelowym.

Dr Kownacki podaje przykład ludzi w pociągu, który oczekuje na stacji stycznie do innego pociągu. W takiej sytuacji aplikacja zarejestruje kontakt, pomimo tego że pomiędzy ludźmi w różnych pociągach znajdują się dwie szyby, które uniemożliwiają zarażenie. Podobnie w przypadku personelu medycznego, który stosuje ubranie ochronne podczas kontaktu z zakażonym. Aplikacja wówczas oznaczy lekarza, czy pielęgniarkę, jako osobę potencjalnie zarażoną, pomimo stosowania przez nią odpowiedniej ochrony. Dr Kownacki uważa, że ProteGo spowoduje więcej paniki niż korzyści. 

Zamiast tego dr Kownacki pisze o projekcie CoronaLog/CoronaHack, nad którym pracował z innymi osobami od kilku tygodni. Aplikacja ta działa w sposób kontrolowany, to znaczy użytkownicy skanują się nawzajem tylko ze wzajemną zgodą. Dr Kownacki podaje konkretne przykłady zastosowania takiego modelu. 

Na przykład w szpitalu istnieje ryzyko przenoszenia zakażenia przez personel medyczny. W przypadku gdy okaże się, że któryś z pracowników jest zakażony, należy szybko zidentyfikować personel, który w ostatnim czasie kontaktował się z osobą zarażoną. Aby usprawnić ten proces, na początku dnia każdy pracownik medyczny rejestrowałby przy pomocy aplikacji z jakimi osobami pracuje tego dnia. Użycie aplikacji odbywałoby się na zasadzie wyciągnięcia telefonu i świadomego wzajemnego zarejestrowania kontaktu. 

Dr Kownacki kończy zwracając uwagę na to, że wirus nie działa jak izotop promieniotwórczy, a model działania ProteGo symuluje taką nieprawdziwą relację. 

Rozważania dr Kownackiego zdają się być potwierdzone przez najnowsze wydarzenia w Singapurze. Jeszcze kilka dni temu na przykład Singapuru powoływało się Ministerstwo Cyfryzacji ogłaszając projekt ProteGo. Tymczasem pomimo wdrożenia podobnej aplikacji, Singapur ogłosił właśnie zamknięcie miejsc pracy i szkół

Czy ProteGo rozwiązuje problem, który nie istnieje?

Czy problemem systemu rzeczywiście jest niewystarczająca liczba zgłoszeń osób potencjalnie zakażonych, czy może niewystarczająca wydolność ich przetwarzania? Na ten temat wypowiada się dr Maciej Biardzki w artykule opublikowanym w zamkniętym portalu dla pracowników ochrony zdrowia. Autor artykułu alarmuje, że pierwszym słabym ogniwem są same Stacje Sanitarno-Epidemiologiczne (Sanepid). Zdaniem dr Biardzkiego jest to organizacja niedofinansowana, nie szkolona na wypadek epidemii takich, jak obecna, a także podzielona na nieskoordynowane jednostki. Lekarz doświadczył niewydolności Sanepidu na podstawie losu własnych pacjentów, a o podobnych doświadczeniach słyszy od innych lekarzy. Cytuję: 

Ci, u których nie stwierdza się pełnych objawów i z rozpoznaniem podejrzenia choroby kieruje się do pobytu domowego i jednocześnie zgłasza do Sanepidu, całymi dniami czekają na weryfikację ze strony służb, zaś osoby z ich kontaktu przez ten czas w ogóle nie są monitorowane. Pacjenci z kontaktu epidemicznego, którzy co do zasady powinni być obłożeni kwarantanną, także długo czekają na decyzje administracyjne służb. Co najgorsze, osoby z kontaktu, co do których nałożono już kwarantannę, całymi dniami oczekują na pobranie testu, a następnie na jego opis, który ma odpowiedzieć na pytanie, czy zostali zakażeni czy nie. W tej ostatniej grupie są niestety także pracownicy ochrony zdrowia, czyli kto wie, czy nie największe dobro czasu obecnego. Przedłużanie ich diagnostyki to dalsza dezorganizacja już nadwyrężonego systemu. Jest jeszcze kwestia samych decyzji administracyjnych nakładania kwarantanny, czy w stosunku do osób z kontaktu, czy osób, które np. wracają ostatnio do kraju. Opóźnienie, które tu następuje oraz chaos informacyjny, w którym te osoby często są przekierowywane do poradni POZ celem wystawienia zwolnienia lekarskiego (!), to prosta droga do wewnętrznej transmisji SARS-CoV-2. 

Sanepid nie jest więc w stanie nawet przetworzyć informacji o bardzo prawdopodobnym zakażeniu osób w bezpośrednim otoczeniu chorego. Moim zdaniem nie ma więc mowy o tym, aby był w stanie przetworzyć zgłoszenia z aplikacji ProteGo, która generowałaby dużą liczbę fałszywych alarmów. Poszukiwanie zakażonych wśród zgłoszeń, które otrzymuje Sanepid, można porównać do szukania igły w stogu siana. Dodatkowe zgłoszenia z aplikacji ProteGo to dosypywanie jeszcze więcej siana. 

Dr Biardzki sugeruje potencjalne rozwiązania: 

Należałoby jak najszybciej usprawnić sposób zbierania wywiadu epidemiologicznego i typowania potencjalnych osób zakażonych. W tym przypadku nie można się opierać na standardowym wywiadzie telefonicznym i mozolnie, w pocie czoła, wypełnianym formularzu. Trzeba jak najszybciej wprowadzić nowe mechanizmy oparte o narzędzia informatyczne.

Rozwiązaniem obecnych problemów nie jest więc generowanie większej liczby zgłoszeń do Sanepidu, a usprawnienie przetwarzania zgłoszeń. Wygląda na to, że Sanepidowi potrzebny jest sprawny system informatyczny „na cito”. 

Jak zrobić system informatyczny „na cito”?

Aby ominąć długotrwałe procesy przetargowe, proponuję zastosowanie metodyki otwartoźródłowej (ang. Open Source). W pierwszej kolejności należałoby zebrać wymagania Sanepidu i upublicznić je, aby potem programiści pracowali nad systemem w sposób otwarty, publicznie dyskutując nad projektem i dzieląc się między sobą kodem źródłowym. W ten sposób wykonawcy mogą pracować na zasadach komercyjnych, ale wbrew pozorom znajdą się też informatycy i całe instytucje, które mogłyby stworzyć taki system bez wystawiania rachunku Sanepidowi. Ludzie ze świata technologii tylko czekają na dojrzałe projekty, do których mogliby dołączyć i wesprzeć dobro wspólne. Istnieje program Koduj dla Polski, prowadzony przez Fundację ePaństwo. Powstał też Wirtualny Instytut Kryzysowy (WIK), w którym naukowcy i eksperci z całej Polski zgłaszają propozycje projektów i informacje kontaktowe do specjalistów, którzy mogą pomóc w walce z epidemią. Wśród instytucji, które zgłosiły swój udział, są też firmy informatyczne.

 Podsumowując, Ministerstwo Cyfryzacji miało rację wystawiając aplikację ProteGo do analizy opinii publicznej w jego wczesnej fazie rozwoju. Teraz powinno zareagować na informację zwrotną. Program ProteGo w obecnym kształcie nie ma uzasadnienia i mógłby paradoksalnie bardziej zaszkodzić niż pomóc. W dalszych krokach Ministerstwo Cyfryzacji powinno się skoncentrować na informatyzacji Sanepidu. Natomiast program ProteGo mógłby znaleźć zastosowanie, jeśli zostałby zmodyfikowany w kierunku przypominającym aplikację CoronaHack/CoronaLog. 

Aleksander Korzyński

Aleksander Korzyński

Współautor wkrótce wychodzącej książki na temat Linuksa. Poliglota języków programowania. Pasjonat oprogramowania otwartoźródłowego (ang. Open Source), dzięki któremu Ty kontrolujesz oprogramowanie, a nie oprogramowanie kontroluje Ciebie.
Inne artykuły autora

Zobacz także

12 maja 2020 | Blog

Festiwal Technologii Obywatelskich dla Demokracji – online

„Prawo do miasta. Co dalej?” Do dyskusji na temat demokracji i technologii, które kształtują naszą obecną i przyszłą rzeczywistość w miastach zaprosiliśmy osoby, dzięki którym dowiemy się jak COVID-19 wpływa na to co dzieje się w środowiskach lokalnych w Polsce. 📍Jaką odpowiedź na epidemię mają aktywiści i aktywistki, a jakie nowe doświadczenia zyskały władze?📍Jak rozumieją […]

9 kwietnia 2020 | Blog

Fajne otwarcie, ale nie tędy droga

Kilka dni temu Ministerstwo Cyfryzacji ogłosiło, że pracuje nad stworzeniem aplikacji ProteGo, która docelowo ma być instalowana przez każdego obywatela. Aplikacja wykorzystuje technologię Bluetooth do identyfikowania i zapisywania obecności urządzeń mobilnych (a przez to również ludzi), którzy znaleźli się w naszej najbliższej okolicy w ciągu ostatnich dwóch tygodni. Aplikacja ma być przydatna, kiedy zniesione będą ogólnopolskie ograniczenia poruszania się, żeby typować osoby, które będą poddane indywidualnej kwarantannie. Ministerstwo Cyfryzacji powołuje się przy tym na przykład Singapuru, który stworzył podobną aplikację. ProteGo nie jest jeszcze ukończona, ale Ministerstwo już teraz upubliczniło jej dokumentację i kod źródłowy oraz zaprosiło ekspertów i innych obywateli do wyrażania swoich opinii na jej temat. Internauci nie zawiedli i pojawiło się wiele ważnych sugestii.

4 kwietnia 2020 | Blog

Rząd eksperymentuje z Open Source przy walce z epidemią

Jest propozycja nowej aplikacji na telefon, która docelowo ma być instalowana przez każdego obywatela. Pewnie już słyszeliście o obowiązku instalowania aplikacji Kwarantanna domowa przez osoby na kwarantannie, ale nowa aplikacja ProteGo ma już być instalowana przez każdego, a jej działanie jest zupełnie inne. Co robią aplikacje rządowe? Użytkownicy Kwarantanny domowej dostają o różnych porach dnia […]

Partnerzy

Fundacja ePaństwo
Orange
Miasto Gdańsk
Code for Europe
Code for All
Pokaż wszystkich