← Все статьи

Самая известная в мире система онлайн-голосования, разобранная исследователями

Независимые исследователи наблюдали, как знаменитая система интернет-голосования Эстонии проводила живые национальные выборы — и пришли к выводу, что иностранное государство или один коррумпированный инсайдер смог бы изменить голоса так, чтобы никто этого не заметил.

Октябрь 2013 года. Где-то в Таллине сервер принимает голоса нации.

Эстония потратила десятилетие на создание чего-то, что не под силу ни одной другой стране: полностью функциональной национальной системы интернет-голосования, используемой на реальных обязательных выборах, где отдаются реальные голоса, решающие судьбу мест в парламенте. Эстонцы заходят в систему со своих кухонь, офисов, телефонов. Система имеет имя — i-voting — и репутацию: мировой золотой стандарт цифровой демократии.

Но осенью туда приходит группа независимых исследователей безопасности, которая впервые наблюдает работу системы со стороны. Они приносят с собой полномочия, камеры и конкретный, неудобный вопрос: может ли кто-нибудь проверить, что голоса, которые отдаются, — это те самые голоса, которые потом считаются?


Команда экспертов, голоса нации и открытая дверь

Команда — Дрю Спрингелл, Трэвис Финкбейнер, Закир Дурумерик, Джереми Киткат, Харри Хурсти, Джейсон Макальпайн и Дж. Алекс Халдерман — наблюдала муниципальные выборы в Эстонии в октябре 2013 года, а затем изучила опубликованное программное обеспечение клиента системы и конфигурацию сервера. Их работа прошла рецензирование и была опубликована на ACM CCS 2014 — одной из самых конкурентных площадок в мире компьютерной безопасности.

Они обнаружили не теоретическую критику интернет-голосования в целом. Это был конкретный, документированный анализ конкретной, реально работающей системы, обрабатывающей реальные национальные голоса.

Их вывод: хорошо финансируемый злоумышленник — государство или нечестный инсайдер — мог бы правдоподобно скомпрометировать целостность голосов или приватность избирателей без каких-либо признаков.

Не «возможно смог бы». Не «в условиях враждебной лабораторной среды». Реальные живые национальные выборы. Необнаружимое вмешательство.

Эстонские избирательные органы оспорили выводы. Это возражение само по себе — часть истории, к которой мы вернёмся. Но сначала: как исследователям удалось подойти достаточно близко, чтобы найти что-либо из этого?


Деталь, которая сделала анализ возможным

Вот деталь, которая меняет всё: код системы и процедуры были по меньшей мере частично открытыми.

Эстония опубликовала достаточно ПО i-voting и конфигурации сервера, чтобы внешние эксперты могли действительно оценить реальные риски, вместо того чтобы полагаться на слово правительства. Это не так работают большинство избирательных технологий. Большинство систем голосования — особенно в Соединённых Штатах — proprietary. Код — это коммерческая тайна. Внешние проверяющие, если они существуют вообще, работают под соглашениями о неразглашении. Общественности подсовывают сертификат и говорят: доверьтесь.

Частичная открытость Эстонии, парадоксально, позволила исследователям выполнить свою работу. Когда код скрыт, вы можете проверить только утверждение, что он работает. Когда код открыт, вы можете проверить, действительно ли он работает.

Исследователи документировали серьезные операционные и процедурные проблемы безопасности. Они отметили неудовлетворительные практики операционной безопасности — некоторые из них были зафиксированы в официальных видео, которые сами эстонские органы власти сделали открытыми. Они определили пробелы в архитектуре ПО. И они пошагово показали, как хитрый злоумышленник мог бы использовать то, что они нашли.

Эстонские органы власти сказали, что исследователи неправильно поняли систему, что выявленные уязвимости не переводятся в реально доступные атаки, и что i-voting безопасен. Это утверждения. Анализ исследователей — это тоже утверждение. Важное отличие в том, что статья была опубликована, прошла рецензирование и достаточно конкретна, чтобы каждый с нужной экспертизой мог её прочитать и сформировать своё мнение.

