В погоне за чужими логинами, паролями, секретными ключами и прочими ценными данными киберпреступники постоянно изобретают новые способы обмануть пользователей. Впрочем, насколько бы хитроумными эти схемы ни были, одно в них остается неизменным: они рассчитаны на потерявшего бдительность пользователя. Стоит только внимательно присмотреться к некоторым деталям — в первую очередь к адресу сайта, где вам предлагают ввести логин и пароль, и фишинговая схема вас не обманет.
По крайней мере, так бывает почти всегда. Но сегодня мы расскажем об атаке, которая работает иначе — являя взору жертвы идеально правильный, безопасный адрес. Однако давайте по порядку.
Почему в адресах фишинговых сайтов опечатки
Дело в том, что доменный адрес — тот, что мы видим в адресной строке — уникален и всегда «приписан» одному владельцу. Чтобы завести себе сайт, нужно обратиться в специальную организацию, которая регистрирует доменные имена: там проверят по международной базе, не занят ли адрес, который вы выбрали, и если он свободен, запишут его «за вами».
В результате получается, что зарегистрировать поддельный сайт с адресом точь-в-точь как у настоящего невозможно. Можно завести домен, очень похожий на чужой — скажем, в колумбийской зоне .co вместо канадской .ca. Но если смотреть на адрес внимательно, это все же несложно заметить.
Поэтому вместо того чтобы регистрировать домены, особенно изощренные умы предложили нарисовать правильный адрес прямо на своей странице — вместе с окном браузера!
Что такое атака «Браузер в браузере» (browser-in-the-browser)
Схему такой атаки, получившей название «Браузер в браузере», описал исследователь безопасности и пентестер под ником mr.d0x. Он обратил внимание на то, что современные средства построения веб-страницы (инструменты HTML, CSS и JavaScript) позволяют изобразить практически все что угодно — от полей любых цветов и форм до анимации, имитирующей движущиеся элементы интерфейса. А значит, с их помощью можно нарисовать и полноценную чужую страницу внутри своей.
Для эксперимента исследователь выбрал всплывающие окна аутентификации через сторонний сервис. Вы наверняка сталкивались с ними: они появляются, когда вместо регистрации на каком-то сайте вы выбираете что-то вроде «Войти через Google» или «Вход с Apple» и так далее. Это довольно удобно — не нужно придумывать и запоминать новый пароль, ждать ссылок или кодов подтверждения. При этом такая регистрация довольно безопасна — при ее использовании открывается страница сервиса, пароль от которого вы вводите, а тот сайт, на который вы таким образом входите, его не получает даже на время.
Эту технологию и берут за основу атаки «Браузер в браузере». Разворачивается атака примерно так. Злоумышленник регистрирует сайт, по классике фишинга подделывая известную площадку. Как вариант — выбирая оригинальный адрес и потенциально интересный жертвам контент (скажем, товары по очень привлекательной цене, вакансии для молодых мам или новости, которые так и хочется прокомментировать). Покупку, комментарии или другие интересующие посетителя функции преступник делает доступными только для зарегистрированных пользователей. И добавляет кнопки для входа через известный сервис, пароли от которого его интересуют.
Если жертва нажимает на эту кнопку, перед ней появляется знакомое окно входа, например через Microsoft, Google или Apple, с правильным адресом, логотипом, полями для ввода и всеми-всеми привычными элементами интерфейса. Окно даже может отображать правильные адреса при наведении мыши на кнопку «Войти» и ссылку «Забыли пароль».
Подвох в том, что на самом деле это не отдельное окно — все это великолепие нарисовано прямо внутри той страницы, которая пытается пользователя обмануть. И если ввести здесь логин и пароль, то они отправятся не в Microsoft, Google или Apple, а прямиком на сервер злоумышленника. Как это может выглядеть на практике, можно посмотреть здесь.
Как понять, что окно ввода пароля поддельное
Хотя визуально мошенническое окно аутентификации ничем себя не выдает, опознать подделку все же можно.
Подлинные окна аутентификации — это именно окна браузера, и ведут они себя соответственно. Их можно разворачивать на полный экран, сворачивать и свободно перемещать по всему экрану. Поддельные же элементы интерфейса «принадлежат» той странице, на которой они находятся. В ее пределах — то есть внутри окна браузера — они тоже могут свободно перемещаться и загораживать собой кнопки и изображения, но вот «наружу» выбраться не могут. Это и поможет их распознать.
Чтобы проверить, не фейковая ли перед вами форма входа, можно попробовать сделать следующее:
- Сверните окно браузера, поверх которого она появилась. Настоящее окно с формой аутентификации при этом должно остаться на экране, если оно окно, а не вкладка, — а именно это пытается имитировать данный метод.
- Поводите окном по экрану: передвиньте его на адресную строку и выше — если окно настоящее, то оно перекроет верхнее обрамление браузера.
Если окно с формой аутентификации ведет себя странно — сворачивается вместе с другим окном, останавливается под адресной строкой или «уползает» под нее, то оно ненастоящее. И вводить в нем свои учетные данные нельзя.
Можно ли защититься проще?
Есть и хорошая новость. Хотя атаку browser-in-the-browser не так-то просто распознать человеческим взглядом, компьютер с ее помощью не обманешь. Ведь что бы там ни рисовал опасный сайт внутри себя, настоящий адрес остается одним и тем же — а это именно то, что важно для защитного решения.
- Используйте менеджер паролей для всех аккаунтов. Он проверяет настоящий адрес страницы и ни за что не введет ваши учетные данные в поля незнакомого сайта, как бы он ни был похож на что-то известное.
- Установите надежное защитное решение с модулем антифишинга. Оно тоже проверяет URL-адрес за вас и вовремя предупредит, если страница опасная.
И, конечно, не забывайте про двухфакторную аутентификацию. Включите ее везде, где это возможно, в том числе во всех соцсетях. Тогда, даже если злоумышленники украдут ваши учетные данные, они не смогут войти в аккаунт без одноразового кода — который придет не им, а вам.
Для более надежной защиты особенно ценных аккаунтов лучше использовать аппаратные токены U2F (самый известный представитель — YubiKey). Система проверяет не только адрес веб-ресурса, но и знание им ключа шифрования. Поэтому провести такую систему аутентификации вообще никак не удастся, даже если оригинальный сайт и его двойник на вид похожи как две капли воды.