Опасности QR‑трекеров: как они выдают вашу сеть и устройство

Опасности QR‑трекеров: как они выдают вашу сеть и устройство

Недавно я задумался: а что, собственно, происходит, когда я сканирую QR-код в ресторане или на рекламном плакате? Оказалось, что за простыми «черно-белыми квадратиками» часто прячутся настоящие маркетинговые платформы, которые собирают данные о каждом скане. Хорошая новость — понимание механики снимает половину рисков. Плохая — динамические QR-коды действительно способны собрать вокруг вас больше информации, чем хотелось бы. Я разобрался в деталях и делюсь тем, что именно утекает, при каких сценариях это опасно и что можно сделать прямо сейчас.

Как работают QR-трекеры: никакой магии, только редирект

Когда я начал изучать этот вопрос, первым делом выяснил разницу между статическими и динамическими QR-кодами. Статический QR шифрует конечный адрес прямо в картинку — это как наклейка с URL. А вот динамический QR сначала ведет на сервис-прокладку (Bitly, Uniqode, Scanova и другие), где ваш запрос логируется, а уже оттуда вас перенаправляют на финальный сайт. Именно на этом промежуточном шаге платформа получает «телеметрию сканирования».

Я проверил документацию нескольких популярных сервисов, и они довольно открыто рассказывают о том, что собирают. Например,  QR Code Generator и  Bitly Analytics прямо пишут об IP-геолокации и статистике сканов. В справке Uniqode я даже нашел режим с более точной геолокацией по GPS — правда, только с вашего разрешения.

Что именно собирается? Стандартная веб-телеметрия: время скана, IP-адрес, примерная геолокация по IP, тип браузера и устройства, иногда — откуда вы пришли и какой именно код сработал. Сюда входят  User-Agent Client HintsAccept-Language и другие HTTP-заголовки, которые позволяют примерно понять вашу платформу, браузер и предпочтительный язык.

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

Что конкретно видит владелец QR-кода про мою сеть и устройство

Когда я углубился в технические детали, оказалось, что собирается не какой-то «секретный IMEI», а стандартная веб-телеметрия. Тем не менее, по совокупности она неплохо профилирует пользователя.

Во-первых, это ваш IP-адрес и примерная геолокация — как минимум страна и город, иногда провайдер или организация. Если вы работаете на корпоративном VPN, наружу уйдет IP VPN-сервера, а не домашний адрес. Во-вторых, клиентские подсказки вроде  Sec-CH-UA-Platform и  Sec-CH-UA-Mobile выдают платформу и тип устройства.

Язык интерфейса определяется по заголовку  Accept-Language, что иногда раскрывает региональные настройки. Также фиксируется время сканирования, тип кода и параметрическая аналитика — например, какой конкретно плакат или стенд «отстрелялся». После клика страница может запросить дополнительные разрешения на GPS, камеру или уведомления, но тут вы уже решаете сами.

Развею несколько мифов сразу: без ваших разрешений страница не узнает IMEI или MAC-адрес, не прочитает список приложений и не «взломает» телефон одним фактом сканирования. Но фингерпринтинг по совокупности сигналов действительно существует — я проверил собственную «отпечаточность» на  Cover Your Tracks, и результат оказался довольно показательным.

Где начинается настоящая опасность: четыре проблемных сценария

Сам QR-трекинг — это просто маркетинг. Опасность начинается, когда к нему добавляются социальная инженерия и подмена контента. Я выделил четыре основных угрозы, с которыми можно столкнуться на практике.

Quishing — фишинг через QR. Это когда коды в письмах, на парковках и в кафе ведут на поддельные формы входа или оплаты. О проблеме предупреждают даже регуляторы:  FBI IC3 и  FTC. Я придерживаюсь простого правила: QR — это просто ссылка, поэтому всегда проверяю домен и ищу подставы с  IDN-гомографами (когда латинская «a» маскируется под кириллическую «а»).

QRLJacking — угон сессии через «вход по QR». Если приложение поддерживает логин по QR-коду (как веб-версия WhatsApp), злоумышленник может подсунуть поддельный код и украсть вашу сессию. Подробности есть на странице  OWASP про QRLJacking.

Wi-Fi по QR. Коды формата WIFI:T:WPA;S:SSID;P:пароль;; действительно удобны, но в публичном месте легко заменить наклейку на «злого двойника». Риск — подключение к фальшивой точке доступа с перехватом трафика. Я как минимум всегда сверяю SSID и спрашиваю персонал, а лучше вообще избегаю автоматического подключения по незнакомым QR-кодам.

Пакетные и почтовые «сюрпризы». Рассылки с QR-кодами внутри поддельных подарков, опросов и возвратов — относительно свежий тренд. Ему даже посвящены отдельные предупреждения регуляторов, включая  бюллетень IC3 от 31 июля 2025 года.

