Журнал РАДИОЛОЦМАН, август 2015
Tracey Schelmetic
Design News
Сегодня многие компании, разрабатывающие программное обеспечение, спеша вывести новые продукты на рынок, в значительной степени полагаются на программные компоненты Java с открытым исходным кодом. Зачастую это означает, что они скачивают открытый исходный код из публичных репозиториев, на которых разработчики делятся своими компонентами с другими пользователями. Компания Sonatype, управляющая одним из крупнейших открытых репозиториев Central Repository, разместила для разработчиков следующее сообщение: «Ваши компоненты с открытым исходным кодом могут быть небезопасны».
Только в прошлом году крупные компании, работающие в сферах программного обеспечения (ПО) и финансовых услуг, загрузили почти четверть миллиона компонентов. Согласно Sonatype, около 15,000 (или 7.5%) из этих компонентов имели известные уязвимости.
По существу, софтверные компании, использующие эти репозитории без надлежащих процедур контроля, встраивают ошибки и прочие изъяны прямо в программы, которые они распространяют и продают клиентам. Если представить, что клиент покупает такую программу для управления промышленным оборудованием (ICS) или автоматизированного диспетчерского управления и сбора данных (SCADA), то дальнейший сценарий становится намного страшнее.
Разработчики, плохо проверившие открытый исходный код, скаченный ими с бесплатных репозиториев и используемый в их продуктах, могут принести в свои компаний такие проблемы, как уязвимость Heartbleed. |
По данным Sonatype все может быть намного хуже: многие софтверные компании, внедрившие уязвимости в свои продукты, из-за плохой практики проверок не смогут сказать, какое из их приложений затронуто известной ошибкой.
Компании, держащие репозитории с открытым исходным кодом, и в частности, Central Repository, проверку качества выкладываемых компонентов не производят, они просто размещают их. Разработчики открытого кода должны сами давать гарантию, что их компоненты не содержат ошибок. В противном случае разработчики конечного программного продукта должны удостовериться, что в приобретаемых ими компонентах нет уязвимостей.
Согласно Лиаму О’Мурчу (Liam O'Murchu), ведущему научному сотруднику по безопасности в Symantec, использование открытого ПО не является безрисковым, и разработчики должны принимать это во внимание.
«Сегодня существует множество уязвимостей, и их выявление зависит от того, как используется программное обеспечение, – сказал О’Мурчу изданию Design News. – Недавней серьезной уязвимостью в области открытого программного обеспечения была Heartbleed в OpenSSL. Heartbleed позволила злоумышленникам получать полный контроль над вычислительными машинами, на которых были установлены программы с этой ошибкой. Другие уязвимости позволяют взломщикам красть информацию, получать управление над зараженными машинами или выводить их из строя».
Одним из решений может быть всеобщий запрет на использование компонентов с открытым исходным кодом, но для многих разработчиков это просто непрактично. Некоторые элементы с открытым кодом применяются почти повсеместно из-за их полезности, специализации и из-за того, что их достаточно трудно переписать с нуля.
Конкуренция в отрасли программного обеспечения зачастую означает, что задержки в выпуске продукции или обновлении версии просто недопустимы. Ответственность разработчиков, использующих материалы с открытым исходным кодом, заключается в том, чтобы гарантировать, что встроенные в фирменные продукты компоненты чисты и не содержат уязвимостей, и что они создали простой и эффективный способ уведомления клиентов об обнаруженных проблемах.
«Разработчики должны быть осведомлены о том, какое открытое ПО они используют, и должны контролировать эти проекты для уведомлений об уязвимостях, – сказал О’Мурчу. – Они также должны иметь план, чтобы при обнаружении в этих проектах уязвимостей правильно среагировать и выпустить исправления или обновления».
Планы действий имеют решающее значение для создателей ICS и SCADA, позволяя им избегать повторения Heartbleed, которая затронула бизнес крупных компаний, таких как Siemens и Innominate, и привела к ряду опасных кибер-атак, направленных на системы управления, – считает агентство ICS-CERT, являющееся частью Департамента внутренней безопасности США. Когда крупные цели, такие как банки, быстро исправили уязвимости, хакеры обратили свои взоры на менее очевидные, но не менее заманчивые жертвы, и промышленные системы оставались уязвимыми спустя еще несколько недель.