Самый остроумный способ взломать избирательную систему с помощью бумаги и SQL

В результатах недавних выборов, прошедших в Швеции, обнаружены следы попытки взлома. Дело в том, что шведские законы о выборах позволяют избирателям вписывать свой вариант от руки. Кроме того, анонимный список всех ответов, которые дали избиратели, публикуется в открытых источниках. Любопытный блоггер Йонас Эльфстрeм (Jonas Elfström) обнаружил, по меньшей мере, одну попытку взлома системы подсчета голосов – некий технически подкованный избиратель внес в бюллетень специальный запрос на языке управления базами данных 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-сценариев, наблюдатели обнаружили целый ряд ссылок на различные Интернет-магазины и другие веб-сайты. В целом, использование современных технологий в сочетании со столь демократичными избирательными законами потенциально может привести к самым неожиданным казусам. Вообще, этот пример является хорошим уроком для всех разработчиков приложений, где используются базы данных и другие широко известные технологии, способные интерпретировать вводимый текст как команды.

Подробнее о попытках взломать электронную систему учета и отображения результатов голосования в избирательной системе Швеции с использованием лишь бумаги и ручки можно прочитать в обзорах на сайтах http://www.wired.co.uk/news/archive/2010-09/24/sweden-election-hack и http://www.switched.com/2010/09/25/hackers-attempt-to-sabotage-swedish-e....

Главная тема: 
Программное обеспечение: 
Пользовательские теги: 
field_vote: 
Ваша оценка: Нет Средняя: 5 (1 оценка)

Комментарии

Круто. Интересно, а ЕГЭ так можно...

Комментировать

Filtered HTML

  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.