Голосование в КС оппозиции – надёжно ли это?

Непосредственным поводом для написания этой статьи стал тот факт, что ко мне обратились с просьбой стать наблюдателем за выборами со стороны националистической курии и выполнить работу "технологического аудитора” по вопросу о надёжности организованного голосования .  

Этот текст – отчёт об увиденном и мои оценки сделанной Центральным Выборным Комитетом  системы и проделанной ЦВК работы.

В силу жанра самого выступления – аудита безопасности информационной системы, я буду много писать о (гипотетически существующих) уязвимостях. Но для правильной оценки самих выборов нужно различать сам факт существования уязвимости и то, была ли она использована на практике.

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

1. Как была построена моя работа

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

Поэтому своей задачей я счёл анализ архитектуры системы и процедур, придуманных организаторами, чтобы повысить убедительность голосования, доказать, что подделок всё же не было. Я постарался не получить (и не получил) в свои руки никаких внутренних данных системы, которые не были бы доступны публично, но получал от председателя ЦВК Леонида Волкова необходимые объяснения о внутреннем устройстве системы, организационных процедурах и иную необходимую мне информацию.

Вся эта информация предоставлялась в запрошенном мною объёме и вполне добросовестно.

Так же некоторый объём технической информации о схеме работы системы был опубликован Леонидом по адресу http://leonwolf.livejournal.com/445249.html .

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

2. Что такое выборы в КС

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

Итак, прежде всего, необходимо чётко понимать, что выборы в КС оппозиции – это НЕ выборы в государственные или муниципальные органы власти.  Более того, несмотря на название выборов, они не являются выборами в Координационный Совет ВСЕЙ оппозиции.  Потому  что кто угодно, мог бы сказать о себе, что он – "оппозиция”.

Выборы в КС – это выборы проводимые группой политических деятелей, которые добровольно объединились для того, чтобы координировать некоторые политические действия. Свои, своих союзников и сторонников.

Эти выборы проводятся, по крайней мере, теоретически,  среди тех, кто является сторонниками хотя бы некоторых из упомянутых политических деятелей.  Выборы проводятся в целях обеспечения руководства координации этих действий, никаких других целей тут быть не может – выбирается не альтернативный центр государственной власти. Это - выборы, аудиторией которых не являются "все граждане России”.

Вопрос о представительности этих выборов – это вопрос, осмысленный для сторонников указанных выше политических деятелей и не более того.

Когда, допустим, комиссар движения "Наши” заявляет, что выбранный КС не будет репрезентативен и представлять, его, рьяного оппозиционера (ведь все мы знаем – что "Наши” – это непримиримая оппозиционная организация) интересы, потому как оного комиссара заведомо не включат в список кандидатов, то всё, что я могу ответить на такое заявление, так это признать: да, не будет.

Вопрос о доверии к результатам и процедуре выборов – это вопрос, который должны задавать себе сторонники кандидатов в КС, как выигравших, так и проигравших, но никак не внешние для всех кандидатов политические оппоненты. Вопрос о доверии к выборам в КС, который поднимают, допустим, те же самые представители организации "Наши” имеет не больше смысла, чем вопрос о доверии граждан Таджикистана к результатам и процедуре выборов в Российской Федерации.

Выборы в КС – это игра для тех, кто играет в выборы в КС. Некоторая часть потенциальных игроков отсекается организаторами, которые не готовы к дальнейшим совместным действиям к отсекаемыми.

Центральный Выборной Комитет является исполнителем этой работы, но её заказчиком является Оргкомитет Протестных Действий, ему и нести политическую ответственность за результаты и представительность этих выборов.

3. Что такое атака на процесс голосования?

Атака на процесс голосования – это такие действия, которые могли бы либо существенным образом исказить результат голосования, либо могли бы поставить под сомнение его результаты в глазах тех, кто этом процессе участвует.

Другими словами, такая атака вовсе не обязательно может быть связана с искажением самого процесса выборов. Она может быть осуществлена и  путём  фабрикации поддельных доказательств таких искажений.

Соответственно, работа ЦВК состоит не только в том, чтобы организовать выборный процесс без искажений, но и в том, чтобы придать этому процессу убедительность в глазах относительно непредвзятого и доброжелательно настроенного наблюдателя и/или участника.

4. Какие существуют угрозы процессу голосования?

Перечислю возможные угрозы (ЧТО может произойти плохого, пока без подробного объяснения – как конкретно). Эти угрозы можно сгруппировать с одной стороны по типу угрозы, с другой – по её источнику. Источников, для наших целей можно выделить два – это внешний злоумышленник и (предположительно недобросовестный) технический персонал ЦВК.

Тип угрозы – это либо уязвимость (например подделка результатов голосования) либо имитация уязвимости (например, злоумышленники делают вид, что результаты голосования подделаны).

