75% коммерческих приложений включают устаревший открытый код с уязвимостями

Компания Synopsys проанализировала 1253 коммерческих кодовых баз и пришла к выводу, что почти все (99%) рассмотренные коммерческие приложения включает как минимум один компонент с открытым исходным кодом, а 70% кода в рассмотренных репозиториях является открытым. Для сравнения в аналогичном исследовании 2015 года доля открытого кода составляла 36%.

При этом в большинстве случаев использованный сторонний открытый код не обновляется и содержит потенциальные проблемы с безопасностью — в 91% из рассмотренных кодовых баз имеются открытые компоненты, которые не обновлялись более 5 лет или как минимум два года находятся в заброшенной форме и не сопровождаются разработчиками. Как следствие, в 75% выявленного в репозиториях открытого кода присутствуют неисправленные известные уязвимости, из которых половина имеет высокий уровень опасности. При выборке за 2018 год доля кода с уязвимостями составляла 60%.

Наиболее часто встречающейся опасной уязвимостью стала проблема CVE-2018–16487 (удалённое выполнение кода) в библиотеке lodash для Node.js, уязвимые версии с которой встретились более 500 раз. Наиболее старой неисправленной уязвимостью стала проблема в демоне lpd (CVE-1999–0061), исправленная в 1999 году.

Кроме безопасности в кодовых базах коммерческих проектов также наблюдается халатное отношение к соблюдению условий свободных лицензий. В 73% кодовых баз найдены проблемы с легальностью использования открытого кода, например, несовместимости лицензий (как правило, GPL-код включается в состав коммерческих продуктов без открытия производного продукта) или использование кода без указания лицензии. 93% всех проблем с лицензиями проявляются в сетевых и мобильных приложениях. В играх, системах виртуальной реальности, мультимедийных и развлекательных программах нарушения замечены в 59% случаев.

Всего в ходе исследования выделено 124 типовых открытых компонента, которые обычно используются во всех кодовых базах. Наиболее популярные из них: jQuery (55%), Bootstrap (40%), Font Awesome (31%), Lodash (30%) и jQuery UI (29%). В разрезе языков программирования наиболее популярными являются JavaScript (используется в 74% проектов), C++ (57%), Shell (54%), C (50%), Python (46%), Java (40%), TypeScript (36%), C# (36%); Perl (30%) и Ruby (25%). Общая доля языков программирования составляет: JavaScript (51%), C++ (10%), Java (7%), Python (7%), Ruby (5%), Go (4%), C (4%), PHP (4%), TypeScript (4%), C# (3%), Perl (2%) и Shell (1%).

Источник: http://www.opennet.ru/opennews/art.shtml? num=52945

Полный текст статьи читайте на OpenNet