77% из 433 тысяч изученных сайтов используют уязвимые версии JavaScript-библиотек
23 ноября 2017 года
![](http://upload.wikimedia.org/wikipedia/commons/thumb/2/27/Wikinews-logo-ru.svg/300px-Wikinews-logo-ru.svg.png)
Изучив 433 тысячи сайтов, информация о которых собрана в рамках проекта HTTP Archive и доступа для анализа при помощи интерфейса BigQuery, исследователи обнаружили, что 77% из изученных сайтов используют как минимум одну JavaScript-библиотеку, содержащую известные уязвимости. 51.8% из этих сайтов содержат более одной уязвимости в библиотеках, а 9.2% более трёх уязвимостей.
Наиболее часто встречаются уязвимые копии библиотеки jQuery, которая используется на 82.4% из всех проверенных сайтов. 92.5% из сайтов, использующих jQuery, содержат необновлённые уязвимые версии. На втором месте библиотека jQuery UI, которая применяется на 19.9% сайтов и 89.7% из используемых копий уязвимы. Далее следуют Moment.js (Архивная копия от 11 ноября 2020 на Wayback Machine) - 73.0% уязвимых версий из всех установок данной библиотеки, AngularJS (Архивная копия от 12 октября 2020 на Wayback Machine) - 84.8%, Handlebars (Архивная копия от 26 февраля 2021 на Wayback Machine) - 60.7%, Mustache(недоступная ссылка) - 51.0%, YUI 3(недоступная ссылка) - 40.3%, Knockout (Архивная копия от 6 мая 2021 на Wayback Machine) - 19.6%, React (Архивная копия от 28 мая 2020 на Wayback Machine) - 10.2%.
Обновление информации о состоянии сайтов в HTTP Archive произведено 15 октября, т.е. использованы не архивные, а актуальные данные. Данные в целом совпадают с результатами похожей проверки 323 тысяч сайтов, проведённой в марте, которая показала, что уязвимые библиотеки используются на 77.3% сайтов. При этом уязвимости в JavaScript-библиотеках в основном связаны с межсайтовым скриптингом ( XSS, Cross-site Scripting) и подстановкой контента, например, могут быть использованы для определения содержимого Cookie при открытии пользователем специально оформленной ссылки.
Также можно отметить публикацию проектом OWASP (Open Web Application Security Project) очередного отчёта (Архивная копия от 26 июля 2018 на Wayback Machine), в котором предпринята попытка классифицировать связанные с безопасностью риски в web-приложениях и предложить рейтинг актуальных и наиболее распространённых проблем.
Как и в прошлом выпуске рейтинга, который был сформирован в 2013 году, первое место занимают уязвимости, при которых непроверенные данные оказываются в составе исполняемых команд или запросов (SQL, NoSQL, OS, LDAP Injection). Второе место как и прежде занимают уязвимости, связанные с некорректной работой механизмов аутентификации и проверки идентификаторов сеансов, что позволяет получить неавторизированный доступ. Занимавшие третье место в прошлом рейтинге проблемы межсайтового скриптинга (XSS) переместились на 7 место.
C шестого на третье место поднялись проблемы, приводящие к утечкам конфиденциальных данных, таких как сведения о финансовых операциях и персональные данные пользователей. Четвёртое место заняла новая категория уязвимостей, связанных с некорректной обработкой внешних ссылок в XML-документах ( атака XXE). На пятом месте закрепились проблемы в обработчиках списков доступа, позволяющие выполнить операции не предусмотренные текущими полномочиями. На шестом месте проблемы, вызванные ошибками в конфигурации и выводом сведений о настройках в тексте сообщений об ошибках.
Восьмое место заняли уязвимости, вызванные ошибками в коде десериализации данных, которых в последние годы было особенно много в проектах на PHP и Java. Девятое место в рейтинге рисков безопасности для web-приложений занимают проблемы, связанные с использованием в проекте сторонних библиотек, фреймворков и прочих компонентов, в которых имеются неисправленные уязвимости (в качестве примеров упоминается продолжение использования уязвимой версии Apache Struts после выхода обновления, что привело к утечке персональных данных 44% населения США). На десятом месте находятся проблемы с ведением логов и организацией мониторинга, из-за которых факты или попытки компрометации системы могут длительное время оставаться незамеченными.
В отчёте также отмечены новые риски, возникающие в связи с изменениями в архитектуре web-приложений. Например, распространением Node.js и серверного кода на JavaScript повышает риск появления проблем, связанных с десериализацией данных. Организация работы приложений в форме микросервисов часто приводит к появлению скрытых проблем из-за создания API и RESTful-обработчиков на основе переноса старого кода, не рассчитанного на прямую обработку внешних запросов (например, могут быть пропущены проверки корректности поступающих данных). Источником новых векторов атак также могут стать одностраничные приложения, создаваемые при помощи фреймворков Angular и React, в которых функциональность по формированию интерфейса вынесена на сторону клиента.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.