wtorek, kwietnia 07, 2020

Głosowanie korespondencyjne jest tak dziurawe, że aż szkoda gadać - z perspektywy IT

W świecie IT raz na jakiś czas ktoś opisuje jak można przeprowadzić atak na jakiś algorytm albo protokół.
Sam fakt, że dana operacja jest wykonalna w danym do przewidzenia czasie prowadzi zwykle do rezygnacji z algorytmu lub protokołu.

Mamy różne rodzaje ataków, ataki typu DOS (czyli Denial of Service), mamy też ataki na zafałszowanie wyników algorytmu czy protokołu.

No i wczoraj nasz Sejm uchwalił głosami PiS "Ustawę o szczególnych zasadach przeprowadzania wyborów powszechnych na Prezydenta Rzeczpospolitej Polskiej zarządzonych w 2020 r."

No i od razu widać w tym produkcie Sejmu podatności na atak typu DOS i na atak polegający na uniemożliwieniu wyboru.

Atak typu DOS:

Wariant 1:

Atakujący może przeprowadzić atak na zaproponowany sposób przeprowadzenia wyborów, przez wrzucanie do skrzynek odbiorczych dowolnych innych kopert.

Poziom trudności:
niski

Koszt ataku:
niski

Przy odpowiednio dużej liczbie kopert dojdzie do przepełnienia skrzynek co spowoduje, że wyborcy nie będą mogli oddać głosu przez fizyczne zapełnienie skrzynki.

Jeżeli atakujący będzie przeprowadzał atak zaraz po wyznaczonym czasie opróżniania skrzynek (mają być opróżniane co 3 godziny) jest w stanie uniemożliwić oddanie głosu znaczącej liczbie osób uprawnionych.

Ewentualne możliwe działania obronne to:

  • losowe czasy wyjmowania kart,
  • patrole policji pilnujące by nie doszło do wrzucenia jednocześnie dużej ilości kart,
  • dostawianie kolejnych skrzynek odbiorczych
Drugie działanie obronne może prowadzić do ponownego typu ataku, gdzie te same osoby mogą systematycznie podchodzić i wrzucać kolejne koperty, a Policja podejmując próby legitymowania osób wrzucających karty może nieszczęśliwie pomóc w przeprowadzeniu ataku przez spowolnienie wyborców.
Dodawanie kolejnych skrzynek odbiorczych może przesunąć działanie atakującego na inną skrzynkę odbiorczą.

Ewentualna metoda obrony:
Patrole policji i koperty zwrotne w wyrazistych kolorach, które pozwoliłyby na szybką identyfikację czy wrzucana jest koperta zwrotna czy inne.

Wariant 2:

Wrzucanie kopert wyglądających jak koperty zwrotne opisane w odpowiednim rozporządzeniu wydanym na mocy ustawy.

Poziom trudności:
średni

Koszt ataku:
niski

Atakujący na podstawie rozporządzenia ministra preparuje własne koperty zwrotne, które zewnętrznie przypominają prawdziwe koperty zwrotne.

Sposób przeprowadzenia ataku jak w wariancie 1.

Ewentualne możliwe działania obronne to:
działania obronne z wariantu 1, wraz z jednoczesnym legitymowaniem osób wrzucających kopertę zwrotną.

Skutkiem może być spowolnienie procesu wyborczego i degradacja wydajności systemu.

Atak przez uniemożliwienie oddania głosu.

Zgodnie z ustawą głosowanie odbywa się przez wrzucenie koperty zwrotnej do skrzynki odbiorczej, samo głosowanie zaś odbywa się w komisji wyborczej, gdzie koperta zwrotna jest otwierana, weryfikowane jest oświadczenie przez sprawdzenie czy osoba wymieniona na oświadczeniu znajduje się w spisie wyborczym, oraz czy nie oddała jeszcze głosu.

Atakujący znając imię i nazwisko oraz część numeru PESEL osoby zamieszkałej w danym okręgu wyborczym jest w stanie przeprowadzić atak uniemożliwiający oddanie głosu przez tą osobę.

Wariant 1 - atakujący zna numer PESEL osoby której chce uniemożliwić głosowanie:

