Нежелательные уведомления в браузере

И простые способы получить их без вложений и SMS

Когда в 2015 году push-уведомления в браузерах только появлялись, мало кто думал, как именно этот инструмент будет использоваться в будущем: изначально полезный механизм оповещения постоянных читателей об обновлениях сегодня часто применяется для бомбардировки посетителей сайта непрошеной рекламой. Для этого пользователя обманом убеждают подписаться на уведомления — например, выдавая согласие на подписку за какое-то другое действие. В результате жертва не только оказывается подписанной на рекламу, но и не может избавиться от надоедливых сообщений, поскольку не понимает, что именно является их источником.

Примеры нежелательных push-уведомлений

Помимо рекламы подписчикам могут демонстрироваться откровенно мошеннические уведомления, например о выигрыше в некоей лотерее, или предложения пройти опрос за деньги. Как правило, все подобные предложения являются фишингом и заканчиваются попытками выманить у пользователя деньги. Похожие примеры мы не раз разбирали в наших квартальных отчетах по спаму и фишингу.

С 1 января по 30 сентября 2019 года продуктами «Лаборатории Касперского» были заблокированы попытки подписки на рекламные и мошеннические уведомления (а также их показ) на компьютерах более чем 14 млн уникальных пользователей по всему миру. Наиболее высокую долю (от общего количества пользователей наших решений в стране), столкнувшихся с нежелательными подписками, мы наблюдали в Алжире (27,2%), Беларуси (24,1%), Непале (23,7%), Казахстане (23,6%) и на Филиппинах (22,2%).

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

Количество пользователей решений «Лаборатории Касперского» на компьютерах которых были предотвращены попытки подписки на мошеннические push-рассылки, январь — сентябрь 2019 г. (скачать)

Как подписывают пользователя

Чтобы заставить пользователя подписаться на ненужные ему уведомления, злоумышленники пытаются выдать окно подтверждения за что-то другое. Например, за «капчу»:

В других случаях кнопку «Разрешить» нужно нажать для просмотра видео или якобы для начала загрузки файла:

Бывает, что содержимое страницы остается заблокированным до тех пор, пока пользователь не согласится подписаться на обновления:

Часто жертва дает согласие на получение рекламных уведомлений, думая, что подписывается на обновления сайта интересующей ее тематики. В данном случае, например, такую подписку предлагает ресурс, якобы посвященный Android-устройствам:

Отдельно стоит сказать о сайтах, предлагающих оформить подписку от имени популярных ресурсов: по сути, мы имеем дело с фишинговой страницей, копирующей известный сайт, — вид ее незначительно отличается от оригинала и доменное имя похоже на настоящее.

Данная страница не имеет никакого отношения к официальному сайту компании, лишь ссылается на него

Еще одна имитация

Иногда мошенники просто модифицируют скрипт таким образом, чтобы в диалоговом окне запроса на подписку кнопки поменялись местами, и если пользователь привык кликать по «Блокировать» в правой части окна, то есть шанс, что в этот раз он привычным движением нажмет на «Разрешить».

Если посмотреть на предыдущие скриншоты, можно заметить, что кнопки в этом диалоговом окне расположены наоборот

Как работают подписки?

Чтобы пользователь начал получать уведомления, необходимо получить его согласие; примеры запросов мы привели выше. Вызываются они с помощью скрипта, размещенного на странице.

Примеры веб-страниц, на которых размещены ссылки на скрипты, отвечающие за вызов диалогового окна запроса на подписку (отмечены красным)

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

Обфусцированные функции из подписывающего скрипта

Более понятная часть кода подписывающего скрипта с некоторыми элементами обфускации

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

Сайты, которым разрешен показ нотификаций в настройках браузера. Выделены рекламные подписки, содержимое нотификаций которых не связано с исходным содержимым сайта

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

Пример уведомления в формате JSON

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

Пример нотификации, которая вводит в заблуждение ссылкой на подписывающий сайт

Что получается в итоге

Самый безобидный вариант — жертве просто показывают рекламные сообщения. Что интересно, их содержимое может изменяться в соответствии с местоположением пользователя. К примеру, если он находится в Сингапуре, то увидит уведомление, релевантное стране пребывания:

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

Отдельно можно выделить уведомления, которые маскируются под системные оповещения операционной системы или приложений: жертве может быть цинично предложено нажать на кнопку для отключения рекламных уведомлений либо продления лицензии антивируса.

Один из самых неприятных типов оповещений — уведомления о заражении компьютера вирусами. Такие нотификации, как правило, отправляют пользователя на специально подготовленные сайты, маскирующиеся под официальный сайт Microsoft или внешне напоминающие компоненты ОС Windows, например Windows Defender:

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

Как избежать нежелательных подписок

Чтобы не стать получателем раздражающих или мошеннических уведомлений, нужно соблюдать несколько простых рекомендаций:

  • По возможности блокировать любые предложения подписок, если только они не исходят от известных и проверенных сайтов. И даже в этом случае нужно проявлять бдительность, чтобы случайно не попасть на поддельный сайт.
  • Если избежать нежелательной подписки не удалось, ее можно заблокировать в настройках браузера.
  • Используйте защитные решения, которые умеют предупреждать о мошеннических уведомлениях и при необходимости удалять уже оформленные нежелательные подписки.

Решения «Лаборатории Касперского» детектируют попытки показа пользователю уведомлений и уже имеющиеся подписки с вердиктами not-a-virus:AdWare.Script.Pusher и Trojan.Multi.BroSubsc.gen.

Публикации на схожие темы

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *