Подсчет уязвимостей в проектах с открытым исходным кодом и языках программирования


Количество обнаруженных уязвимостей с открытым исходным кодом резко возросло в 2017 году, достигнув в общей сложности почти 3500. Mozilla была проектами с открытым исходным кодом с наибольшим количеством уязвимостей, а C / C ++ — наиболее уязвимым языком.

Чтобы предоставить эту информацию, WhiteSource — компания, которая продает программное обеспечение, которое отслеживает компоненты с открытым исходным кодом для предоставления предупреждений о проблемах безопасности и лицензирования, — провела опрос 650 разработчиков из США и Западной Европы об их практике и проблемах использования открытого исходного кода. Они также собрали данные из NVD, национальной базы данных уязвимостей Соединенных Штатов, вместе с рекомендациями по безопасности, рецензируемыми базами данных уязвимостей, средствами отслеживания проблем и многим другим, чтобы получить представление об управлении уязвимостями с открытым исходным кодом.

Статистические данные, представленные в Отчете об управлении уязвимостями с открытым исходным кодом, показали, что количество обнаруженных уязвимостей программного обеспечения с открытым исходным кодом в 2017 году выросло более чем на 50% по сравнению с 2016 годом. В 2018 году количество обнаруженных уязвимостей немного снизилось по сравнению с 2017 годом, но подтвердило рост тенденция:

Если посмотреть на распределение уязвимостей среди популярных проектов с открытым исходным кодом, Mozilla Firefox возглавляет список, за ним следует Linux:

Что касается языков, C / C ++ выходит на первое место с большим отрывом:

Комментируя этот вывод в недавнем сообщении в блоге WhiteSource, Айяла Гольдштейн пишет:

Это не означает, что C менее безопасен, чем другие языки. Большое количество уязвимостей с открытым исходным кодом в C можно объяснить несколькими факторами. Начнем с того, что C используется дольше, чем любой из исследованных нами языков, и имеет самый большой объем написанного кода. Это также один из языков, лежащих в основе основной инфраструктуры, такой как Open SSL и ядро Linux. Эта выигрышная комбинация объема и центральности объясняет большое количество известных уязвимостей с открытым исходным кодом в C.

В сообщении блога также был проведен языковой анализ с течением времени, отмечен существенный рост известных уязвимостей безопасности с открытым исходным кодом на всех языках за последние два года:

Комментируя это, Гольдштейн пишет:

Этот рост можно объяснить ростом осведомленности об известных уязвимостях безопасности в компонентах с открытым исходным кодом, а также постоянно растущей популярностью открытого исходного кода. По мере того, как все больше ресурсов вкладывается в исследования безопасности с открытым исходным кодом, количество обнаруженных проблем увеличивается. Использование автоматизированных инструментов и растущие инвестиции в программы bug bounty еще больше способствовали резкому увеличению количества обнаруженных уязвимостей безопасности с открытым исходным кодом.

Затем Голдштейн сосредоточился на уязвимостях безопасности с открытым исходным кодом высокой степени серьезности (оценка выше 7 согласно CVSS v2) в зависимости от языка с течением времени:

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

Комментируя это, Гольдштейн пишет:

Снижение процента критических уязвимостей может быть результатом согласованных усилий исследователей безопасности по использованию автоматизированных инструментов для обнаружения уязвимостей в компонентах с открытым исходным кодом. Эти инструменты обычно менее способны обнаруживать более сложные и критические проблемы. Хотя многие из этих инструментов хорошо справляются с обнаружением уязвимостей, многие из проблем не являются критическими, и поэтому мы наблюдаем рост числа уязвимостей в основном среднего размера за последние несколько лет в большинстве языков программирования, которые мы изучали.


Добавить комментарий