The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

23.11.2017 10:19  77% из 433 тысяч изученных сайтов используют уязвимые версии JavaScript-библиотек

Изучив 433 тысячи сайтов, информация о которых собрана в рамках проекта HTTP Archive и доступа для анализа при помощи интерфейса BigQuery, исследователи обнаружили, что 77% из изученных сайтов используют как минимум одну JavaScript-библиотеку, содержащую известные уязвимости. 51.8% из этих сайтов содержат более одной уязвимости в библиотеках, а 9.2% более трёх уязвимостей.

Наиболее часто встречаются уязвимые копии библиотеки jQuery, которая используется на 82.4% из всех проверенных сайтов. 92.5% из сайтов, использующих jQuery, содержат необновлённые уязвимые версии. На втором месте библиотека jQuery UI, которая применяется на 19.9% сайтов и 89.7% из используемых копий уязвимы. Далее следуют Moment.js - 73.0% уязвимых версий из всех установок данной библиотеки, AngularJS - 84.8%, Handlebars - 60.7%, Mustache - 51.0%, YUI 3 - 40.3%, Knockout - 19.6%, React - 10.2%.

Обновление информации о состоянии сайтов в HTTP Archive произведено 15 октября, т.е. использованы не архивные, а актуальные данные. Данные в целом совпадают с результатами похожей проверки 323 тысяч сайтов, проведённой в марте, которая показала, что уязвимые библиотеки используются на 77.3% сайтов. При этом уязвимости в JavaScript-библиотеках в основном связаны с межсайтовым скриптингом (XSS, Cross-site Scripting) и подстановкой контента, например, могут быть использованы для определения содержимого Cookie при открытии пользователем специально оформленной ссылки.