Официальный пресс-релиз «наша система безопасна» — это не то. Никогда не будет.


Что на самом деле означает «необнаружимо»

Давайте будем точны со словом, потому что оно выполняет важную работу.

В модели эстонских исследователей злоумышленнику не нужно взламывать помещение, где считаются голоса. Ему нужно скомпрометировать цепочку до того, как голос туда попадёт — в идеале на устройстве избирателя или на сервере, который получает и обрабатывает бюллетени.

Личный компьютер избирателя — это не избирательная машина. Его не проверяли, не сертифицировали и не укрепляли для выборов. На нём может работать устаревшее ПО. На нём уже может быть вредонос от совершенно не связанного с этим фишинга. Когда ваш бюллетень путешествует с вашего ноутбука на государственный сервер через интернет, безопасность этого бюллетеня зависит от безопасности каждой системы, через которую он проходит — а вы почти ничего из этого не контролируете.

Исследователи обнаружили, что если компонент сервера был бы скомпрометирован — злоумышленником на уровне государства с ресурсами и мотивацией, или инсайдером с доступом — голоса могли бы быть изменены так, что существующие механизмы проверки это не поймают. Защиты системы были недостаточно сильны, чтобы закрыть этот пробел.

Это не теоретический злоумышленник. Эстония граничит с Россией. В 2007 году — за шесть лет до этого анализа — Эстония пережила один из первых в истории крупномасштабных кибератак, связанных с государством, нацеленных на государственные веб-сайты, банки и СМИ. Исследователи не выдумывали угрозу. Они измеряли разрыв между реальным, документированным геополитическим риском и фактической способностью системы ему противостоять.


Почему официального заверения недостаточно

Когда Национальный избирательный комитет Эстонии ответил на статью 2014 года, он утверждал, что исследователи не продемонстрировали реальную атаку на реальные выборы, и что система имела надёжные процедурные гарантии.

Этот ответ стоит разобрать самостоятельно, потому что он структурно идентичен ответу, который избирательные органы дают почти везде, почти каждый раз.

Мы не обнаружили никаких признаков манипуляций.

Наш процесс сертификации был тщательным.

Наблюдатели были присутствовали.

Результат был подтверждён.

Все эти утверждения могут быть правдой. Они не отвечают на вопрос исследователей. Вопрос не в том: «случились ли манипуляции?» Вопрос в этом: «Если бы манипуляции произошли, кто-нибудь смог бы это заметить?»

А для системы интернет-голосования, где злоумышленник действует на сервере или на миллионах отдельных устройств избирателей, ответ, который дали исследователи — осторожно, с доказательствами — был таков: вероятно, нет.

Федеральный конституционный суд Германии столкнулся с аналогичной проблемой в 2009 году, когда запретил электронные машины голосования, правильность которых могла оценить только специалисты. Стандарт суда был резкий: существенные этапы избирательного процесса должны быть проверяемы гражданином надёжно и без специальных знаний. Машину, которой нужно доверять, потому что вы не можете её проверить, не проходит этот стандарт. Система интернет-голосования, где журнал проверки находится на сервере, который вы не можете проверить, не проходит его тоже.

Немецкому суду не нужно было доказывать, что машины Nedap были скомпрометированы. Ему нужно было только установить, что манипуляции не поддаются проверке. Этого было достаточно.

Эстонские органы власти никогда не должны были соответствовать этому стандарту в суде. Статья исследователей стоит в реестре в любом случае.


Сравнение, которое обостряет дело

Рассмотрим два случая из одного периода и одной общей категории — системы интернет-голосования и удалённого голосования, оценённые внешними исследователями.

В 2010 году округ Колумбия провел открытое публичное испытание системы интернет-голосования и явно пригласил независимых экспертов её испытать. Команда Мичиганского университета под руководством Халдермана получила почти полный контроль над пилотным сервером примерно за 48 часов. Они могли изменить все поданные голоса. Они могли видеть тайные голоса. Должностные лица не заметили это в течение нескольких дней. Округ Колумбия отказался от системы до того, как были задействованы реальные голоса. Результаты опубликованы.

