пятница, 12 августа 2016 г.

Атака на QR-коды: фишинг, QRLJacking и заражение малварью

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

В сегодняшней публикации речь пойдет о новых векторах атак с использованием QR-кодов.


Эпоха использования штрих-кодов в повседневной жизни

Что же такое QR-код? 

QR-код это сокращение произошедшее от слова quick response (быстрый отклик) - в сегодняшнем понимании символьный матричный код изображенный в виде квадратной картинки. Концепция QR-кода была разработанный японской компанией Denso-Wave в далеком 1994 году. 

История изобретения берет истоки в Японии, в которой из-за огромного потока использования штрихкодов в промышленности и повышению требований к информативности произошла ситуация приведшая к исчерпанию использования традиционных штрих-кодов. Так японцы начали экспериментировать с новыми современными способами кодирования небольших объёмов информации в графической картинке. В результате чего и появился тот QR-код, который мы знаем сегодня. Окончательная стандартизация технологии произошла в 2006г (ISO/ЕС 18004:2006) 

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

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

Проблемы безопасности QR-кодов 

Вы спросите: каким же образом злоумышленники могут нанести вред с помощью какой то там картинки? Что бы это понять необходимо немного заглянуть в архитектуру и процесс создания QR-кода 

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

Таким образом, получаем два вида ссылок: прямые и непрямые. Первые позволяют получить информацию сразу же, перейдя по ссылке, вторые - установив какое-то специальное приложение для потребления последующего контента. И зачастую именно вторые несут в себе опасность. Ведь QR-код также может ссылаться на фальшивую (фишинг) или заранее зараженную страницу, где расположен, троян для смартфона, который, к примеру будет рассылать платные SMS. 

Атаки с использованием QR-кодов

Проблемы легитимности QR-ссылок 

Как сообщает источник, специалисты университета Мэрдока провели эксперимент, подтвердивший потенциальную опасность QR-кодов. Так, в ходе конференции по вопросам информационной безопасности на стене одного из залов был размещен постер с предложением просканировать QR-код и выиграть iPad. Только за 2 дня пока длилось мероприятие, штрих-код был просканирован 445 раз, и столько же человек посетили связанный с ним веб-сайт. «Факт, что неизвестный, непроверенный код был просканирован такое количество раз на конференции по безопасности, говорит о его большой потенциальной угрозе», - подчеркнул Ник Томпсон. 

«Большинство из нас давно привыкли пользоваться стандартными бар-кодами и не подозревают об опасностях, связанных с QR-кодами. Проблема в том, что стандартный бар-код может содержать порядка 20 типов информации, в то время как QR-код может содержать значительно больше данных – тысячи видов», - продолжил Томпсон. 

Атака QRLJacking на учетную запись

По сведениям от Securitylab, стало известно, что ИБ-исследователь из Seekurity Inc. продемонстрировал, как можно скомпрометировать учетные записи пользователей сервисов, реализующих аутентификацию с помощью QR-кода. Новую технику эксперт назвал QRLJacking.

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

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


Attack_flow

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

Технические подробности можно найти на OWASP, а proof-of-concept Басет опубликовал на GitHub.

Взлом электронного посадочного талона

Как стало известно из новости, любой пользователь может обмануть автоматическую систему регистрации на входе в бизнес-зал аэропорта при помощи специального мобильного приложения, способного подменять QR-код электронного посадочного талона, утверждает руководитель CERT Polska Пшемек Ярошевский (Przemek Jaroszewski).

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

Эксперт протестировал приложение в ряде аэропортов Европы и в каждом из них ему удавалось получить доступ в эксклюзивные лаунж-залы. Как сообщил, сам Ярошевский, он не проверял, как программа будет работать в аэропортах США или других стран за пределами Европы, поэтому не уверен, что и там ему удастся провернуть подобный трюк.

Позднее Ярошевский продемонстрировал работу приложения в рамках конференции по безопасности DEF CON, однако отказался публиковать его код.

Меры безопасности при использовании QR-кодов

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

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

Чтобы не стать жертвой мошенников, д-р Томсон рекомендует принять следующие меры: 

1. Использовать только QR-коды, дающие возможность видеть полностью URL перед тем, как перейти на предлагаемый сайт. 

2. Никогда не вводить свои персональные данные на веб-сайтах, на которые вы перешли при помощи QR-кода, так как он может оказаться мошенническим. 

3. Кроме того, не будет лишним защитить свое мобильное устройство при помощи антивируса. 

Комментариев нет:

Отправить комментарий

Вы можете добавить свой комментарий...