Poznański Budżet Obywatelski i CAPTCHA

Jak co roku można było głosować na Poznański Budżet Obywatelski. Wszedłem na stronę, zobaczyłem CAPTCHA i… zaniemówiłem. Implementacja, którą zobaczyłem była prostsza do połamania (czyt.: rozwiązania automatem) niż opisywana kiedyś CAPTCHA Agory. Polegała na podaniu wyniku dodawania dwóch liczb, podanych słownie, z zakresu 1-10. Dla ułatwienia tekst był podawany jawnie, jako tekst w HTML.

Jak już podniosłem szczękę z podłogi i przetarłem oczy, to dziesięć minut później miałem skrypt, który bezbłędnie podawał wynik. Zgłosiłem podatność, wraz z sugestią, żeby skorzystać z gotowców, a nie własnej, wadliwej implementacji CAPTCHA. Szybko otrzymałem odpowiedź, którą można streścić… it’s not a bug, it’s a feature:

Obecnie funkcjonujący mechanizm CAPTCHY został wprowadzony nie tylko w oparciu o bezpieczeństwo, ale również przystępność użytkowania, co w przypadku tak różnorodnej grupy osób jak grupa głosujących w Poznańskim Budżecie Obywatelskim, jest szczególnie ważne.

[…]

Zaproponowane przez Pana rozwiązanie – skorzystanie z usług zewnętrznych takich jak Google – jest niemożliwe do wprowadzenia, ponieważ musimy opierać się na własnych, niezależnych od firm zewnętrznych rozwiązaniach, co zapewnia nam pełną możliwość ingerowania w przypadku wystąpienia ewentualnych błędów czy problemów z usługą.

Wyciąłem opis dodatkowych mechanizmów weryfikacji osób głosujących, które na szczęście są obecne. Jednak stawka, o którą toczy się gra jest wysoka – nawet 2 mln za projekt ogólnomiejski. Liczę więc, że w przyszłym roku zabezpieczenia będą lepsze. Rozważyłbym wręcz wykorzystanie Profilu Zaufanego, tak po prostu. W tym roku wygenerowanie dodatkowych głosów było dość proste, choć sam automat do łamania CAPTCHA nie wystarczyłby.

Tak w ogóle nie zagłosowałem w tym roku – pamiętałem, żeby czekać do końca października i… przypomniałem sobie o głosowaniu 31.10. Skończyło się dzień wcześniej. Mówi się trudno.

UPDATE Niewielka aktualizacja w celu doprecyzowania w czym rzecz wynikająca z rozmowy. CAPTCHA, której rozwiązanie jest możliwe automatycznie to… nie CAPTCHA. Spokojnie można ją pominąć. Gdyby ktoś miał złe intencje i dostęp do bazy danych z danymi paru tysięcy mieszkańców Poznania, to stosunkowo łatwo, automatycznie mógłby w tym roku zmienić wyniki głosowania. Przy czym problem jest głębszy i CAPTCHA w Poznańskim Budżecie Obywatelskim, nawet działająca, nie ratuje tu sytuacji. Skala kilku tysięcy głosów jest do obsłużenia ręcznie, nawet przez pojedynczą osobę.

Profil Zaufany jest podobno mało popularny, nie mam zatem pomysłu jak sensownie zabezpieczyć tego typu głosowanie przez internet.

Update

Na blogu cisza i pozornie nie dzieje się nic. Pozory jednak mylą, choć łapię się na tym, że nie chce mi się pisać osobnych wpisów o drobiazgach. Jest w tym zasługa Blox, który działa… tak jak działa. Statystki pokazują dostępność 99,9% dla obu blogów i… nie jest to przypadek. 502 Bad Gateway lata często. Zgłaszałem i mi się znudziło. Nie jest na tyle źle, żebym się spakował z miejsca, ale drażni i zniechęca.

W zasadzie wszystkie ważniejsze systemy podniosłem do Stretch. Większych problemów nie było. Jedyne co, to po upgrade przestała działać planeta Joggera. Paczka wyleciała ze Stretch, wersja z Jessie nie chciała działać. Postawiłem kontener z unstable i… też nie działało. Skończyło się kontenerem z Jessie, wszystko póki co działa, ale pewnie przy końcu aktualizacji Jessie będzie trzeba coś z tym zrobić. Być może zmienię silnik.

Z racji nowych zabawek (Orange Pi Zero) i średniego wsparcia nowych wersji Debiana dla różnych SoC zacząłem się bawić builderem Armbiana. Fajna zabawka, pewnie pobawię się nieco więcej w najbliższym czasie. Marzy mi się budowanie obrazów dla Stretch, zmiana powinna być prosta, choć toolchainy i ilość miejsc gdzie coś może pójść nie tak trochę przeraża – nie znam rozwiązania.

