Уязвимости в проектах open-source годами остаются незамеченными

Уязвимости в проектах open-source годами остаются незамеченными

Уязвимости в проектах open-source годами остаются незамеченными

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

Инструментарий на GitHub позволяет быстро оповещать разработчиков о новых брешах в проектах open-source и наличии патчей, но проблема детектирования таких нарушений безопасности сильно тревожит операторов сервиса. Чтобы определить масштабы бедствия, исследователи изучили (PDF) содержимое 45 тыс. открытых репозиториев, активных как минимум два года — с октября 2018-го по сентябрь текущего.

Найденные связные компоненты были разделены на пять групп в зависимости от языка, на котором они написаны (PHP, Java, JavaScript, .NET, Python и Ruby). Как оказалось, чаще всего разработчики используют сторонние библиотеки JavaScript (94% приложений), Ruby и .NET (по 90%).

Темпы латания брешей в пакетах open-source оказались приемлемыми: участники сообщества закрывают их в течение месяца, и пользователи, получив извещение, обычно успевают за неделю внести исправления в свой продукт. Однако далеко не все оповещения GitHub заслуживают пристального внимания — в 83% случаев предметом алерта оказалась ошибка, не составляющая угрозу безопасности. Остальные предупреждения были оправданными: в open-source объявилась уязвимость (или бэкдор). К сожалению, такие проблемы в основном находят в заброшенных или редко используемых проектах.

Исправить ситуацию, по мнению исследователей, можно лишь объединенными усилиями разработчиков, операторов хранилищ и пользователей. Все они должны регулярно проверять зависимости в коде на уязвимость, а также расширять использование средств автоматизации оповещений и патчинга связных кодов — по данным GitHub, это поможет ускорить латание дыр в приложениях в 1,4 раза.

Из брешей, зафиксированных в 2020 году, наиболее опасными исследователи сочли Curveball (CVE-2020-0601), SMBGhost (CVE-2020-0796) и Zerologon (CVE-2020-1472). Эти уязвимости затронули большое количество разработок и поставили под угрозу множество оконечных устройств и корпоративных сетей.

С точки зрения патчинга весьма неприятна также CVE-2020-8203 в npm-пакете lodash, которая позволяет внести нежелательные изменения в прототип объекта JavaScript. Исследование показало, что сценарий lodash пользуется большой популярностью у разработчиков бизнес-программ, и появление CVE-2020-8203 вызвало более пяти млн алертов, запущенных с помощью бота GitHub.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

Вектор атаки DoubleClickjacking использует двойное нажатие мыши

DoubleClickjacking — новая вариация атаки типа clickjacking (манипулирование действиями при щелчках мышью), позволяющая злоумышленникам обманом заставить пользователей разрешить выполнение определённых действий с помощью двойного щелчка мышью.

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

При этом легитимная страница подгружается в скрытом теге iframe поверх созданной злоумышленниками страницы. Размещённые кнопки и ссылки должны чётко совпадать для успешной реализации вектора.

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

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

Так появился вектор атаки DoubleClickjacking. Как объяснил специалист по кибербезопасности Паулос Йибело, DoubleClickjacking использует двойные щелчки мышью, чтобы заставить пользователя произвести на странице нужные действия.

В этом случае, помимо основной кнопки вроде «Нажми сюда» или «Посмотреть ролик», страница предложит пройти капчу. Параллельно в фоне JavaScript-код подменит страницу на легитимную, на которой и будут выполняться действия пользователя.

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

 

По словам Йибело, этот вектор атаки затрагивает практически любой веб-сайт. Эксперт даже выложил на YouTube ролик, демонстрирующий работу DoubleClickjacking:

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

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