Исследователь безопасности под ником mr.d0x опубликовал пост, описывающий новую методику, которая может быть использована для фишинга, а также, вероятно, и для другой вредоносной деятельности. Эта методика эксплуатирует так называемые прогрессивные веб-приложения (PWA, progressive web app). В этом посте мы разберемся, что же это за приложения, почему они могут быть опасны, как именно злоумышленники могут использовать их в своих целях и как от этой угрозы защититься.
Что такое прогрессивные веб-приложения
Прогрессивные веб-приложения — это один из способов разработки приложений с использованием веб-технологий. Грубо говоря, это веб-сайты, которые выглядят и работают совсем как нативные приложения, установленные у вас в операционной системе.
Общий принцип похож на устройство приложений, использующих фреймворк Electron, но с важным отличием. Electron-приложения — это своего рода «бутерброд» из веб-сайта и браузера, в котором этот сайт открывается, — то есть в каждое Electron-приложение встроен свой собственный браузер. А PWA для отображения того же веб-сайта используют движок того браузера, который уже установлен у пользователя в системе.
Поддержка прогрессивных веб-приложений есть во всех современных браузерах, но наиболее полно она реализована в Google Chrome и браузерах, построенных на проекте Chromium, — в том числе встроенном в Windows браузере Microsoft Edge.
Установить прогрессивное веб-приложение (если сайт в принципе предусматривает такую возможность) очень просто. Для этого достаточно нажать на неприметную кнопку в адресной строке браузера и подтвердить установку. Вот как это делается на примере прогрессивного веб-приложения сервиса Google Drive.
После этого у вас в системе практически мгновенно появляется PWA, которое выглядит совсем как настоящее приложение, — с иконкой, собственным окном и всеми другими атрибутами полноценной программы. При этом понять по окну прогрессивного веб-приложения, что на самом деле это браузер, в котором открыт некий веб-сайт, не так-то просто.
Фишинг на основе прогрессивных веб-приложений
Одно из важных отличий прогрессивного приложения от того же самого сайта, открытого в браузере, вы можете увидеть на скриншоте выше: в окне PWA-приложения нет адресной строки. Собственно, на этой особенности и построен фишинговый метод, о котором идет речь в этом посте.
Ведь если адресной строки в окне нет, значит, злоумышленник может… нарисовать собственную, отобразив в строке тот адрес, который будет выгоден для фишинга! Например, вот такой:
Также потенциальный злоумышленник может снабдить PWA-приложение какой-нибудь знакомой иконкой, чтобы дополнительно усыпить бдительность жертвы.
Единственное, что необходимо киберпреступнику для успеха, — каким-то образом убедить пользователя установить прогрессивное веб-приложение. Но и это не так уж сложно сделать, если использовать правильные слова и элементы интерфейса.
Важно и то, что в диалоге установки прогрессивного веб-приложения название этого приложения может быть каким угодно, а истинное его происхождение выдает лишь адрес сайта, который написан на второй строчке и меньше бросается в глаза.
Процесс кражи пароля с использованием прогрессивного веб-приложения выглядит примерно так:
- жертва открывает опасный сайт;
- этот сайт убеждает жертву установить PWA;
- практически мгновенно происходит установка и открывается окно PWA;
- далее уже в окне PWA открывается фишинговая страница с поддельной адресной строкой с «правильным» адресом;
- после того как жертва вводит логин и пароль в форму, они попадают в руки злоумышленников.
Конечно, с тем же успехом можно убедить жертву установить и нативное приложение — но есть пара нюансов: в отличие от инсталляции полноценных приложений, установка PWA происходит гораздо быстрее и требует значительно меньше действий со стороны пользователя.
К тому же PWA проще в изготовлении — ведь по сути это всего лишь фишинговый сайт с небольшими добавками. Поэтому вредоносные PWA могут стать эффективным инструментом для злоумышленников.
Как защититься от фишинга с использованием PWA
Кстати, тот же mr.d0x ранее уже отметился изобретением фишинговой методики под названием Browser-in-the-Browser — мы писали о ней пару лет назад. За прошедшее время стало известно о нескольких случаях использования этой методики злоумышленниками, причем не только для кражи паролей от аккаунтов, но также и для распространения ransomware.
Так что есть все шансы на то, что киберпреступники возьмут на вооружение и вредоносные PWA — а заодно придумают и какие-то новые сценарии применения этой методики вдобавок к фишингу.
Что можно сделать для защиты от данной угрозы?
- С осторожностью относитесь к PWA-приложениям и не устанавливайте их с подозрительных сайтов.
- Время от времени проверяйте, какие прогрессивные веб-приложения установлены у вас в системе. Например, в Google Chrome для этого надо в адресной строке ввести
chrome://apps
— там же можно удалить установленные PWA.
- Используйте надежное решение с защитой от фишинговых и мошеннических сайтов, которое вовремя предупредит вас об опасности.