Angrepskampanje som benytter stjålne OAuth-tokens fra GitHub utstedt til Heroku og Travis CI

calendar last update on Tuesday Apr 19, 2022 11:15
GitHub har varslet berørte kunder
GitHub har varslet alle kunder som er berørt av denne hendelsen, og vil varsle dersom de skulle oppdage flere

Ondsinnede aktører har fått tilgang til et ukjent antall GitHub-OAuth tokens for brukere av Heroku og Travis CI, disse har blitt benyttet til å hente ut private repoer.

I verste fall betyr det at kode, og alt annet du kan ha lagret (inkl. historikk) i et repo, kan være på avveie dersom du har autorisert GitHub til din Heroku-konto.

Bouvet sitt hendelseshåndteringsteam har hittil ikke klart å finne spor av uautorisert tilgang til repoer i vår GitHub-organisasjon.

GitHub har selv publisert et detaljert blogginnlegg om hendelsen.

On April 12, GitHub Security began an investigation that uncovered evidence that an attacker abused stolen OAuth user tokens issued to two third-party OAuth integrators, Heroku and Travis-CI, to download data from dozens of organizations, including npm.

I tillegg har ondsinnede aktører via disse tilgangstokenene fått lesetilgang til og potensielt lastet ned et ukjent antall private NPM-pakker. GitHub etterforsker dette, og vil varsle pakkeeiere som har blitt påvirket.

Hemmeligheter i private pakker
Dersom du har hemmeligheter lagret i en privat NPM-pakke er det tryggest å anta at de er lekket, og rotere de så raskt som mulig

Applikasjoner som er bekreftet påvirket per 15. april 2022

  • Heroku Dashboard (ID: 145909)
  • Heroku Dashboard (ID: 628778)
  • Heroku Dashboard – Preview (ID: 313468)
  • Heroku Dashboard – Classic (ID: 363831)
  • Travis CI (ID: 9216)

Anbefalte tiltak

  • Fjern tilgangen til applikasjonene i GitHub (dette har blitt gjort for Bouvet sin organisasjon)
  • Frakoble Heroku fra dine GitHub-repoer (dette er nå gjennomført fra Salesforce sin side)
  • Roter alle hemmeligheter du måtte ha i private NPM-pakker
  • Gjennomgå logger og let etter unormal aktivitet (se spesielt etter repo.download_zip)

Dersom du bruker Azure Sentinel, og henter inn logger fra GitHub, kan du bruke følgende spørring til å lete etter nedlastninger:

1GitHubAuditLogPolling_CL
2| where TimeGenerated >= datetime(2022-04-01)
3| where action_s == "repo.download_zip"

Merk at dette ikke er tilstrekkelig til å utelukke ondsinnet aktivitet. Det er også fornuftig å se etter annen unormal aktivitet.

Fjern hemmeligheter om du kan
Å fjerne alle hemmeligheter fra kode (husk at de blir liggende i historikken), og eventuelle pakker, vil bidra til å minimere skaden når en lignende hendelse intreffer igjen.

Tidslinje

  • 18. april kl. 23:30 sentraleuropeisk tid: GitHub har varslet alle berørte kunder
  • 18. april: Travis CI publiserer sitt sikkerhetsvarsel
  • 17. april kl. 02:00 sentraleuropeisk tid: alle OAuth tokens i integrasjonen mellom Heroku Dashboard og GitHub har blitt trukket tilbake
  • 15. april: Heroku publiserer sitt sikkerhetsvarsel
  • 15. april: GitHub publiserer sitt sikkerhetsvarsel
  • 13. april: GitHub varsler Salesforce (Heroku) og Travis CI
  • 12. april: GitHub starter etterforskning
  • 9. april: En ondsinnet aktør laster ned deler av Heroku sine private GitHub-repoer

Kilder