Digitale eiendeler
API-nøkkellekkasjen hos 3Commas viser risikoen ved automatisert handel

Lekkasjer av API-nøkler kan eksponere personopplysninger, kontodata og tilganger til handel. Hendelsen hos 3Commas i desember 2022 viser hvorfor både tilgangsrettigheter og lagring av slike opplysninger er viktige.
Et API er et programmeringsgrensesnitt. En lekkasje av API-nøkler betyr at tilhørende tilgangsopplysninger kommer på avveie; det er ikke det samme som enhver uautorisert bruk av et API. Lekkasjen kan skyldes feilkonfigurasjon, usikker lagring eller at hackere utnytter en sårbarhet. Hvilke opplysninger og handlinger en angriper får tilgang til, avhenger av nøkkelens rettigheter og tjenestens kontroller; kortdata eller hele kontoen følger ikke automatisk med.
For virksomheter kan et brudd medføre økonomiske tap, erstatningskrav og eventuelle bøter. Brukere kan rammes av svindel, identitetsmisbruk eller uautoriserte handler. Risikoen avhenger av hva som faktisk er eksponert.
Hva er en API-nøkkel?
En API-nøkkel identifiserer vanligvis en applikasjon eller klient overfor en tjeneste. Enkelte nøkler fungerer også som tilgangshemmeligheter, men identifikasjon alene beviser ikke at en forespørsel er autorisert.
Leverandøren kan bruke nøkler til tilgangskontroll, kvoter og bruksregistrering. Ved børshandel brukes ofte en nøkkel sammen med en separat hemmelighet til å signere forespørsler. Mekanismen varierer mellom tjenester.
Klienten følger leverandørens dokumenterte autentiseringsmetode, vanligvis over HTTPS. Hemmelige nøkler bør ikke ligge i URL-er, der de kan havne i logger. Enkelte signeringsoppsett krever at hemmeligheten brukes lokalt til å lage en signatur, ikke sendes direkte.
Offentlig tilgjengelige og private API-er beskriver hvem som kan bruke et grensesnitt, ikke en universell todeling av API-nøkler. Et offentlig API kan kreve hemmelige tilgangsopplysninger, og en offentlig klientidentifikator er ikke det samme som en kryptografisk privatnøkkel.
Hvordan brukes de i handel?
API-nøkler brukes ofte i handel for å få tilgang til en finansiell handelsplattform, som en børs eller en kryptovalutabørs.
Programvare kan hente markedsdata, lese kontoinformasjon, legge inn ordre og administrere posisjoner dersom tilgangen tillater det. Ikke alle markedsdata krever autentisering, og ikke alle nøkler gir alle disse rettighetene.
Automatisering kan utføre en forhåndsdefinert strategi, men erstatter ikke risikovurdering og garanterer verken øyeblikkelig utførelse eller lønnsomhet. En kompromittert handelstilgang kan føre til tapsbringende ordre, også uten rett til å ta ut penger.
Børsen utsteder vanligvis tilgangen, som kobles til handelsprogramvaren gjennom en støttet integrasjon. Rettighetene bør begrenses til det integrasjonen trenger.
Risiko ved API-nøkler til handel
En stjålet nøkkel kan gi uvedkommende tilgang til de handlingene den er godkjent for. Handelsrettigheter kan misbrukes selv om uttak er sperret. Rene leserettigheter kan eksponere informasjon, men gir normalt ikke rett til å legge inn ordre.
Kontosaldo, handelshistorikk og andre opplysninger kan brukes til svindel eller målrettede angrep. Lesetilgang bør derfor også behandles som sensitiv.
Lekkasjer kan oppstå i kode, logger, databaser, sikkerhetskopier, brukerenheter eller hos tjenesteleverandører. De er ikke begrenset til applikasjonskode. Mangelfull overvåking kan gjøre dem vanskelige å oppdage.
3Commas-hendelsen i desember 2022
Mot slutten av desember 2022 ble 3Commas, en handelsautomatiseringstjeneste med forbindelser til Estland og støtte fra Alameda Research, knyttet til rapporter om uautoriserte handler og tap. Etter publisering av data 28. desember bekreftet selskapet at enkelte kunders API-nøkler, hemmeligheter og passfraser var blitt utlevert av en tredjepart.
En anonym aktør hevdet å ha rundt 100 000 nøkler og publiserte ifølge datidens omtale over 10 000. Resten skulle «publiseres fullt [sic], tilfeldig, i de kommende dagene». Dette var angriperens påstander om omfanget, ikke en uavhengig opptelling.
3Commas ba Binance, KuCoin og andre støttede børser om å tilbakekalle nøklene knyttet til tjenesten.
Brukere hadde rapportert uautoriserte handler på blant annet KuCoin og Coinbase fra oktober. Tidlige omtaler nevnte minst 6 millioner dollar i tap og senere omtrent en dobling. Slike anslag var ikke et fullstendig revidert tapstall.
Selskapet hadde først pekt på nettfisking og avvist at egne systemer var kilden. Bekreftelsen i desember viste at en lekkasje også måtte tas alvorlig; den fastslo ikke at nettfisking aldri hadde forekommet eller identifiserte alle angrepsmetoder.
3Commas kobler handelsroboter til brukernes kontoer på eksterne børser. Nøklene i den omtalte lekkasjen ble knyttet til blant annet Binance og KuCoin. Tjenesten var ikke selv børsen som oppbevarte alle de berørte midlene.
Blokkjedeetterforskeren ZachXBT rapporterte at 44 ofre hadde tapt til sammen 14,8 millioner dollar. Før lekkasjen ble erkjent, argumenterte administrerende direktør Yuri Sorokin med at en intern lekkasje burde ha gitt langt flere enn rundt hundre rapporterte tilfeller. Dette var hans daværende argument, ikke et bevis mot en lekkasje.
Sorokin viste også til mer enn én million tilknyttede nøkler og omtrent hundre brukere som hadde meldt problemer. Brukere kritiserte selskapet for å legge ansvaret på dem. Antallet rapporterte hendelser alene kunne ikke fastslå hvor mange nøkler som var eksponert.
Før bekreftelsen oppfordret Binance-sjef Changpeng Zhao alle som hadde koblet en børsnøkkel til 3Commas, til å deaktivere den. Det var en hendelsesrelatert advarsel, ikke en bekreftelse på tap for hver enkelt bruker.
3Commas anbefalte deretter å utstede nye API-nøkler etter tilbakekalling av de gamle. Selskapet opplyste også om sikkerhetsendringer, blant annet et isolert Sign Center og tiltak mot nettfisking. Endringene var ingen garanti mot fremtidige angrep.
Selskapet opplyste at eksterne sikkerhetseksperter skulle bistå undersøkelsen. Det innebar ikke at årsaken var ferdig avklart eller at tap var erstattet.
I en tidligere juridisk uttalelse fra november hadde 3Commas hevdet at 99,9 % av kundenes API-nøkler ikke var berørt av de rapporterte angrepene. Dette var selskapets vurdering før bekreftelsen av lekkasjen, ikke en uavhengig garanti om at 99,9 % var trygge etterpå.
Tiltak for å beskytte tilgangen
Gi hver integrasjon bare nødvendige rettigheter, og deaktiver uttakstilgang dersom den ikke trengs. Skill mellom lese- og handelstilgang, bruk eventuelle IP-begrensninger og følg med på ordre og tilgangslogger.
Vurder leverandørens sikkerhet og begrens hvilke sensitive opplysninger som deles. Tilgangsopplysninger skal bare gis gjennom en støttet, sikker integrasjon, ikke i chat, e-post eller tilfeldig delte filer.
Hold programvare og tjenester oppdatert. Tjenesteeiere kan bruke tilgangskontroll, overvåking og en brannmur for webapplikasjoner som deler av beskyttelsen. En slik brannmur erstatter ikke sikker lagring eller hjelper automatisk når en angriper allerede har gyldige nøkler.
Oppbevar hemmeligheter i en egnet hemmelighetsbehandler eller kryptert lagring, med begrenset tilgang. Fjern ubrukte nøkler og bruk leverandørens plan for utløp og rotasjon. En passordbeskyttet fil alene er ikke nødvendigvis en sikker delingsløsning.
Ved mistanke om kompromittering: tilbakekall den gamle nøkkelen hos børsen, stans integrasjonen ved behov, kontroller aktivitet og kontakt leverandøren. Å bare opprette en ny nøkkel eller bytte kontopassord ugyldiggjør ikke nødvendigvis den gamle. Bruk unike passord og flerfaktorautentisering; bytt et passord når det er kompromittert, fremfor å stole på vilkårlig hyppig bytte.
Avslutning
Lekkasjer av tilgangsopplysninger er et etablert sikkerhetsproblem. Konsekvensene bestemmes av nøkkelens rettigheter, andre kontroller og hvor raskt misbruk oppdages. API-tilgang er én av flere måter sensitive data eller penger kan gå tapt på.
Ansvarlig bruk av API-er til handel innebærer begrensede tilganger, sikker lagring, overvåking og rask tilbakekalling ved mistanke om misbruk. Ingen av tiltakene alene fjerner all risiko.