Также можно отметить публикацию проектом OWASP (Open Web Application Security Project) очередного отчёта, в котором предпринята попытка классифицировать связанные с безопасностью риски в 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, в которых функциональность по формированию интерфейса вынесена на сторону клиента.



  1. Главная ссылка к новости (https://snyk.io/blog/77-percen...)
  2. OpenNews: 63% web-сайтов содержат опасные уязвимости
  3. OpenNews: Статистика уязвимостей web-приложений
  4. OpenNews: Анализ уязвимостей за 6 месяцев. Firefox обогнал конкурентов по числу уязвимостей
  5. OpenNews: Сравнения языков программирования с позиции безопасности написанного на них кода
  6. OpenNews: Рейтинг 25 самых опасных ошибок, приводящих к возникновению серьезных уязвимостей
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: web, security
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аномномномнимус, 13:09, 23/11/2017 [ответить] [смотреть все]
  • +37 +/
    Потому что в вебе всё работает на "хоть бы прокатило" и если там хоть что-то обновить - всё развалится, ведь все эти хипстерские фреймворки забили на обратную совместимость.
    И это пошло ещё дальше, во всякие руби на рельсах с их виртуальным окружением "работаем только с этой версией", в питон с его virtualenv с единственным правильным набором либ и версией питона.
    И пока люди будут считать что virtualenv это фича, а не косяк от безвыходности, всё так и будет оставаться дырявым и устаревшим с момента создания (т.к. либы копируются с другого проекта, где всё-кое как работало)
     
     
  • 2.3, нах, 13:11, 23/11/2017 [^] [ответить] [смотреть все] [показать ветку]
  • +2 +/
    почему это именно в вебе ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.5, Аномномномнимус, 13:32, 23/11/2017 [^] [ответить] [смотреть все]  
  • +3 +/
    Потому что в вебе если что-то сломалось, народ узнаёт об этом в последнюю очеред... весь текст скрыт [показать]
     
     
  • 4.12, Аноним, 14:13, 23/11/2017 [^] [ответить] [смотреть все]  
  • –8 +/
    Нет совместимости, переходите на новую версию, это и есть прогресс Если бы в жи... весь текст скрыт [показать]
     
     
  • 5.17, Аномномномнимус, 15:52, 23/11/2017 [^] [ответить] [смотреть все]  
  • +5 +/
    Ок, давай перенесём твой посыл в любимую тобой терминологию колёс Были колёса 2... весь текст скрыт [показать]
     
  • 5.20, Аноним84701, 16:11, 23/11/2017 [^] [ответить] [смотреть все]  
  • +6 +/
    > Нет совместимости, переходите на новую версию, это и есть прогресс. Если бы
    > в жизни все было иначе, то и колеса бы наверное не было.

    Если бы в жизни было все как в вебе, то каждый месяц очередная версия колеса объявлялась бы устаревшей и немолодежной  и всем настоятельно советывали бы переходить на новую, квадратную/овальную/шести-восьми-угольную/(нужное подчеркнуть-придумать).
    Потому что верх прочности, надежности (жесткий угол и постепенно увеличиваемое минимальное для транспортного средства количество колес!), а чтобы не трясло, нужно всего-то сделать специальный выемки-ямочки на дорогах и покрыть их (дороги) резиной!
    При этом, после каждого обновления дорог, оказывалось бы, что ездить на колесах предыдущих версий почти невозможно, за исключением разве что классического "круглого" -- но этих пользователей высмеивали бы все кому не лень, обзывая луддитами и отказываясь воспринимать всерьез.

     
     
  • 6.21, Аноним, 16:52, 23/11/2017 [^] [ответить] [смотреть все]  
  • –5 +/
    а что в linux kernel не так?
     
     
  • 7.31, angra, 22:17, 23/11/2017 [^] [ответить] [смотреть все]  
  • +4 +/
    Нет Если продолжить аналогию с колесами, то в колесе могут произойти внутренние... весь текст скрыт [показать]
     
  • 7.33, gaga, 22:35, 23/11/2017 [^] [ответить] [смотреть все]  
  • +/
    Так, но темп не тот и есть более-менее железная рука Линус, редхат, интересы ... весь текст скрыт [показать]
     
  • 7.34, gaga, 22:35, 23/11/2017 [^] [ответить] [смотреть все]  
  • +/
    Так, но темп не тот и есть более-менее железная рука Линус, редхат, интересы ... весь текст скрыт [показать]
     
  • 7.39, Аноним, 07:00, 24/11/2017 [^] [ответить] [смотреть все]  
  • +/
    Ну, блин, поменять ядро 3 15 на 4 14 я могу И даже ничего не сломается А если ... весь текст скрыт [показать]
     
     
  • 8.56, Аноним, 12:55, 25/11/2017 [^] [ответить] [смотреть все]  
  • +/
    это потому, что на самом деле оно не 4 14 , а 2 7 4 14 ну, ок, может 2 8 А пр... весь текст скрыт [показать]
     
  • 4.16, ввв, 15:45, 23/11/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    Ты за обновление и поддрержку всех этих тыщ сайтов готов заплатить Нет Опычно ... весь текст скрыт [показать]
     
     
  • 5.18, Аномномномнимус, 15:53, 23/11/2017 [^] [ответить] [смотреть все]  
  • +4 +/
    Видимо поэтому вебдевелоперам меньше платят, т к поддерживать всё равно не смог... весь текст скрыт [показать]
     
     
  • 6.40, Аноним, 07:03, 24/11/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Да просто на одеске и проч уже полно индусов, готовых делать все и вся за 10 бак... весь текст скрыт [показать]
     
     
  • 7.53, user455, 21:03, 24/11/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    во-первых одеска давно нет во-вторых индусы, которые делают за_бись и просят за... весь текст скрыт [показать]
     
  • 5.19, Аноним, 15:55, 23/11/2017 [^] [ответить] [смотреть все]  
  • +/
    > Опычно платят 10 тыщ за "сайт"

    Розовые мечты вэбмакаки.

     
  • 2.4, Аноним, 13:26, 23/11/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Да ладно, рубильщики никогда про обратную совместимость не слышали, так что скор... весь текст скрыт [показать] [показать ветку]
     
  • 2.29, dep, 21:31, 23/11/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Причем тут виртуаленв Просто на поддержке сайта должны работать инженеры, котор... весь текст скрыт [показать] [показать ветку]
     
  • 2.47, Аноним, 11:59, 24/11/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Если бы строители строили дома также как программисты пишут программы, то первый... весь текст скрыт [показать] [показать ветку]
     
  • 1.2, бивис, 13:11, 23/11/2017 [ответить] [смотреть все]  
  • +1 +/
    хмг, узнал что существует каталог методов атаки на уязвимости, который называется КАПЕЦ (CAPEC)
     
  • 1.6, mickvav, 13:33, 23/11/2017 [ответить] [смотреть все]  
  • +6 +/
    Гхм, большинство уязвимостей в jQuery - это когда пользователю дают возможность запихать от имени сервера какую-нибудь бяку в вызовы самого jQuery (происходящие от имени другого пользователя). То есть уязвим не сам jQuery как таковой, а приложение, которое его криво использует. А версии в которых такие "уязвимости" устранены - это когда авторы jQuery подложили соломки таким горе-разработчикам в конкретном месте.

    Но тут есть два момента -

    1) Если люди не следят за содержимым переменных в jQuery, они и во всех остальных местах не следят, значит после обновления jQuery уязвимости скорее всего еще останутся.
    2) Написать универсальный эксплоит под это дело крайне сложно - нужно в каждом сайте искать XSS, заточенный под эту дырку. И его может не найтись.

    Так что ценность результатов этого исследования, мягко говоря, сомнительная - из попадания сайта в список не следует наличия уязвимости в сайте.

     
     
  • 2.13, нах, 14:37, 23/11/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –3 +/
    если ты уже нашел xss, тебе не должно быть очень важно, уязвима ли та версия jqu... весь текст скрыт [показать] [показать ветку]
     
  • 1.7, тоже Аноним, 13:40, 23/11/2017 [ответить] [смотреть все]  
  • +1 +/
    Признаться, был уверен, что во фронтенде может быть только одна уязвимость.
    А именно - доверие к нему со стороны бэкенда.
    Но вроде бы любой грамотный разработчик в курсе, что на бэк извне могут прийти какие угодно данные, а данные, полученные по запросу, может прочесть кто угодно...
     
     
  • 2.15, Аноним84701, 15:41, 23/11/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Тем не менее, частенько все получается как с коммунальными службами и ежегодным,... весь текст скрыт [показать] [показать ветку]
     
  • 2.22, Stop, 16:59, 23/11/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    А слить твои данные на сторону заходя на сервер это не уже не уязвимость It s s... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.24, тоже Аноним, 18:24, 23/11/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    Понимаю, растопыренными пальчиками писать неудобно Но я предпочел бы увидеть оп... весь текст скрыт [показать]
     
     
  • 4.32, angra, 22:31, 23/11/2017 [^] [ответить] [смотреть все]  
  • +/
    Ну ты же большой мальчик, возьми и загугли XSS и CSRF или просто пройди по ссылк... весь текст скрыт [показать]
     
     
  • 5.42, тоже Аноним, 08:11, 24/11/2017 [^] [ответить] [смотреть все]  
  • +/
    Я, видимо, недостаточно большой мальчик, чтобы нагуглить, как можно защититься о... весь текст скрыт [показать]
     
  • 2.37, Аноним, 05:48, 24/11/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Аналогично Всегда можно поправить так, чтобы конкретно у тебя загрузилась модиф... весь текст скрыт [показать] [показать ветку]
     
     ....нить скрыта, показать (6)

  • 1.9, Аноним, 13:52, 23/11/2017 [ответить] [смотреть все]  
  • +3 +/
    Странно, что только 77 , если учитывать, как делается большинство сайтов - орган... весь текст скрыт [показать]
     
     
  • 2.11, 0x0, 14:11, 23/11/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –4 +/
    А в нашу эпоху главное, что Чтобы все участвующие чего-нибудь поимели не исклю... весь текст скрыт [показать] [показать ветку]
     
  • 2.26, Ордоним, 21:11, 23/11/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Сколько заплатили, столько и получили Пилить крутой и правильный продакшон оно,... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.27, ДевопсЛокалхостаКубернетыОпенстеки, 21:18, 23/11/2017 [^] [ответить] [смотреть все]  
  • +/
    Кто ж вас научит делать правильный прод опять все построите на костылях и синей... весь текст скрыт [показать]
     
     
  • 4.28, Аноним, 21:26, 23/11/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Да разрабы есть, но вот аналитиков нанимать не принято, между бизнесом и технаря... весь текст скрыт [показать]
     
  • 1.10, Аноним, 14:06, 23/11/2017 [ответить] [смотреть все]  
  • +/
    уязвимые версии еще ладно ,вы лучше вспомнити как отвалилась полинтернета после ... весь текст скрыт [показать]
     
     
  • 2.30, animonous, 22:16, 23/11/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Бесконтрольный апдейт с хипстерских реп - вообще зло и ц.
     
  • 2.38, Аноним, 05:49, 24/11/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    С вами забудеш... весь текст скрыт [показать] [показать ветку]
     
  • 1.35, Аноним, 22:41, 23/11/2017 [ответить] [смотреть все]  
  • +3 +/
    Потому что, как написано в статье http www opennet ru opennews art shtml num 4... весь текст скрыт [показать]
     
  • 1.36, Аноним, 02:28, 24/11/2017 [ответить] [смотреть все]  
  • –2 +/
    Вот чёт реально не понял в js можно наклеить уязвимостей Где можно почитать ... весь текст скрыт [показать]
     
  • 1.41, EuPhobos, 07:37, 24/11/2017 [ответить] [смотреть все]  
  • –1 +/
    Что значит "уязвимые JS-библиотеки"??
    Если смогли что-то написать на JS, что ставит под сомнение безопасность, то значит сам JS уязвим, а не библиотеки, которые написанные на том же JS.
    Бред какой-то получается.
    Это как если преступник возьмёт 6-ти патронный револьвер, выстрелит из него в человека 6 раз, и попадёт только 1, а криминалисты приехав на место скажут "Хмм, тут револьвер, но он не важен, самое интересное, что в нём всё таки была одна летальная пуля, именно если бы не конкретно эта самая пуля, именно она виновата" и начнут искать кто изготовил именно эту пулю ...
     
  • 1.43, Аноним, 10:14, 24/11/2017 [ответить] [смотреть все]  
  • –2 +/
    Объясните чем страшна уязвимость в клинтской библиотеке Она же все одно на клие... весь текст скрыт [показать]
     
     
  • 2.44, Аноним, 10:38, 24/11/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Например, можно выполнить от имени пользователя действия, которые он не собиралс... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.46, тоже Аноним, 11:28, 24/11/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Джентльмены, давайте не витать в теориях Предположим, что здесь, на Опеннете, и... весь текст скрыт [показать]
     
     
  • 4.50, ойой, 16:13, 24/11/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    Как вы могли заменить, у некоторых комментариев есть кнопка развернуть Допуст... весь текст скрыт [показать]
     
     
  • 5.51, ойой, 16:14, 24/11/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Прошу прощения, кнопка выглядит как "[показать]", а не "развернуть"
     
  • 5.52, тоже Аноним, 17:08, 24/11/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Какой же дурак делает экранирование - на клиенте То есть первый же бот, посыла... весь текст скрыт [показать]
     
     
  • 6.54, angra, 00:33, 25/11/2017 [^] [ответить] [смотреть все]  
  • +/
    > Какой же дурак делает экранирование - на клиенте?

    API, REST? Нет, не слышал.

    > То есть первый же бот, посылающий ответ без всякого браузера, сделает то же самое, как бы вы ни обновляли библиотеки?!

    Задаю наводящий вопрос: "И от чьего же имени сможет написать бот?".

    > это глупость программиста, который доверяет данным, пришедшим с фронтенда.

    Мысль о том, что и бекенду тоже не надо доверять, в голову никогда не заглядывала?

     
     
  • 7.55, тоже Аноним, 12:14, 25/11/2017 [^] [ответить] [смотреть все]  
  • +/
    И какое сколь угодно RESTFUL API требует от вас, приняв произвольный комментарий от пользователя, сохранять его в неприкосновенности, надеясь на то, что при выводе его что-то на клиенте проэкранирует? А если, не дай бог, админка наваяна на коленке и в ней забудут проэкранировать тот же комментарий и аккуратно выведут его администратору - этот дятел таки порушит всю вашу цивилизацию?
     
     
  • 8.60, Аноним, 09:02, 26/11/2017 [^] [ответить] [смотреть все]  
  • +/
    Если у апологетов уязвимостей в на фронтенде закончились аргументы, то даже не с... весь текст скрыт [показать]
     
  • 3.48, anonymous, 13:50, 24/11/2017 [^] [ответить] [смотреть все]  
  • +/
    но ведь для этого нужно как то войти в клиента как это сделать если в код на се... весь текст скрыт [показать]
     
  • 2.45, Аноним, 10:46, 24/11/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    А на клиенте что, воровать нечего Явки пароли, например С которыми уже идти на... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.49, anonymous, 13:56, 24/11/2017 [^] [ответить] [смотреть все]  
  • +/
    как зайти на клиента если ничего нового в том что лежит на сервере не добавить?
     
  • 1.57, Аноним, 15:46, 25/11/2017 [ответить] [смотреть все]  
  • +/
    Меня одного шокирует сложившая сегодня ситуация, что недостаточно образованные в... весь текст скрыт [показать]
     
  • 1.59, Аноним, 08:47, 26/11/2017 [ответить] [смотреть все]  
  • +/
    Я, как и многие тут, не понимаю про опасность уязвимостей фронтенд библиотеках ... весь текст скрыт [показать]
     
     
  • 2.62, Аноним, 20:22, 26/11/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Атака на фронтэнд, это не атака на сервер инфраструктуру проекта, а атака на пол... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.63, Аноним, 21:03, 26/11/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Но ведь XSS всегда экранируется на сервере Не придет ничего клиенту Хорошо, до... весь текст скрыт [показать]
     
  • 1.61, qwerty_qwerty1, 13:32, 26/11/2017 [ответить] [смотреть все]  
  • +/
    Дело не вот что программисты не хотят переходить на новые версии.
    А дело в том что для перехода на новую версию надо переписать сайт целиком.
      
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor