Opinie

www.sxc.hu
www.sxc.hu

Moje badanie - każdy mógł zalogować się do systemu PKW i zmieniać wyniki głosowania

Marek Małachowski

Marek Małachowski

Informatyk, Co-founder i CTO Grupie Manubia

  • Opublikowano: 19 listopada 2014, 09:24

    Aktualizacja: 19 listopada 2014, 09:51

  • Powiększ tekst

Poświęciłem dwie godziny na analizę kodu programu do obsługi komisji wyborczych i kilka testów. Program do logowania wymaga klucza cyfrowego (pliku PEM) o odpowiednio przygotowanych parametrach. Programu nie interesuje przez kogo jest ten klucz podpisany. Więc używając OpenSSL można klucz taki samodzielnie wygenerować.

Przejrzałem instrukcję obsługi programu, gdzie podano przykład logowania. Używając danych pokazanych na obrazkach w instrukcji, można wygenerować sobie klucz logowania do programu jako członek komisji w Bałtowie (gdziekolwiek to jest). Zalogowanie się jako dowolny członek dowolnej innej komisji nie wymaga wyjątkowej wiedzy.

Czyli dowolna osoba, która miała dostęp do komputera z programem "Kalkulator1", mogła się do niego zalogować jako dowolny członek komisji i dokonać w niezauważony sposób zmian w protokołach zapisanych na tym komputerze. Członkowie komisji mogli logować się jako ktoś inny, ale mogła to też zrobić osoba zupełnie z zewnątrz, nie znająca żadnego hasła, bez jakiejkolwiek autoryzacji. Wystarczy, że sama sobie prędzej swój własny klucz cyfrowy zrobiła.

Według instrukcji, jeśli w protokole występują "ostrzeżenia twarde", to należy uzyskać kod, który umożliwia zaakceptowanie protokołu. Zdobywa się go telefonicznie od użytkownika na poziomie delegatury. Jak program sprawdza czy kod jest poprawny? Kod to nic innego jak MD5 z (nr-obwodu+rok+miesiac+dzien).

Co to wszystko oznacza?

1 Dobrze, że ten system nie zadziałał.

2 Jakiekolwiek bezpieczeństwo było gwarantowane tylko poprzez fizyczną kontrolę dostępu do komputera prowadzoną przez przewodniczącego komisji i sprawdzenie przez niego danych zarówno wysyłanych jak i drukowanych. Wszelkie klucze i hasła są w tym systemie zupełnie zbędne.

3 Jeśli w protokole były błędy, wymagające kontaktu z "użytkownikiem na poziomie delegatury", to osoba znająca kod źródłowy programu znała kod autoryzujący te błędy. A jak widać na githubie, kod źródłowy został upubliczniony dzień przed wyborami.

4 Twórca tego programu to początkujący programista. W zasadzie każdy błąd jaki można popełnić w kodzie, został popełniony i mógłbym jeszcze długo pisać. Na przykład o tym, że eksport/import protokołów na serwer nie wymaga żadnej autoryzacji po stronie serwera i co to oznacza.

Myślę, że NIK będzie miał dużo pisania podczas kontroli i mam nadzieję, że za taki bubel Państwo nie zapłaci.

Powiązane tematy

Zapraszamy do komentowania artykułów w mediach społecznościowych