Ниже приводится таблица, в которой знаком  0 (ноль) помечены те угрозы, рассматривать которые, с моей точки зрения, не имело бы смысла. Конкретнее, не имеет смысла рассматривать никакие попытки имитации каких-либо проблем в выборах со стороны ЦВК, кроме общего срыва выборов. В самом деле – ведь ЦВК не имеет смысла имитировать свою плохую работу, доведя, тем не менее, выборы до конца. Другие обозначения:

 + - угроза была реализована

 -  - угроза не была реализована

+- - уязвимость была, но на практике угроза скорее всего не реализовалась

знаком ? обозначены проблемы, которые относятся к политической интерпретации процедур ЦВК, а не к технической стороне его деятельности.

Обратите внимание –  речь идёт о потенциально возможных событиях, которые вовсе не обязательно осуществились.

 

Уязвимость

Имитация

 

A. Со стороны ЦВК

B. Со стороны внешних злоумышленников

C. Со стороны внешних злоумышленников

D. Со стороны ЦВК

1 Срыв выборов

-

+-

0

-

2 Раскрытие списка избирателей или его элементов

+

-

+-

0

3 Раскрытие подробностей голосования конкретными избирателями

+

+-

-

0

4 Неправомерное исключение избирателей из списка

?

-

?

0

5 Неправомерное исключение кандидатов из списка

?

0

+?

0

6 Неправомерное включение кандидатов в список

-

-

-

0

7 Неправомерное включение аккаунта в число избирателей (виртуал, имперсонация)

+-

+

+

0

8 Неправомерное голосование чужим аккаунтом

+-

-

-

0

9 Искажение результатов голосования

+-

+-

+

 

 

5. Разбор полётов. Что я увидел в системе и вокруг неё.

Прежде чем начать собственно разбор, хочу напомнить читателю особенность организованной ЦВК системы – саму процедуру выборов обеспечивал центральный сервер ЦВК, закрытый от прямого доступа публики и спрятанный где-то в облачном хостинге за границей РФ. Процедуру выбора кандидатов избирателем в бюллетене голосования обеспечивают несколько внешних для сервера площадок для голосования, список которых можно увидеть по адресу http://www.cvk2012.org/electorial/sites/

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

5.0. Организация сайта ЦВК

Ещё одно предварительное замечание касается организации сайта ЦВК. Хочу отметить, что представление на сайте решений ЦВК, т.е. текущих рабочих документов комиссии было сделано достаточно неудобно и неочевидно. На мой взгляд это снижало возможности объективной оценки действий ЦВК сторонними наблюдателями. По какой причине в разделе "Документы” не было подраздела "решения ЦВК” и их пришлось выискивать по сайту в разделе "новости” и где-то ещё – мне решительно не понятно.

5.1. Срыв выборов

Была попытка срыва выборов со стороны неизвестных лиц, организовавших DDOS-атаку.

Звучали обвинения в том, что эта DDOS-атака заказана самими участниками ЦВК (случай 1а) и, со ссылкой на якобы имевшие место (слышал в пересказе, сам не видел)  высказывания представителей Лаборатории Касперского, что она вообще не имела места (случай 1d).

Мои впечатления как технического специалиста следующие:

