Как устроены QR‐коды и насколько они безопасны
Для большинства людей QR‐коды остаются просто непонятными квадратиками. Все мы знаем, что нужно просто навести на него камеру телефона и что-то должно произойти, но как это работает и насколько этим безопасно пользоваться задумываются лишь единицы.
Что такое QR‐код
Сокращение QR означает Quick Response, то есть быстрый ответ. Вообще, система QR-кодов изначально применялась в автомобильной промышленности, когда возможностей штрихкодов перестало хватать и потребовалось запихнуть больше информации. Так появилась двумерная система кодирования в виде чёрных квадратиков на белом фоне, которые считывались с помощью устройств обработки изображений, а не тонким лучом, которым сканируют штрихкод.
Кроме того, QR-коды содержат некоторое количество избыточной информации, чтобы можно было с точностью идентифицировать их содержимое с использованием кодов Рида-Соломона, даже при частичном повреждении изображения.
Как вы уже наверное догадались, в этом хаотичном нагромождении квадратиков, никакого хаоса на самом деле нет. Изображение кодируется по определённым правилам в соотвествии четырём основным кодировкам: цифровой, алфавитно-цифровой, байтовой и кандзи (китайские иероглифы).
Как устроены QR-коды?
У любого QR-кода есть специальные метки, позволяющие сканирующему устройству определять его положение и запустить требуемый процесс распознавания, ведь типов кодировок и их версий их кода существует довольно много.
Самые крупные метки (1), расположенные по углам рисунка QR-кода отвечают за позиционирование.
Далее можно выделить область, содержащую номер версии кода (2). В настоящее время их количество уже перевалило за сорок.
Далее, между тремя позиционными метками проходит линия (3), которая задает модель матрицы, ведь сердцем кода является именно матрица с ее замысловатым рисунком. Область под цифрой (4) отвечает за формат данных, то есть что именно скрывается в коде: ссылка на сайт, sms-сообщение, контактные данные или просто произвольный текст.
Есть ещё метки, отвечающие за направление и помогающие считывающему устройству определять искажение перспективы (5). Чем больше код, тем больше таких меток в нём содержится.
Насколько безопасны QR-коды?
QR-коды сейчас используют как один из способов авторизации в WhatsApp, Яндексе или на AliExpress, даже при подключении к Wi‐Fi. Любой желающий может сгенерировать свой собственный QR-код в интернете совершенно бесплатно, достаточно воспользоваться сервисом типа qrcoder.ru. Но насколько надежна эта технология и можно ли создать вредоносный QR‐код?
Самое простое, что можно придумать, это сгенерировать код, который будет перенаправлять пользователя на сайт злоумышленника и там уже делать что-то нехорошее. Ну такое себе...
Более изощрённое применение — прописать в код некие команды для устройств сканирования (обычно используются на складах), в надежде что сканер не отфильтрует опасные виды атак и способен выполнять команды.
Но самая серьёзная проблема заключается именно в авторизации в приложениях и на сайтах и попытке увести ваш аккаунт. На настоящем сайте запрашивается авторизация от вашего имени на устройстве злоумышленника, а вам каким-либо образом подсовывается копия этой странички и данные авторизации уходят злоумышленнику.
Спасибо тем, кто дочитал до конца, ну а самые внимательные найдут в посте дополнительный скрытый текст ;) Пишите в комментариях что удалось отыскать.
Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.