Самым распространенным типом проблем оказалось межсайтовое выполнение сценариев.
70% настольных и мобильных приложений содержат как минимум одну уязвимость, связанную с использованием библиотеки с открытым исходным кодом. По словам специалистов из компании Veracode, бесплатные централизованные хранилища кода, предоставляющие готовые «строительные блоки» для разработчиков, представляют опасность.
Специалисты проанализировали 351 тыс. внешних библиотек в 85 тыс. приложений и отметили высокую распространенность библиотек с открытым исходным кодом. Например, большинство JavaScript-приложений содержат сотни библиотек с открытым исходным кодом, а некоторые — более 1 тыс.
По словам экспертов, JavaScript и PHP имеют несколько базовых библиотек, которые есть практически в каждом приложении. Данные библиотеки, как и другие программы, содержат уязвимости, но благодаря повторному использованию кода одна проблема может затронуть сотни приложений.
Больше всего проблем было обнаружено в библиотеках на языке Swift, .NET, Go и PHP. Swift в основном используется в устройствах от Apple и имеет наибольшее количество проблем недостатков. .NET имеет самый низкий процент уязвимых библиотек среди всех. Go имеет высокий процент библиотек с уязвимостями, но низкое количество проблем в каждой отдельной библиотеке. Больше всего проблем было обнаружено в библиотеках PHP.
Самым распространенным типом проблем в библиотеках с открытым исходным кодом оказалось межсайтовое выполнение сценариев (XSS) — проблема содержится в 30% библиотек. За ним следует небезопасная десериализация (23,5%) и нарушение контроля доступа (20,3%).
Как показали результаты исследования, большинство уязвимых библиотек (47%) попадают в код благодаря каскадным взаимозависимостям. Например, разработчики могут использовать одну библиотеку, которая без их ведома извлекает код из совершенно другой библиотеки с открытым исходным кодом.
Никаких овечек — только отборные научные факты