Начальная конфигурация системы оказалась неустойчивой к DDOS-атаке, направленной через внешние выборные площадки по той причине, что там не использовалась каптча. Сами площадки при этом нормально работали, но их запросы перегружали центральный сервер системы. Такую конфигурацию DDOS атаки сенсоры AntiDDOS-системы Касперского обнаружить не смогли бы, т.к. выборные площадки работали штатно, а IP адрес центрального сервера системы электронного голосования Лаборатории Касперского вряд ли был известен. Таким образом, претензии по варианту угрозы 1d ("ЦВК врёт что есть DDOS-атака, срывающая выборы, а её нет”) мне кажутся достаточно голословными.

Отказ от каптчи был ошибочной идеей, поддержанной Леонидом с мотивировкой "политически заряженные пенсионерки не смогут разобраться и проголосовать”. По факту обнаружилось, что в результате уступки гипотетическим пенсионеркам голосовать под атакой не смог никто.

Увы, даже после того, как позиция ЦВК по этому вопросу была изменена, понадобилось достаточно много времени для того, чтобы программисты на площадках голосования вкрутили каптчу и выложили код на рабочие сервера.

Резюмируя вопрос с DDOS-атакой, скажу, что, по моему мнению, она была организована со стороны, а не самим ЦВК. И лучшим доказательством того, что этот так, стало то, что ЦВК сумел её преодолеть.  Сначала организовать самим себе DDOS, а затем его побороть, в том числе ценой крайне хлопотного продления выборов на один день – это крайне нелепая стратегия, я в неё не верю, т.к. не вижу, какие цели могли бы быть достигнуты таким способом.

Подробное описание хода DDOS можно найти вот в этом отчёте на Харбре.

Серьёзных оффлайновых попыток сорвать выборы так и не было предпринято (сервера за рубежом наверное этому очень поспособствовали), хотя сверхоперативное возбуждение уголовного дела по инициативе сторонников МММ и закрытие некоторых РВК силами правоохранительных органов оставили крайне неприятное впечатление.

5.2 Раскрытие списка избирателей или его элементов – штука неприятная, и она может произойти не только по техническим причинам. Всё что можно было сказать по этому поводу – сказала в своём блестящем эссе Наталья Холмогорова

Участники выборов должны чётко понимать, что на уровне телефонов оно уже произошло. Авторизация на выборах осуществлялась при помощи sms, отправляемых с легко идентифицируемого короткого имени.

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

Считайте, что не просто могли, а уже реально оказались.

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

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

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

5.3. Раскрытие подробностей голосования

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

Сведения о том, кто как голосовал, однако, могут быть получены путём анализа базы данных сервера голосования. Поэтому, я надеюсь, что ЦВК не допустит утечки информации и уничтожит эту базу после того, как выборы в КС закончатся и все заинтересованные лица определятся относительно легитимности выборов и прочих вопросов, для которых БД нужна.

5.4. Неправомерное исключение избирателей из списка

В этом месте я намерен первый раз высказать свои претензии не к ЦВК, а к Оргкомитету Протестных Действий. Оставив ЦВК опирающимися на "здравый смысл и минимум правил”, Оргкомитет тем самым перевалил на ЦВК ответственность за ограничение списка избирателей по принципу "кто тут реальный сторонник оргкомитета, а кто пришёл по принуждению”.

В результате мы получили то, что получили.

Ситуация с МММовцами – это всего лишь первый звоночек. Если считать, что система выборов в КС сохранится, то следует так же ожидать, что оппоненты к следующим выборам сделают определённые выводы и предпримут менее приятные для КС меры противодействия. Мобилизационный потенциал у этих оппонентов достаточно велик.  Никто не может гарантировать, что на следующие выборы в КС не придут одновременно представители прокремлёвских молодёжных организаций, Евразийский Союз Молодёжи, рабочие с УралВагонЗавода, движение Суть Времени, партия "Воля" Светланы Пеуновой, прекрасной, и не проголосуют каждые разом за 3-4 абсолютно случайных кандидатов, полностью обессмыслив процедуру выборов.  Собственно говоря, ровно по такой схеме представители МММ и пытались действовать и лишь только то, что они действовали не особенно умно и организованно, спасло выборы от превращения в полный балаган. Статистика выборов показала, что для того, чтобы решить судьбу кандидата достаточно тысяч двадцать голосов. У каждой из указанных выше организаций в одиночку (ну кроме ЕСМ) моб.потенциал сопоставим с этой цифрой.

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

Т.е. налицо скорее проблема процедуры, а не техники. И вопрос о процедуре – это вопрос, который я обсуждал в разделе 2 – кто является аудиторией выборов, потенциальными избирателями, было бы полезно определить перед началом выборов более чётко и ограниченно.

Опять заявлять, что это – "все граждане страны” уже на следующих выборах в КС будет равнозначным тому, чтобы заранее отказаться воспринимать их результаты как какое-то политическое руководство к чему-то.  Ну, или тому, чтобы расписаться в претензии на формирование ”параллельных структур власти”, каковая не только подвела бы организаторов голосования под уголовную ответственность, но и в целом, наверное, не имеет особого смысла в связи с продемонстрированным мобилизационным потенциалом самого Оргкомитета Протестных Действий.

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

5.4.1. Замечание по самой процедуре исключения МММовцев 

Я  могу сказать, что использованная программистами ЦВК эвристика для определения представителей МММ – качественная, в том смысле, что она практически гарантировала, что все избиратели, которые  были определены как МММовцы, действительно являлись таковыми. Эта эвристика НЕ относилась к характеру голосования: члены МММ были определены до начала  выборов.

В то же время, по всей видимости, от 5 до 7% (моя личная оценка) представителей МММ остались нераспознанными. По очевидным причинам не были так же опознаны члены их семей, которых они тоже втягивали в голосование.

Аргументом для ЦВК за отказ от допуска части избирателей было "они голосуют под принуждением”,  т.к. в некоторый момент Мавроди заблокировал им доступ в личные кабинеты системы МММ-2012, требуя предоставить доказательства регистрации в личных кабинетах cvk2012 в виде скриншотов.

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

В результате попытки учесть все эти соображения, ЦВК принял сложное даже для понимания в печатном тексте решение по учёту голосов. Оно, будучи представленным в табличном виде, выглядит так.

 

Голоса опознанных МММовцев, зарегистрировавшихся до блокировки кабинетов на сайте МММ

Голоса опознанных МММовцев, зарегистрировавшихся после блокировки кабинетов на сайте МММ

Голоса всех прочих участников выборов

Голосовали по списку Мавроди

Учитывались

Не учитывались

Учитывались

Голосовали не по списку Мавроди

Учитывались

Учитывались

Учитывались

 

Критики выборов проверяют какие-то гипотезы по данному вопросу, между тем ровно то, что они проверяют – открытым текстом написано в пункте 2 решения ЦВК N80.

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

5.4.2. Проблемы лиц, не имевших сотовых телефонов

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

5.4.3. Проблемы лиц, не имевших доступа в интернет

При наличии сотового телефона можно было пойти ногами в РВК, зарегистрироваться и проголосовать там. РВК были не везде. Мне, однако, не известно о жалобах избирателей, которые не смогли бы получить доступ к выборам по такой причине. В конце концов, почти в каждом городе есть публичные точки доступа к интернет в интернет-кафе и на почте. Полагаю, что влияние этого фактора на выборы было минимальным.

5.5. Неправомерное исключение кандидатов из списка

Все те же замечания, что и по пункту 5.4, добавлю, что чисто технически исключить из бюллетеней даже снявшихся в последний момент 2 или 3 кандидатов у ЦВК не получилось и какие-то голоса ушли в их адрес.

ЦВК исключал из списка кандидатов по их собственному заявлению. Таким образом были убраны из списка кандидатов (в порядке принятия решений):

Данил Линдэле

Михаил Делягин

Алексей Готсданкер и Николай Беляев

Людмила Улицкая и Ирина Ясина

Насколько я понимаю, не все заявления кандидатов о самоотводе были проведены решением ЦВК (я не нашёл документа по Илье Пономарёву) и это неправильно. По пояснениям Леонида Волкова:

"…. По Пономареву и Савостину были только электронные письма в пятницу утром, по Лурье вообще не было заявления в адрес ЦВК, так что считаю, что мы действовали единственно возможным образом, не публикуя никаких решений и оставляя их в бюллетенях - иначе можно было бы спровоцировать куда большие скандалы…”

Так же ЦВК отказал в регистрации  Максиму "Тесаку” Марцинкевичу (по своей инициативе) и исключил из состава кандидатов Бориса Стомахина и Николая Королёва (на основании обязательного для ЦВК политического решения Оргкомитета Протестных Действий)

По утверждению депутата Госдумы от партия Справедливая Россия Ильи Пономарёва, ЦВК отказал в регистрации нескольких региональных кандидатов .

"В минувшую пятницу ЦВК, несмотря на двукратное обращение Оргкомитета, окончательно решил не регистрировать 5 региональных кандидатов, за которых я ранее писал гарантийное письмо.” – написал Пономарев.

По пояснениям Леонида Волкова: "…Пономарев написал гарантийное письмо, которым гарантировал уплату оргвзноса за себя, Давыдова, Чувилина, Алексеева, Мазуровского, Клычкова.

Из них:

- Клычков вообще не подал заявки

- Мазуровский подал заявку, но на следующий день - мы не успели ее еще рассмотреть - направил самоотвод

- Давыдов заплатил деньги (и он был зарегистрирован в качестве кандидата. С.Н.)

- за Пономарева заплатили деньги (и он был зарегистрирован в качестве кандидата. С.Н.)

- Чувилин и Алексев ничего не заплатили и им было отказано, номер решения 51 кажется…”.

Полагаю, что Леонид Волков мог бы опубликовать гарантийное письмо Пономарёва, подтвердив свои слова.

Таким образом, Илья Пономарёв реализовал угрозу 5с, попытавшись публично продемонстрировать неправомерный отказ ЦВК к допуску кандидатов на выборы и, как минимум частично, дезинформировав своих читателей. Насколько успешной была демонстрация – предоставляю судить читателям этого отчёта.

Так же ЦВК было отказано в регистрации 52 оплативших регистрацию кандидата от МММ, формально распознанных в качестве ботов, т.к. заполняли свои заявления типовым способом и был исключён из списка первый из МММовцев (т.е. всего мимо выборов пролетели 53 кандидата от МММ) – Борис Ким, которого первоначально ЦВК зарегистрировал.

Учитывая казус Кима, мне чрезвычайно интересно, что могло бы произойти, если бы адептам Мавроди хватило ума написать о себе что-то своё, а не копировать одно и то же заявление под копирку.

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

5.6. Неправомерное включение кандидатов в список

Проблемы технически не было.

5.7. Неправомерное включение аккаунта в число избирателей (виртуал, имперсонация)

Напоминаю, что схема регистрации избирателей была построена по следующему принципу:

1) Сначала избиратели регистрировались на сервере

