Проблемы открытого кода
Евгений Питолин, эксперт по кибербезопасности
В преддверии нового года и традиционного подведения итогов стоит выделить тему безопасности цифровых продуктов на базе открытого кода (опенсорс). Зависимость от ПО на ОПС растет из года в год, и считается, что более 95 % всего нового ПО использует ОПС, от операционных систем на его базе до критических библиотек и веб-приложений. Такое ПО общедоступно и имеет более широкое распространение. В результате продукт с уязвимостью безопасности, используемый сотнями клиентов, будет иметь совсем иное влияние, чем протокол OpenSSH с уязвимостью на миллионах серверов по всему миру.
И вот теперь, когда читатель свыкся с техническо-инфраструктурной подоплекой этой колонки, обрушу на вас главный ее бизнес-сюрприз. Самые важные навыки с открытым исходным кодом – это навыки межличностного общения. Большая часть времени разработки ПО тратится на вещи, не связанные с написанием кода. Вот несколько ключевых навыков, которые пригодятся руководителю и ключевым членам команды разработки.
Навыки работы в комьюнити: проекты с открытым исходным кодом включают участников со всего мира, а экстравертность участников гарантирует, что методы безопасности будут поняты и реализованы правильно.
Предотвращение недопонимания: многие ошибки безопасности возникают из-за недопонимания, в том числе языкового. Четкая документация и открытые диалоги могут предотвратить возникновение этих проблем, а продвинутый английский поможет прояснить детали.
Проактивный подход: сохранение безопасности в первом контуре приоритетов помогает в раннем обнаружении потенциальных уязвимостей вашего продукта.
Постоянная бдительность: мышление, ориентированное на безопасность, поощряет постоянную оценку кода на предмет потенциальных рисков.
Ответственность и подотчетность: разработчики, которые чувствуют себя настоящими собственниками продукта, с публичностью и персональной ответственностью, с большей вероятностью будут создавать безопасный и надежный код.
В общем, софтскиллы рулят, и, если ваш СТО считает иначе, а ваш HRD не может закрыть вакансию продвинутого разработчика с коммуникационными навыками, время задавать вопросики. Но это не означает, что хардскиллы отошли на второй план. Открытый исходный код является публично изменяемым и открытым для взлома. На что обращать внимание при работе с внешним кодом?
Понимание векторов атак: знание того, как эксплуатируются уязвимости, имеет решающее значение.
Знание распространенных уязвимостей: понимание таких проблем, как SQL-инъекции, межсайтовый скриптинг (XSS) и переполнение буфера.
Работа в режиме ИБ-конвейера: включение проверок безопасности в процессы непрерывной интеграции и развертывания.
Контекст: понимание того, как ПО будет использоваться потребителями, помогает выявлять потенциальные уязвимости.
Автоматизированное тестирование: автоматический скан уязвимостей позволяет выявлять проблемы на ранних этапах.
ПО на базе кодинга ИИ: растет потребность в доступных исследователях открытого кода, сосредоточенных на безопасности, ИИ с открытым исходным кодом вносит новые уровни сложности и непрозрачности из-за огромных наборов данных и вероятностного характера обученных моделей. Даже разработчики могут не полностью понимать, как обрабатываются входные данные. Сегодня обеспечение безопасности софта на базе ИИ требует специальных навыков и глубокого понимания как технологий ИИ, так и принципов безопасности, и корпорации должны осознать важность инвестирования в инженеров, обладающих сбалансированными софт- и хардскиллами, принося пользу глобальному сообществу, которое на них полагается.