Как стать автором
Обновить
70.69
Слёрм
Учебный центр для тех, кто работает в IT

Погружаемся в Open Source бережно и безопасно

Время на прочтение 4 мин
Количество просмотров 5.4K

На сегодняшний день нет практически ни одной программы, где не задействовали бы Open Source — программное обеспечение с открытым исходным кодом. Неумелое использование компонентов и недостаточная степень проверки могут испортить любой продукт, а вместе с ним и лишить лояльностей пользователей. 

Алексей Смирнов основал компанию CodeScoring — она занимается композиционным анализом программных продуктов, благодаря которому разрабатывать ПО с использованием Open Source можно безопасно. Алексей провёл вебинар на тему работы с OSS-компонентами и рассказал о работе своей платформы. Полную версию вебинара смотрите здесь, а мы подготовили материал по мотивам встречи.

Проблематика безопасной разработки c OSS

Количество Open Source-проектов растёт, с каждым годом их становится всё больше, а проекты с открытым исходным кодом включаются во все цепочки разработки. На примере экосистемы Java видно, что только в 21 году появилось большое количество новых уникальных компонентов и версий программных пакетов. Аналогичные данные можно увидеть и по JavaScript, и по Python-экосистемам.

Java
Java
JavaScript
JavaScript
Python
Python

К OSS обращаются практически все разработчики — последние исследования демонстрируют, что Open Source компоненты занимают до 90% кодовой базы. 

Open Source-компоненты известны и идентифицируемы, поэтому и атаку проще и быстрее подготовить именно через открытые компоненты, именно этим и пользуются злоумышленники.

Чем популярнее пакет, который находится в Open Source, тем больше в нём находится уязвимостей, такие проекты вызывают больше интереса со стороны исследователей безопасности. В менее популярных проектах уязвимости тоже есть, но их исследуют не столь тщательно.

Наиболее острые проблемы в OSS

  • Уязвимости в Open Source-компонентах появляются каждый день, на многие из них есть доступные эксплойты — программы или последовательности действий, которые позволяют использовать уязвимости. Эта информация находится в открытом доступе, поэтому время подготовки атаки у злоумышленников на проекты существенно сократилось.

  • Лицензии на Open Source-проекты определяют условия их использования. Риски здесь заключаются в том, что лицензии могут отсутствовать или вовсе быть неподходящими для проекта, некоторые из них могут требовать от разработчика раскрыть исходный код при распространении программы. 

  • Программы, которые добавлены в ПО скрытно, т. н. закладки. Они могут нанести существенный вред: к примеру, собрать личную информацию и передать её мошенникам. 

Принципы выстраивания безопасной разработки c OSS

Уже больше 10 лет существует Software Composition Analysis — направление в анализе программного обеспечения, сокращенно SCA. Это процесс и комплекс инструментов, который позволяет определить, из чего же состоит ваше ПО, обозначить риски и возможные пути исправления уязвимостей. 

Это фундамент безопасной разработки, с ним разработчику понятно, где могут возникнуть уязвимости, какие проблемы с лицензией стоит ожидать.SCA позволяет контролировать ситуацию и создавать безопасный для пользователя продукт. Такие инструменты обеспечивают необходимую автоматизацию, и разработчику становится легче отслеживать появление новых уязвимостей. 

Основные принципы работы систем композиционного анализа

  1. Инвентаризация, поиск директивных и транзитивных зависимостей. Ищем манифесты и разбираем их, разрешаем зависимости, понимаем, какие «включения» Open Source есть и как с ними можно работать.

  2. Проверка уязвимостей или лицензий согласно security gates, которые вы установите. Уязвимости можно проверить в базе уязвимостей: CVE, GHSA, OSS Index и других.

  3. Инструмент SCA пришлет уведомление или рекомендацию о блокировке.

Системы композиционного анализа применяются в трёх режимах:

  1. SCA Firewall — блокирование нежелательных компонентов в прокси-репозиториях, таких как Nexus Repository Manager, JFrog Artifactory и других. 

  2. Проверка зависимостей и блокирование сборок в CI/CD пайплайнах согласно настроенным политикам (агент).

  3. Continuous monitoring — непрерывный мониторинг веток/тегов репозиториев (shift-left).

Как анализировать уязвимости: обзор CodeScoring

Это платформа, которая обеспечивает безопасность разработки. Работа с ней позволяет: 

  • провести инвентаризацию компонентной базы программных продуктов (SBoM);

  • находить уязвимости в Open Source компонентах;

  • строить лицензионный ландшафт и проверять лицензионную чистоту;

  • встраиваться в CI/CD пайплайны;

  • вести режим непрерывного мониторинга угроз «от кода»;

  • интегрироваться с прокси-репозиториями (хранилищами артефактов);

  • строить риск-отчетность о компонентной базе и не только.

Платформа обладает гибкой системой настроек политик уведомления и блокировки для разных этапов жизненного цикла разработки программного обеспечения (SDLC). 

Здесь спикер Алексей Смирнов показывает, как работать с CodeScoring и что она умеет делать Обеспечение безопасной работы с Open Source компонентами.

Перейдите на сайт CodeScoring, чтобы запросить демо-версию платформы и опробовать её в работе.

Информационная безопасность — это важное направление в работе организации. Требования растут, угроз становится всё больше — знания в этой области нужны не только сотруднику отдела безопасности, но и любому пользователю сети.

На курсе «Основы информационной безопасности» мы рассказываем, как защитить свои данные и создавать продукты без опасений. Переходите по ссылке, чтобы попасть на курс по выгодной цене.

Теги:
Хабы:
+7
Комментарии 0
Комментарии Комментировать

Публикации

Информация

Сайт
slurm.io
Дата регистрации
Дата основания
Численность
51–100 человек
Местоположение
Россия
Представитель
Антон Скобин