2) Затем они верифицировали себя, т.е. подтверждали свою личность тем или иным способом.

3) Только те избиратели, чья личность была верифицирована, допускались к голосованию.

ЦВК было придумано несколько способов верификации, а именно

- через денежный перевод (банк подтверждает личность отправителя)

- через перевод Яндекс-Денег

- путём личной явки в РВК и предъявления паспорта

- путём фотографирования с паспортом в руке

- с использованием электронной подписи (в конечном итоге не успели реализовать и он не применялся).

При регистрации декларировался контроль уникальности комбинации ФИО и даты рождения, а так же, как дополнительного средства контроля – сотового телефона избирателя.

Гипотеза о том, что в России нет граждан с совпадающими ФИО и датой рождения, которую ЦВК принял в качестве рабочей, является неправильной, но она оказалась приемлемой для той выборки граждан, которые участвовали в выборах. Если кому-то интересно, при формулировании этой гипотезы, представители ЦВК не учли тот нюанс, что имена и отчества распределяются среди граждан не равномерно, а примерно в соответствии с законом Ципфа (с фамилиями случай более сложный, но об этом не здесь), а так же то, что распределение дат рождения так же не является равномерным.

На будущее я советовал бы чуть усложнить процедуру проверки уникальности регистрации – иначе теоретически возможно возникновение неприятных казусов.

