CircleCI – служба створення коду зазнає повного компромісу облікових даних

CircleCI – служба створення коду зазнає повного компромісу облікових даних

CircleCI – служба створення коду зазнає повного компрометації облікових даних PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Якщо ви програміст, незалежно від того, чи програмуєте ви для хобі чи професійно, ви знатимете, що створення нової версії вашого проекту – офіційної «релізної» версії, яку ви самі, або ваші друзі, або ваші клієнти, фактично встановите і використання - це завжди трохи білої їзди.

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

Простіше кажучи, чим складнішим стає проект, і чим більше розробників над ним працюють, і тим більше окремих компонентів мають злагоджено працювати з усіма іншими…

… тим більша ймовірність того, що все це буде набагато менш вражаючим, ніж сума частин.

Як грубу аналогію, візьміть до уваги, що легкоатлетична команда з найшвидшими індивідуальними спринтерами на дистанції 100 метрів не завжди перемагає в естафеті 4x100 метрів.

CI на допомогу

Однією зі спроб уникнути такого роду кризи «але на моєму комп’ютері все спрацювало» є прийом, відомий на жаргоні як Безперервна інтеграціяабо CI для короткого.

Ідея проста: щоразу, коли будь-хто вносить зміни у свою частину проекту, беріть новий код цієї особи та проходьте їх разом із новим кодом через повний цикл збирання та тестування, як перед створенням остаточного випуску версія.

Будуйте рано, будуйте часто, будуйте все, будуйте завжди!

Зрозуміло, що це розкіш, яку не можуть прийняти проекти у фізичному світі: якщо ви будуєте, скажімо, Сіднейський міст Харбор, ви не зможете відновлювати весь тестовий проміжок, використовуючи абсолютно нові сировинні матеріали, кожного разу, коли ви вирішіть налаштувати процес клепки або перевірити, чи зможете ви встановити більші флагштоки на вершині.

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

Зрештою, у процесах розробки програмного забезпечення, які використовують CI, ідея полягає не в тому, щоб чекати, доки всі будуть готові, а потім усі відступити від програмування та чекати завершення остаточної збірки.

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

Ідея така: завчасно виходити з ладу, швидко виправляти, підвищувати якість, досягати передбачуваного прогресу та відправляти вчасно.

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

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

Просто робота для хмари

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

Звучить як робота для хмари!

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

КолоCI є одним із таких хмарних сервісів…

…але, на жаль для їхніх клієнтів, вони щойно зазнав порушення.

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

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

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

Що ж робити?

Відтоді CircleCI надає регулярні оновлення та додаткові поради, які в основному зводяться до наступного:Будь ласка, поверніть усі секрети, що зберігаються в CircleCI».

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

CircleCI означає, що вам потрібно ЗМІНИТИ всі свої паролі, секрети, маркери доступу, змінні середовища, публічно-приватні ключі тощо, імовірно тому, що зловмисники, які зламали мережу, або вкрали ваші, або неможливо довести, що це не так. щоб вкрав їх.

Компанія має a надав список різних типів конфіденційних даних безпеки, які постраждали від порушення, і створив зручний сценарій під назвою CircleCI-Env-Inspector який можна використовувати для експорту списку всіх секретів CI, які потрібно змінити у вашому середовищі, у форматі JSON.

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

Отже, CircleCI радить:

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

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

Клієнти хотіли знати: «Чи було порушення пов’язане з помилками, виявленими в цьому оновленні?»

Враховуючи, що статті про оновлення надійності компанії здаються постійними підсумками новин, а не повідомленнями про окремі зміни, внесеними в конкретні дати, очевидна відповідь: «Ні»…

…і CircleCI заявив, що випадкова дата 2022-12-21 для публікації в блозі про надійність була саме цим: збігом.

Щасливого перетворення ключів!


Часова мітка:

Більше від Гола безпека