Привет, Хабр

Как вы могли заметить (1, 2, 3...), к темам персональных данных и электронного голосования мы неравнодушны и по отдельности, а уж когда они встречаются вместе…

Более миллиона жителей Москвы и Нижегородской области проголосовали за поправки к Конституции или против них через интернет. «Медуза» выяснила, что паспортные данные этих избирателей лежали практически в открытом доступе. Более того, оказалось, что некоторые интернет-избиратели были записаны в системе дважды, а другие смогли проголосовать, хотя их паспорта МВД считает недействительными.


TL;DR: что произошло:

  • УИКи (участковые избирательные комиссии, это те, в которые вы ногами ходите, чтобы проголосовать) получили от МГИК (московской городской избирательной комиссии, это главная избирательная комиссия Москвы) программку, которая позволяла быстро проверить, не голосовал ли пришедший за бумажным бюллетенем товарищ дистанционно по электронке
  • вместо доступа к удалённому серверу при каждой проверке предлагалось качнуть базу SQLite и проверять всё локально — то ли ради простоты написания софтины, то ли на случай сбоев связи
  • в базе были хэши номеров паспортов избирателей
  • разумеется, базу слили на сторону, по хэшам за пару дней подобрали реальные номера паспортов
  • четыре с лишним тысячи паспортов из базы при проверке в публичном интерфейсе МВД оказались недействительными (ну и совсем по мелочи там ещё было дубликатов и т.п.)

Под катом — что произошло на самом деле и, главное, как это расценивать с точки зрения меня, как официального наблюдателя в ТИК ДЭГ от Общественной палаты РФ и Партии прямой демократии.

Фактическая часть изложенного «Медузой» верна

УИК, программа, база данных, номера паспортов в ней — всё действительно так. Файл базы уже распространяется по телеграм-каналам, желающие могут без малейшего труда его найти и, если не жалко процессорного времени, повторить все процедуры по вскрытию, описанные «Медузой»: сбрутфорсить пароль архива, а потом восстановить номера паспортов по их хэшам. Хэши несолёные, больших проблем не будет.

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

Утечки персональных данных не произошло

А вот здесь «Медуза» не устояла перед хайповым заголовком. Номер паспорта без дополнительной информации не позволяет идентифицировать человека, а значит, не является персональными данными. Если бы было иначе — за публикацию тут циферок, например, «4506 634-982» я с некоторой вероятностью мог бы пойти по 13.11 КоАП РФ, так как с некоторой вероятностью это может быть чей-то паспорт.

Когда избиратель приходил на УИК — комиссия смотрела его паспорт, сверяла с его лицом, сверяла с книгой избирателей, и только потом, то есть после полной идентификации гражданина, проверяла номер его паспорта по базе проголосовавших на ДЭГ.

Единственное, что можно установить по этой базе — факт голосования избирателя на ДЭГ, и то, если вы заранее знаете его номер паспорта: например, можно пробить родственников или сотрудников. Смысла в этом не очень много (даже если вы хотите контролировать факт голосования — человек всегда может сказать, что голосовал «бумажно»), да и среди наблюдателей жива вечная дискуссия, можно ли факт голосования без знания его результата относить к тайне голосования — с учётом, что самим наблюдателям и членам УИК и ТИК поимённые списки проголосовавших доступны.

Вопрос с недействительными паспортами пока неясен

На наш запрос Артём Костырко, отвечающий за проект ТИК ДЭГ в Правительстве Москвы, ответил, что сверка паспортных данных проходила по СМЭВ (система межведомственного электронного взаимодействия), ручаться же за достоверность данных в публичном интерфейсе проверки паспортов МВД он не может — более того, лично знает двух людей, чьи паспорта проверку не проходят.

В принципе, объяснение выглядит правдоподобным, особенно с учётом, что а) с мая по июль 209 паспортов из списка вдруг стали снова действительными, б) есть уже известная история с тем, что документы, срок действия которых истекал в апреле-июне и которые указом Президента были продлены до июля, проверку по ведомственным базам не проходят и в) даже если предположить некий «намеренный вброс», его масштабы в 0,4 % для вброса немного бессмысленны.

Причина всего — межведомственное взаимодействие, отсутствие централизации разработки и стороннего аудита

Хотя в целом системой ДЭГ занимался ДИТ Москвы и как разработчик, и как оператор, конкретно за УИКи он отвечать не может, даже права такого не имеет — поэтому с УИКами работала МГИК, и конкретно приложение для проверки паспортов избирателей делал не ДИТ. ДИТ только выгружал для него базу данных номеров паспортов из своей системы ДЭГ.

Собственно, такой подход к разработке — тут ДИТ, тут МГИК, тут рыбу заворачивали, а ответственных вообще сходу не установишь — и является причиной наблюдаемого бардака.

При этом то, что дистанционные электронные голосования в России будут внедряться и расширяться, можно считать уже фактом — хотя бы по бурно положительной реакции на прошедшее голосование, в результате которого даже в КПРФ поменяли свою позицию с отрицания на поддержку ДЭГ. И крупные партии, и правительство, и избиратели с очевидностью ДЭГ на данный момент в целом довольны.

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

  • разработка системы ДЭГ должна быть вынесена на федеральный уровень и централизована (NB: не путать с работой оператора системы — операторов должно быть несколько)
  • должны быть назначены конкретные ответственные за каждый компонент ДЭГ
  • должна быть открыто опубликована архитектура и документация на ДЭГ, охватывающая все её компоненты
  • должен быть определён и далее соблюдён порядок аудита всех компонентов ДЭГ независимыми экспертами и наблюдателями

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