С каждым из способов верификации, были связаны определённые (потенциальные) проблемы, той или иной степени остроты.

5.7.1. Проблемы верификации путём денежного перевода

Было несколько переводов, сделанных не из банков, а через какие-то терминалы, платёжные системы и т.д. Соответствующие аккаунты не были верифицированы (и это правильно, т.к. бог его знает, есть ли на стороне отправителя реальная процедура идентификации физического лица или данные пользователя можно вписать произвольным образом).

Так же эта процедура уязвима к имперсонации, если злоумышленник вступит в сговор с банковским персоналом в каком-то конкретном банковском учреждении.  Это не сложно, имея знакомства в банковской среде и принимая во внимание, что на таких маленьких суммах, скорее всего никакие претензии Росфинмониторинга банку предъявлены не были бы, т.е. для банка такая махинация была бы, скорее всего безопасной.

Борьба с этой уязвимостью могла бы состоять в поиске в массиве переводов таких банковских учреждений, из которых шли массовые переводы для верификации избирателей, голосовавших одинаково. Эта информация в любом случае останется у ЦВК и мне хотелось бы увидеть хотя бы минимальный их собственный отчёт – "проверили, не имело места”, а лучше – дополнение опубликованного протокола голосования указанием на способ верификации и ID банковского учреждения, из которого был отправлен перевод.

Леонид обещал представить такую статистику.

5.7.2 Уязвимость процедуры верификации через Яндекс-Деньги

Я оцениваю её как маловероятную, но теоретически мог бы быть применён такой же механизм сговора как и в предыдущем случае – тем более, что сама процедура верификации пользователя в Яндекс.Деньгах уязвима к такого же сорта атаке через сговор с банковским сотрудником, что и в предыдущем пункте.

Т.е. кто-то мог бы понаделать к выборам большое количество Яндекс.кошельков, обеспечить поддельную идентификацию владельца кошелька в системе и потом верифицировать такими кошельками поддельные анкеты избирателей.

Проверить, имело это место или нет могли бы представители компании – на это, наверное, возможно рассчитывать, имея ввиду присутствие в числе технических-экспертов наблюдателей одного из основателя Яндекса Ильи Сегаловича.

5.7.3. Уязвимость процедуры верификации путём личной явки в РВК

Тут имеет место проблема, аналогичная предыдущим – недобросовестность конкретного РВК могла бы привести к массовой оффлайновой "верификации” виртуалов. Мы обсуждали проблему с Леонидом и он обещал по окончании выборов раскрыть информацию о том, какие ID верифицировались конкретно в каких РВК и какими операторами. Это позволило бы провести статистический анализ голосования и надеяться на эффективное отсечение злоумышленников.

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

5.7.4. Уязвимость процедуры верификации путём фотографирования с паспортом в руке

На мой личный взгляд - это ужасная одноразовая идея, которая как-то сработала на этих выборах, но не должна применяться в будущем. К сожалению, ЦВК кто-то "проконсультировал”, что с ней всё ок. Я утверждаю, что это, увы, не так.

5.7.4.1. В системе отсутствует какая-то возможность проверить корректность действий оператора, осуществлявшего верификацию

По утверждению Леонида, картинки удалялись сразу, как только по ним принималось положительное или отрицательное решение.

С одной стороны, это почти исключало возможность целенаправленного одобрения известных недобросовестному оператору паспортов виртуалов. С другой – у нас нет никакой гарантии того, что все операторы действовали действительно внимательно и ответственно и проверяли корректным образом все необходимые атрибуты на скане паспорта. Моя личная практика руководителя проектов в сфере IT говорит о том, что при массовом ручном вводе данных процент ошибок операторов очень сильно отличается от нуля и повторный контроль их действий необходим.

5.7.4.2. Возможность использования чужих и сфабрикованных сканов паспорта для имперсонации (т.е. для действий от имени реально существующего человека без его ведома) и создания виртуалов.

Сканы чужих паспортов можно взять, например, из Яндекса .

Существуют сведения о наличии в интернет специальной программы для генерации скана паспорта РФ (утверждают, однако, что большинство предлагаемых для скачки её экземпляров заражены троянскими конями и не работают, я не собираюсь проверять эти факты).

На чёрном рынке присутствуют наборы таких сканов, украденные у банков и специальные сервисы, обеспечивающие такую услугу.

Технически не так сложно фабриковать такие сканы при помощи обычных средств редактирования изображений.

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

В результате система оказалась открытой для единичных инцидентов с фабрикацией аккаунтов, что и было продемонстрированно желающими в достаточно глумливой форме (по утверждению представителей ЦВК этот конкретный аккаунт в итоге был заблокирован от участия в выборах).

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

