-
1. Data: 2014-11-18 23:26:55
Temat: Każdy mógł się zalogować do systemu
Od: animka <a...@t...wp.pl>
http://niezalezna.pl/61516-informatyk-ujawnia-kazdy-
mogl-zalogowac-sie-do-systemu-pkw-i-wstawic-wynik
,,Każdy błąd jaki można popełnić w kodzie, został popełniony" - tak
działanie systemu informatycznego PKW służącego do zliczania głosów w
wyborach ocenia informatyk, który przeanalizował działanie programu.
System był dziurawy jak sito. Okazuje się, że na dzień przed wyborami
kod źródłowy programu został upubliczniony w internecie.
Największe zdumienie może budzić fakt, że do systemu zalogować mógł się
praktycznie każdy.
- 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 - napisał na Facebooku informatyk.
Oznacza to, że dowolna osoba, która miała dostęp do komputera z
programem ,,Kalkulator1", mogła zalogować się do systemu jako dowolny
członek komisji, uzyskując w ten sposób możliwość dokonania 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 - ustalił informatyk.
Badając luki systemu informatycznego PKW mężczyzna ustalił również, że
zgodnie z instrukcją jeśli w protokole występują ,,ostrzeżenia twarde",
należy uzyskać kod, który umożliwia zaakceptowanie protokołu. Okazało
się, że zdobycie kodu odbywa się drogą telefoniczną - kod można było
uzyskać 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) - wynika z ustaleń specjalisty
opublikowanych na Facebooku.
Informatyk podsumowuje funkcjonowanie systemu informatycznego PKW w
kilku punktach, nie zostawiając na nim suchej nitki:
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.
Pikanterii całej sprawie dodaje fakt, że pomimo zapewnień PKW, iż system
działa poprawnie, z poszczególnych komisji obwodowych docierały do nas
sygnały o występujących nadal problemach. Większość z nich dotyczyła
logowania się w systemie. Niektóre były związane z brakiem podglądu do
protokołów zbiorczych. Pojawiły się również przypadki ,,znikających
danych" - pomimo wcześniejszego wprowadzenia i zapisania danych, części
z nich nie było widać w systemie.