
Расширение браузера Twitch Enhanced Viewer | JeetBot для Twitch передавало OAuth-токены на сторонний прокси-сервер, создавая риск для компьютерной безопасности пользователей. С помощью этих токенов можно войти в чужой аккаунт без пароля и двухфакторной аутентификации. Рассказываем, как защитить свои данные.
Расширение Twitch Enhanced Viewer | JeetBot обещало блокировать рекламу, открывать видео в высоком качестве и снимать региональные ограничения на качество видео. Для этого дополнение направляло запросы к плейлистам трансляций через прокси коммерческого сервиса JeetBot. Проблема заключалась в том, что вместе с этими запросами расширение передавало OAuth-токен учетной записи.
Зачем нужен OAuth-токен Twitch и какие есть риски
OAuth-токен — это цифровой ключ, который сервис выдает после успешного входа и использует для подтверждения прав на действия в аккаунте. Перед его выдачей пользователь вводит пароль и код двухфакторной аутентификации (2FA), если она подключена. Пока токен действует, система считает его предъявителя авторизованным и не проводит проверку заново. Поэтому человек, получивший такой ключ, может действовать от имени владельца аккаунта без пароля и 2FA.
Исследователи Socket выяснили, что расширение Twitch Enhanced Viewer | JeetBot отправляло токен всей учетной записи, а не отдельный ключ для загрузки видео. Токен давал доступ к чату, личным сообщениям и некоторым настройкам. С его помощью можно было читать и отправлять сообщения, писать в чат и тратить накопленные баллы канала.
Браузерное дополнение установили более 30 000 человек, но при этом подтвержденных случаев захвата аккаунтов пока не обнаружено. Опасность заключалась в самой возможности воспользоваться чужой активной сессией, пока ее владелец не отозвал переданный ключ.
Как именно расширение передавало токены
Передача данных происходила в три этапа:
- При открытии Twitch расширение считывало заголовок HTTP-запроса, используемый для авторизации. Вместе с ним расширение получало идентификатор устройства.
- Фоновый процесс извлекал из заголовка OAuth-токен и добавлял его в адрес запроса к прокси как параметр auth.
- Так как секретная строка находилась в URL, она сохранялась в журналах принимающего сервера и становилась доступна оператору инфраструктуры. HTTPS защищал соединение от перехвата посторонними, но не скрывал параметры запроса от принимающей стороны.
Реакция разработчика и исправление в версии 85.8.7
После публикации исследования команда JeetBot связалась с Socket. Разработчик признал, что способ обработки токенов создавал риск, а описание дополнения и политика конфиденциальности не объясняли передачу данных. При этом он не согласился с тем, что расширение было вредоносным. По его словам, токены использовались для получения плейлистов через прокси, а подтверждений доступа к аккаунтам без разрешения нет.
Проблему устранили в версии 85.8.7: параметр auth оставили пустым, а сведения об авторизации удалили из запросов. Специалисты Socket проверили код и подтвердили, что передача токенов прекратилась.
Сначала исправление было доступно для Firefox в Mozilla Add-ons, но на 18 сентября дополнение уже удалено из магазина. Для Chrome обновление отправили на проверку, а в Chrome Web Store пока размещена сборка 85.8.4, которая продолжает передавать токены. До выхода безопасной версии ее следует временно отключить или удалить.
Защитите устройство от скрытых угроз
Опасное расширение может попасть в браузер даже из официального магазина. Kaspersky Premium обнаруживает вредоносные программы, блокирует фишинговые страницы и помогает защитить личные данные.
Попробовать Kaspersky Premium бесплатноЧто делать пользователям: выйти из всех сеансов и войти заново
Просто удалить расширение Twitch Enhanced Viewer | JeetBot из браузера недостаточно. Специалисты Socket рекомендуют сначала остановить работу небезопасной сборки, а затем завершить активные сеансы.
- Отключите или удалите Twitch Enhanced Viewer | JeetBot. Возвращать дополнение можно только после установки исправленной сборки.
- Откройте настройки Twitch, перейдите в раздел Security and Privacy и нажмите Sign Out Everywhere. Эта команда завершает сеансы на всех устройствах, а также в сторонних приложениях.
- Авторизуйтесь заново. Сервис создаст новые данные сессии, а ранее переданный ключ перестанет работать. Входите в аккаунт только после отключения уязвимой сборки, иначе она снова получит сведения для авторизации.
- Откройте раздел Connections и отключите незнакомые приложения. Также проверьте настройки профиля, историю покупок и другие действия, которые могли выполняться без вашего ведома.
Пароль, судя по анализу кода, никуда не отправлялся, но при подозрительной активности его лучше сменить и включить двухфакторную аутентификацию.
Почему браузерные расширения — зона риска
Браузерное дополнение — это программа, которая может работать в фоновом режиме и взаимодействовать с открытыми сайтами. Возможности зависят от выданных разрешений.
Например, расширение может читать и изменять содержимое страниц, видеть адреса вкладок, историю и данные из буфера обмена. Некоторые дополнения также собирают сведения о браузере, операционной системе и характеристиках компьютера или смартфона. Из них формируется цифровой отпечаток устройства, по которому его можно распознавать при повторных посещениях сайтов.
Чем больше разрешений, тем серьезнее последствия ошибки или злоупотребления. Например, право читать и изменять данные на всех сайтах позволяет взаимодействовать почти с любой посещаемой страницей. Если человек уже авторизован, дополнение может получить сведения, связанные с активной сессией.
Размещение в официальном магазине снижает риск, но не гарантирует безопасность. К тому же после очередного обновления поведение программы может измениться. Чтобы защититься:
- устанавливайте только необходимые дополнения и проверяйте, кто их выпустил;
- сопоставляйте запрашиваемые разрешения с заявленными функциями;
- по возможности разрешайте работу только на выбранных сайтах или после нажатия на значок;
- удаляйте программы, которыми больше не пользуетесь;
- обращайте внимание на новые права, запрашиваемые после обновлений.
Дополнительную защиту дает антивирусное решение с веб-контролем. При этом он не отменяет необходимости проверять разрешения: передача информации через зашифрованное соединение может выглядеть как обычная работа программы.
Что в итоге
История Twitch Enhanced Viewer | JeetBot не доказывает, что чужие аккаунты действительно использовали без разрешения. Но у получателя сессионных данных была возможность действовать от имени владельца аккаунта без пароля и кода двухфакторной аутентификации.
Тем, кто устанавливал расширение, стоит отключить или удалить его, завершить все сеансы и авторизоваться в Twitch заново. В дальнейшем перед установкой подобных инструментов важно проверять запрашиваемые разрешения. Если программе нужны права, не связанные с заявленными функциями, от нее лучше отказаться.
Полезные статьи:
- Шпионские приложения и ПО: что это и как защититься
- Эксфильтрация данных: что это и как ее предотвратить
- Цифровая идентичность — что это и как защитить себя
Рекомендуемые продукты:
