Движение в защиту прав избирателей. Наша цель — свободные и честные выборы в России. RU EN
Карта сайта Регионы Сервисы EN

КОИБ, неудачный подход к снаряду

Автор: Евгений Федин, официально аттестованный оператор КОИБа 

На заседании ЦИК № 282 услышал приглашение В.И. Алксниса, хакеров, специалистов в IT, экспертов, журналистов на проверку работоспособности КОИБов. Вот так оно было прочитано:

Соответствующая новость на сайте ЦИК — «Центризбирком пригласил участников избирательного процесса и хакеров испытать КОИБ на надежность и беспристрастность» (на всякий случай,сохранённая версия, после мероприятия вызывает нервный смех фраза «в мероприятии примут участие ведущие российские программисты и специалисты в области защиты информации»).

То, что слова Л.Г. Ивлева не вполне соответствуют действительности, стало ясно сразу. При этом не только с ручным пересчётом были проблемы (насколько я понял, УИК, по всей видимости, с подачи ТИК, ограничилась пересчитыванием недействительных бюллетеней). Попробуйте найти подтверждение слов Л.Г. Ивлева: «Виктор Имантович заявил, что он со своими специалистами знает, как изменить показания на КОИБе». Заявлялось другое: первое сообщение с попыткой найти объяснение, как могли получиться результаты (небольшой комментарий) и статья с довольно неплохим обзором того, что известно о работе КОИБов и с предложением концептуального переосмысления того, как проводятся выборы (комментарий).

На мероприятие попасть хотелось. В конечном счёте сработала эта попытка напроситься, большое спасибо Виктору Имантовичу. Однако в день заседания ЦИК, 13.05.2015, позвонил и туда. Вприёмной не знали про мероприятие, перебросили меня в ФЦИ. В приёмной ФЦИ про мероприятие, которое, по словам Чурова руководитель этой организации готовил неделю, тоже не знали, дав контакты отдела защиты информации. Наше общение обернулось его рекомендацией написать обращение на имя Чурова, что я и сделал. Когда появилась информация о возможности аккредитации, «форварднул» его и на указанный в нём адрес, попросив подтвердить аккредитацию. Выглядело это так, от них ответа нет до сих пор. Вообще, по моим ощущениям, работа ЦИК с обращениями осуществляется крайне плохо (параллельно веду историю с обращениями от 12.12.2014 и от 2.04.2015: некоторые документы ЦИК дослал, но далеко не на все поставленные вопросы удалось получить ответы).

Впрочем вернёмся к нашим баранам. Считаю, что сегодня вместо испытания КОИБов на надёжность и беспристрастность у ЦИК получился фарс. На мой взгляд, потенциально интересные точки поиска уязвимостей можно выделить следующие:

  • Исходные данные (в частной беседе до моего сведения довели, что я был не прав, а в найденном Александром Лурье что-то такое было, то ли поправленное, то ли нет). Речь о следующем:
    1. «КОИБы, как сохранить тайну голосования» (вероятно, ошибкой было предположение, что часть конфигурации из config-template.xml может браться из исходных данных. Хорошо, нет, так нет, в этом случае пункт 7 остаётся актуальным. Тайна голосования может нарушаться, если фрагменты кода на месте. Использование КОИБ вместе с веб-камерой в УИКе — это как нажимание на курок пистолета, про который говорят, что он не заряжен).
    2. «КОИБы, меры для недопущения искажения результатов» (несмотря на услышанное, продолжаю настаивать на том, что действия нужные).
    3. «Электронные потроха КОИБа» — а вот тут, могу предположить, найденная code injection, получается, была попаданием «в яблочко». Впрочем проверить это возможности предоставлено не было.
  • Возможная уязвимость к MITM-атаке реверсивного патчкорда между сканерами избирательных бюллетеней. Просто надо проверять.
  • Возможная «продвинутость» меню второго уровня (сегодня в ЦИК даже обычное меню толком не показали, а есть ещё то, доступ к которому осуществляется по паролю из исходных данных).
  • Потенциальная возможность задействовать имеющиеся непломбируемые при проведении выборов дополнительные возможности интерфейса.
  • Ну и правка результатов, конечно. Когда результат голосования записывается в виде xml-файла, складываемого в директорию result, который никоим образом не защищён, не надо быть семи пядей во лбу, чтобы открыть его в текстовом редакторе и поправить перед вводом в КСА ГАС «Выборы». Думаете, с КОИБами положения ч. 1 ст. 13 ФЗ «О ГАС „Выборы“»соблюдаются? ;)

