Вступление
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-коды читаются под разными углами, и данные могут быть