{"id":860,"title":"\u041f\u043e\u043b\u0451\u0442 \u043a \u042e\u043f\u0438\u0442\u0435\u0440\u0443 \u0432 \u043d\u043e\u0432\u043e\u043c \u0440\u0435\u043b\u0438\u0437\u0435 \u0412\u0430\u043d\u0433\u0435\u043b\u0438\u0441\u0430. \u041a\u043e\u0434\u0437\u0438\u043c\u0430 \u0443\u0436\u0435 \u0437\u0430\u0446\u0435\u043d\u0438\u043b","url":"\/redirect?component=advertising&id=860&url=https:\/\/tjournal.ru\/umg\/450423-poslushat-novoe-kosmicheskaya-opera-ot-sozdatelya-saundtreka-k-begushchemu-po-lezviyu&placeBit=1&hash=d7cf24ebd26468490c3963a5f0d2007e10183cc7470e797c409220708a49a72a","isPaidAndBannersEnabled":false}
Новости
Турецкий ящик

На сайте ЦИК с результатами выборов обнаружили защиту от копирования данных. Памфилова объяснила это атаками на ресурс

Это сильно мешает обработке данных и независимому анализу результатов.

ЦИК

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

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

Страница с примером, попробуйте скопировать цифры из столбика результатов, а потом вставить их в любое поле

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

ЦИК поставил скремблер на отображение результатов выборов. [...]
Не знаю, до какой степени надо бояться собственных граждан, чтобы делать такое.

Сергей Шпилькин
специалист по электоральной статистике

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

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

Глава ЦИК назвала вопросы RTVi «ужасными», отметила, что «некоторые» на телеканале «несут чушь», и заметила, что у неё от подобного «волосы дыбом».

Техническая справка: как это устроено?

Последовательности букв в компьютере хранятся в виде машинных кодов, непонятных человеку. Чтобы текст можно было отобразить на дисплей, используется шрифт – он представляет собой комбинацию «машинный код» и «глиф» (читаемое изображение буквы, картинка того, как она выглядит). Например если в компьютере хранится код «097», то в шрифте записана комбинация этого кода и глифа буквы «а». Именно глиф и выводится на экран, делая информацию читаемой для человека. При создании шрифта можно сделать перемешивание, тогда коду «097», обычно используемому для хранения буквы «a», будет соответствовать не глиф буквы «a», а какое-то иное изображение, например глиф буквы «b».

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

На изображении выше коды, соответствующие «Е» «Ф» «С» в обфусцирующем шрифте заменены на изображения цифр «4» «2» «1», чтобы визуально информация была доступна, как «421», но скопируются исходные коды букв «Е» «Ф» «С» (в правой части, где Chrome отображает HTML код используется обычный шрифт, потому буквы видны в соответствии с общепринятой кодировкой, где исходный код буквы «Е» показан как буква «Е»), что сделает простую обработку данных невозможной.

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

Материал дополнен редакцией
{ "author_name": "яхз", "author_type": "self", "tags": ["\u0446\u0438\u043a","\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430","\u0432\u044b\u0431\u043e\u0440\u044b"], "comments": 162, "likes": 202, "favorites": 30, "is_advertisement": false, "subsite_label": "news", "id": 441432, "is_wide": true, "is_ugc": true, "date": "Sun, 19 Sep 2021 18:49:19 +0300", "is_special": false }
0
162 комментария
Популярные
По порядку
Написать комментарий...

Интересно что на это скажет Памфилова? Что слишком много скачиваний и на это тратятся деньги с бюджета?

71
Магнитный фонарь

За скачивание каждого символа тратятся бюджетные деньги

41

интересно, ели заменить в повседневной жизни и в сми словосочетание "бюджетные деньги" на "деньги налогоплательщиков" народ протрезвеет?

23
Турецкий ящик

Она сказала такой несусветный бред, что я не могу вылезти из пацтала
https://t.me/rtvimain/28656

Памфилова объяснила, почему с сайта ЦИК нельзя копировать данные (а заодно прокомментировала работу RTVI фразой «во что же вы превратились»)
37

переняла гопнический стиль. Сходу начинает: "представься, мразь", "ты с какого района?"

29

Если она не про компьютерную систему, то всё верно сказала.

4

ну в принципе я угадал

3

Эта картинка обрела смысл!

7

Нет, это не тот случай: здесь просто переключились на русскую раскладку клавиатуры и напечатали "KINIAEV". Это не обфускация.

