Обмен технологиями

Безопасность цепочки поставок программного обеспечения: как защититься от потенциальных атак?

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Вставьте сюда описание изображения

источник:https://thehackernews.com/2024/06/practical-guidance-for-securing-your.html

Вставьте сюда описание изображения

Неудивительно, что организации, производящие программное обеспечение, сталкиваются с растущим нормативным и юридическим давлением, требующим защиты своих цепочек поставок и обеспечения целостности своего программного обеспечения. За последние несколько лет цепочка поставок программного обеспечения стала все более привлекательной мишенью для злоумышленников, которые видят возможность на порядки усилить свои атаки. Например, взгляните на уязвимости Log4j в 2021 году. Log4j (инфраструктура ведения журналов с открытым исходным кодом, поддерживаемая Apache и используемая в бесчисленном количестве различных приложений) была источником уязвимостей, которые подвергали риску тысячи систем.

Коммуникационные функции Log4j уязвимы, что дает злоумышленникам возможность внедрить в журналы вредоносный код, который затем может быть выполнен в системе. После его обнаружения исследователи безопасности наблюдали миллионы попыток использования эксплойтов, многие из которых закончились успешными атаками типа «отказ в обслуживании» (DoS). Согласно новому исследованию Gartner, к 2025 году почти половина корпоративных организаций станет жертвой атак на цепочки поставок программного обеспечения.

Но что такое цепочка поставок программного обеспечения? Во-первых, оно определяется как сумма всего кода, людей, систем и процессов внутри и за пределами организации, которые способствуют разработке и доставке программных артефактов. Что делает обеспечение безопасности цепочки поставок программного обеспечения такой сложной задачей, так это сложность и сильно распределенный характер разработки современных приложений. Организации нанимают глобальные команды разработчиков, которые полагаются на беспрецедентное количество зависимостей с открытым исходным кодом, а также обширные репозитории кода и реестры артефактов, конвейеры CI/CD и инфраструктурные ресурсы для создания и развертывания приложений.

Хотя безопасность и соблюдение требований всегда были главными проблемами для корпоративных организаций, защита цепочки поставок программного обеспечения организации становится все более сложной задачей. Однако многие организации добились существенного прогресса во внедрении методов DevSecOps, и многие из них все еще находятся на ранних стадиях понимания того, что делать.

Именно поэтому мы собрали эту статью. Хотя следующий список ни в коем случае не является исчерпывающим, вот четыре руководящих принципа, которые могут направить ваши усилия по обеспечению безопасности цепочки поставок программного обеспечения в правильном направлении.

При применении безопасности учитывайте все аспекты цепочки поставок программного обеспечения.

Учитывая, что более 80% баз кода содержат по крайней мере одну уязвимость с открытым исходным кодом, зависимости OSS, естественно, стали основным направлением безопасности цепочки поставок программного обеспечения. Однако в современную цепочку поставок программного обеспечения входят и другие организации, уровень безопасности которых либо игнорируется, либо не широко понимается внутри организации и не требует надлежащего управления. Этими объектами являются репозитории кода, конвейеры CI и CD, инфраструктура и реестры артефактов, каждый из которых требует контроля безопасности и регулярных оценок соответствия.

Такие структуры, как OWASP Top-10 для тестов безопасности цепочки поставок программного обеспечения CI/CD и CIS. Для соответствия этим платформам потребуется детальный RBAC, применение принципа наименьших привилегий, сканирование контейнеров и инфраструктуры как кода на наличие уязвимостей и неправильных конфигураций, изоляция сборок, интеграция тестирования безопасности приложений и правильное управление секретами — и это лишь некоторые из них.

SBOM имеет решающее значение для устранения проблем нулевого дня и других проблем с компонентами.

Часть исполнительного указа 14028, изданного Белым домом в середине 2021 года с целью укрепления национальной кибербезопасности, требует от производителей программного обеспечения предоставлять своим федеральным клиентам спецификацию программного обеспечения (SBOM). SBOM — это, по сути, формальные записи, предназначенные для обеспечения видимости всех компонентов, составляющих программное обеспечение. Они предоставляют подробный машиночитаемый список всех библиотек с открытым исходным кодом и сторонних библиотек, зависимостей и компонентов, используемых для создания программного обеспечения.

Независимо от того, соответствует ли организация требованиям EO 14028, создание и управление SBOM для программных артефактов является ценной практикой. SBOM — незаменимый инструмент для устранения проблем с компонентами или уязвимостей нулевого дня. При хранении в репозитории с возможностью поиска SBOM предоставляет карту присутствия конкретных зависимостей и позволяет группам безопасности быстро отслеживать уязвимости до затронутого компонента.

Управление жизненным циклом разработки программного обеспечения с использованием политики как кода

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

Хотя многие платформы и инструменты предоставляют готовые политики, которые можно быстро выполнить, политика как код, основанная на отраслевом стандарте Open Policy Agent, позволяет создавать и выполнять полностью настраиваемые политики. Управляйте политиками, начиная от разрешений доступа и заканчивая разрешением или запретом использования зависимостей OSS на основе таких критериев, как поставщик, версия, URL-адрес пакета и лицензия.

Возможность проверять и обеспечивать доверие к вашим программным артефактам с помощью SLSA.

Как пользователи и потребители узнают, что программное обеспечение заслуживает доверия? При определении надежности программного артефакта вам необходимо знать, кто написал код, кто его создал и на какой платформе разработки он был создан. Вам также следует знать, какие компоненты находятся внутри.

Как только вы сможете проверить происхождение (запись о происхождении программного обеспечения и цепочке поставок), вы сможете решить, доверять ли этому программному обеспечению. С этой целью была создана структура Supply Chain Level of Software Artifacts (SLSA). Это позволяет организациям, производящим программное обеспечение, собирать информацию из любого аспекта цепочки поставок программного обеспечения, проверять свойства артефактов и их сборок, а также снижать риск проблем безопасности. На практике организации, производящие программное обеспечение, должны принять и соблюдать требования структуры SLSA, а также внедрить метод проверки и создания аттестаций программного обеспечения, которые представляют собой подтвержденные утверждения (метаданные) об артефактах программного обеспечения по всей цепочке поставок программного обеспечения.