Как повысить безопасность Open Source-компонентов?

СМИ о нас Источник: Журнал «Системный администратор»
Журнал «Системный администратор»
 
Рубрика: Заочный круглый стол     
 
Популярность свободного программного обеспечения постоянно растет. Поэтому задача повышения безопасности ПО с открытым кодом остается едва ли не самой актуальной, когда речь заходит о распространении Open Source во всех экосистемах. Есть ли решение у этой задачи ?
 
Иван Панченко, заместитель генерального директора компании Postgres Professional
 
Вопрос 1. Основные проблемы безопасности компонентов с открытым исходным кодом?
 
– Существующее мнение о том, что открытость кода сама по себе является гарантией безопасности, неверно. Оно основывается на том, что тысячи глаз читает код и их обладатели готовы заметить и исправить ошибку. Но может оказаться также, что десятки тысяч или сотня, но гораздо более профессиональных и очень мотивированных глаз тоже ищут ошибку и жаждут воспользоваться ею в своих неблагородных целях.

А самые изощренные, под видом исправления ошибки, могут внести в код опасную, но неочевидную уязвимость. Разобраться в десятках миллионов строк – сложная, иногда и нерешаемая задача, особенно с учетом того, что продукт продолжает развиваться и код меняется. Поэтому найти намеренно внесенную уязвимость или случайную ошибку гораздо труднее, чем внести ее.
 
Защищенность и работоспособность компонентов с открытым кодом, скорее, зависит от культуры разработки и принятия изменений у разработчиков, использования автоматизации контроля качества и, конечно, наличия мощной системы круглосуточной технической поддержки, напрямую связанной с профессиональными разработчиками.
 
Вопрос 2. Какие из проблем, по вашему мнению, нужно решать в первую очередь?
 
– Для того чтобы обеспечить безопасное использование ПО с открытым кодом, требуется наличие людей, способных исправлять в нем ошибки и отвечающих за это. Нужный уровень квалификации эти люди могут получить, только занимаясь разработкой этого продукта.
 
Поэтому в первую очередь важно развивать разработку свободного ПО и ПО с открытым кодом, создавая собственные проекты и участвуя в деятельности международных сообществ, сформировавшихся вокруг используемых Open Source-решений. Это является задачей национального значения. Сообщества продуктивны, но безответственны. Но из них возникают компании, способные всерьез обеспечивать надежное и безопасное функционирование компонентов Open Source.
 
Вопрос 3. Ваши предложения по повышению уровня защищенности Open Source-компонентов?

– Государство в последнее время обратило существенное внимание на Open Source, так как его использование дает определенные преимущества. Но тут фактор безопасности является очень важным, и требуются специальные подходы, связанные с открытостью и общедоступностью кода.
 
Должны быть сформулированы правила, касающиеся ответственного использования Open Source. В целом они должны сводиться к наличию профессиональной техподдержки силами разработчиков, которые могут не только настраивать и внедрять продукты, но и исправлять в них ошибки, и системы контроля качества и безопасности кода. В качестве примера такой системы можно привести центр изучения безопасности Linux, недавно созданный ИСПРАН и ФСТЭК.
 
Простое использование Open Source как бесплатной альтернативы коммерческим продуктам заманчиво, но небезопасно, особенно в масштабах государственных и крупных промышленных информационных систем. Использование Open Source не нуждается в господдержке – оно и так достаточно привлекательно. Но разработка Open Source, которая необходима для его безопасного использования, – в поддержке нуждается.
 
Но, чтобы поддержка была эффективной, надо помнить пословицу – «Человек, которому дали рыбу, – сыт. Человек, которого научили ловить рыбу, – сыт всегда». Господдержка не должна сводиться к прямой раздаче денег разработчикам. Она должна быть устроена так, чтобы способствовать развитию коммерциализации Open Source – т.е. становлению отрасли, зарабатывающей на разработке ПО с открытым кодом.
 
Опасным является такая ветвь развития, в которой каждое ведомство или госкорпорация начинает создавать свои клоны широко распространенных продуктов для внутреннего использования. Это неэффективно и приводит к распылению драгоценного человеческого ресурса. Разработкой должны заниматься специализированные компании, которые способны сконцентрировать силы на основных направлениях разработки.
 
Задачей государственной важности является создание условий для возникновения в стране компаний, способных взять на себя ответственность за функционирование открытого ПО в государстве. Без этого вместо зависимости от иностранных корпораций мы получим зависимость от международных сообществ, продуктивных, но безответственных.
 
Вопрос 4. Какие инструменты могут помочь в этом?

– В первую очередь необходимо уделять больше внимания подготовке нового поколения профессионалов в сфере Open Source. Для этого нужно модернизировать ИТ-образование, внедрив практико-ориентированный подход к обучению, настроив взаимодействие вузов и технологических компаний, развивающих свои образовательные проекты. Это, в свою очередь, невозможно и без глубоких изменений в образовании вообще.
 
Общее физико-математическое образование является базовым для ИТ-специальностей. Соответствующее внимание должно уделяться и ему. Необходим также приток активных профессионалов в образование. Преподавать должны те, кто сделал что-то своими руками и жаждет отдать свои достижения в руки молодежи.
 
Государство занимается активной поддержкой развития ИТ-отрасли. В 2021 году вышел уже второй пакет мер поддержки, анонсировано начало работы над третьим. Меры эти существенны и заметно влияют на эволюцию отрасли. Надеюсь, что в третьем пакете будут учтены упомянутые выше особенности безопасности Open Source.
 
Вопрос 5. Какие форматы взаимодействия ИТ-сообщества для решения данной проблемы вы считаете эффективными?
 
– Тут я могу привести в пример международную экосистему разработчиков, аналитиков и пользователей, сложившуюся вокруг СУБД PostgreSQL за всё время ее существования. Благодаря объединению их усилий есть возможность расширять функциональность СУБД в соответствии с требованиями рынка и времени, повышать ее качество, надежность и защищенность. В это сообщество входят и индивидуальные разработчики, и мелкие и крупные компании, вносящие в наше время основной вклад в развитие продукта.
 
Вообще, сообщества Open Source, их жизнь и деятельность, являются интересным и сравнительно новым социальным феноменом. Я надеюсь, что наши гуманитарии возьмутся за их изучение с точки зрения социальных наук и помогут разработчикам сотрудничать эффективно.
 
Мнения других экспертов читайте по ссылке на страницах журнала - http://samag.ru/archive/article/4512. 
Метки
Open Source