maxvl (maxvl) wrote,
maxvl
maxvl

Categories:

Программист Илья Сухоруков, наблюдавший за электронным голосованием, рассказал о подделках ДЭГ

Майоритарная система выборов

Программист Илья Сухоруков наблюдал за электронным голосованием. Он рассказал Юлии Латыниной о подделках блокчейна, вахтерах, майорах и сертификатах ФСБ


По итогам «бумажного» голосования кандидаты от «умного голосования» побеждали ЕР в Москве с разгромным счетом. По итогам электронного голосования все они вдруг проиграли. При этом результаты ЭГ были  объявлены не через час, как раньше, а много позже.

Самое интересное происходило в участковых комиссиях на электронных избирательных участках. Там тоже были наблюдатели, но в большинстве своем технически неподкованные для такой работы. Правда, были и исключения. И вот таким «шибко умным» запретили доступ к ноде наблюдателя (то есть компьютеру, подключенному к блокчейн-сети, с которого можно контролировать происходящее на электронном участке). А когда допустили, выяснилось, что она не работает, потому что у нее больше нет сертификата безопасности, выдаваемого ФСБ РФ. Его действие истекло в 20:00 19 сентября, то есть сразу после окончания выборов.

О том, что происходило в электронном УИКе в ту ночь, Юлия Латынина поговорила с Ильей Сухоруковым, профессиональным программистом, который был наблюдателем от Анастасии Брюхановой на электронном УИКе в ту ночь и который первый поднял тревогу и пытался прорваться к ноде.

— Результаты электронного голосования подделаны?

— Мы еще не знаем. У нас есть некоторые догадки, с которыми мы пока разбираемся.

— Ок. Тогда пойдем по порядку. Что это за история с сертификатами ФСБ? Желательно на пальцах.

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

Вообще, мне придумалась вот какая аналогия. Блокчейн — это как химический процесс, который мы невооруженным глазом не можем увидеть, но можем кое-что увидеть в микроскоп. В нашем случае было два микроскопа. Один — с YouTube-трансляцией в интернет. Это сайт observer.mos.ru, сделанный так, чтобы любой мог с него наблюдать или скачивать информацию.

Он всю пятницу показывал не то, что на самом деле. Он показывал явку по округам неверную — явка там остановилась в 12 дня.

И был второй микроскоп мощный — он называется нода наблюдателя. Мы, наблюдатели, с его помощью могли смотреть, что все идет корректно. И мы увидели, что явка растет, и это просто баг observer.mos.ru. То есть мы увидели, что это просто у разработчиков руки кривые, и не стали поднимать скандал. К сожалению, я не большой специалист именно по блокчейну, и поэтому, когда я смотрел на ноду во время голосования, я не мог разобрать: это мне химический процесс показывают или я через микроскоп смотрю на маленький мониторчик, в котором происходит имитационный процесс.

— Стоп. А что во время голосования показывает нода наблюдателя?

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

— И это тогда доказало бы наличие или отсутствие фальсификаций?

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

— Почему?

— Потому что еще тогда не думали о возможности фальсификаций. И даже программистов на участке не было. Была наблюдатель с ПРГ (право решающего голоса. — Ю. Л.) от КПРФ Анна Лобонок, координатор по Хорошевскому району. Вот ее послали туда как программиста. И был еще наблюдатель с ПСГ (право совещательного голоса. — Ю. Л.) от Махницкого, но он совсем не программист. И я чуть-чуть больше их понимал. Но я веб-программист. Я не по блокчейну.

— И вот наступает 8 часов вечера.

— Как я уже упоминал, у меня в целом было доверие к электронному голосованию, потому что люди, которые специалисты, говорили, что все было честно. Я особо не волновался. И в 9 вечера не волновался. В 9:30 появились первые результаты по МГД (Московской городской думе. — Ю. Л.). А у нас ничего нет. Мы ждем. Тут я вижу, что есть результаты по МГД. Начал разбираться, откуда результаты. Оказывается, на observer.mos.ru появился блок.

