Три способа повысить безопасность цепочки поставок вашего программного обеспечения

Brother

Professional
Messages
2,566
Reputation
3
Reaction score
347
Points
83
Раздел четвертый "Указа об улучшении национальной кибербезопасности" познакомил многих специалистов в области технологий с концепцией "Цепочки поставок программного обеспечения" и ее обеспечением. Если вы производите программное обеспечение и когда-либо надеетесь продать его одному или нескольким федеральным агентствам, вы должны обратить на это внимание. Даже если вы никогда не планируете продавать свое программное обеспечение правительству, понимание цепочки поставок программного обеспечения и изучение способов ее обеспечения принесет дивиденды в виде более надежной основы безопасности и преимуществ, которые она предоставляет. В этой статье будут рассмотрены три способа повысить безопасность цепочки поставок программного обеспечения.

Какова ваша цепочка поставок программного обеспечения? По сути, это все, что входит в создание части программного обеспечения: от среды IDE, в которой разработчик пишет код, до зависимостей сторонних производителей, систем сборки и сценариев, оборудования и операционной системы, на которых оно выполняется. Нестабильность и уязвимости могут возникать, намеренно или нет, с момента создания до развертывания и даже после него.

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

Sourcegraph был заблокирован, когда они опубликовали код для общедоступного экземпляра, содержащего жестко закодированный токен доступа. Токен использовался для создания других учетных записей и предоставления людям бесплатного доступа к API Sourcegraph. Группа хакеров получила доступ к внутренней среде отладки Microsoft и нашла ключ подписи в аварийном дампе, который позволил им создать учетные данные электронной почты.

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

2: Use SCA to Help Build Your BOM
В производстве Спецификация материалов (BOM) представляет собой полный перечень, включающий все сырье, компоненты и рекомендации, необходимые для конструирования, изготовления или ремонта продукта или услуги. Как правила кибербезопасности, так и передовые практики охватывают идею спецификации программного обеспечения, которая обеспечивает прозрачность и происхождение всех компонентов, используемых при создании вашего программного обеспечения.

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

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

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

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

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

3. Взломайте сами
Этический взлом старше, чем большинство последних курсов CS. Как говорилось в недавнем вебинаре по этичному взлому, это "выявление и использование уязвимостей в компьютерных системах или сетях ответственным и законным образом". Обратите внимание на слова "ответственный" и "законный".

По сути, этичные хакеры используют большинство тех же техник, что и хакеры в "черных шляпах", для поиска и эксплуатации уязвимостей в системе. Разница, которую невозможно переоценить, заключается в том, что они делают это с разрешения. Они придерживаются систем, на взлом которых им было дано разрешение, затем документируют все, чтобы их открытия могли быть воспроизведены и проанализированы командой / клиентом, которым они сообщают о них.

Хотя это часто происходит на более позднем этапе процесса разработки, это важно. Если они смогут определить ваши зависимости и создать свой собственный SCA, который идентифицирует уязвимые зависимости, игра окончена. Если они смогут найти неохраняемую точку входа, игра окончена. Если они протестируют веб-приложение и обнаружат, что отладочный код выводит конфиденциальные данные на консоль, игра окончена. Некоторые уязвимости могут быть ограничителями показа, для некоторых может потребоваться просто удалить строку отладочного кода.

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

Краткое изложение
Пытаетесь ли вы угодить регулирующим органам или клиентам, повышение безопасности цепочки поставок программного обеспечения позволит вам тратить больше времени на продажу своего программного обеспечения и меньше на извинения за него. И хотя эти три совета закладывают хорошую основу, вы можете найти гораздо больше в SLSA security Framework. Работа с фреймворком и обеспечение безопасности вашей цепочки поставок - это то, как вы добиваетесь (по словам сайта SLSA) "от "достаточно безопасной" до максимально устойчивой работы в любом звене цепочки".
 
Top