В 2015 году, во время живых выборов в Новом Южном Уэльсе, Австралия, где уже было отдано примерно 280 000 онлайн-голосов, Халдерман и исследовательница Ванесса Тейг обнаружили, что iVote загружал код с внешнего сервера аналитики через соединение, уязвимое для известных атак TLS — что позволило бы сетевому злоумышленнику манипулировать голосами. Собственный телефонный сервис проверки системы был уязвим для манипуляций, что означало, что спроектированная проверка целостности могла быть обойдена. До выборов проверка безопасности одобрила систему. Статья опубликована.

Этот паттерн не случаен. Внешний, независимый, состязательный анализ — проведённый людьми, которые не имеют институционального интереса в том, чтобы ответ был «всё в порядке» — находит вещи, которые внутренняя сертификация не находит. Каждый раз.

Вот что представляет собой анализ Эстонии 2014 года. Не партийная атака на демократические институты маленькой нации. Статья, прошедшая рецензирование, от авторитетных исследователей, которые посмотрели на реальную систему и рассказали, что они обнаружили.


Что нам дала «частичная открытость» — и что она всё ещё не могла доказать

Вот самая сложная часть этой истории для восприятия.

Анализ Эстонии был возможен потому что код был частично открыт. Исследователи могли читать ПО, смотреть операционные видео, изучать конфигурацию сервера. Эта открытость превратила «непроверяемое утверждение о безопасности» в «оцениваемый конкретный аргумент». Это уже намного прозрачнее, чем большинство коммерческих избирательных систем.

Но частичная открытость — это не то же самое, что полная проверяемость.

Система голосования, где исследователь может читать код, но не может проверить, какой код на самом деле работает на сервере выборов в ночь выборов, всё ещё имеет пробел. Публикация исходного кода показывает, что система должна делать. Она не доказывает, что реально развёрнутая система делает, пока голоса приходят. Журналы сервера можно изменить. Среды развёртывания отличаются от проверенного кода. Инсайдер, скомпрометировавший сервер после проверки кода, не изменил ничего, что проверка заметила бы.

Это проблема проектирования, которую интернет-голосование не решило — и каждый серьёзный криптограф в этой области скажет вам, что оно не решило. Канал между личным устройством избирателя и государственным сервером — это не контролируемая, защищённая от подделок среда. Это весь интернет, плюс каждый фрагмент ПО на миллионах приватных компьютеров, плюс каждый человек с административным доступом к инфраструктуре выборов.

Швейцария опубликовала свой исходный код i-voting в 2019 году для публичной проверки, и независимые исследователи Сара Джейми Льюис, Оливье Перейра и Ванесса Тейг обнаружили криптографический люк в доказательстве перетасовки — уязвимость, которая позволила органу власти, знающему значения люка, создать доказательство, выглядящее действительным, при этом фактически изменив голоса. Уязвимость была невидима в сертифицированной закрытой системе и стала заметна только когда код был опубликован. Статья документирует это точно. Швейцарские органы власти приостановили систему и исправили её. Это правильный ответ. Но это произошло только потому, что публичный выпуск кода позволил посторонним найти то, что внутренняя проверка пропустила.

Урок не в том, что открытый исходный код достаточен. Урок в том, что открытый исходный код необходим — и его недостаточно.


Что действительно сделало бы это проверяемым

Более глубокая проблема, которую обнаруживает дело Эстонии, — это требование проектирования, а не недостаток конкретной реализации.

