Как стать автором
Обновить

Центризбирком РФ обфусцировал статистические данные выборов на своем сайте, вероятно, чтобы затруднить их анализ

Разработка веб-сайтов *Криптография *Реверс-инжиниринг *Законодательство в IT Статистика в IT

Российский ученый Сергей Шпилькин, известный своими исследованиями статистических аномалий в результатах российских выборов, в своем фейсбуке сообщил о том, что по состоянию на 19 сентября 2021 года на сайте Центризбиркома РФ невозможно скопировать данные со страницы с результатами выборов.

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

Ссылка на страницу для примера: http://www.izbirkom.ru/region/region/karachaev-cherkess?action=show&root=92000011&tvd=4094002721588&vrn=100100225883172&region=9&global=&sub_region=9&prver=0&pronetvd=null&vibid=4094002721588&type=242

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

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

Upd. Пользователь @jtraub также заметил, что кроме использования сгенерированных шрифтов для подстановки символов, в страницу также вставляются дополнительные скрытые span'ы для затруднения парсинга.

Upd2. @nin-jin предложил изящный 25-строчник на JS, который легко преобразовывает страницу в нормальный текст с помощью html2canvas и tesseract.

Upd3. @strayge предложил решение на Python с улучшенной точностью.

Upd4. Теперь еще есть дешифратор от @aulitin не испольщующий браузер и OCR.

Upd5. ЦИК убрал обфускацию со страниц со старыми данными, но новые данные по-прежнему обфусцированы: http://www.izbirkom.ru/region/region/karachaev-cherkess?action=show&root=92000011&tvd=4094002721588&vrn=100100225883172&region=9&global=&sub_region=9&prver=0&pronetvd=null&vibid=4094002721588&type=242

Upd6. И еще инструмент от @lifeair: https://github.com/LiFeAiR/izbirkom31

Follow-ups: https://habr.com/ru/post/579418, https://habr.com/ru/post/579492/

Теги: выборыcssшрифты
Хабы: Разработка веб-сайтов Криптография Реверс-инжиниринг Законодательство в IT Статистика в IT
Всего голосов 187: ↑183 и ↓4 +179
Комментарии 568
Комментарии Комментарии 568

Похожие публикации

Лучшие публикации за сутки