Если мы чему-то научились из некоторых крупных атак на цепочки поставок программного обеспечения, произошедших за последние несколько лет, таких как SolarWinds и Журнал4Shell атака, дело в том, что такого рода атаки могут быть весьма разрушительными. Но в современном взаимосвязанном цифровом мире компаниям становится все труднее их избегать.
Никто не застрахован от атак на цепочки поставок программного обеспечения. Что еще хуже, так это то, что взлом одной компании потенциально может подвергнуть атакам тысячи компаний в их цепочке поставок программного обеспечения. Из этого следует, что недостаточно защитить ваши собственные внутренние системы; Один из способов, с помощью которого ваша организация может активно снизить риски в цепочке поставок и защититься от атак, — это принять концепцию, известную как Спецификация программного обеспечения (SBOM).
Ваша организация, скорее всего, полагается на различные внешние системы для выполнения различных аспектов вашей повседневной деятельности. Однако вы, вероятно, не имеете представления о рисках, которые представляют собой эти внешние системы, если поставщик не раскроет их. SBOM действует как полный список ингредиентов, который дает представление о том, из чего состоят используемые вами программные компоненты. Этот документ стал ключевой компонент для управления рисками атак в цепочке поставок.
Какова функция SBOM в управлении рисками цепочки поставок?
Чтобы полностью понять потенциал и снизить риски используемого вами стороннего программного обеспечения, вам необходимо знать его состав. Спецификация программного обеспечения (SBOM) обеспечивает полную прозрачность, что дает вам лучший контроль над безопасностью ваших внутренних систем.
Спецификация программного обеспечения — это список компонентов, служб и сторонних зависимостей в программном обеспечении или приложении. Концепция спецификации не нова, но лишь недавно она нашла применение в мире программного обеспечения. Корни этой концепции можно проследить в обрабатывающей промышленности, где производители обычно используют детали от разных поставщиков для создания продукта. Чтобы отслеживать историю продукта и облегчить будущее обслуживание, составляется спецификация, в которой подробно описаны все компоненты и происхождение каждого из них.
SBOM стали популяризироваться совсем недавно после атаки Solarwinds в 2020 году, которая затронула многие правительственные учреждения США. В ответ на это Президент Байден издал указ который уполномочил федеральные агентства запрашивать СБОМ от разработчиков программного обеспечения и поставщиков, с которыми они сотрудничают. Хотя точный SBOM не предотвращает атаку на цепочку поставок, он выявит все зависимости внутри программного продукта. Это делает его ценным инструментом кибербезопасности, который обеспечивает прозрачность и выявляет уязвимости в цепочке поставок, что позволяет снизить риски в цепочке поставок.
Почему SBOM важен для разработчиков, которые полагаются на открытый исходный код
Повторное использование стороннего кода или кода с открытым исходным кодом является неотъемлемой частью современного процесса разработки программного обеспечения. Хотя разработчикам по-прежнему приходится писать собственный код, они регулярно интегрируют сторонние компоненты с открытым исходным кодом в свое программное обеспечение. Это стало совершенно необходимым для поддержания высоких темпов реализации проектов.
В прошлом единственной причиной, по которой организации и разработчики, использующие программное обеспечение с открытым исходным кодом, хотели знать о его компонентах, было желание избежать проблем с лицензированием. Многие программы с открытым исходным кодом включали компоненты с ограниченным использованием и распространением, и каждый, кто хотел их использовать, должен был знать об этих ограничениях. Однако теперь разработчики начинают осознавать, что риск использования программного обеспечения с открытым исходным кодом выходит за рамки лицензирования; это также может вызвать проблемы безопасности. Спецификация является неотъемлемой частью понимания требований лицензирования и безопасности программного обеспечения с открытым исходным кодом.
Для разработчиков спецификация программного обеспечения обеспечивает лучшее представление о кодовой базе программного обеспечения с открытым исходным кодом, которое они используют. Во многих случаях это может помочь сэкономить время и усилия. Например, если обнаружена новая уязвимость. Без спецификации разработчикам придется проверять каждую часть программного обеспечения, чтобы определить причину проблемы. Для сложных проектов это изнурительная и трудоемкая задача. Используя SBOM, программное обеспечение, содержащее уязвимость, можно легко идентифицировать, и необходимое исправление ошибки будет выполнено немедленно. Другие причины, почему СБОМ имеет решающее значение в разработке программного обеспечения:
-
Уменьшить раздувание кода —Для каждого кода с открытым исходным кодом, который вы используете, вероятно, существуют десятки слегка отличающихся альтернатив, выполняющих схожие функции. С помощью SBOM вы можете сократить избыточность, создав стандартный список компонентов для вашей системы. Кроме того, поскольку каждый используемый вами компонент будет иметь свои уникальные дефекты или уязвимости, оптимизация вашего кода только до необходимого уровня может облегчить отслеживание и исправление уязвимостей.
-
Соблюдать лицензионные обязательства —Мы уже упоминали, что лицензирование является одним из основных мотивов для изучения всех компонентов вашего программного обеспечения. Получение SBOM гарантирует соблюдение всех лицензионных обязательств в отношении компонентов, которые вы решите использовать.
-
Проактивно оценивать и устранять риски —Выявление и устранение вновь выявленных рисков может быть трудным и трудоемким. Однако имея четко обозначенный список компонентов, вы можете превентивно приступить к поиску уязвимостей и их исправлению. Это сокращает время выявления проблем и делает процесс более эффективным.
-
Это упрощает тестирование и проверку кода.Прежде чем какое-либо программное обеспечение будет развернуто, оно должно быть тщательно протестировано и проверено. Этот процесс упрощается, если разработчик имеет четкое представление обо всех компонентах и подкомпонентах этого программного обеспечения. SBOM может помочь значительно сократить время проверки, позволяя запустить код в производство быстрее, чем если бы вы не использовали документ.
Используя SBOM, вы можете начать тестирование безопасности, чтобы обнаружить и избежать вредоносных компонентов на ранних стадиях, пока ваш код еще пишется. Документ также предоставляет более глубокий контекст сторонним кодам и их компонентам, сокращая работу и время, необходимые для проверки и даже внесения изменений в базу кода.
-
Определите программное обеспечение с истекшим сроком эксплуатации (EOL).Это довольно распространенное явление для программного обеспечения с открытым исходным кодом. Иногда срок службы этих компонентов подходит к концу, поскольку поставщик, находящийся на самом верху цепочки поставок, больше не поддерживает продукт. Хотя оно все еще работает, неподдерживаемое программное обеспечение с открытым исходным кодом является основным узлом, с помощью которого можно использовать уязвимости. SBOM позволяет контролировать программное обеспечение EOL и принимать упреждающие меры по его замене, когда это возможно.
Варианты использования и преимущества SBOM
Получение спецификации программного обеспечения (SBOM) не является обязательным для каждого разрабатываемого вами программного обеспечения. Однако его подготовка быстро становится лучшей практикой, которую должен учитывать каждый разработчик цифровых продуктов. Ниже приведены несколько случаев использования SBOM, где этот документ будет очень ценным.
Варианты использования SBOM
Соответствие федеральным требованиям
После крупных атак на цепочки поставок программного обеспечения в 2020 и 2021 годах президент Байден выпустил распоряжение в нем изложены основные рекомендации для агентств и поставщиков, поставляющих программные решения для правительства. Одним из требований, включенных в указ, было предложение включить SBOM для каждого программного обеспечения, которое будет использоваться федеральным правительством. Хотя SBOM не являются обязательными для всех, все организации, предоставляющие программное обеспечение для федерального правительства США, должны будут предоставить SBOM с подробным описанием всех используемых ими компонентов и любых изменений версий, которые они вносят.
Снижение риска для потребителей программного обеспечения
SBOM обеспечивает полную видимость сторонних компонентов программного инструмента. Отслеживание всех компонентов и подкомпонентов программного обеспечения — это один из способов, с помощью которых организации могут проверить стандарты безопасности и соответствия любого программного решения, которое они собираются использовать или уже используют.
Потребители, которые используют программное обеспечение без спецификации, вероятно, знают, что в коде, который они получают от поставщика, есть компоненты с открытым исходным кодом. Однако, поскольку эти ингредиенты неизвестны, потребители могут не знать о потенциально вредоносном коде, неподдерживаемых компонентах и других уязвимостях программного обеспечения.
Быстрое реагирование на кризисные ситуации
Использование SBOM обеспечивает наглядность базы кода программного обеспечения. В конечном счете, это облегчает разработчикам реагирование на кризисы, если они все-таки случаются. Например, без SBOM команде разработчиков программного обеспечения, пытающейся справиться с новой уязвимостью, придется вручную проверять каждую часть программного обеспечения, которую они используют, чтобы определить проблему. Однако при наличии спецификации легче сузить список программного обеспечения, которое может содержать уязвимость, и выполнить необходимые исправления в течение очень короткого времени. Это помогает сэкономить время на разрешение кризиса и минимизировать возможный ущерб.
Проблемы информационной асимметрии
В настоящее время на рынке программного обеспечения существует проблема асимметрии информации. Сохраняя полную информацию о безопасности своих приложений в секрете, поставщики или производители программного обеспечения не несут ответственности за качество своего программного обеспечения. SBOM делает информацию о безопасности продукта доступной для клиентов программного обеспечения. Это заставляет производителей соблюдать лучшие стандарты безопасности при разработке программного обеспечения.
Сопровождение слияний и поглощений
Спецификация программного обеспечения — это один из документов, который может потребоваться для приобретения компании. Части процесса приобретения бизнеса включают комплексную проверку для оценки потенциальных рисков покупки. SBOM дают глубокое представление о системе безопасности, которой управляет компания, и о потенциальном риске приобретения.
Преимущества СБОМ
Одним из наиболее важных методов обеспечения безопасности современной организации является доступ к рискам цепочки поставок программного обеспечения. Это предполагает знание того, включает ли стек программного обеспечения организации сторонние компоненты, которые могут представлять собой риск для цепочки поставок. Эти уязвимости программного обеспечения часто встречаются в компонентах, которые зависят от других программных приложений. Вот почему спецификация программного обеспечения является важным компонентом системы безопасности продукта. Ниже приведены некоторые из наиболее важных преимущества СБОМ.
- Оперативно устраняйте уязвимости-Конечным преимуществом SBOM является проверка структуры безопасности программного обеспечения, которое использует организация, выявление уязвимостей и поиск способов их упреждающего устранения. Это помогает организациям снизить риски в цепочке поставок.
- Улучшить процесс управления кризисами безопасности.Создание SBOM не устраняет уязвимости системы и не предотвращает полностью атаки на цепочку поставок программного обеспечения. Однако это снижает риски в цепочке поставок и может улучшить процесс управления кризисами, когда они происходят. Наличие списка всех зависимостей, которые могут служить потенциальной точкой уязвимости программного приложения, упрощает процесс управления рисками.
- Сократить затраты—Одним из последствий управления рисками безопасности с помощью SBOM является снижение затрат в долгосрочной перспективе. Процесс ручного анализа кода для обнаружения уязвимостей может оказаться весьма дорогостоящим. Спецификация программного обеспечения обеспечивает видимость базовых библиотек программного обеспечения. Это помогает сэкономить время и снизить стоимость оценки безопасности.
Заключение
В каждой организации, занимающейся разработкой программного обеспечения, которая серьезно относится к своей репутации, создание комплексной SBOM, которая постоянно обновляется данными, является одним из ключевых способов предотвратить последствия атаки на цепочку поставок программного обеспечения. Поскольку использование стороннего программного обеспечения практически неизбежно при создании программных продуктов, наличие полного списка ингредиентов всех используемых вами компонентов значительно облегчит выявление проблем и более эффективное их решение. Это также упрощает соблюдение требований лицензирования программного обеспечения и даже, в некоторых случаях, государственных постановлений.