Существующие QR-коды.
Кроме того, злоумышленники могут изменить выбранные модули с белого на черный и наоборот, чтобы переопределить изначально закодированный контент. Несмотря на то, что в средствах массовой информации было опубликовано множество реальных примеров, было проведено мало исследований по взаимодействию человека с компьютером и аспектам безопасности атак на основе QR-кода. В этой работе я даю исчерпывающий обзор наиболее актуальных вариантов использования QR-кодов и связанных с ними векторов атак с упором на фишинг. Для этого я провел всесторонний обзор литературы, чтобы определить состояние дел в области пользовательских исследований и типичных атак. Кроме того, я определил основные исследовательские проблемы, связанные с повышением безопасности QR-кодов, и предложил вопросы и направления для безопасной и удобной обработки QR-кодов.
– Я предоставляю исчерпывающий обзор наиболее актуальных сценариев использования и определяю связанные векторы атак.
– Я систематизирую состояние исследовательского сообщества.
– Я определяю основные исследовательские задачи по повышению безопасности QR-кода с упором на удобство использования и аспекты безопасности.
Остальная часть в этой книге структурирована следующим образом: В разделе 2 я представляю введение в стандарт QR-кода и обзор вариантов использования. В разделе 3 я систематизирую сценарии атак с использованием QR-кодов в качестве вектора атаки и обсуждается соответствующие исследования пользователей. В Разделе 4 я описываю известные примеры из реальной жизни, а в Разделе 5 обсуждаются связанные с ними исследования пользователей. В Разделе 6 я определяю открытые исследовательские проблемы в отношении аспектов безопасности и удобства использования. Раздел 7 завершает мою работу.
В этом разделе я даю краткое введение в стандарт 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. Дополнительной функцией для стабилизации процесса декодирования является маскирование. Маскирование обеспечивает равномерное распределение между черными и белыми модулями. Соответствующая маска автоматически выбирается программным обеспечением кодирования при создании кода.