NSS Labs подвергла критике исследование браузеров от Accuvant

NSS Labs подвергла критике исследование браузеров от Accuvant

Некоторое время назад Accuvant опубликовала отчет об итогах проверки и анализа систем безопасности популярных обозревателей Интернета, согласно которым Google Chrome оказался наиболее защищенным; на втором месте был Internet Explorer, а замкнул тройку Mozilla Firefox. Исследовательская лаборатория NSS Labs выступила с критикой в адрес Accuvant и Google, фактически обвинив их в подтасовках результатов.


Специалисты NSS Labs считают, что Google, будучи заказчиком вышеупомянутого исследования, повлияла на методологию анализа таким образом, чтобы их браузер вышел на первое место, а Firefox не смог занять второй позиции. В документе под названием "Браузерные войны вышли за рамки приличий" (The Browser Wars Just Got Ugly) эксперты лаборатории перечисляют изъяны в методологическом обеспечении проведенного исследования, которые могли существенно повлиять на расстановку сил в процессе проверки систем безопасности. В блоге Sophos Naked Security приведены в качестве примера следующие замечания NSS Labs:

- функция Firefox по борьбе с эксплуатацией отравления фреймов не была учтена при анализе;
- при изучении возможностей противодействия компиляции кода "на лету" (JIT hardening) не был учтен весь спектр проактивных технологий Internet Explorer 9, многие из которых в Chrome не используются;
- ряд компонентов защиты конкурирующих обозревателей, имеющих непосредственное отношение к тематике и цели исследования, был отключен, однако влияние этого отключения на конечные результаты никоим образом не было учтено - что привело к ошибочно отрицательной оценке защитных возможностей этих браузеров;
- выборка вредоносных ресурсов, на которых тестировались контуры защиты, была составлена особым образом именно в пользу Google и ее обозревателя. Сайты брались исключительно из бесплатных общедоступных списков; высококачественные профессиональные базы опасных объектов были проигнорированы. Пояснение, что производители могли и не иметь доступа к таким базам, кажется аналитикам NSS Labs подозрительным.

Эксперты также обратили внимание на время выхода отчета о результатах исследования. В ноябре истекал срок действия контракта между Google и Mozilla, финансирование по которому составляло более 80% общей годовой прибыли производителя Firefox, и о его продлении до сих пор ничего не известно.

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

Письмо автору

Расширения 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