Система голосования, которую может проверить каждый, должна делать больше, чем просто опубликовать свой код. Она должна создавать для каждого голоса открытый, независимо проверяемый запись, которая доказывает, что голос был учтён правильно — не раскрывая, как голосовал какой-либо конкретный избиратель. Раздел криптографии, который пытается это сделать, называется end-to-end verifiable (E2E) голосование. Системы из этого семейства дают каждому избирателю криптографический чек, который он может использовать, чтобы подтвердить, что их конкретный бюллетень появляется в опубликованном подсчёте, и они создают публичное доказательство того, что подсчёт правильно вычисляется из этих бюллетеней. Доказательство может проверить каждый, включая исследователей, которые не доверяют производителю и правительству.

Никакая такая система не была внедрена для i-voting Эстонии в 2013 году. Рекомендации исследователей включали прекращение использования системы до коренных улучшений безопасности. Эстония не прекратила его. На момент написания этого текста i-voting остаётся в использовании.

Это факт, а не вердикт. Эстонские органы власти верят, что система достаточно безопасна для работы. Исследователи верят, что опубликованные доказательства поддерживают другой вывод. Общественность — эстонская и иная — не имеет механизма независимо от доверия одной из этих двух позиций.

В этом проблема. Не «Эстония сделала что-то неправильно». Проблема в том, что доверие результату и проверка результата — это разные вещи, и одна из них не защитит вас, если орган, которому вы доверяете, — это тот, кто был скомпрометирован.


Вопрос, на который никто не ответил

Норвегия проводила пилоты интернет-голосования в 2011 и 2013 годах, пришла к выводу, что пилоты не привели к увеличению явки, и тихо завершила программу в 2014 году. Министерство отметило, что пилоты «произвели ценные знания и опыт» — дипломатическая фраза для: мы узнали вещи, которые нам не нравятся.

Финляндия провела пилот электронного голосования в 2008 году, и 232 голоса молча исчезли из-за ошибки в шаге подтверждения, которую неправильные инструкции скрыли от избирателей. Верховный административный суд аннулировал выборы в трёх муниципалитетах и приказал их переделать. Финляндия не продолжила электронное голосование.

Паттерн здесь не в том, что интернет-голосование или электронное голосование всегда катастрофически неправильно. Паттерн в том, что когда независимое лицо — суд, исследовательская команда, государственная комиссия — получает доступ к реальным доказательствам и задаёт жёсткие вопросы, ответ почти никогда не «это работает как заявлено и вот доказательство». Ответ почти всегда какая-то версия «мы обнаружили вещи, которые процесс сертификации не заметил, и общественность не имела способа это проверить».

Вопрос, который оставляет открытым анализ Эстонии 2014 года, такой: Если бы злоумышленник с ресурсами государственного уровня скомпрометировал i-voting на муниципальных или парламентских выборах Эстонии, как бы выглядели доказательства, и кто смог бы их найти?

Ответ эстонских органов власти: процедурные гарантии это перехватили бы.

Ответ исследователей: процедурные гарантии — это то, чего мы боимся.

Никто не опубликовал доказательство, которое бы разрешило вопрос. Такое доказательство в настоящее время не существует. И на выборах неразрешённый вопрос о том, отражает ли результат фактические поданные голоса, — это не академическая головоломка. Это демократическая проблема.


То, что можно поделиться, это вот это: «Система безопасна» и «вот независимо проверяемое доказательство, что система безопасна» — это не одно и то же предложение. Одно защищает демократию. Другое просто просит вас доверять.

Открытый код превратил неопровержимое официальное заверение в проверяемое утверждение. Это прогресс. Но проверяемое утверждение хорошо только настолько, насколько хорош механизм, который позволяет каждому — не только аккредитованным исследователям с доступом к официальным видео — провести проверку в ночь выборов, а не три месяца спустя в статье на конференции.

Такой механизм ещё не существует для интернет-голосования нигде. И пока его нет, «наша проверка безопасности была тщательной» — это начальная точка для критики, не конец её.

Посмотрите, как этот пробел проявляется в избирательных системах во всём мире →

Прочитайте двухминутную версию проблемы проверяемости →

Просмотрите задокументированные случаи непроверяемых результатов выборов →


Источники