English

В Open Source-проектах взрывной рост числа уязвимостей. На чем пишут самое «дырявое» ПО

14 марта 2020

Количество уязвимостей в проектах с открытым исходным кодом всего за год увеличилось на 50%. Бреши присутствуют в ПО, написанном на самых разных языках, но чаще всего они находятся в проектах, созданных на C, PHP и Java.

В программном обеспечении с открытым исходным кодом отмечен резкий рост количества уязвимостей. Всего за год их число увеличилось на 50%.

К такому выводу пришли специалисты компании WhiteSource Software, занимающейся, в том числе, разработкой одноименной системы управления лицензиями, рассчитанной в первую очередь на продукты с открытым исходным кодом. Проведя анализ рынка такого ПО, они выяснили, что в 2019 г. было выявлено более 6000 уязвимостей, тогда как в 2018 г. их количество едва превышало 4000.

По мнению экспертов компании, рост числа уязвимостей не говорит об общем ухудшении качества продуктов с открытым исходным кодом. Они полагают, что это связано в первую очередь с активным развитием Open Source-сообщества, наблюдаемым в последние несколько лет, и более широким распространением полноценного ПО и отдельных компонентов с открытым кодом.

Зависимость от языка программирования

Наличие или отсутствие уязвимостей в том или ином ПО не зависит от того, какой язык использовался для их написания, но может быть связан с популярностью и распространением самого языка. Так, по статистике WhiteSource, написанные на языке С программы и иные проекты в 2019 г. содержали наибольший процент уязвимостей в сравнении с другими языками – 30%. При этом в период с 2009 по 2018 гг. этот процент был еще выше – 47%.

Второе место занял PHP с результатом 27% (15% в 2009-2018 гг.), на третьем месте находится Java – 15% в 2019 г. и 11% в 2009-2018 гг. Всего в рейтинге WhiteSource представлено семь языков, и на четвертом месте находится JavaScript (10% с 2009 по 2019 гг.).

Пятую строчку занял C# (9% в 2019 г., 6% в 2009-2018 гг.). За ним следуют Python (5% и 6%) и Ruby (4% и 5%).

Самые распространенные уязвимости

Все уязвимости, приведенные в статистике WhiteSource, имеют индекс CWE и различный номер. Это означает, что они внесены в единую систему классификации ошибок, приводящих к уязвимостям – Common Weakness Enumeration или CWE.

Наиболее распространенны классом уязвимости по итогам 2019 г. стал CWE-79 (Cross-site Scripting, межсайтовое выполнение сценариев). За ним следуют класс CWE-20 (Improper Input Validation, некорректная проверка входных данных) и CWE-119 (Buffer Errors, выполнение операций за пределами буфера памяти).

Четвертое и пятое место в рейтинге занимают CWE-125 (Out-of-bounds Read, чтение за пределами буфера) и CWE-200 (Information Exposure раскрытие информации) соответственно. В 2018 г. картина была схожей (лишь CWE-20 и CWE-119 поменялись местами), чего нельзя сказать про 2017 г. По его итогам места с первого по пятое заняли: CWE-79, CWE-125, снова CWE-79 (не исключена ошибка в отчете WhiteSource), CWE-200 и CWE-20. в период с 2014 по 2016 гг. включительно в лидерах оказывались и другие уязвимости: CWE-264 (Permissions, Privileges, and Access Controls; Разрешения, привилегии и средства управления доступом), CWE-284 (Некорректное управление доступом, Improper Access Control) и CWE-399 (Ошибки управления ресурсами, Resource Management Errors).

В программах на языке C в 2019 г. чаще всего встречались уязвимости CWE-119, CWE-125, а также CWE-476 – NULL Pointer Dereference (Разыменование нулевого указателя). В ПО на оставшихся языках из списка лидерами стали CWE-79, CWE-20 и CWE-200.

Масштабы проблемы

Компоненты с открытым исходным кодом используются во многих современных программах, написанных под различные платформы. Статистику за 2019 г. WhiteSource не приводит, но, по ее данным, в начале 2013 г. открытые программные компоненты использовались приблизительно в 67% программных проектов. Из них около 85% содержали в себе устаревшие Open Source-компоненты, для которых было доказано наличие тех или иных угроз безопасности.

Источник
Новости по теме
Mail.ru Group перезапустила мессенджер ICQ
Интеллект минус вирус
ФАС предложила запретить производителям смартфонов устанавливать на них программное обеспечение со скрытыми функциями