Magento er en av verdens mest brukte plattformer for eCommerce. Denne suksessen har også ført til en tilsvarende stor oppmerksomhet fra aktører som driver med nettkriminalitet. En rekke sårbarheter i plattformen har blitt rapportert og misbrukt den siste tiden, noe som har ført til tap av store verdier.
Hvordan angripes Magento
Et angrep på et nettsted som benytter Magento som eCommerce-plattform starter ofte med at en ny sårbarhet i plattformen oppdages. I noen tilfeller er sårbarheten ikke allment kjent - en såkalt «zero day»-sårbarhet, siden det har gått null dager siden leverandøren av produktet ble klar over sårbarheten.
Slike sårbarheter kan ha forskjellige konsekvenser når de blir utnyttet. Enkelte lar angriperen ta fullstendig kontroll over serveren som Magento kjører på, andre gjør det mulig å manipulere innholdet i nettsidene.
Det neste steget er å identifisere målet for angrepet. Magento benytter filstrukturer og navngiving i webapplikasjonen som gjør det mulig for en angriper å identifisere at Magento er brukt i et nettsted.
Tjenesten Shodan fungerer som en søkemotor for enheter som er tilkoblet internett. Ved hjelp av Shodan er det enkelt å identifisere nettsteder som benytter Magento:
I dette tilfellet fant vi i underkant av 25 000 Magento-instanser, der 53 av dem befant seg på servere i Norge. Angripere benytter også automasjon for å oppdage sårbare instanser, der man tråler gjennom alle tilgjengelige IP-adresserer og forsøker å gjennomføre angrep på samtlige. Slik automasjon er årsaken til at man ofte ser angrepsrelatert trafikk i loggene til et nettsted, selv for rammeverk som ikke er i bruk på nettstedet.
Når en sårbar installasjon av Magento er identifisert, utnytter angriperen den identifiserte sårbarheten. Hva som så skjer er avhengig av hva angriperen ønsker å oppnå. En gjenganger for angrep på Magento er at angriperen legger inn Javascript-kode som stjeler kredittkortinformasjonen som kunder legger inn i forbindelse med kjøp i nettbutikken og sender dette videre til angriperen. «Magecart» brukes som betegnelse både på kriminelle som utfører denne typen angrep og skadevaren de benytter. Magecart har blitt holdt ansvarlig for flere store angrep av denne typen de siste årene, blant annet mot TicketMaster og British Airways.
Hvordan kan man forsvare seg
For å unngå at man blir utsatt for denne type angrep må man følge samme retningslinjer som ellers innen IT-sikkerhet. Viktige elementer her er blant annet:
- Sørg for at operativsystemer og annen programvare blir holdt løpende oppdatert
- Sørg for at tjenester som ikke behøver å være eksponert mot internett blir sperret i brannmur
- Beskytt tjenesten med en moderne brannmur som forstår trafikk og angrep i applikasjonslaget (f.eks. web application firewall)
- Gjennomfør jevnlig sårbarhetsscanning for å oppdage kjente sårbarheter i infrastrukturen
- Sørg for at tilgang til infrastrukturen er begrenset med gode passord og multifaktor-autentisering
- Få utført penetrasjonstesting av tjenesten for å identifisere sårbarheter
- Bruk TLS for sikker overføring av data
- Implementer sikkerhetsovervåkning som kan oppdage hvis det blir gjort endringer i filer
- Noen typer av Magecart-angrep kan stoppes ved å implementere en Content Security Policy for nettstedet, slik at det legges begrensninger på hvor data kan sendes og hvor Javascript kan lastes inn fra.
En generell anbefaling er å etablere og implementere et generelt sikkerhetsrammeverk. Et godt utgangspunkt er NSMs grunnprinsipper for IKT-sikkerhet.