Немного о том, как происходило «Пусть попытаются исказить результаты» (©В.Е. Чуров). Исходя из примерного представления о том, что будет, отнёсся с определённой степенью недоверия к словам В.Е. Чурова на заседании ЦИК № 282 и оказался прав. Какое там своё оборудование, какое там пусть попытаются исказить… Пусть пытаются, но дистанционно :) В общем, тот риск, на который пошли устроители мероприятия, свёлся к тому, что мне дали попробовать воткнуть флешку с исходными данными (вероятно, где-то ошибки насажал, в любом случае, та идея, которую реализовывал, неудачная. Крюков попросил на сувениры и для изучения, зачем-то согласился отдать) уже после того, как КОИБ считал исходные данные и начал функционировать. Кроме того, дали поправить номер УИКа: не угадал с ним. Получилось забавно. КОИБу оставалось записать данные итогового протокола на неё, и КОИБ не смог, запросив другой носитель. Моё предположение, что произошло из-за ошибки в исходных данных и он их зачем-то перечитывает, вероятно, ошибочное, всё может быть проще. Однако славные люди, принимавшие участие в организации мероприятия и их замечательные «ведущие российские программисты и специалисты в области защиты информации» не только не дали разобраться, что там творится, ещё и правильный ответ не сказали. А просил я их изначально подготовленные ими данные, чтобы пробовать добиться результата путём их модификации.

Голосовали присутствовавшие. С этим связан забавный эпизод. Не секрет, что КОИБ и УИК некоторые отметки трактуют по-разному и вот постановление Конституционного суда о том, чья трактовка правильнее. Случай, произошедший на подсчёте, по моему видению, состоял в том, что И.В. Кудрявин посчитал, что сгиб избирательного бюллетеня, который я осуществил таким образом, что он прошёл через квадратик второго кандидата — это отметка, выражающая моё желание проголосовать за второго кандидата. В специальной таблице была проставлена галочка, всего отметок за второго кандидата получилось 4. Однако слова члена ЦИК России С.А. Даниленко о том, что должно быть 3 голоса за второго кандидата, а не 4, послужили причиной перемены такого мнения. Если бы с подобным не сталкивалсь на реальных выборах, было бы смешно. Но не думаете ли вы, что сходятся данные ручного пересчёта с данными КОИБа ещё и из-за подобной «гибкости» членов избирательных комиссий? ;)

В любом случае, если бы в ЦИК не лукавили, и объявили, что просто будет демонстрация работы КОИБ и можно будет своими глазами посмотреть, как КОИБ трактует и считает разные виды заполнения бюллетеней, пользы от сегодняшнего мероприятия было бы больше.

По состоянию на данный момент. Договорился о личном приёме меня членом ЦИК В.А. Крюковым 26 мая. На нём не будет прессы и необходимости говорить те слова, которые не вполне отражают действительность. Надеюсь, что в отношении этой встречи нет никаких предпосылок для того, чтобы аффилированные ЦИКу люди делали неправильные вещи. Я от этого приёма жду больше, чем от сегодняшнего мероприятия. Хотя не исключаю, что это наивно.

Ну и рад, конечно, что в «Кроке» и/или ФЦИ прочли то, что было мною написано. Но что ж комментарии постеснялись дать? Интересно же. Зацепившее взгляд в исходном коде КОИБ-2010:

  1. Подборка потенциально интересных вещей
  2. Забавное
  3. Недоделки (поиск по TODO в коде выдаст больше всего)
  4. Просто плохие места в коде
  5. Стащенное

И есть очень много неотвеченных вопросов про КОИБы. Специально для читателей из ФЦИ, «Крок»: на эти вопросы можно ответить, актуально.

Источник: ЖЖ автора