А блокчейн — ну, упрощенно говоря, считайте, что это эксель-таблица, в которой каждая строчка подтверждает, что все предыдущие строчки не менялись. Блокчейн используется, чтобы всю цепочку нельзя было поменять. И вот в этой таблице на observer.mos.ru появляется новая строчка — результаты выборов по МГД, и я вижу, что Карманов (кандидат в Мосгордуму. — Ю. Л.) проиграл. 10 тысяч голосов отрыв в электронке не в его сторону. А потом я смотрю, что сумма голосов — 24 тысячи человек. А зарегистировались 37 тысяч в округе и явка 95 процентов.

— А как это может быть? Это же блокчейн.

— У меня возник тот же вопрос. Я начал бегать везде. Забежал в ноду наблюдателя, и председатель УИКа — Юрий Константинович Павлов — начал на меня орать: «Выйдите!» Я ему сдуру подчинился. Я все еще думал, что выборы будут более или менее честные.

Тут надо пояснить, что для выборов в Госдуме, МГД и муниципальных созданы три электронных УИКа, и все сидят в трех соседних помещениях. В одном месте. Я был ПСГ от Брюхановой и Карманова (кандидат в Мосгордуму от Каца.Ю. Л.). Я подошел к председателю УИК МГД и говорю: «Обеспечьте мне доступ к ноде наблюдателя». Тот: «Ну пойдемте». А нода наблюдателя — в смежном помещении с УИКа Госдумы. Мы идем с нашим председателем комиссии по выборам в МГД, а председатель УИКа по выборам в Госдуму говорит: «Не пускайте его». Хотя УИКи и разные, но моя председатель воспринимала его как главного.

Вот тут была моя ошибка: надо было настоять. Но у меня все еще была уверенность, что это просто синдром вахтера включился у председателя УИКа. И я не отрефлексировал. Тем более, подумал я, что вся база была доступна в обсервере. Задним числом ничего поменять не удалось бы. Мы сейчас находим тех людей, которые скачивали блокчейн в течение дня, и пока он одинаковый. Так как люди его постоянно скачивают — его подменить сложно. Тогда я думал, что если бы я прошел в ноду, я бы увидел то же самое, что на observer.mos.ru.

— А сейчас так уже не думаете?

— Не знаю. Не уверен. В полдесятого появляются результаты по МГД. И они явно не сходятся по количеству голосов. Я начинаю спрашивать: «Как так?» И в 11 происходит пресс-конференция главы <Общественного штаба по наблюдению за выборами в Москве> Венедиктова и <начальника Управления по совершенствованию территориального управления и развитию смарт-проектов правительства Москвы> Костырко о том, что выложены результаты только по тем, кто проголосовал один раз. А есть, мол, еще те, кто переголосовывал.

— И тут-то вы поняли, что беда?

— Нет! У меня было впечатление, что базу людей, менявших голос, они ее просто продолбали. И что голосование более или менее честное. И в час ночи я нахожу Венедиктова и прошу обеспечить мне доступ в ноду. Венедиктов зовет Массуха (глава штаба для наблюдения за ходом электронного голосования в Москве. — Ред.). Тот меня сопровождает в ноду, и там случилась ключевая вещь — нам обеспечили доступ.

И мы начали осуществлять запросы. И на запросы система не отвечает. Запрос осуществляется через Google Chrome. Я говорю: «Давайте зайдем в панель разработчика, где можно посмотреть на эти запросы чуть более расширенно».

— Что значит — более расширенно?

— Если вы обычный пользователь, вы нажимаете кнопку, и осуществляется запрос, но не понимаете, как он идет, вы только видите, загрузился сайт или нет. А с панелью разработчика вы можете понять, кому был сделан запрос и какой был ответ. Панель разработчика на сервер никак не влияет. Сервер вообще не знает: открыта эта панель или нет. И мне программист говорит: «Не могу. Настройки безопасности».

То есть он говорит чушь, и я понимаю, что он говорит чушь, и он знает, что я это понимаю. Но говорит.

Он открыл панель разработчика и говорит: «Я не буду делать запрос, потому что безопасность». Я говорю: «Делай». Он нажал кнопочку, отправил запрос с открытой панелью разработчика.

— И?

— И он говорит: «Не покажу».

— Что происходит дальше?

— Я начинаю скандалить. И тут происходит центральное событие ночи, которое мы не зафиксировали в жалобе. Вот тут наша большая ошибка. В два часа ночи появляется Михаил, сотрудник ДИТа… (Департамента информационных технологий г. Москвы. — Ю. Л.)

