Интернет-выборы (США) взломали за 36 часов
Система интернет-голосования, испытания которой начались в округе Колумбия, США, в конце прошлого месяца, была взломана через 36 часов после начала работы. Исследователи из Мичиганского университета сумели получить "почти полный контроль" над системой.
Система Digital Vote by Mail [1], на разработку которой было потрачено $300 тысяч из государственного бюджета, предназначена в первую очередь для использования гражданами США, находящимися за пределами страны. Избирателям предлагается скачать PDF-файл бюллетеня и либо распечатать его, заполнить от руки и отослать обычной почтой, либо внести в него изменения в электронном виде и выгрузить обратно на сервер.
Именно вторая возможность и заинтересовала профессора Джей Алекса Хэлдермана (J. Alex Halderman), который с помощью двух своих студентов принялся искать "дыры" в этой системе.
На первый взгляд она представляется вполне секьюрной: каждый избиратель заранее получает 16-значный PIN-код для входа в систему, заполненный PDF-бюллетень шифруется на стороне сервера и хранится в таком виде на жёстком диске, а после выборов эти файлы переносятся на компьютер, не подключённый к сети, где расшифровываются и распечатываются для традиционной процедуры подсчёта голосов.
Однако Digital Vote by Mail, что вполне естественно, написана на стандартном языке программирования (а именно, в среде Ruby on Rails), использует стандартные средства для работы с базой данных (MySQL) и работает на стандартном веб-сервере (Apache). Более того, коды этой системы открыты. Соответственно, поиск "дыр" в этой системе — задача вполне осуществимая, чем и занялась группа Хэлдермана.
"Дыра" нашлась в той части софта, который занимается обработкой заполненных PDF-бюллетеней. Оказалось, что при сохранении шифрованных файлов на сервер система генерирует для них собственные имена, однако сохраняет расширения, полученные от пользователей. В обычной ситуации таким расширением является ".pdf", но на практике хакеры могли скормить системе в качестве расширения файла едва ли не любую строку.
А поскольку при обработке PDF-бюллетеня использовалась утилита командной строки, которой имя файла передавалось в качестве параметра, это позволило исследователям осуществить шелл-инъекцию: передать в "расширении" собственную команду для сервера.
Хакеры воспользовались уязвимостью в полной мере. Для начала они собрали массу хранившейся на сервере критической информации, включая логин и пароль к базе данных, а также публичный ключ, при помощи которого шифруются бюллетени. Затем они подменили все принятые "голоса" избирателей своими и настроили систему так, чтобы аналогичным способом подменять все новые бюллетени — благо ключ для шифрования у них уже был. Кроме того, они установили бэкдор, с помощью которого просматривали все новые "голоса", перехватывая и записывая их в незашифрованном виде вместе с именами избирателей.
Наконец, поскольку перед ними не стояла задача действовать скрытно, исследователи модифицировали веб-страничку, которая демонстрируется пользователям после успешной выгрузки заполненного бюллетеня на сервер. Визуально эта страничка [2] ничем не отличалась от оригинальной, разве что через 15 секунд после её открытия проигрывался гимн футбольной команды Мичиганского университета.
Только благодаря этой весьма бодренькой песне и было обнаружено вторжение в систему, да и то лишь через двое суток. Систему интернет-голосования тут же прикрыли, и она возобновила работу лишь через несколько дней, да и то без возможности голосовать в электронном виде. Теперь Digital Vote by Mail будут целый год укреплять общими усилиями (благо она опенсорсная), хотя изначально планировалось использовать её в "полевых условиях" уже через месяц после испытаний.
Хэлдерман, который на днях подробно описал [3] работу своей хакерской группы, уверен, что, хотя найденную ими "дыру" и очень легко прикрыть, в системе наверняка имеется масса других критических уязвимостей. Исследователи уже обнаружили несколько проблемных мест и увиденное ими свидетельствует в пользу того, что система сама по себе очень хрупкая: одна крохотная ошибка может разрушить всю защиту.
"Ничто из этого не станет неожиданностью для экспертов по интернет-безопасности, знакомых со многими типами атак, от которых регулярно страдают крупные веб-сайты, — пишет Хэлдерман. — Возможно, когда-нибудь удастся разработать безопасный метод для передачи бюллетеней через Интернет, но до тех пор такие системы следует считать уязвимыми, учитывая ограничения современных технологий безопасности".
Автор Игорь Крейн
Создано 08/10/2010 - 13:03
http://webplanet.ru
Ссылки
[1] http://www.dcboee.us/DVM/
[2] http://www.cse.umich.edu/~jhalderm/pub/dc/thanks/
[3] http://www.freedom-to-tinker.com/blog/jhalderm/hacking-dc-internet-votin...
Комментарии
comrade
9 октября, 2010 - 15:05
А если бы коды были закрытыми, и дырка осталась бы до выборов, всё было бы просто отлично?
((((-;
_________________
Анекдоты в жизнь!
Ещё несколько лет назад прочитал:
"Благодаря новой дистанционной системе голосования тысячи русских и китайских хакеров смогли принять участие в выборах президента США."
Чингачгук
9 октября, 2010 - 15:37
В любом случае, пока избиратель не сможет проверить свой "голос" после выборов, система голосования будет неэффективна.
comrade
9 октября, 2010 - 15:44
Именно!
Не похоже, что система тайного голосования себя оправдывает!
Она только способствует злоупотреблениям в любом обществе.
Аргумент, что при системе открытого, поимённого, голосования "люди будут бояться", не проходит.
Если дойдёт до такого, то любая система "выборов" будет чистой формальностью!
Чингачгук
9 октября, 2010 - 20:48
"Если дойдёт до такого, то любая система "выборов" будет чистой формальностью!"
Почему "будет"??? Она по-большому счёту и так формальность.(Кому надо-тому и припишут лишние голоса.)
comrade
9 октября, 2010 - 20:50
В том то и дело!
"Тайных" голосов можно "сосчитать" сколько угодно - за кого угодно.
Я про это и написал (-:
Чингачгук
9 октября, 2010 - 20:57
Абсолютно согласен.Беда в том,что очень многие всё равно будут бояться голосовать открыто.Так может и кворума не получиться.
comrade
9 октября, 2010 - 21:02
В исходном, греческом, значении "идиот" - человек, не интересующийся общественными делами :-)))
Комментировать