CircleCI — служба построения кода подвергается полной компрометации учетных данных

CircleCI — служба построения кода подвергается полной компрометации учетных данных

CircleCI — служба создания кода подвергается полной компрометации учетных данных PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

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

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

Проще говоря, чем сложнее становится проект, чем больше над ним работает разработчиков, тем больше отдельных компонентов, которые должны слаженно работать со всеми остальными…

…тем более вероятно, что целое будет гораздо менее впечатляющим, чем сумма частей.

В качестве грубой аналогии рассмотрим, что команда по легкой атлетике с самыми быстрыми индивидуальными спринтерами на 100 м не всегда побеждает в эстафете 4x100 м.

КИ в помощь

Одна из попыток избежать кризиса типа «но на моем компьютере все работало нормально» — это метод, известный на жаргоне как Непрерывная интеграцияили CI коротко.

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

Стройте рано, стройте часто, стройте все, стройте всегда!

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

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

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

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

Идея такова: ошибиться раньше, исправить быстро, повысить качество, добиться предсказуемого прогресса и отгрузить вовремя.

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

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

Просто работа для облака

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

Это звучит как работа для облака!

И действительно, с многочисленными так называемыми облачными сервисами CI/CD (эта CD не является воспроизводимым музыкальным диском, а является сокращением для непрерывная доставка), предлагая вам гибкость, позволяющую иметь постоянно меняющееся количество разных веток разных продуктов, которые одновременно проходят через по-разному сконфигурированные сборки, возможно, даже на разном оборудовании.

CircleCI является одним из таких облачных сервисов…

…но, к несчастью для их клиентов, они только что потерпел нарушение.

Технически, что кажется обычным в наши дни, компания на самом деле не использовала слова «нарушение», «вторжение» или «атака» нигде в своем официальном уведомлении: пока что это просто инцидент безопасности.

Оригинальный уведомление [2023-01-04] просто заявил, что:

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

Что делать?

С тех пор CircleCI регулярно предоставляет обновления и дополнительные советы, которые в основном сводятся к следующему: «Пожалуйста, меняйте все секреты, хранящиеся в CircleCI».

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

Что означает CircleCI, так это то, что вам нужно ИЗМЕНИТЬ все ваши пароли, секреты, токены доступа, переменные среды, пары открытого и закрытого ключей и т. д., предположительно потому, что злоумышленники, взломавшие сеть, либо украли ваши, либо нет доказательств, что это не так. чтобы украсть их.

Компания имеет предоставил список различных видов личных данных безопасности, которые были затронуты взломом, и создал удобный скрипт под названием CircleCI-Env-Инспектор который можно использовать для экспорта списка всех секретов CI, которые необходимо изменить в вашей среде, в формате JSON.

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

Итак, CircleCI советует:

Мы также рекомендуем клиентам просматривать внутренние журналы своих систем на предмет любого несанкционированного доступа, начиная с 2022 декабря 12 г. [до 21 января 2023 г. включительно] или после завершения [изменения ваших секретов].

Любопытно, хотя и понятно, что некоторые клиенты отметили, что дата, указанная CircleCI, когда началось это нарушение [2022-12-21], просто совпадает с сообщением в блоге компания опубликовала о последних обновлениях надежности.

Клиенты хотели знать: «Была ли брешь связана с ошибками, представленными в этом обновлении?»

Учитывая, что статьи об обновлениях надежности компании кажутся сводками новостей, а не объявлениями об отдельных изменениях, внесенных в определенные даты, очевидный ответ: «Нет»…

… и CircleCI заявила, что совпадающая дата 2022-12-21 для сообщения в блоге о надежности была просто совпадением.

Удачной регенерации ключей!


Отметка времени:

Больше от Голая Безопасность