— ДИТа? Я говорила с Денисом Шендеровичем. Шендерович сказал, что ему показалось, что этот Михаил был из ФСБ. Такой… подтянутый слишком для программиста.

— ФСБ была потом. Возвращаемся к панели разработчика. Каждый вопрос от компа к компу подписывается сертификатом. И Михаил говорит: «Сертификат ноды истек в 8 вечера».

— Стоп-стоп! Как — восемь вечера? Вы сами сказали, что нода — это микроскоп, с помощью которого вы наблюдаете за процессом. Вот кончились выборы, пошел процесс подсчета, самое оно — и тут у микроскопа захлопнули крышечку?

— Именно. Я спрашиваю, когда будет новый сертификат, чтобы нода заработала? Михаил отвечает: «Этим занимается ФСБ, будет новый сертификат, нода заработает». Мы не написали в этот момент жалобу, мы документально не зафиксировали, что были какие-то сертификаты ФСБ. Тут только наше слово. Но если они будут отрицать, что это было, то, значит, все очень плохо.

Ключи шифрования на ДЭГ в Общественном штабе по наблюдению за выборами. Фото: Станислав Красильников / ТАСС


— А нафиг вообще ноде — этому микроскопу — сертификат ФСБ? Как-то подозрительно.

— Участие ФСБ здесь абсолютно не нужно. В лучшем случае оно продиктовано тем, что если написано слово «криптография», то ФСБ пытается все подмять под себя. Нам говорят: «Сертификаты будут позже». — «Когда?» — «В течение 10 минут». 10 минут превращаются в час, два, три. Появляются первые электронные результаты по кандидату в Госдуму Брюхановой. Частичные. «В полях» она выигрывала. И, как я говорил, в тот момент я все еще думал, что это процесс не смогли организовать нормально, но посчитают все честно. Есть блокчейн, список поданных бюллетеней — он зафиксирован, и в нем получится найти, где вброс, как он произошел, что с бюллетенями людей, которые проголосовали дважды. То, что количество выданных бюллетеней не равно количеству записей в блокчейне, обнаружилось только вчера вечером. Я (да и вообще никто из независимых наблюдателей, как мне сейчас кажется) не разбирался, как работает система с переголосованием. Я думал, что она «вшита» в блокчейн, а, по имеющейся сейчас информации, она работает независимо от него, и по блокчейну нельзя понять, какие бюллетени должны быть учтены, какие — нет. Ну и я в ужасном уже состоянии был, потому что с 8 утра воскресенья до 9 вечера понедельника я не спал.

— Стоп. Вы сейчас сказали выносящую мозги вещь. Голоса, поданные повторно, — они отдельно от блокчейна?! То есть они построили вокруг этих сокровищ-голосов цифровую крепость, все заминировали, поставили дзоты, цифровые танки, а потом триста тысяч голосов сложили отдельно от крепости в чистом поле, — заходи и бери?

— Да, они отдельно. И Костырко это подтвердил.

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

— Не знаю. Я следил только за нашим округом. Дальше к половине четвертого утра мы понимаем, что все разбежались. Вообще никого нету. И доступа никто не даст.

Где-то к 8 утра приносят результаты. Кто это сделал, мы не видели. Секретарь начал их печатать. Члены комиссии их подписывают. Ближе к 11 утра были распечатаны все копии. И члены комиссии начали разъезжаться по округам, чтобы там внесли данные в систему ГАС-«Выборы». Я поехал домой, и вдруг в 01:15 мне секретарь пишет: «На два часа назначено новое заседание УИК ДЭГ, будете ли вы присутствовать?» Я развернулся и поехал.

Приезжаю — оказывается, что в 201-м округе они в сумме выданных бюллетеней не учли бюллетени какого-то кандидата, и там было 112 тысяч, а должно быть 113 тысяч.

И они собирают комиссию, чтобы это перезаверить.

— Стоп. Это как может быть, что они кого-то не внесли? Есть электронное голосование. И один компьютер может другому компьютеру все сам переслать. То есть что, списывают данные электронного голосования с экрана и вписывают от руки в бюллетень?

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

— Или?

— Ну, знаете, как устроен КОИБ? Он печатает сведения об итогах голосования, а утверждает их комиссия. И бывает, что если сведения неправильные, то в этот момент может отключиться свет, КОИБ станет нерабочим, и бюллетени пересчитают от руки. По-правильному. Здесь та же история. Машина может не учесть тонкости момента.

