79% разработчиков никогда не патчат сторонние библиотеки в своём софте

79% разработчиков никогда не патчат сторонние библиотеки в своём софте

79% разработчиков никогда не патчат сторонние библиотеки в своём софте

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

Свои наблюдения исследователи изложили в отчёте «State of Software Security», затрагивающем вопрос безопасности программ с открытым исходным кодом и использования стороннего кода.

В ходе исследования эксперты проанализировали более 86 тыс. репозиториев, в которых хранились более 300 тыс. уникальных библиотек. Дополнительно специалисты опросили 1700 разработчиков, чтобы яснее представлять картину.

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

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

«Как только девелоперы понимают всю опасность уязвимостей и при этом ставят в приоритет безопасность своих проектов, они сразу легко устраняют бреши в софте. Фактически дыра может быть пропатчена в течение трёх недель, если у разработчика есть вся необходимая информация», — пишет команда Veracode.

Помимо этого, исследователи выяснили, что 92% уязвимостей можно устранить одним апдейтом.

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