Bardzo spodobał mi się ESP8622 i MicroPython. Będę się bawił, już kupiłem – leży i czeka. Pewnie będą jakieś wpisy z tych zabaw, chociaż tak naprawdę wszystko jest do znalezienia w sieci. Imponujące jest niskie zapotrzebowanie na prąd, zwł. w deep sleep. Chociaż przy używaniu WiFi podobno znacznie rośnie. Niemniej, ma to szansę być autonomiczne jeśli chodzi o zasilanie przy użyciu jedynie niewielkiego panelu solarnego, czego o SoC pokroju RPi nie da się powiedzieć. Ogólnie są świetne projekty oparte o solary, ceny rozwiązań bardzo spadły. Sensu ekonomicznego czy ekologicznego z tego co widziałem w wyliczeniach jeszcze nie ma (i to dla San Francisco) ale niezależność energetyczna (światło, komputer, smartfon, dogrzewanie kawalerki) z jednego panela w cenie $200 za kompletne rozwiązanie robi wrażenie.

Trochę czasu schodzi na ogarnianie przemeblowań w domu. Trochę koniec prowizorek – połączyłem biurka i mam teraz narożne, co przekłada się na dobrą miejscówkę do psucia różnych zabawek. Po pierwsze sporo miejsca, po drugie w końcu jest dostępny prąd. Jeszcze muszę dopracować, ale kierunek mi się podoba. 😉

Niezgoda na brak zgody

Ostatnio w okolicach ruchów pro- i antyszczepionkowych na Facebooku głośno o sprawie rodziców z Białogardu. Dla nieznających krótkie przypomnienie: przyjechali do szpitala rodzić; nie wyrazili zgodę na żadne czynności medyczne w tym podgrzewanie, szczepienie itp. Lekarz zareagował podaniem sprawy do sądu, który w trybie przyspieszonym, już po paru godzinach ograniczył prawa rodzicielskie w zakresie opieki zdrowotnej nad dzieckiem i lekarze mogli dokonać procedur. Rodzice zareagowali „kradzieżą” (zabraniem) dziecka ze szpitala i są poszukiwani.

Przyznaję, że kupy mi się to nie trzyma. I zupełnie nie będę tu dyskutował nt. „jak to jest w innych krajach” ani „czy szczepić”. Sensu nie trzyma mi się to z innego powodu: jeśli się o coś kogoś pyta lub pozwala mu się nie wyrazić na coś zgody, to należy tę decyzję uszanować. Reakcja rodziców nie dziwi mnie w żaden sposób. I w sumie nie bardzo widzę podstawy do poszukiwania, nawet przy ograniczonym prawie do opieki zdrowotnej (co też uważam za bzdurę). Dziecko jest zdrowe, więc opieki medycznej nie wymaga.

Absurdalna jest też sytuacja, że czekano parę godzin na wyrok sądu, zapewne naruszając przy okazji prawo do obrony (sorry, ale nie widzę jakoś matki parę godzin po porodzie na sali). Ogrzewać dziecko można na kilka sposobów, skoro wytrzymało kilka godzin, to nie było bezpośredniego zagrożenia zdrowia lub życia. A rodzice będą się opiekowali dzieckiem przez resztę życia. I nie przypuszczam, by chcieli dla dziecka źle.

Z pewnością utracono możliwość jakiejkolwiek kontroli zdrowia dziecka w szpitalu, niepotrzebnie stresowano rodziców i naraża się dziecko w tej chwili (skoro się ukrywają, to zapewne się przemieszczają, a to korzystne dla tak małego dziecka nie jest), a postawa siły gwarantuje, że druga strona pozostanie trwale nieprzekonana.

Zastanawiam się, gdzie rodzice zdecydują się rodzić kolejne dzieci. Przypuszczam, że nie w szpitalu, który, nawiasem, zdaniem niektórych jest średnio przyjazny w standardowych okolicznościach – to jednak obce środowisko. Chociaż oczywiście posiada odpowiednie wyposażenie na okoliczność komplikacji.

W każdym razie prezentowane podejście, zamiast łagodnego przekonywania i dialogu powoduje IMO tylko pogłębienie niechęci do służby zdrowia, wymiaru sprawiedliwości i szczepień.

UPDATE: Po namyśle doszły dwie sprawy:
Jakie są konsekwencje dla matek palących czy pijących w ciąży i co jest bardziej szkodliwe dla dziecka, picie i palenie, czy brak zabiegów higienicznych? O niezdrowym odżywianiu nie wspominam.
Jak można mówić o prawie kobiet do przerywania ciąży, skoro zabrania im się decydowania nawet o sposobie opieki nad dzieckiem?