— Как можно фальсифицировать блокчейн?

— Мы сейчас с этим разбираемся.

— Что это за 300 тысяч людей, которые проголосовали повторно? Это они сами проголосовали или это за них переголосовали?

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

— Илья, у меня такой вопрос. Я ни хрена не знаю про блокчейн, кроме того, что это распределенный реестр. То есть правильно ли я понимаю, что вся суть блокчейна в том, что у вас данные хранятся на разных серверах, которые вы не контролируете, и если вы изменили часть этих данных, другие сервера это сразу видят? При этом весь московский блокчейн расположен на 2–4 серверах, которые хранятся в мэрии Москвы и Общественной палаты. То есть это такой же блокчейн, как Дума — парламент? И переписать его можно легко? Объясните для идиотов.

— Смотрите. Блокчейн можете рассматривать как эксель-таблицу. Если, чтобы совсем просто, представьте, у вас есть текст «Войны и мира». И мы в нем каждую букву и знак меняем на цифру. И суммируем их. И у «Войны и мира» будет свое число. У каждой книги будет свое число, и, сравнив эти числа, мы увидим, что это две разные книги.

— Может случиться, что совпадут?

— Да. И поэтому математики придумали, чтобы никогда не совпадало. Вместо числа они придумали хеш — это последовательность из 30 букв и цифр. Это как отпечаток пальца. Если мы встречаем два одинаковых отпечатка пальцев, значит, они принадлежат одному человеку. Хеш — это цифровой отпечаток пальца, который сгенерирован на основании информации в файле. Сумма цифр в «Войне и мире» — это самый простой хеш.

Невозможно найти два разных файла, у которых были бы одинаковые хеши, и невозможно придумать заранее файл, у которого был бы вот такой же хеш.

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

— Но обратно кубик в быка провернуть нельзя?

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

— Правильно ли я поняла, что даже если блокчейн хранится на серверах в одном месте, то переписать его невозможно?

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

— Но можно переголосовать или проголосовать за несуществующих людей?

— Это к блокчейну не имеет отношения; выдачей бюллетеней занимается мос.ру.

— Илья, в электронное голосование в Москве записались без малого два миллиона. Правильно я понимаю, что вы оказались единственным наблюдателем в электронном УИКе, который что-то смыслил в программировании? Что если бы не вы, то мы бы ничего вот про это не знали: про сертификат безопасности ноды, который истек ровно в 8 вечера, про ФСБ? Неужели там других программистов не было?

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

— Почему вас было так мало? Не думали о возможности фальсификаций?

— Да. Не думали. Я бы вот еще какую важную вещь добавил. Каждый блок — ну, строчка в экселе — все выкладывалось онлайн в течение трех дней в зашифрованном виде. И была система с ключами шифрования. Ключ, с помощью которого можно зашифровать, сгенерировался в 7 утра, в пятницу, и торжественно разделился. В 8 вечера, в воскресенье, он торжественно соединился. В течение всех трех дней голосования бюллетени зашифровывались с помощью этого ключа. В 20.15, в воскресенье, это начали расшифровывать. Блок за блоком. Расшифровка — она длится довольно долго. И, соответственно, observer.mos.ru показывал, что вот мы расшифровали этот блок. И, напоминаю, около 9 я увидел на observer.mos.ru блок с результатами выборов в МГД, который не бился по суммам по 19-му и 37-му округам — там тоже не билась сумма, но там наблюдатель был технически несведущий.

Так вот, если вы зайдете на observer.mos.ru — на результаты выборов в Мосгордуму — и кликнете на последние блоки, то вам покажут, что расшифровка последнего блока остановилась в 12:54 21 сентября, совсем недавно. Это нормально. Последние блоки он расшифровывал, и там был ноль, как и должно было быть.

А если вы зайдете на результаты выборов в Госдуму и кликните на последние блоки, то вам покажут, что расшифровка закончилась в 21:18 19 сентября.

Этого не может быть.


https://novayagazeta.ru/articles/2021/09/21/mazhoritarnaia-sistema-vyborov

Tags: вбросы, выборы, фальсификации, фальсификация выборов
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 1 comment