Как я проверяю QR-коды перед переходом: практический алгоритм

За время изучения темы я выработал схему проверки, которая снимает около 90% бытовых рисков. Да, поначалу звучит педантично, но через пару раз это становится привычкой.

Первым делом я сканирую «в холостую», без автоматического перехода. На Android использую офлайн-читалки, которые показывают содержимое без открытия браузера:  Binary Eye или  SecScanQR. На iOS системный баннер показывает домен, так что спешить некуда.

Если вижу короткую ссылку вроде bit.ly или tinyurl, обязательно разворачиваю редирект до финального домена с помощью  WhereGoes или  ExpandURL. Это помогает понять, куда на самом деле ведет ссылка.

При малейшем сомнении прогоняю URL через  urlscan.io — там видно всю цепочку запросов и поддомены, или через  VirusTotal. Это как рентген перед посещением незнакомого сайта.

Отдельно проверяю домен на гомографы — если есть подозрительные точки над буквами или символы выглядят странно, не ленюсь сверить в браузере, который показывает Punycode в адресной строке (такие настройки есть у Firefox).

Для сомнительных ссылок открываю страницы в изолированном браузере — например,  Firefox Focus с автоматической очисткой данных. На iOS помогает  iCloud Private Relay, который скрывает реальный IP в Safari.

И самое главное правило: никаких логинов или оплат «с порога». Если после скана сразу требуют авторизацию, верификацию или оплату — я нахожу путь вручную: захожу на сайт организации с нуля или спрашиваю персонал.

На что обращать внимание в адресной строке

Многие QR-мошенничества держатся именно на подмене домена, поэтому я всегда внимательно смотрю на адресную строку. Вместо bank.example может оказаться bank.example.support-team.help — это уже не ваш банк, а чужой поддомен.

Символы-двойники из разных алфавитов — классика жанра. Детали можно почитать у  Malwarebytes или в  Википедии. Любимые приемы мошенников — домены вроде pay-secure-brand.com или brand-support-id.com, которые выглядят почти как настоящие, но таковыми не являются.

Что делать организациям: как не превратить QR-маркетинг в утечку

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

На платформах стоит посмотреть настройки аналитики: IP-геолокация в агрегированном виде без GPS, хранение без персональных данных, сокращенные логи. UTM-метки для отслеживания кампаний — это хорошо, но не нужно нашивать в QR лишнюю персональную информацию.

Плакаты и наклейки с QR-кодами требуют регулярной проверки на подмену. После мероприятий не стоит оставлять «висящие» коды с действующими промо-акциями — их могут использовать не по назначению.

Мой чек-лист перед сканированием любого QR-кода

За время работы над этой темой у меня сложился простой алгоритм проверки. Сначала сканирую без автоперехода через Binary Eye, SecScanQR или системный баннер на iOS. Если вижу короткую ссылку — разворачиваю через WhereGoes или ExpandURL. При малейшем сомнении проверяю через urlscan.io или VirusTotal.

Всегда сверяю домен и исключаю гомографы. Открываю подозрительные ссылки в изолированном браузере вроде Firefox Focus или под защитой Private Relay и VPN. И главное — никогда не логинюсь и не плачу «с ходу», а ищу путь к нужной странице вручную.

Часто спрашивают: может ли QR-код заразить телефон без клика? Нет, сам код — это просто данные. Опасность начинается после открытия ссылки и ваших действий. Видит ли владелец QR мой номер телефона или IMEI? Тоже нет, но видит IP, язык, тип устройства и время скана. Чем опасны QR для входа по коду? Подмена кода может украсть сессию — это называется QRLJacking, и  OWASP подробно описывает эту атаку.

Мои выводы

QR-трекеры — это не «шпионское стекло», а обычная веб-аналитика на этапе редиректа. Но в связке с социальной инженерией они превращаются в мощный инструмент обмана: удобство плюс безымянность кода создают идеальное прикрытие для фишинга и кражи сессий.

Меня спасают простые привычки: не спешить с переходами, проверять домены и разворачивать редиректы, изолировать сомнительные ссылки и никогда не вводить пароли там, куда попал «по картинке». Остальное — дело техники и здравого смысла.

Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.

СМЕРТЬ ОТ РАКА — ЦЕНА ВАШИХ ЛАЙКОВ

МРНК-вакцины лечат меланому, но их запрещают под аплодисменты толпы. Когда вы поддерживаете антинаучный бред, вы не выражаете «мнение» — вы подписываете приговор. Узнайте, почему красивые слова о вреде науки закончатся вашим трупом в морге.


Юрий Кочетов

Здесь я делюсь своими не самыми полезными, но крайне забавными мыслями о том, как устроен этот мир. Если вы устали от скучных советов и правильных решений, то вам точно сюда.