Breșa de securitate MoneyForward pe GitHub expune cod sursă și 370 de înregistrări de carduri

Compania japoneză de tehnologie financiară MoneyForward Inc. a dezvăluit un incident de securitate care implică accesul neautorizat la un cont corporativ de GitHub. Breșa a dus la furtul codului sursă și la expunerea a 370 de înregistrări legate de serviciul de gestionare a cărților de vizită al companiei. Cauza principală: secrete hardcodate și date de producție care au fost accidental incluse în repository-urile de cod.

Acest incident este un exemplu clasic de breșă care putea fi prevenită și oferă lecții atât pentru dezvoltatorii de software, cât și pentru utilizatorii obișnuiți ai serviciilor financiare.

Ce s-a întâmplat în incidentul MoneyForward pe GitHub

Persoane neautorizate au obținut acces la un cont corporativ de GitHub al MoneyForward. Odată intrate, acestea au reușit să exfiltreze codul sursă din repository-urile companiei. Mai grav, deoarece dezvoltatorii hardcodaseră direct în cod credențiale sensibile și stocaseră date reale de producție în repository-uri, atacatorii au obținut și 370 de înregistrări asociate serviciului de cărți de vizită al MoneyForward.

Secretele hardcodate se referă la parole, chei API, tokenuri sau alte credențiale scrise direct în codul sursă, în loc să fie stocate într-un sistem dedicat și securizat de gestionare a secretelor. Atunci când acele repository-uri sunt expuse, secretele sunt expuse odată cu ele. Acesta este un risc de securitate bine cunoscut și larg documentat, care continuă totuși să fie una dintre cele mai frecvente cauze ale breșelor de date din industria software.

Prezența datelor de producție într-un repository de dezvoltare agravează semnificativ problema. Mediile de dezvoltare și de testare sunt, în general, supuse unor standarde de securitate mai scăzute decât sistemele de producție. Amestecarea datelor reale ale utilizatorilor în acele medii crește dramatic amploarea potențialelor daune în cazul oricărui compromis.

De ce sunt atât de periculoase secretele hardcodate

Pentru dezvoltatori, tentația de a hardcoda o credențială este adesea legată de comoditate. Introducerea directă a unei parole de bază de date într-un fișier de configurare permite ca lucrurile să funcționeze rapid. Problema este că repository-urile de cod, chiar și cele private, nu sunt concepute pentru a stoca secrete. Controalele de acces se schimbă, conturile sunt compromise, iar repository-urile sunt uneori accidentat făcute publice.

Bunele practici din industrie recomandă utilizarea unor instrumente dedicate de gestionare a secretelor, care stochează credențialele separat de cod, le rotesc periodic și auditează accesul. Variabilele de mediu, sistemele de tip vault și instrumentele de scanare a secretelor care semnalează credențialele înainte ca acestea să ajungă într-un repository fac parte dintr-o postură de securitate matură.

Atunci când aceste practici sunt omise, un singur cont compromis poate expune nu doar codul în sine, ci și fiecare sistem cu care codul era conceput să interacționeze.

Ce înseamnă acest lucru pentru dvs.

Dacă utilizați serviciul de cărți de vizită al MoneyForward, informațiile dvs. s-ar putea număra printre cele 370 de înregistrări expuse. Chiar dacă nu sunteți client MoneyForward, acest incident este un memento util despre modul în care serviciile financiare și de productivitate pot deveni vectori de expunere a datelor.

Iată ce ar trebui să faceți:

  • Verificați notificările. MoneyForward ar trebui să contacteze direct utilizatorii afectați. Citiți cu atenție orice comunicări din partea companiei și urmați îndrumările acesteia.
  • Monitorizați-vă conturile. Urmăriți activitatea neobișnuită pe orice conturi financiare, în special dacă ați împărtășit informații de plată sau de contact cu serviciul de cărți de vizită al MoneyForward.
  • Luați în considerare un serviciu de monitorizare a creditului. Dacă au fost expuse date personale sau financiare, monitorizarea creditului vă poate alerta din timp cu privire la activități suspecte.
  • Revizuiți ce date împărtășiți cu aplicațiile fintech. Multe instrumente de productivitate financiară solicită mai multe date decât au strict nevoie. Auditarea periodică a serviciilor care dețin informațiile dvs. vă reduce expunerea.
  • Folosiți parole puternice și unice și activați autentificarea cu doi factori pentru orice cont de servicii financiare pe care îl dețineți. Dacă un atacator obține acces la un cont, doriți să limitați cât de departe se poate extinde.

Pentru dezvoltatorii care citesc acest articol, concluzia este la fel de directă. Scanați repository-urile pentru credențiale hardcodate folosind instrumente automate, multe dintre acestea disponibile gratuit. Nu stocați niciodată date de producție în repository-uri de dezvoltare sau de testare. Adoptați o soluție de gestionare a secretelor și faceți din rotația secretelor o parte standard a fluxului dvs. de lucru.

Un tipar care merită atenție

Breșa de securitate MoneyForward pe GitHub nu este un eveniment izolat. Conturile de dezvoltatori compromise și credențialele scurse în codul sursă sunt o temă recurentă în rapoartele de incidente de securitate publicate în fiecare trimestru. Tiparul sugerează că multe organizații, chiar și companii tehnologice sofisticate, se luptă în continuare să aplice consecvent practici de dezvoltare securizată.

Pentru utilizatori, acesta este un motiv pentru a menține un scepticism sănătos față de orice serviciu care deține date sensibile, financiare sau de altă natură. Reducerea amprentei dvs. digitale, monitorizarea atentă a conturilor financiare și informarea atunci când companiile dezvăluie breșe sunt obiceiuri practice care aduc beneficii în timp.

Dezvăluirea din partea MoneyForward este un pas în direcția cea bună. Raportarea transparentă a breșelor permite utilizatorilor să ia măsuri și trage companiile la răspundere. Următorul pas este ca întreaga comunitate de dezvoltare software să trateze gestionarea secretelor nu ca o bună practică opțională, ci ca o cerință de bază.