Большинство интернет-сервисов не заботится о безопасности пользователей

Большинство интернет-сервисов не заботится о безопасности пользователей

Результаты недавнего исследования компании Digital Security,  свидетельствуют, что крупнейшие интернет-сервисы не уделяют должного внимания парольным политикам. Иван Юшкевич, исследователь Digital Security, проанализировал 80 крупнейших ресурсов различного назначения: почтовые сервисы; социальные сети; электронная коммерция; платежные сервисы; игровые сервисы; криптовалюта; хранение файлов и совместная разработка.

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

Строгий подход к выбору пароля применяют сервисы криптовалюты, платежные системы и отдельные «почтовики». Исследование показало, что только 2 из 10 широко известных ресурсов разного профиля используют строгую политику аутентификации. Лучшими оказались такие популярные ресурсы, как Gmail, Apple Store, MEGA, WebMoney, eBay. Самые слабые парольные политики – у социальной сети Meetme, почтового сервиса Pobox, виртуальных магазинов Aliexpress и Alibaba, а также файловых хранилищ Justcloud и Box. Полный текст исследования доступен по ссылке: http://dsec.ru/upload/medialibrary/a0a/a0ae31d6a8ba3fb26132aa52700cfa5a.pdf.

Подобрав пароль и получив доступ к чужому аккаунту, злоумышленник иногда может завладеть следующей информацией: персональные данные; платежные данные (история операций, платежная информация и др.); переписка, включающая файлы с копиями паспортов, приватные фотографии и другие критичные документы. Далеко не у всех (https://twofactorauth.org/), даже крупных, сервисов поддерживается двухэтапная аутентификация, и на дополнительную защиту надеяться не стоит.

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

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

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

Расширения Chrome могут слить секреты URL через атаку по стороннему каналу

Как оказалось, расширения Chrome можно использовать для слива кодов авторизации, сеансовых ID и других секретов из URL любой открытой вкладки. Никаких специальных разрешений для этого не понадобится, только доступ к declarativeNetRequest API.

Этот механизм, пришедший на смену webRequest API, позволяет расширениям сообщать браузеру, что следует изменить или заблокировать на загружаемой странице (заголовки, реклама, трекеры).

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

Исследователь Луан Эррера (Luan Herrera) обнаружил, что блокировку, диктуемую правилами, Chrome производит почти мгновенно, за 10-30 мс, а остальные запросы выполняются дольше (~50-100ms) — из-за сетевых подключений. Эту разницу во времени расширение может использовать для бинарного поиска с целью посимвольного слива URL.

// extensions/browser/api/web_request/extension_web_request_event_router.cc:1117-1127
case DNRRequestAction::Type::BLOCK:
  ClearPendingCallbacks(browser_context, *request);
  DCHECK_EQ(1u, actions.size());
  OnDNRActionMatched(browser_context, *request, action);
  return net::ERR_BLOCKED_BY_CLIENT;

Оракул для подобной тайминг-атаки строится с использованием chrome.tabs.reload для перезагрузки страницы и перехватчика chrome.tabs.onUpdated, помогающего отследить событие status === "complete". Замер времени между reload и завершением загрузки покажет, заблокирован запрос или успешно обработан.

Повторение проверок и бинарного поиска позволяет получить полный URL (с довеском после «?»), затратив на каждый знак строки несколько прогонов. Таким образом, можно незаметно для пользователя украсть включенные приложением в адрес секреты — токены OAuth и сброса пароля, API-ключи, ссылки на контент, закрытый для поисковых систем.

Проверка PoC проводилась на Windows 11 24H2 с использованием Chrome разных версий:

  • 144.0.7559.97 (Stable)
  • 145.0.7632.18 (Beta)
  • 146.0.7647.4 (Dev)
  • 146.0.7653.0 (Canary)

В Google подтвердили возможность подобной атаки по стороннему каналу, но заявили, что решить проблему нереально.

RSS: Новости на портале Anti-Malware.ru