Обнаружены попытки взлома шведской избирательной системы

Обнаружены попытки взлома шведской избирательной системы

Блоггер Йонас Эльфстрeм обнаружил, по меньшей мере, одну попытку взлома системы подсчета голосов – некий технически подкованный избиратель внес в бюллетень специальный запрос на языке управления базами данных SQL.

В результатах недавних выборов, прошедших в Швеции, обнаружены следы попытки взлома. Дело в том, что шведские законы о выборах позволяют избирателям вписывать свой вариант от руки. Кроме того, анонимный список всех ответов, которые дали избиратели, публикуется в открытых источниках. Любопытный блоггер Йонас Эльфстрeм обнаружил, по меньшей мере, одну попытку взлома системы подсчета голосов – некий технически подкованный избиратель внес в бюллетень специальный запрос на языке управления базами данных SQL.

В большинстве стран на выборах используются готовые бюллетени с фиксированным списком вариантов – избиратель может лишь поставить галочку или другую отметку в поле напротив нужного варианта. Швеция в этом смысле является исключением – здесь можно вписать любой свой вариант от руки. Судя по всему, кому-то в голову пришла мысль о потенциальной уязвимости системы учета голосов к так называемой «SQL-инъекции». В результате в открытом доступе была обнаружена такая строка, вписанная анонимным избирателем: ";13;Hallands län;80;Halmstad;01;Halmstads västra valkrets;0904;Söndrum 4;pwn DROP TABLE VALJ;1". Само интересное в этой строке – команда «DROP TABLE», которая, если попадет в интерпретатор SQL-команд, вызовет полное уничтожение таблицы. В данном случае, это таблица под названием «VALJ».

Интересно, что атака на базы данных с использованием такого рода фрагментов кода на языке SQL в шутливой форме была описана в одном из комиксов из серии XKCD, где герой назвал своего ребенка именем «); DROP TABLE Students; --». При малейшей небрежности разработчиков системы такое имя привело бы к удалению таблицы Students во всех системах, где встречалось бы подобное имя.

Кроме SQL-атак в последних шведских выборах встретилась и еще одна атака, правда, столь же безуспешная. На этот раз злоумышленник или шутник вставил вместо своего варианта строку «R;14;Västra Götalands län;80;Göteborg;03;Göteborg, Centrum;0722;Centrum, Övre Johanneberg;(Script src=http://hittepa.webs.com/x.txt);1». При отображении результатов на веб-сайте шведской избирательной комиссии подобный текст мог бы вызвать внешний сценарий на языке JavaScript и нарушить нормальную работу сайта. К счастью, все результаты голосований отображаются на веб-сайте как неформатированный текст, а не в формате HTML, поэтому попытка вставить свой сценарий не сработала.

Кроме SQL-атак с использованием команд DROP TABLE и DROP DOWN (полное уничтожение всех таблиц в СУБД) и атак с попыткой вставить внешние JavaScript-сценариев, наблюдатели обнаружили целый ряд ссылок на различные Интернет-магазины и другие веб-сайты. В целом, использование современных технологий в сочетании со столь демократичными избирательными законами потенциально может привести к самым неожиданным казусам. Вообще, этот пример является хорошим уроком для всех разработчиков приложений, где используются базы данных и другие широко известные технологии, способные интерпретировать вводимый текст как команды.


Один хакер может причинить столько же вреда, сколько 10 000 солдат! Подпишись на наш Телеграм канал, чтобы узнать первым, как выжить в цифровом кошмаре!