Интернет-выборы взломали за 36 часов

8/10/2010 13:17

Система интернет-голосования, испытания которой начались в округе Колумбия, США, в конце прошлого месяца, была взломана через 36 часов после начала работы. Исследователи из Мичиганского университета сумели получить "почти полный контроль" над системой. Система Digital Vote by Mail, на разработку которой было потрачено $300 тысяч из государственного бюджета, предназначена в первую очередь для использования гражданами США, находящимися за пределами страны. Избирателям предлагается скачать PDF-файл бюллетеня и либо распечатать его, заполнить от руки и отослать обычной почтой, либо внести в него изменения в электронном виде и выгрузить обратно на сервер. Именно вторая возможность и заинтересовала профессора Джей Алекса Хэлдермана (J. Alex Halderman), который с помощью двух своих студентов принялся искать "дыры" в этой системе. На первый взгляд она представляется вполне секьюрной: каждый избиратель заранее получает 16-значный PIN-код для входа в систему, заполненный PDF-бюллетень шифруется на стороне сервера и хранится в таком виде на жёстком диске, а после выборов эти файлы переносятся на компьютер, не подключённый к сети, где расшифровываются и распечатываются для традиционной процедуры подсчёта голосов. Однако Digital Vote by Mail, что вполне естественно, написана на стандартном языке программирования (а именно, в среде Ruby on Rails), использует стандартные средства для работы с базой данных (MySQL) и работает на стандартном веб-сервере (Apache). Более того, коды этой системы открыты. Соответственно, поиск "дыр" в этой системе — задача вполне осуществимая, чем и занялась группа Хэлдермана. "Дыра" нашлась в той части софта, который занимается обработкой заполненных PDF-бюллетеней. Оказалось, что при сохранении шифрованных файлов на сервер система генерирует для них собственные имена, однако сохраняет расширения, полученные от пользователей. В обычной ситуации таким расширением является ".pdf", но на практике хакеры могли скормить системе в качестве расширения файла едва ли не любую строку. А поскольку при обработке PDF-бюллетеня использовалась утилита командной строки, которой имя файла передавалось в качестве параметра, это позволило исследователям осуществить шелл-инъекцию: передать в "расширении" собственную команду для сервера. Хакеры воспользовались уязвимостью в полной мере. Для начала они собрали массу хранившейся на сервере критической информации, включая логин и пароль к базе данных, а также публичный ключ, при помощи которого шифруются бюллетени. Затем они подменили все принятые "голоса" избирателей своими и настроили систему так, чтобы аналогичным способом подменять все новые бюллетени — благо ключ для шифрования у них уже был. Кроме того, они установили бэкдор, с помощью которого просматривали все новые "голоса", перехватывая и записывая их в незашифрованном виде вместе с именами избирателей. Наконец, поскольку перед ними не стояла задача действовать скрытно, исследователи модифицировали веб-страничку, которая демонстрируется пользователям после успешной выгрузки заполненного бюллетеня на сервер. Визуально эта страничка ничем не отличалась от оригинальной, разве что через 15 секунд после её открытия проигрывался гимн футбольной команды Мичиганского университета. Только благодаря этой весьма бодренькой песне и было обнаружено вторжение в систему, да и то лишь через двое суток. Систему интернет-голосования тут же прикрыли, и она возобновила работу лишь через несколько дней, да и то без возможности голосовать в электронном виде. Теперь Digital Vote by Mail будут целый год укреплять общими усилиями (благо она опенсорсная), хотя изначально планировалось использовать её в "полевых условиях" уже через месяц после испытаний. Хэлдерман, который на днях подробно описал работу своей хакерской группы, уверен, что, хотя найденную ими "дыру" и очень легко прикрыть, в системе наверняка имеется масса других критических уязвимостей. Исследователи уже обнаружили несколько проблемных мест и увиденное ими свидетельствует в пользу того, что система сама по себе очень хрупкая: одна крохотная ошибка может разрушить всю защиту. "Ничто из этого не станет неожиданностью для экспертов по интернет-безопасности, знакомых со многими типами атак, от которых регулярно страдают крупные веб-сайты, — пишет Хэлдерман. — Возможно, когда-нибудь удастся разработать безопасный метод для передачи бюллетеней через Интернет, но до тех пор такие системы следует считать уязвимыми, учитывая ограничения современных технологий безопасности".
Подробности