Jeśli atakujący zna pełny numer PESEL osoby której głos chce uniemożliwić/podszyć się pod tą osobę to atakujący musi tylko zapewnić to by koperta zwrotna z jego spreparowanym oświadczeniem i głosem dotarła wcześniej do komisji niż koperta zwrotna wyborcy na który przeprowadzany jest atak. Atakujący może też zdecydować się umieścić tylko samo oświadczenie i pustą kopertę udającą kopertę z głosem przez co jedynie uniemożliwi przeprowadzenie głosowania.

Poziom trudności:
niski

Koszt ataku:
0

Wariant 2 - atakujący zna częściowy numer PESEL osoby której chce uniemożliwić głosowanie:

Numer PESEL składa się z 6 cyfr kodujących datę urodzenia, 4 cyfr kodujących płeć osoby i numer kolejnej osoby w danym dniu której przyznano numer PESEL, ostatnia cyfra, to cyfra kontrolna która jest generowana na podstawie 10 cyfr znaczących.

Znając datę urodzenia danej osoby i jej płeć atakujący ogranicza liczbę możliwych prób do 5 tysięcy.
Dodatkowo znając dane statystyczne dotyczące Polski i liczbę urodzeń w danym roku, lub miesiącu roku, atakujący może odkryć górne ograniczenie maksymalnej liczby. Może też dysponując wiedzą o systemach stosowanych w momencie przydzielania numeru PESEL w inny sposób próbować ograniczyć liczbę koniecznych oświadczeń.

Mając te dane atakujący wypełnia do 5 tysięcy oświadczeń, umieszcza je w kopercie wraz ze spreparowaną kopertą z głosem (lub bez) i dostarcza do odpowiedniej skrzynki odbiorczej.

Koperty trafiają do komisji wyborczej, gdzie po otwarciu pierwszej karty, która "trafiła" z numerem PESEL zostaje oznaczone oddanie ważnego głosu, a spreparowana przez atakującego karta trafia do urny wyborczej.

Poziom trudności:
średni

Koszt ataku:
niski

Ewentualne sposoby obrony:
Brak

Powyższe ataki zakładają szeregowe przetwarzanie głosów. Jeśli jednak operacja głosowania będzie odbywała się "równolegle" tak, że członkowie komisji podzielą się na grupy z których każda będzie posługiwała się swoją własną listą uprawnionych do głosowania to podatność może doprowadzić do unieważnienia wszystkich głosów wrzuconych do urny.

Nielokalność weryfikacji uprawnienia do głosowania - atak na błędną implementację.


Jest to atak wykorzystujący podatność tkwiącą w Art 5, punkt 5, podpunkt 5.
Który mówi, że koperty z głosem nie wrzuca się jeśli już oddano głos w imieniu osoby wymienionej w oświadczeniu.
Jeżeli jednak komisja wyborcza postanowi "zrównoleglić" wykonanie procesu wrzucania kopert z głosami do urny i członkowie komisji podzielą głosy ze skrzynki odbiorczej na kilka grup i każda grupa będzie weryfikowana wg oddzielnej listy wyborców to istnieje możliwość oddania 2 głosów przez tą samą osobę.
Jeżeli atakujący dostarczy 2 prawidłowo podpisane oświadczenia wraz z zaklejonymi kopertami i oba trafią do 2 różnych grup to przy braku synchronizacji w procesie walidacji uprawnienia do głosowania dojdzie do "zatrucia" urny, przez wrzucenie 2 głosów w imieniu 1 osoby.
Które to zatrucie zostanie odkryte najwcześniej w trakcie synchronizacji list.
W takim przypadku dojdzie do złamanie wymogu by 1 głosujący miał 1 głos, a przez niemożność stwierdzenia który głos w urnie jest głosem podwójnym cała urna jest "zatruta".

Ogólnie patrząc na specyfikację wyborów wynikłą z ustawy, atak na wybory wydaje się być trywialny, szczególnie dla obcych aktorów chcących podważyć legitymację wyborów.



Podobne postybeta
Ostatnie wolne wybory już były?
O atakach terrorystycznych....
Za blokadą informacyjną - nie znam wyniku wyborów i nie chcę go poznać do wtorku (jak się da)
Głosowanie przez Internet, chyba jednak jestem na "nie"
Czemu Sejm i Senat nie korzystają z żadnego systemu kontroli wersji?

Brak komentarzy:

Publikowanie komentarza