Безопасность QR-кода: обзор атак и проблем, связанных с надежной безопасностью
Никита Шахулов

© Никита Шахулов, 2021

ISBN 978-5-0055-5636-3

Создано в интеллектуальной издательской системе Ridero

Безопасность QR-кода: обзор атак и проблем, связанных с надежной безопасностью

Абстрактный

QR-коды (Quick Response) – это двухмерные штрих-коды с возможностью кодирования различных типов информации. Благодаря высокой плотности информации и надежности QR-коды приобрели популярность в различных областях применения. Несмотря на то, что они предлагают широкий спектр преимуществ, QR-коды представляют собой значительную угрозу безопасности. Злоумышленники могут зашифровать вредоносные ссылки, ведущие, например, на фишинговые сайты. Такие вредоносные QR-коды можно напечатать на небольших наклейках и заменить безобидные на рекламных щитах. Хотя в средствах массовой информации сообщалось о многих реальных примерах атак на основе QR-кода, в этой области было проведено очень мало исследований, и почти не уделялось внимания взаимодействию безопасности и взаимодействия человека с компьютером. В этой работе я описываю множество вариантов использования QR-кодов. Более того, я анализирую наиболее важные сценарии атак применительно к конкретным вариантам использования. Кроме того, я систематизирую уже проведенное исследование и определил полезную безопасность и осведомленность о безопасности в качестве основных исследовательских задач. Наконец, я предлагаю требования к дизайну в отношении самого QR-кода, приложения для считывания и аспектов удобства использования, чтобы поддержать дальнейшие исследования, чтобы сделать обработку QR-кода как безопасной, так и удобной.

Вступление

QR-коды (Quick Response) – это штрих-коды с двумерной матрицей, которые используются для кодирования информации. В последние годы они все больше и больше проникают в нашу повседневную жизнь. Изначально они были изобретены для отслеживания автомобильных запчастей в процессе производства. В настоящее время они адаптированы для различных случаев использования. QR-коды дешевы в производстве и просты в развертывании. Поэтому они стали предпочтительным средством рекламы на рекламных щитах для доступа к потенциальным клиентам. Один из наиболее распространенных вариантов использования – это URL-кодирование, позволяющее мгновенно сделать информацию доступной. Помимо множества преимуществ, социальные инженеры неправильно использовали QR-коды в качестве вектора атаки. Злоумышленники кодируют вредоносные ссылки, ведущие, например, на фишинговые сайты или для выполнения мошеннического кода. Эти вредоносные QR-коды можно распечатать на небольших наклейках и уже наклеить.

Существующие QR-коды.

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

– Я предоставляю исчерпывающий обзор наиболее актуальных сценариев использования и определяю связанные векторы атак.

– Я систематизирую состояние исследовательского сообщества.

– Я определяю основные исследовательские задачи по повышению безопасности QR-кода с упором на удобство использования и аспекты безопасности.

Остальная часть в этой книге структурирована следующим образом: В разделе 2 я представляю введение в стандарт QR-кода и обзор вариантов использования. В разделе 3 я систематизирую сценарии атак с использованием QR-кодов в качестве вектора атаки и обсуждается соответствующие исследования пользователей. В Разделе 4 я описываю известные примеры из реальной жизни, а в Разделе 5 обсуждаются связанные с ними исследования пользователей. В Разделе 6 я определяю открытые исследовательские проблемы в отношении аспектов безопасности и удобства использования. Раздел 7 завершает мою работу.

1 Стандарт QR-кода

В этом разделе я даю краткое введение в стандарт QR, а также обзор различных вариантов использования QR-кодов. QR-коды (Quick Response) – это двухмерные штрих-коды, которые кодируют информацию как в вертикальном, так и в горизонтальном направлении. Чтобы получить доступ к закодированным данным из QR-кода, встроенная камера смартфона фиксирует изображение QR-кода, а затем декодирует его с помощью программного обеспечения для чтения QR-кода. Существует 40 различных версий QR-кодов с разной емкостью данных. Версия 1 состоит из 21 модуля X 21, из которых 133 могут использоваться для хранения закодированных данных. Версия 40, которая создает самый большой QR-код, имеет 23 648, следовательно, можно закодировать 4296 буквенно-цифровых символов. На рисунке 1 показан пример QR-кода версии 2, который является наиболее часто используемым. Помимо буквенно-цифровых символов, QR-коды могут кодировать двоичные файлы, Kanjis1 или управляющие коды. Кроме того, QR-коды читаются под разными углами, и данные могут быть успешно декодированы, даже если код частично покрыт или поврежден. Это связано с надежной коррекцией ошибок, основанной на кодах Рида-Соломона. Есть четыре различных способа исправления ошибок уровня, а именно L (низкий 7%), M (средний 15%), Q (квартиль 25%) и H (высокий 30%). Уровень коррекции ошибок L допускает до 7% нечитаемых модулей соответственно. Более высокие уровни коррекции ошибок увеличивают область, зарезервированную для кодовых слов коррекции ошибок, и уменьшают область, зарезервированную для фактических данных. Поэтому обычно предпочтительным является уровень коррекции ошибок L. Дополнительной функцией для стабилизации процесса декодирования является маскирование. Маскирование обеспечивает равномерное распределение между черными и белыми модулями. Соответствующая маска автоматически выбирается программным обеспечением кодирования при создании кода.

Конец ознакомительного фрагмента.

Текст предоставлен ООО «Литрес».

Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.