Итого по этой позиции мы имеем как минимум единичные случаи реализации угроз 7b и 7c – шутники и злоумышленники действительно могли сделать таким способом аккаунты,  так же у них есть основания  говорить о том, что существуют аккаунты, для которых такая операция была проделана, но их ЦВК не распознал в качестве фальшивых.

Моя личная оценка состоит в том, что обладая резервом времени в несколько месяцев и бюджетом от 2.5 млн рублей, можно поставить генерацию таких фальшивок на поток и снизить стоимость "избирателя” примерно до 500 рублей за виртуальную голову, включая стоимость закупки SIM-карт. Учитывая бюджеты оппонирующей стороны и наличие в её рядах квалифицированных специалистов, скажем так, в сферах аналогичной деятельности, я бы очень сильно задумался о целесообразности сохранения этого метода верификации к следующим выборам в КС.

Для каких-то менее значимых выборов его присутствие в алгоритмах работы выборного сервера, наверное, всё же допустимо.

5.7.5. Специальный режим регистрации/верификации, проводимой силами членов РВК (Самостоятельно обнаружено членами РВК Нечаевым и Ермаковым, подтверждено Леонидом Волковым в качестве ранее не вполне задекларированной особенности системы).

У членов РВК была возможность регистрировать и верифицировать избирателей на один тот же номер телефона. Сделано в интересах пенсионерок, которые придут на РВК без сотовых телефонов. По настоянию представителей националистической курии эта возможность была отключена ориентировочно в 15-16 часов 21 октября. По утверждению Леонида, на момент отключения она была использована 8-10 раз. Этот момент необходимо будет перепроверить после окончания выборов путём  анализа базы данных системы.

5.7.6. Верификация путём использования электронной подписи государственного образца

Считаю, что этот метод верификации избирателей перспективен. Возможность со стороны государственных органов злоупотребить им является достаточно сомнительной по причинам репутационного характера – в настоящее время цена вопроса с выборами в КС для заинтересованных структур не настолько высока, чтобы подвергать репутационным рискам отечественную инфраструктуру ЭЦП, в развитие которой были уже вложены миллиарды рублей и которая имеет для государства стратегический характер. Жаль, что его не успели адаптировать к этим выборам в КС, надеюсь, что хотя бы к следующим он заработает.

5.8. Неправомерное голосование чужим аккаунтом

Выстроенная ЦВК система доступа к личным кабинетам через одноразовые пароли, высылаемые по SMS выглядит разумной. Считаю, что риск неавторизованного голосования был минимизирован.

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

5.9. Искажение результатов голосования

Имели/имеют место следующие проблемы:

5.9.1 Проблема с площадкой Votepoller.  (Основано на устных пояснениях Леонида Волкова)

На момент  начала голосования программисты Votepoller не полностью реализовали протокол сервера голосования и решением ЦВК не были подключены к серверу. Тем не менее площадка собирала голоса и складировала их где-то у себя. После подключения к серверу ЦВК она отправила их на сервер пакетно. Такая схема работы, во-первых организационно выглядит не вполне корректно, т.к. вообще говоря, не было никаких гарантий, что площадка успеет реализовать все необходимые технические требования, а голоса она собирала.

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

5.9.2. Проблема с юзабилити бюллетеня голосования.  (Основано на пояснениях Леонида Волкова).  В результате неудачного оформления избирательного бюллетеня, многие избиратели отправляли бюллетень на голосование с одним кандидатом, думая, что всего лишь фиксируют его выбор в бюллетене. К сожалению, с этой проблемой в процессе текущего голосования ничего сделать, наверное, было нельзя, но она проявилась достаточно сильно – в некоторый момент подозрение было в некорректной работе площадок голосования.

5.9.3. Уязвимость на стороне голосовательных площадок (На эту проблему обратил внимание наблюдатель от Фонда Развития Электронной Демократии Юрий Титов)

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

В качестве меры контроля следовало бы раскрыть в протоколе, с какой площадке шёл голос избирателя для каждого из ID.

5.9.4. Потенциальная возможность централизованной генерации заполненных бюллетеней

Незаметное для посторонних искажение результатов голосования со стороны ЦВК теоретически возможно путём прямой корректировки результатов работы программного обеспечения (базы данных, лог-файлов) прямо в процессе голосования.  Если считать, что сам по себе процесс регистрации и верификации надёжен, то, тем не менее, такая возможность остаётся.

Для того, чтобы повысить уровень доверия к процессу голосования, ЦВК принял решение начать выкладывать с интервалом в 15 минут протокол работы в виде зашифрованного файла, пароль от которого предполагается раскрыть после выборов.  Протокол включает в себя ID избирателя, выбранных им кандидатов.  

Протокол не включает в себя время/дату голосования, которые можно восстановить только косвенным путём, по последовательности в протоколе. Это плохо и это неправильно, тем более, что на практике 15-минутный интервал обновления был нарушен в результате DDOS-атак и впоследствии оказался увеличен до 30 минут.

Предполагается, что каждый из избирателей, зная свой ID, мог бы проверить – как отображено его голосование в системе, а заинтересованные лица по окончании выборов - осуществить независимый подсчёт голосов по протоколу и сверить его с результатами, выданными ЦВК.

