Wersja testowa systemu PKW dostępna publicznie w trybie DEBUG

dodał 8 listopada 2014 o 21:49 w kategorii Wpadki  z tagami:
Wersja testowa systemu PKW dostępna publicznie w trybie DEBUG

Wybory lada dzień, a podobno system informatyczny kuleje. Chcieliśmy poczytać o tym, jak system działa, a przez przypadek trafiliśmy na jego wersję testową, dostępną w sieci dla każdego, z włączonym pełnym debugowaniem.

Pełna konfiguracja środowiska WWW, zmienne serwera i aplikacji, pełne ścieżki całej aplikacji poza drzewem plików serwera WWW, treść i struktura zapytań SQL – takie informacje o aplikacji PKW można bez żadnego problemu znaleźć w ciągu kilku minut. Te informacje nie stanowią bezpośredniego zagrożenia dla bezpieczeństwa systemu, ale w naszej ocenie zdecydowanie nie powinny być udostępniane każdemu zainteresowanemu.

Testy się udały, bo wykryto błędy

System autorstwa firmy Nabino jest intensywnie testowany na ostatnią chwilę. Kolejne testy się nie udawały, ponieważ zawodził program Kalkulator lub serwery zbierające informacje. Przedstawiciel Krajowego Biura Wyborczego jeden z przerwanych testów skomentował nawet „Test się udał i wykazał istotne błędy”. Niestety nie można tego samego powiedzieć o instrukcjach.

Chcąc poznać sposób działania systemu wyborczego szukaliśmy jego instrukcji – spodziewaliśmy się, że będzie dostępna w sieci. Nie pomyliliśmy się – instrukcji nie brakuje. Można nawet powiedzieć, ze jest ich za dużo.

Bogactwo instrukcji

Jeszcze tydzień temu przedstawiciele samorządów skarżyli się, że nie otrzymali do tej pory żadnej instrukcji do używanego oprogramowania (dostawca zobowiązał się je dostarczyć do połowy października). Zapewne jest to powodem, dla którego w sieci znaleźć można liczne instrukcje w różnej formie, najczęściej zapewne tworzone na własne potrzeby przez pracowników samorządowych, którzy wzięli udział w szkoleniach. Nowy Sącz, Kielce, Wrocław, Gdańsk, Tychy – a co serwer, to inny plik odnaleziony przez Google.  W sumie zlokalizowaliśmy ich około 10, a w jednej z nich znaleźliśmy bardzo ciekawy link.

Ze strony jednego z urzędów pobraliśmy plik opisujący, w jaki sposób można w systemie PKW obsługującym wybory samorządowe wygenerować swój certyfikat. Choć w większości dostępnych instrukcji wszystkie zrzuty ekranów wskazują na serwer produkcyjny pod adresem

to w tej jednej instrukcji zrzuty pokazują zupełnie inny adres.

Zrzut ekranu z instrukcji

Zrzut ekranu z instrukcji

Zrzuty ekranu wyglądają, jakby były tworzone nie przez informatyków urzędu, a dostawcę programu. Na niektórych widać fragmenty wskazujące na infrastrukturę sieciową dostawcy. Na powyższym obrazie kilka ścieżek i nazw plików było wymazanych, jednak w oknie dialogowym zapisywania pliku znajdowała się pełna nazwa serwera o innej nazwie, niż ten z pozostałych instrukcji (nazwę zamazaliśmy w redakcji).

Serwer testowy lub deweloperski

Kiedy zajrzeliśmy pod adres ze zrzutu ekranu, zobaczyliśmy ten sam panel logowania do systemu, co na oficjalnej stronie. Z jednym nie tak jednak małym wyjątkiem, a mianowicie dostępem do pełnej konsoli debugowania pakietu CakePHP.

Dostęp do debugowania

Dostęp do debugowania

Znajdziemy w niej na przykład treść zapytań SQL

Treść zapytania SQL (obraz celowo pomniejszony)

Treść zapytania SQL (obraz celowo pomniejszony)

Listę zmiennych środowiskowych

Lista zmiennych CakePHP

Lista zmiennych CakePHP

oraz szereg innych informacji technicznych. Co ciekawe, serwer, mimo iż dostępny publicznie, nie został do tej pory zindeksowany przez Google.

Potencjalne skutki

Tak jak wspominaliśmy na początku, opisana powyżej sytuacja nie oznacza, że bezpieczeństwo systemu wyborczego jest zagrożone. Pokazuje jednak, jak odstępstwa od tzw. dobrych praktyk (do których należy ograniczenie dostępu do testowych wersji aplikacji) może prowadzić do wycieku informacji, które nie powinny być dostępne publicznie. Epilogiem całej historii może być fragment informacji z witryny wrocławskiego BIP-u:

Złe znaki w haśle

Złe znaki w haśle

Pozostaje mieć nadzieję, że system w końcu prawidłowo zadziała i nikt nie zakłóci jego pracy w kluczowym dniu. Trzymamy też kciuki za wszystkich informatyków w całym kraju, którzy walczą z systemem. Powodzenia!