20:38
5/7/2015

Dziś w Buenos Aires wybory władz miasta. Są one w całości przeprowadzane elektronicznie przy pomocy specjalnych terminali Vot.ar. Kilku badaczy postanowiło przyjrzeć się bezpieczeństwu systemu i znalazło poważne błędy. Kiedy jeden z internautów powiadomił o nich producenta, w podziękowaniu za zgłoszenie błędu jego dom został przeszukany przez policję…

Klucze prywatne w głębokim ukryciu i fałszowanie protokołów komisji

Elektroniczne oddawanie głosów zawsze rodzi pytania co do ewentualnych dziur w oprogramowaniu do głosowania bądź w budowie samych terminali (zazwyczaj zwykły pecet z dotykowym monitorem). Ktoś postanowił więc przyjrzeć się rozwiązaniu produkowanemu przez firmę MSA (Magic Software Argentina), który w tym roku wykorzystany zostanie po raz pierwszy. I udało mu się znaleźć kilka błędów, które opublikował na Twitterze pod nickiem “@FraudeVotar”.

Jednym z wykrytych błędów była możliwość nieautoryzowanego pozyskania kluczy SSL, które pozwalają się podszyć pod stację nadzorującą terminale, obsługiwaną przez daną komisję wyborczą i sporządzającą raporty końcowe. Wystarczył zwykły wget — nie potrzebne było żadne hasło. Klucze przetrzymywano na serwerze HTTP z dostępem dla wszystkich.

W wyniku tego ataku, ktoś mógłby uwierzytelnić własny, fałszywy protokół z głosowania i przesyłać go do centrali wpływając na wynik wyborów lub — w przypadku wielu fałszywych przesyłek — paraliżując pracę systemu. Klucz pozyskać można było ze strony przeznaczonej dla operatorów głosomatów, po prostu go stamtąd ściągając.

Certyfikaty do podpisywania protokołów komisji wykradziono też w ostatnich polskich wyborach — PKW tłumaczyła, że nie stanowi to problemu.

O błędzie tym szerzej na Twitterze rozpisał się jeden z argentyńskich programistów, Joaquín, który także przesłał jego opis do producenta. Wczoraj policja wykonała nalot na jego mieszkanie, rekwirując sprzęt komputerowy:

argentina-voting

Głosy można fałszować wprost na terminalu

Ale to nie koniec problemów systemu Vot.ar. Na kilka minut przed startem wyborów kilka osób zademonstrowało jak można przeprogramować wbudowany w terminal chip RFID tak, aby głosując raz, oddać wiele głosów na konkretnego kandydata. Atak można przeprowadzić za pomocą telefonu z NFC wyposażonego w specjalną aplikację. Wyniki zapisane na chipie nie są bowiem porównywane z wynikami głosować elektronicznych.

Opis działania systemu:

The way the system works:
1) You get the ballot from the local authority at the designated place for you to vote.
2) The ballot carries a printed number which lets the authority know that this is in fact the ballot that was handed to you before using the e-voting machine (to prevent ballot swaps).
3) This number is printed in way that by the time you get the ballot in your hands, half of it (horizontally) is kept by the authority. The other half stays in the ballot.
4) You get to the machine (which is in an open space, yeah, Van Eck phreaking), place the ballot near it and pick your vote. The vote gets set in the RFID tag of the ballot. At the same time, the ballot is thermal-printed with your choice. There are doubts about the security measures implemented in the ballots to protect it from long-range RFID readers.
5) You fold the ballot and take it back to the authority. The authority checks that the ballot id is right (with half the number the he or she kept). At that time, you are requested to cut the id completely from the ballot.
6) You insert the ballot in the ballot box.

After the voting process is complete, authorities read the RFID tags of each ballot in the ballot box. The numbers are added up locally by the machine, and a piece of paper is printed with the count. At the same time, a technician is tasked with sending the count through a secure channel (SSL certs) to the main computing center.

Wyciek kodu źródłowego systemu i kłamstwa władz

Błędów może być więcej. W internecie już tydzień temu pojawił się kod źródłowy oprogramowania Vot.ar. Nie wiadomo jak został pozyskany, ale “społecznościowa” analiza wykazuje kolejne dziury — m.in. błędy typu RCE.

W trakcie polskich wyborów też można było przejrzeć kod źródłowy jednego z elementów systemu zlicznia głosów — kalkulatora wyborczego. Społeczność progamistów z całego świata miała do niego wiele uwag

Warto też zadać pytanie, na jakiej architekturze umieszczono ten kod. Władze uspokajały, że terminale to po prostu “drukarki bez żadnej pamięci”, ale badacze wykazali, że to zwykłe PC z Ubuntu i odblokowanymi portami USB oraz VGA.

524af41deef83_510x339

Władze zleciły też test systemu pracownikom miejscowego uniwersytetu. Ich raport nie wykrył żadnej z powyższych usterek…

Czasami lepiej nie zgłaszać dziur producentom…

