По данным фирмы Black Duck, почти две трети приложений с Open Source-компонентами содержат известные уязвимости.

Команды разработчиков ПО продолжают полагаться на Open Source, но почти две трети приложений, использующих компоненты с открытым кодом, имеют дефекты, утверждается в опубликованном 19 апреля докладе фирмы Black Duck Software, которая занимается безопасностью ПО.

При анализе результатов аудита более чем 1 тыс. приложений Black Duck обнаружила в одном приложении в среднем 27 уязвимостей по сравнению с 23 в 2015 г., говорится в докладе. Более половины уязвимостей имели высокий рейтинг серьезности. Некоторые компоненты, включая OpenSSL и Apache Struts, насчитывали 20 и более уязвимостей с высоким риском по каждому компоненту, утверждается в докладе

Многие компании не создают политик, которым должны были бы следовать их разработчики при использовании компонентов с открытым кодом, и не отслеживают должным образом применение таких компонентов, заявил Тим Маккей, старший технический пропагандист Black Duck. «Разработчики концентрируются на решении имеющейся проблемы и не обязательно на создании наиболее чистого кода, — сказал он. — Таким образом, один из важнейших выводов заключается в том, что организация будет сосредотачивать усилия на тестировании и поиске уязвимостей в своем продукте, но это не означает, что компоненты с открытым кодом тоже безопасны».

Open Source представляет фундаментальный элемент современной разработки ПО и, по данным Black Duck, в среднем составляет 36% кода приложений. Определенные отрасли в большей степени полагаются на компоненты с открытым кодом. Например, приложения для здравоохранения на 46%, а приложения для розничной торговли и электронной коммерции на 41% состоят из открытого кода.

Фирмой было протестировано более 1 тыс. приложений. Почти все они (96%) имели Open Source-компоненты. Это не удивительно, учитывая, что Black Duck позаимствовала данные для исследования из результатов аудита своих клиентов, у которых, как можно предположить, были причины беспокоиться по поводу использования ими открытого кода.

Наиболее популярным открытым кодом являются JQuery (обнаружен в примерно 58% протестированных приложений), Bootstrap (36%) и JUnit (31%).

Как правило, клиенты Black Duck принадлежат к одной из двух категорий. Это те, кто применяют Open Source-компоненты, но хотят определить связанный с этим риск, и те, кто хотят быть уверены, что никакие компоненты с открытым кодом не используются.

«У нас есть некоторые клиенты, которые говорят: „Мы не хотим вообще никакого открытого кода в нашей вычислительной среде“, потому что они считают это плохой идеей, — сказал Маккей. — Но есть и другие организации, которые говорят: „Мы знаем о рисках“, и хотят понять их масштабы».

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

«Длинный шлейф превращается в значительную проблему, потому что вы как администратор не обязательно должны сегодня знать, что можете быть уязвимы из-за чего-то трех- или четырехлетней давности, — сказал Маккей. — Тем не менее, мы уже видели, что сотни тысяч общедоступных веб-сайтов остаются уязвимыми для ошибки Heartbleed. Так что длинный шлейф действительно подвергает компании риску».