3

Если выделить и скопировать, то там КИНЯЕВ. ред.

1

Там кроме специальных шрифтов ещё много методов:
- случайные буквы внутри span с `display: none;` (не показывается на странице)
- случайные буквы с `position: relative; top: -999999px;` (показывается, но вне окна браузера)
- случайные буквы с `opacity: 0.0` (прозрачный текст)
- случайные буквы в блоках с `width: 0px; height: 0; overflow: hidden;` (блоки с нулевой шириной и высотой)
- настоящие цифры, прописанные в css-селекторах ::after (нет в коде страницы, добавляются браузером динамически)

И, чтобы совсем просто не было, для всех этих вариантов есть обманки, когда цифра добавляется в ::after, но с нулевой шириной и высотой (и, соответственно, не является настоящей), либо наоборот, у настоящей цифры прописаны position: relative; top: 0px; (сдвиг на 0 пикселей вместо 999999 у букв)

Попадаются даже цифры со стилями вроде `color: #cacbe; width: 0xp; display: inlyne-block;` или `width: 0xp; opacity: 0px;` (во всех значениях опечатки или некорректные данные, следовательно стили не применяются и цифра настоящая) ред.

30

Хренасе они там заморочились! Небось целый день выдумывали.

20

И всё это обходится простым скрином и тесеррактом)))) 

8

ПИЗДЕЦ 

2

Такими штуками обычно пытаются спам-фильтры обходить

0

это все легко обойти, но никому это не надо да

0

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

0

Я бы на их месте ещё с флексами и гридами поигрался бы. Было бы забавно. Хуяк! И flex-direction: row-reverse.

0

Это требует работы с браузером, просто загрузить html не выйдет.

0
Недостаточный кот

Хуесосы.

25

Только вот судя по тому как они нагло действуют, в итоге отсосут вовсе даже не они. ред.

0
Знаменитый Денис

Говорите айтишников у них нормальных нет?

12

Дык. А где же они нормальные? 
Столько геморроя для того, чтобы текст скопировать было сложно?! 

Я бы просто на canvas эти таблицы нарисовал) 
Или сами цифры)) 

23

Можно обойти с Puppeteer + Tesseract ред.

11

и в чем геморрой? взяли какое-нибудь готовое решение и прикрутили к столбцам трансформацию цифр в случайный зашифрованный шрифт, работы минут на 30, если делаешь это впервые и на 10, если нет

1

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

0
Магнитный фонарь

У них - нет, но найдётся тот, который не прочь за хорошую сумму всё сделать красиво)

3

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

12

решили простую задачу сложно, генерация картинки более дешевый способ в плане ресурсов

1

раз нашли значит нет

0
Знаменитый Денис

Ну нашли, а толку? Скриншоты OCRрить?

0

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

0

Да я такое на первом курсе универа уже умел.

0
Удивительный танк88

 потому распознавание можно произвести только оптическими методами

Не совсем.

Возьмём к примеру этот шрифт: http://www.primorsk.vybory.izbirkom.ru/fonts1/a106a7f0-cd46-4110-81ed-417957a52738.otf (копия: https://disk.yandex.ru/d/QU4L0TZlURdsqQ). Это рандомный шрифт, который подгружается на сайте ЦИК (взят с этой страницы: http://www.primorsk.vybory.izbirkom.ru/region/izbirkom?action=show&root=252000008&tvd=4254005265098&vrn=100100067795849&prver=0&pronetvd=null&region=25&sub_region=25&type=242&report_mode=null).

С помощью библиотеки opentype.js можно пропарсить шрифты и получить его глифы из переданной строки.

Смешной момент в том, что чуваки, пилившие эту штуку, зачем-то назвали глифы, отвечающие за цифры, именами вида one, two, three и т.д.

Дальше, думаю понятно что с этим можно делать. Пример: https://gist.github.com/tzurbaev/14325ecf140c657c216dddc22a5f15e6 (примеры строк взяты с исходной страницы, результат на изображении).

В теории можно спарсить HTML, найти там <style>, вытащить оттуда правила, пропарсить их и найти название и URL текущего шрифта (и селектор, который применяется к нужным span-ам).

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

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

20

Что-то на умном

–4

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

14
Знаменитый Денис

Но нужно распознать отчеты с почти ста тысяч участков. Возьмёшься?

9

Автокликер+скриншотер+файнридер

