30 января на сайте Киберполиции удалось найти Javascript-библиотеку Fingerprint для деанонимизации пользователей. Она использовала технологию «цифрового отпечатка». Создателем библиотеки является российский разработчик Валентин Васильев.

Благодаря ей, по косвенным признакам, создается уникальный идентификатор устройства — он позволяет точно обнаружить пользователя, даже если он использует анонимайзеры. Данные, полученные благодаря этому скрипту, Киберполиция направляла на сервер для внутренней аналитики, указывали сохраненные копии сайта ведомства. Ранее AIN.UA детально разобрал ее возможности.

Есть ли тут российский след

Днем 31 января история получила продолжение. Как оказалось, сайт Киберполиции использовал не только библиотеку Fingerprint. С 17 января ее отключили и заменили на аналогичный скрипт под названием Clientjs, созданный американцем Джеком Спироу. Эта библиотека имеет похожую функциональность: определяет как можно больше информации об устройстве, начиная от технических характеристик, заканчивая версиями ключевыми ПО.

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

xhr.open(“POST”, ‘https://webstatstatus.info/statistic.php?add_ident=’+uid+’&fp=’+webstat, true);

Она обеспечивала передачу всех данных (хеша с идентификатором, IP-адреса) в адрес сайта webstatstatus.info. Домен зарегистрирован в России, показывают данные whois.

Почему речь (скорее всего) идет о непрофессионализме

Как указывают исследователи, такая смена направления трафика не может быть следствием взлома — скрипт поменяли сами сотрудники Киберполиции. Но судя по всему, данные все таки не покидали территорию Украины.

Как такое может быть? Домен действительно был зарегистрирован у российского регистратора, но привязанный к нему сервер находился в украинской города Винница. Его хостер — украинская ООО «ОН-ЛАЙН». 

Сайт винницкого хостера

Домен webstatstatus.info зарегистрировали в октябре 2019 года. Почему сотрудники Киберполиции сделали это через российский сервис, а не украинский — неизвестно. Возможно, они просто заказали услугу у винницкого хостера, который оформил все через российский сервис.

Сегодня по адресу webstatstatus.info ничего нет. Если раньше домен был привязан к хосту винницкого провайдера 31.41.219.231, то сейчас ведет на пустой адрес 127.0.0.1. Изменение произошло после того, как в сети начали активно обсуждать скрипты на сайте Киберполиции.

Исследователи указывают, что наиболее логичное объяснение ситуации такое: по адресу webstatstatus.info находилась бекенд-часть для аналитики, которую запустили сами сотрудники — возможно, в тестовых целях. А когда поднялась шумиха, все закрыли.

Что с этим не так

AIN.UA попросил разработчика Эльдара Аватова объяснить, что не так сделали сотрудники Киберполиции. Он рассказал, как можно было организовать безопасную передачу данных.

«Безусловно, для сайта в домене .gov совершенно неприемлема передача данных на внешний сайт. Тем более, если она, судя по коду, осуществляется без авторизации и шифрования. 

Эти принципы были более или менее соблюдены, когда Киберполиция использовала скрипт Fingerprint2. Но в случае с Clientjs сотрудник, отвечавший за правки, явно расслабился и сделал всё так, как недопустимо делать даже в тестовом задании для приёма на работу в небольшую веб-студию. 

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

AIN.UA повторно обратился за комментариями к пресс-службе Киберполиции, но пока не получил ответа.