Powyższa historia pokazuje, że czasem lepiej nie zgłaszać błędów bezpieczeństwa producentowi. Zamiast podziękowań można bowiem stracić swój sprzęt komputerowy w policyjnym nalocie. Nawet jeśli nie jest się odkrywcą błędów, a jedynie “posłańcem”…

Z ciekawością czekamy na dalszy rozwój sytuacji. Być może władze wiedzą coś więcej niż internet i Joaquin w swoim zgłoszeniu domagał się “zapłaty” za fatygę lub policja znalazła powiązanie pomiędzy nim a tajemniczym odkrywcą błedu?

Brak zaufania do elektronicznych wyborów

Co do samych wyborów elektronicznych, jak widać, nie tylko w Polsce nie do końca sprawdza się takie podejście. W Buenos Aires na jaw wyszedł brak odpowiednich kompetencji, brak dokumentacji i brak testów bezpieczeństwa przed dopuszczeniem systemu do wyborów. Ale przynajmniej oni zdążyli na czas…

Nawet jeśli przyjmiemy, że system do e-głosowania jest wolny od błędów, to i tak ludzie nie będą mu ufać. Jest to zrozumiałe — każdy może być mężem zaufania w obecnych komisjach wyborczych, korzystających z kartek i długopisów — bo każdy rozumie zasadę ich działania. Niestety, jeśli komisje zaczynają korzystać z “urządzeń”, do ich nadzoru potrzebna jest wykwalifikowana kadra, która nie tylko rozumie jak dokładnie działa dane urządzenie, ale potrafi wyjaśnić pojawiające się niekiedy błędy jako skutki np. wahnięcia napięć, infekcji wirusem, brakiem dostępu do sieci, awarią konkretnego podzespołu…

P.S. Ponieważ nie znamy hiszpańskiego na zadowalającym poziomie, tekst został oparty na tłumaczeniach. Jeśli coś wymaga korekty, dajcie znać.

Przeczytaj także:


Dowiedz się, jak zabezpieczyć swoje dane i pieniądze przed cyberprzestępcami. Wpadnij na nasz kultowy ~3 godzinny wykład pt. "Jak nie dać się zhackować?" i poznaj kilkadziesiąt praktycznych i przede wszystkim prostych do zastosowania porad, które skutecznie podniosą Twoje bezpieczeństwo i pomogą ochronić przed atakami Twoich najbliższych. Uczestnicy tego wykładu oceniają go na: 9,34/10!

Na ten wykład powinien przyjść każdy, kto korzysta z internetu na smartfonie lub komputerze, prywatnie albo służbowo. Wykład prowadzimy prostym językiem, wiec zrozumie go każdy, także osoby spoza branży IT. Dlatego na wykład możesz spokojnie przyjść ze swoimi rodzicami lub mniej technicznymih znajomych. W najbliższych tygodniach będziemy w poniższych miastach:

Zobacz pełen opis wykładu klikając tutaj lub kup bilet na wykład klikając tu.

22 komentarzy

