30.09.2014 | 15:10

Adam Haertle

Wstrzykiwanie JavaScriptu na formularzach wyborczych

Wraz z rozwojem technologii powstaje coraz więcej punktów styku, w których dane ze świata rzeczywistego trafiają bezpośrednio do systemów IT. Wiążą się z tym zagrożenia, na które jeszcze niedawno nie zwracano uwagi – jak na przykład opisane poniżej.

Historia zna próby ataków informatycznych wykonywanych za pośrednictwem nośników innych niż cyfrowe – pewnie pamiętacie słynną rejestrację z SQLi na fotoradary czy też Bobby’ego Tablesa (znacie jeszcze jakieś inne?). Tym razem pewien anonimowy Szwed przeprowadził prawie udany atak wstrzyknięcia JavaScriptu w ogłoszenie wyników wyborów.

Pamiętaj, aby dane wejściowe czyścić

Szwedzkie procedury wyborcze przewidują możliwość oddania głosu na pozycję, której brakuje na liście – wystarczy ją do listy dopisać. Takie dopiski są potem precyzyjnie notowane i publikowane. Zwyczaj ciekawy i potencjalnie interesujący z punktu widzenia bezpieczeństwa informacji.

wybory

Szwedzi nie są pozbawieni poczucia humoru, zatem na opublikowanej liście „alternatywnych kandydatów” znalazła się między innymi dość popularna w Szwecji Partia Kaczora Donalda (z programem „darmowy alkohol, szerokie chodniki”), Inicjatywa Satanistyczna czy też Led Zeppelin. Wśród mniej lub bardziej absurdalnych wpisów trafiła się także taka oto perełka:

"script"alert('l')"/script"

Wygląda na to, że ktoś próbował przeprowadzić atak na przeglądarki osób czytających wyniki wyborów, jednak – mniej lub bardziej nieświadomie – atak powstrzymał urzędnik przepisujący dodane pozycje z kart do głosowania, który zamienił znaki „<>” na cudzysłowy. Atak był co prawda niewinny i nie niósł ze sobą żadnych konsekwencji nawet gdyby się udał, jednak pokazał, że procedury czyszczenia danych wejściowych powinny być wdrażane w nawet najmniej spodziewanych miejscach.

Warto także pamiętać, że komputeryzacja procesu wyborczego budzi całkiem uzasadnione emocje – opisywaliśmy już przypadki porażek w prawyborach we francuskiej partii i całkowitej kompromitacji systemu w lokalnych wyborach w stanie Waszyngton.

Powrót

Komentarze

    • 2014.09.30 16:45 Adam

      Tylko ze to przypadek SQLi od początku w formie elektronicznej – a wyliczamy te, gdzie nośnik ataku jest fizyczny :)

      Odpowiedz
  • 2014.09.30 16:17 edi

    „jednak pokazał, że procedury czyszczenia danych wejściowych powinny być wdrażane w nawet najmniej spodziewanych miejscach.”

    Najmniej spodziewanych? To chyba nie było takie miejsce.

    Odpowiedz
  • 2014.09.30 16:30 darek

    W tym konkretnym przypadku ciekawszy efekt można by uzyskać poprzez wstrzyknięcie znaków nowej linii i średników. Jeśli wstrzyknięcie jest możliwe, pozwala dodać np. 100 rekordów na partię Kaczora Donalda, co więcej mamy kontrolę nie tylko nad nazwą, ale również pozostałymi danymi tj. okręg, ulica itd.

    Odpowiedz
    • 2014.09.30 17:03 dzikuseq

      Kolega „darek” chyba nie zrozumiał że pierwotnym nośnikiem informacji była karta wyborcza (taka papierowa :)) i trochę ciężko na niej wstrzyknąć znaki nowej linii a jeszcze ciężej przekonać osobę przepisującą do ich zauważenia i wprowadzenia w system informatyczny :).

      Odpowiedz
      • 2014.10.01 21:09 Ja

        Ja tam bym próbował null byte przemycić, myślę że mogłoby się udać.

        Odpowiedz

Zostaw odpowiedź

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

Wstrzykiwanie JavaScriptu na formularzach wyborczych

Komentarze