5

по времени это будет намного дольше

3
Турецкий ящик

Ну да, но количество участков не является компьютерно большим числом, будет не 3 миллисекунды, а 5 минут макс ред.

7

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

1
Гигантский якорь

сопоставимо со скоростью ботов проходящих капчи

0

Так дешифратор проще написать, так как длина строк та же, впихнуть заранее фразу, которая наверняка встречается на странице и дальше автокорректировать

3

тоже отличная идея

1

цирк рф

15
Пустой огонь

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

11

@яхз как по твоему можно обойти это ограничение?

1
Турецкий ящик

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

30
Знаменитый Денис

Сто тысяч участков, чел ред.

0

не более чем очередной обсёр, попил и суета, хотя "выборы куплены"

1

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

7

Да ладно, статика, кеш все дела))) ред.

0

От авторов onclick="alert('Копирование запрещено!'); return false;" ?)) ред.

6

Все сложнее. Пользователю уже возвращается обфусцированные результаты с сервера. 

1

Это была ирония на тему того, что если кому-то будет нужно, то способы это обойти имеются, и они настолько же (ну почти, утрирую нарочно) элементарны, как и обойти онклик

Способы описаны выше в комментариях, например) ред.

–1

@яхз спасибо, что описал ситуацию! Я поправлю чуток по формату и выведу в соцсети

4

привет, а где на ТЖ можно почитать про расследование про Лаврова от команды Навального?

2

Я что-то не вижу что нельзя копировать. Можете дать ссылку на сайт, где нельзя копировать, а то на http://www.cikrf.ru/ все ок и копируется.

–1
Лесной корабль

автоматизировать распознавание можно только оптическими методами

@Denis Shiryaev нужен оперативный комментарий

1

он занят, буквы на сайте цика для отображения перемешивает

9

Где на сайте цик это лежит?

1
Турецкий ящик

Добавил ссылку пример

7

Пока тут предлагают делать скриншотики на хабре уже написали 25-строчный скрипт который все распознает)
https://habr.com/ru/news/t/578832/comments/#comment_23499710

3

Шифрование склеротичным методом )

2

Банда. Настоящая банда

2

Уебки? Не то слово.

1

Технологии технологии технологии, и главное ведь все во благо! Чтоб враги  не догадались! ред.

1

puppeteer extra stealth + OCR обходит такую примитивную защиту за доли секунды.

1

Вот из-за этой хрени с генерацией шрифтов и прочим у них сервера и падают. ред.

1
Знаменитый Денис

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

1

Эх.. Спектрум... Элита... Во, были времена!

0

Хаха, подождите, это ещё не конец

1

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

0

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

1

Берешь принтскрин и проводишь через Гугл ленз 

>>Профит

0

Еще проще: вывести на печать, далее копипаст ред.

1

На хабре обошли эту обфускацию за 1 час работы и 25 строчек кода. Мощная "защита", угу. И забавно что ЦИК видимо считает "атакой" попытку анализа общественно значимой информации.

0

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

1

А смысл? Чего они хотят добиться таким?

0

Сложнее оперативно собрать данные со всех участков. Непонятно только в чём смысл, если тут в комментариях уже написали, что обошли этот шифр.

0

Чтобы данные забирать оттуда и считать потом статистику по ним

0

Ебать они тараканы

0
Магнитный фонарь

чтобы система не вылетела

Чтобы шрифты не перезагрузились и не взорвали вселенную

0

какой замороченный соц опрос, пздц

0

Сделайте автоматизированную скриншотилку + распознавалку текста с картинки
Апд. А, это предложили в самом посте. Ну вообще такая ситуация полный пиздец  ред.

0

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

0

Каждый раз генерируется новый шрифт.

0

СмекалОчка

0

"А тут уже написали, что работа того, кто это придумывал была проделана зря и вся эта псевдозащита обходится через "распечатать как PDF" (и уже из PDF можно текст нормально вытащить даже в текстовом виде)?"

0

Работа была не зря! Ведь за нее платили.

0
Знаменитый Денис

Из PDF текст появится не волшебным образом, а тоже через OCR распознавание. Чем это отличается от скриншота?

0

На хабре есть скрипт который все расшифрует обратно

0

Неважно кто как проголосовал.... ВАЖНО КТО КАК ПОСЧИТАЛ)))) 

0

Комментарий удален по просьбе пользователя

0
Читать все 162 комментария
null