Dodaj komentarz
  1. Chciałbym zobaczyć treść wiadomości jaką wysłał do tego producenta. Może opisał to w taki sposób że faktycznie producent oprogramowania przestraszył się, nie wiedział co robić to powiadomił policję. W zasadzie normalna reakcja.

    Tak czy inaczej powinni zabezpieczyć te oprogramowanie bo takie głosowanie jest nic nie warte.

    Pamiętam że w ankiecie tvp info też były fałszowane głosy na Bronisława Komorowskiego.
    Ale to inna sprawa :)

  2. Albo ja sobie nie wyobrażam skali przedsiewzięcia, ale stworzenie takiego systemu sensowanie zabezpieczonego to chyba nie rocket since?

    • Owszem, nie jest to rocket science, ale nie jest też coś trywialnego i przede wszystkim taniego…

      Jest bardzo wiele miejsc w których można coś spieprzyć i zostawić lukę bezpieczeństwa, a wykoryzstanie przez kogoś takiej luki w trakcie wyborów będzie miało ogromne konsekwencje. A przez to, że każdy rząd próbuje ciąć koszty gdzie się da, nie wykładają na ten system tyle kasy, ile faktycznie on powinien kosztować, przez co luk bezpieczeństwa jest sporo.

    • Wyobraźnia kuleje:
      https://www.youtube.com/watch?v=w3_0x6oaDmI

    • nie, to nie jest rocket science… ale jak od 20 lat siedze w branzy i widzialem soft tworzony dla najbogatszych i najwiekszych firm w PL, to nie widzialem zadnego, ktory bylby choc w poblizu jakosci jaka chcialbym widziec dla softu wyborczego… ale to nie to jest problemem…

      problemem jest zapewnienie transparetnosci i rzetelnosci wyborow. moim zdaniem, rozwijajac mysl redakcji niebezpiecznika, moment w ktorym w Polsce wprowadzone zostanie elektroniczne glosowanie – oznaczac bedzie koniec demokracji… pamietajcie, ze obecne systemy informatyczne wspomagaja i przyspieszaja jedynie ogloszenie wynikow… zawsze mozna je zweryfikowac z papierowym protokolem komisji w lokalu wyborczym, ktora obserwowac moze praktycznie kazdy obywatel (w roli meza zaufania)…

      natomiast, kiedy juz jakas firma polozy lape na wykonaniu systemu informatycznego, nadzorujacego proces glosowania od pojedynczego glosu az po ostateczne zliczanie wszystkiego – to bedzie koniec… zapomnijcie o open source, jaki urzednik sie na to zgodzi? a nawet jesli sie wszyscy zgodza to kto bedzie w stanie wytlumaczyc nietechnicznej wiekszosci polakow, ze to dla zapewnienia uczciwego glosowania… a nawet jesli soft bedzie open sourcem – to jak zapewnic, ze ten ktory ostatecznie bedzie uzywany w czasie wyborow jest wersja binarna z tego kodu udostepnionego? sa to tysiace tego typu problemow…. pod tym artykulem sa linki do roznych problemow, ktore wystapily podczas elektronicznych glosowan w roznych krajach: http://www.isoc.org.pl/200701/wybory

      polecam…

    • niby nie, ale wyszło jak wyszło, przecież to polityka, urzędnictwo, wszędzie są tego typu kwiatki, bo urzędnik-laik pisze specyfikację, przetarg wygrywa najtańsza firma, względnie należąca do syna prezesa, oprogramowanie pisze jakiś student, lub inny podwykonawca, który ma wszystko w dupie, gotowy produkt odbiera znowu jakiś urzędnik-lajkonik, terminy gonią także odbioru dokonać musi, jeśli jest czas to robi się kolejne przetargi-ślimaki na modyfikacje otrzymanego oprogramowania, “bo w specyfikacji nie przewidzieliśmy paru możliwości” (czyt. daliśmy dupy i system ma parę dziur), ew. nie zrobiliśmy wywiadu pośród potencjalnych użytkowników, no i oczywiście urzędnikowi trudno wytłumaczyć potrzebę wykupienia certyfikatu, wymogów co do skomplikowania hasła, i jego zmiany co miesiąc, to betonowa ściana, jak w mailu, który Niebezpiecznik dostał jakiś czas temu od anonimowego admina przy okazji sławnych ataków chakierów na serwery rządowe, przy użyciu hasła “admin.1” itp.

  3. Po pierwsze taki system musi być w całości open source, bo jak nie ma wglądu jak taki system został zaimplementowany to tak jakby wybory były przeprowadzane na papierze z liczeniem za zamkniętymi drzwiami, bez świadków, przez prywatną firmę, bez żadnej kontroli.

  4. @Soliusz Tutaj kłania się skuteczność “przetargów” zapewne… Bo mi też wydaje się, że takie przedsięwzięcie nie jest jakieś znów mega skomplikowane. Kwestia wykonawcy.

  5. Korekta obywatelska: nazwy państw piszemy z wielkiej litery.

  6. zrobcie w koncu zeby user-agent od androidowego Feedly byl przez was uznawany za mobile bo oslepne w koncu

    • +1

  7. Soliusz, trudniejsze niż myślisz: https://youtu.be/w3_0x6oaDmI

  8. Nawet najuczciwszy i najbezpieczniejszy system głosowania komputerowego nie spełnia wymogów weryfikacji rzetelności, nie jest w stanie obronić się przed zasianiem niepewności co do tajności głosowania, a ostatecznie obronić przed selektywnym lub terytorialnym blokowaniem głosów z przewagą „niewłaściwych” wyborców. A to jedynie początek problemów…

  9. System P2P głosowania elektronicznego już istnieje i jest zaimplementowany w kryptowalucie NXT.

  10. Ale dlaczego programiści podczas zgłaszania błędów nie korzystali choćby z tor’a? Zawsze jest ryzyko że ta informacja się firmie nie spodoba i będą chcieli zemścić się policją… PS. w tekście jest błąd: “…z wynikami głosować elektronicznych.”

  11. W społeczeństwie z rządem owy rząd zawsze będzie szukał sposobu na wydymanie obywateli.

    Anarcho-kapitalizm ustrojem przyszłości.

  12. Odkrywca nie przewidział że to nie był błąd w systemie tylko jego funkcjonalność…

  13. “… nie są bowiem porównywane z wynikami głosować elektronicznych.” – głosowań

  14. władze zrobiły sobie wroga, i to nie jednego. następne akcje będą pewnie anonimowe i tyle. kwas.

  15. Nie działa link “świata miała do niego wiele uwag…”

  16. “Ponieważ nie znamy hiszpańskiego na zadowalającym poziomie…” – niestety znajomość olskiej gramatyki też nieco kuleje, bo nie odmieniliście poprawnie dwóch ostatnich przykładów w poniższym (tutaj poprawionym) zdaniu:
    “…ale potrafi wyjaśnić pojawiające się niekiedy błędy jako skutki np. wahnięcia napięć, infekcji wirusem, braku dostępu do sieci, awarii konkretnego podzespołu… “

  17. W Angli głosy liczą w godzinę, ręcznie, wolontariusze, nie ma PKW…

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: