? Опасный QR-код: история вектора атаки.

В мае 2013 года специалисты компании Lookout Mobile разработали специальные QR-коды, которые смогли скомпрометировать очки Google Glass. На тот момент очки сканировали все фотографии, «которые могут быть полезны их владельцу», — и предоставили взломщикам полный удаленный доступ к устройству. Когда Google узнали о данной уязвимости, то её закрыли буквально за несколько недель. К счастью, исправить успели до того, как уязвимость можно было использовать вне лаборатории, ведь взлом очков реального пользователя мог привести к большим проблемам.

В 2014 году программа Barcode Scanner для мобильных устройств из проекта ZXing практически не проверяла тип URI, передаваемый через QR-код. В результате любой эксплойт, который мог быть исполнен браузером (например, написанный на JavaScript), можно было передать через QR.

Сканер пытался отфильтровать опасные виды атак с помощью регулярных выражений, требуя, чтобы URI имел период с последующим продлением как минимум на два символа, транспортный протокол длиной не менее двух символов, за которым следует двоеточие, и чтобы в URI не было пробелов. Если содержимое не соответствует хотя бы одному из требований, то оно определяется как обычный текст, а не URI. Этот механизм блокирует атаки вроде javascript;alert("You have won 1000 dollars! Just Click The Open Browser Button");, но, внеся пару простых изменений в код, мы получаем вариант, который программа исполняла в браузере, ведь она считала JS-код обыкновенным, «нормальным» URI! Более наглядно на фото выше.

Как мы можем увидеть, уведомление появилось в браузере, а значит, URI с потенциально вредоносным кодом был выполнен. Однако выполняется данный JS-код лишь тогда, когда пользователь нажимает Open Browser (то есть «Открыть в браузере»).

Еще один интересный пример из 2012 года: эксперт по информационной безопасности Равишанкар Боргаонкар продемонстрировал, как сканирование простейшего QR может привести к форматированию устройств Samsung! Внутри QR был зашит MMI-код для сброса до заводских настроек: *2767*3855#, а также префикс tel: для совершения USSD-запроса.

Самое опасное здесь то, что человек без предварительной подготовки не может узнать содержимое кода, не отсканировав его. А человек очень любопытен: в различных исследованиях большинство испытуемых (которые, кстати, даже не знали об эксперименте) сканировали QR-код именно из любопытства, забывая о собственной безопасности!

#Разное
? 9
? 1
51 4.9K

Обсуждение 0

Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.

Обсудить в Telegram