К сожалению, хотя идея правильная, реализация хромала. Внутри системы ID генерируется случайным образом и его привязка к конкретному избирателю  осуществляется с использованием таблицы соответствия ID и необратимого хэша от ФИО+дата рождения.

Теоретически, ЦВК мог бы генерировать фальсифицированные бюллетени голосований прямо в процессе голосования, писать их в общий протокол, а по окончании выборов – раскидать эти ID по хэшам тех избирателей, которые верифицировались, но не  проголосовали. Раскидать было бы возможно, т.к. разумной гипотезой будет предположить, что хотя бы несколько процентов верифицировавшихся избирателей всё-таки не станут голосовать.

Основываясь на первоначально полученной от Леонида информации (тогда я его понял так, что хэши в системе считаются от ФИО+дата рождения+телефон) ещё днём 20 октября я предложил дополнить указание ID в протоколе голосований указанием хэшей.  

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

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

Мы договорились, что соответствующее изменение будет сделано 21-го октября в 8 утра. Учитывая, что 20-го из-за DDOS-атаки мало кто успел проголосовать, такое решение могло бы пройти по разряду "лучше чем ничего не сделать”.

К сожалению, на практике 21-го это просто не было реализовано, да и, как выяснилось, хэши, идентифицирующие избирателя, в системе считались немножко по другому принципу (ФИО+дата, без номера телефона) и программисты оказались не готовы внести такое масштабное изменение в систему на ходу. К тому же более короткий набор исходных данных для хэша сделал бы раскрытие предпочтений избирателей 100% реальным.

 После совещания с Леонидом и руководителем программистов мы договорились о том, что дополнительно к ID избирателя в протокол будут вписываться последние 3 цифры номера его телефона. Такое изменение было внесено в систему в какой-то момент в период с 23:45 21.10.2012 по 5:35 22.10.2012.

Если бы разработчики  перегенерировали бы в тот момент старые записи протокола, тоже добавив к ним 3 последние цифры телефонов, это повысило бы доверие к процедуре голосования сильнее, чем внесение этой информации в протокол только для записей, которые начали создаваться в последний день голосования.

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

Так же я считаю, что сама процедура выкладки протокола была реализована неоптимальным путём, затрудняющим сверку версий протокола, выложенных в разное время. Рекомендация на будущее – выкладывать следующие версии протокола не убирая предыдущие и, дополнительно, кроме сайта ЦВК, дублировать эту выкладку на внешних торрент-треккерах.

5.9.4.1. Была ли использована эта уязвимость на практике?

У меня не было технических средств, чтобы строго доказать, что нет.

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

Учитывая, что такого сорта обманы практически всегда вскрываются задним числом (программист не может не проболтаться), я не очень верю, что Леонид и команда разработчиков стали бы ставить тут на кон собственную репутацию и репутацию проекта Демократия2 (команда разработчиков делала сервер выборов частично на основе кода Демократии2).

В конце концов выборы в КС-2012 – это одноразовое действие, а репутация остаётся очень надолго.

Неприятность этой ситуации состоит в том, что она реально открывает желающим ворота для критики процедуры выборов и с моей стороны так же было бы нечестно не обратить на неё внимание читателей.

5.9.5. Отсутствие защиты от имитации подделки голосов в протоколе

Проще говоря, у ЦВК сейчас нет защиты от голословных заявлений о том, что чей-то голос вписан в протокол неверно (угроза 9c).  Хотя механизм такой защиты достаточно тяжёл для понимания неспециалиста, реализовать её было бы не так сложно, сделав прозрачным для тех, кто его не использует и доступным для тех специалистов, которые хотели бы убедиться.

Такая защита должна быть реализована в следующих версиях системы голосования.

6. Безопасность – это процедура

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

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

Эти материалы могли бы повысить степень нашей уверенности в отсутствии проблем на выборах. Но, если, в рамках паранойи, всерьёз исходить из того, что вся затея с выборами была организована для взятия под контроль оппозиции некими сторонними силами (допустим, засланцами из зловещей Администрации Президента), то, приняв во внимание выделяемые на борьбу с оппозицией бюджеты и уровень квалификации специалистов на той стороне – представителям Оргкомитета Протестных Действий стоило бы отнестись к вопросу о контроле за работой ЦВК более ответственно.

Другой вопрос, что мало кто из представителей оппозиционного лагеря всерьёз рассматривает вопрос о недобросовестности и ангажированности ЦВК и что имитируют параноидальные подозрения по данному вопросу в основном ярые сторонники властей и прочие "охранители”. Но для них смазать политический эффект от этих выборов в глазах сторонней публики вполне реально.

Кроме меня и коллеги от блока националистов Федора Верёвкина, а так же наблюдателя от организации ФРЭД (Фонд Развития Электронной Демократии) координатора ФРЭД Юрия Титова,  процесс выборов с технической стороны не контролировал никто. Не было наблюдателей от курий левых и либералов, от общегражданских кандидатов был опять-таки один я, представляя так же, по совместительству, интересы кандидата по общегражданскому списку Натальи Холмогоровой.

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

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

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

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

