Злам GitHub MoneyForward розкрив вихідний код та 370 записів про картки

Японська фінансово-технологічна компанія MoneyForward Inc. повідомила про інцидент безпеки, пов'язаний із несанкціонованим доступом до корпоративного облікового запису GitHub. Внаслідок зламу було викрадено вихідний код та розкрито 370 записів, пов'язаних із сервісом управління візитними картками компанії. Першопричина: жорстко закодовані секрети та виробничі дані, які були випадково збережені у репозиторіях коду.

Цей інцидент є класичним прикладом запобіжного витоку даних і несе важливі уроки як для розробників програмного забезпечення, так і для звичайних користувачів фінансових послуг.

Що сталося під час інциденту з GitHub MoneyForward

Зловмисники отримали доступ до корпоративного облікового запису GitHub компанії MoneyForward. Опинившись всередині, вони змогли викрасти вихідний код із репозиторіїв компанії. Що важливіше, оскільки розробники жорстко закодували конфіденційні облікові дані безпосередньо в код і зберігали реальні виробничі дані в репозиторіях, зловмисники також отримали 370 записів, пов'язаних із сервісом візитних карток MoneyForward.

Жорстко закодовані секрети — це паролі, ключі API, токени або інші облікові дані, які записані безпосередньо у вихідний код, а не зберігаються в захищеній спеціалізованій системі управління секретами. Коли такі репозиторії виявляються скомпрометованими, секрети витікають разом із ними. Це добре відомий і широко задокументований ризик безпеки, проте він залишається однією з найпоширеніших причин витоків даних у програмній індустрії.

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

Чому жорстко закодовані секрети такі небезпечні

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

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

Коли ці практики ігноруються, один скомпрометований обліковий запис може розкрити не лише сам код, а й кожну систему, з якою цей код взаємодіє.

Що це означає для вас

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

Ось що вам слід зробити:

  • Перевірте повідомлення. MoneyForward має безпосередньо зв'язатися з постраждалими користувачами. Уважно читайте будь-які повідомлення від компанії та дотримуйтесь їхніх рекомендацій.
  • Стежте за своїми рахунками. Відстежуйте незвичайну активність на будь-яких фінансових рахунках, особливо якщо ви ділилися платіжною або контактною інформацією із сервісом візитних карток MoneyForward.
  • Розгляньте можливість підключення сервісу моніторингу кредитної історії. Якщо особисті або фінансові дані були розкриті, моніторинг кредитної історії може завчасно попередити вас про підозрілу активність.
  • Перегляньте, якими даними ви ділитеся з фінтех-додатками. Багато фінансових інструментів продуктивності запитують більше даних, ніж їм дійсно потрібно. Periodically auditing which services hold your information reduces your exposure. Регулярна перевірка того, які сервіси зберігають вашу інформацію, знижує ваш ризик.
  • Використовуйте надійні унікальні паролі та увімкніть двофакторну автентифікацію для всіх облікових записів фінансових сервісів. Якщо зловмисник отримає доступ до одного облікового запису, ви хочете обмежити його подальше поширення.

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

Закономірність, на яку варто звернути увагу

Злам GitHub MoneyForward — не поодинока подія. Скомпрометовані облікові записи розробників та витоки облікових даних у вихідному коді є повторюваною темою у звітах про інциденти безпеки, що публікуються щоквартально. Ця закономірність свідчить про те, що багато організацій, навіть технологічно розвинені компанії, досі з трудом послідовно дотримуються практик безпечної розробки.

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

Розкриття інформації від MoneyForward — крок у правильному напрямку. Прозоре повідомлення про витоки дозволяє користувачам вжити заходів та притягує компанії до відповідальності. Наступний крок — щоб широка спільнота розробників програмного забезпечення почала ставитися до управління секретами не як до необов'язкової найкращої практики, а як до базової вимоги.