Потому что ваши оппоненты БУДУТ вкладывать ресурсы в разрушение и компрометацию этой системы.

Попытки обструкции ЦВК со стороны отдельных оппозиционеров выглядят несколько нелепо. Если Вам система выборов действительно нужна -  добивайтесь хорошей работы от того, кто пытается создать и продемонстрировать возможность работающей альтернативы официальным выборам, помогайте ему.

Ну или сделайте сами лучше (но пока что я не видел убедительных претендентов на то, чтобы сделать лучше).

7. Выводы и перспективы

7.1. Технически система голосования в целом построена по правильным принципам, но содержит ряд устранимых уязвимостей, которые могли бы оказать существенное влияние на результаты выборов.

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

7.3. Построенная выборная система имеет ряд серьёзных процедурных проблем, которые должны быть устранены путём сотрудничества вновь выбранного КС оппозиции и ЦВК. Если они не будут устранены – говорить о дальнейшей работоспособности системы выборов, находящейся в распоряжении оппозиции будет сложно.

7.4. Система электронных выборов показала достаточную устойчивость к внешнему давлению, как техническому (проблемы были, но были устранены),  так и административному.  Прозвучавшие со стороны Ильи Пономарёва и представителей МММ предложения сделать ставку на оффлайновую процедуру выборов не выглядят сколько-то конструктивными и обоснованными. Такая процедура будет заведомо более уязвимой как давлению властей, так и к манипуляциям со стороны недобросовестных сотрудников избирательных участков на местах. Кто там сколько голосов на бумажках посчитает – никому проверить вообще будет невозможно даже чисто технически. Т.е. данное предложение заведомо равнозначно замене хоть как-то работающей процедуры выборов её профанацией. Аргумент о том, что не все жители России подключены к интернет, конечно имеет под собой некоторую почву, но, в то же время, если вспомнить о том, что в РФ к интернет подключены 39% всех домохозяйств, то это проблема для выборов будет намного меньшей, чем то, что кто-то на УралВагонЗаводе сможет завести местный РВК, напечатать бюллетени и голосовать ими на выборах в КС оппозиции за Владимира Путина.

7.5. Сравнительно с официальной системой выборов в России, в том числе с её технической компонентой – ГАС Выборы, система построенная ЦВК продемонстрировала намного бОльшую степень технической состоятельности и открытости. Перечисленные мною уязвимости имеют место, но они видны публике и могут быть устранены. Публикуются и протоколы электронного голосования, которые позволяют как-то анализировать работу системы в её динамике.

ГАС Выборы является полностью закрытым от избирателя черным ящиком, никто не знает, как он работает, наружу не выдаётся никакой толковой статистики. В отличие от представителей ЦВК, представители ЦИК РФ не демонстрируют особой заинтересованности во внешних наблюдателях.

(Например, на организованной редакцией Pravda.ru встрече с Чуровым я обсуждал вопрос какого-то сотрудничества как наблюдателя за технической системой, со мной очень благожелательно пообщались, взяли координаты и пообещали связаться. Жду уже второй год.)

Т.е. вместо объективного внешнего контроля над системой, избирателям предлагают положиться на репутацию господ из ЦИК. Ну извините… На фоне того, что многочисленные засвеченные в публичном пространстве инциденты с надёжностью работы ГАС Выборы вообще никак публично не обсуждались между представителями ЦИК и представителями профессионального сообщества – сравнение между Волковым и Чуровым по этой позиции, увы, не в пользу команды последнего.

7.6 Вопрос о степени доверия этим конкретным выборам может быть решён окончательно после того, как ЦВК раскроет всю обещанную им статистику. Но, как минимум, объём анонсированного раскрытия показывает некоторую степень уверенности ЦВК в том, что они делают.

Хочу предупредить читателей, что уже озвученная в Живом Журнале теория о "статистически недостоверном распределении последних трёх цифр телефона в протоколе голосования”, скорее всего является результатом некомпетентности её авторов.

8. Благодарности

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

Я благодарен Оргкомитету Протестных Действий за то, что он инициировал эти выборы,  избирателям за то, что они пришли и проголосовали, а кандидатам – за то, что выдвинули свои кандидатуры.

Отдельное спасибо:

- alexkuklin , m0na-sax, arkanoid за консультации по вопросам, которые я знал, но забыл и тяжело/некогда было вспоминать/выяснять.

- sp0raw за его технические комментарии, которые для меня были  небесполезны, несмотря на его брызганье ядом в адрес оппозиции.

- молодому человеку из МММ в красивом галстуке, который звал меня присоединяться к этой замечательной организации. Спасибо, Ваше предложение очень лестно, но, наверное, нет ; - )

9. Приложения

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

10. Контакты

Со мной можно связаться по адресу e-mail  sn@sudo.su и через живой журнал.

Материал недели
Главные темы
Рейтинги
АПН в соцсетях
  • Вконтакте
  • Facebook
  • Twitter