image

Criminelen stelen creditcarddata via Google Analytics

maandag 21 oktober 2013, 17:37 door Redactie, 8 reacties

Criminelen gebruiken Google Anlytics om creditcardgegevens bij webwinkels te stelen. Dat stelt beveiligingsonderzoeker Richard Wells van Trustwave SpiderLabs. Google Analytics is een programma waarmee websites gegevens en statistieken over hun bezoekers kunnen verzamelen.

Onlangs analyseerde Wells een aanval op een e-commercesysteem van een webwinkel waar de betaalpagina was aangepast. De onderzoeker stelt dat aanvallers normaal hij het inbreken op een e-commercesysteem meteen voor de opgeslagen creditcardgegevens gaan, of ze wijzigen de code, zodat creditcardgegevens worden opgevangen zodra die zich in het systeem bevinden.

Code

In het incident dat Wells onderzocht bleek de webwinkel geen creditcardgegevens op te slaan, waardoor de aanvaller de code van de betaalpagina aanpaste. Via een paar regels code werden ingevulde creditcardgegevens opgeslagen. Normaliter zou er code met het IP-adres volgen waar de aanvaller de opgeslagen data naar toe wilde sturen. In dit geval bleek dat de aanvaller geen IP-adres gebruikte, maar Google Analytics.

De webwinkel gebruikte namelijk al Google Analytics op de website. De aanvaller had echter het Google Analytics account-ID veranderd in een account-ID dat hij zelf had aangemaakt. Daarnaast was er code toegevoegd zodat de opgeslagen creditcardgegevens naar het Google Analytics-account werden doorgestuurd.

Google

Het grote voordeel van de aanpak die Wells beschrijft is dat er geen data via de server van de webwinkel wordt verstuurd, waardoor er ook geen sporen in de weblogs verschijnen. Alle ingevoerde gegevens worden namelijk direct naar Google Analytics gestuurd. De onderzoeker herhaalde de werkwijze en ontdekte in zijn geval dat Google niet verifieert of hij de eigenaar van de website was. Als oplossing hiervoor zou Google maar één geregistreerde Analytics-gebruiker per domein moeten toestaan.

Reacties (8)
21-10-2013, 18:46 door Anoniem
Google Analytics is ook vragen om problemen, houd het in eigen beheer:
http://piwik.org/
21-10-2013, 19:27 door Anoniem
En daarom gebruik ik Ghostery onder anderen.
21-10-2013, 19:29 door Erik van Straten - Bijgewerkt: 21-10-2013, 19:46
Onder andere daarom pleit ik ervoor dat webbrowsers, bij SSL connecties (https), uitsluitend nog communiceren met de in de URL balk getoonde hostname (en in alle andere gevallen het slotje weglaten en een waarschuwing tonen).

Met name EV (Extended Validation) certificaten zijn een lachtertje zolang jouw webbrowser in de achtergrond verbinding maakt met andere sites (zoals met Google Analytics zoals ook security.nl dat doet). Open maar eens https://ssl.google-analytics.com/ga.js) waarmee (op dit moment in elk geval) de verbinding middels een standaard SSL certificaat wordt versleuteld.

Ik kon zo gauw geen Google Analytics "bank" voorbeeld vinden, maar als je bijv. https://www.asnbank.nl/ opent zie je (in elk geval in Firefox) een groen slotje gevolgd door de groene tekst "ASN Bank N.V. (NL)" ten teken dat het om een EV certificaat gaat. Echter, als je geen extensies zoals NoScript gebruikt, worden er (althans tijdens mijn experiment) in de achtergrond SSL verbindingen gemaakt met zowel https://w.usabilla.com/ als https://d6tizftlrpuof.cloudfront.net/ - beide sites hebben een gewoon certificaat. Sterker, beide sites sturen een wildcard certficaat (*.usability.com en *.cloudfront.net; een EV certificaat mag geen wildcard certificaat zijn).

Overigens zag ik die verbindingen niet als je de inlogpagina, https://www.asnbank.nl/onlinebankieren opent, maar van een leek kun je niet verwachten dat deze dat kan vaststellen. De waarde van een EV certificaat zou dus vergroten op het moment dat webbrowsers uitsluitend de groene info zouden laten zien op het moment dat uitsluitend met de getoonde site wordt gecommuniceerd.

Maar feitelijk is het onzinnig dat je, ongeacht of het om een EV-certificaat of gewoon certificaat gaat, als leek alleen het certificaat van de site in URL-balk kunt bekijken en geen idee hebt met welke andere sites in de achtergrond gecommuniceerd wordt.
21-10-2013, 20:03 door Briolet
Door Anoniem: En daarom gebruik ik Ghostery onder anderen.
Ik denk niet dat dat zal helpen. Ghostery kan alleen op jouw computer clicks blokkeren. Hier gaat het erom dat je op die site een creditcard nummer moet invullen. En ook al kan hij van jou geen informatie krijgen van buiten de invulvelden, de creditcard info krijgt de malware wel en stuurt dit zelfstandig door.

Ook een https connectie zal niet helpen want het is de site aan de andere kant die gehacked is.

Het is gewoon een ingenieus concept wat hier gebruikt wordt. Het speciale is de manier waarop het zich kan camoufleren. Als bezoeker van die site kun je daar weinig tegen doen.
22-10-2013, 08:27 door WhizzMan
Door Briolet:
Door Anoniem: En daarom gebruik ik Ghostery onder anderen.
Ik denk niet dat dat zal helpen. Ghostery kan alleen op jouw computer clicks blokkeren. Hier gaat het erom dat je op die site een creditcard nummer moet invullen. En ook al kan hij van jou geen informatie krijgen van buiten de invulvelden, de creditcard info krijgt de malware wel en stuurt dit zelfstandig door.

Ook een https connectie zal niet helpen want het is de site aan de andere kant die gehacked is.

Het is gewoon een ingenieus concept wat hier gebruikt wordt. Het speciale is de manier waarop het zich kan camoufleren. Als bezoeker van die site kun je daar weinig tegen doen.

In dit geval helpt het wel als je javascript voor google analytics had uitgeschakeld. De code die jouw CCgegevens naar analytics zou sturen, draait namelijk op jouw browser. Als jouw browser nooit verbinding maakt met die server, komt die data daar ook niet terecht.
22-10-2013, 09:02 door Anoniem
Daarom gebruik ik linux met een speciaal firewall script dat alleen maar communicatie met de webwinkel toestaat. Blokkeerd alle verdere communicatie met de buitenwereld (inclusief google analytics). Script staat op bitbucket(dot)org onder enneman/lockdown. Verre van perfect, maar wel veilig ;-)
22-10-2013, 11:23 door Anoniem
Een erg slimme manier is dit zeg.

Gelukkig heb ik zelf al een tijdje in mijn dd-wrt router het hosts bestand aangepast zodat www.google-analytics.com, ssl.google-analytics.com, google-analytics.com en analytics.google.com naar 127.0.0.1 verwijzen.
22-10-2013, 13:54 door Briolet
Door WhizzMan: De code die jouw CCgegevens naar analytics zou sturen, draait namelijk op jouw browser. Als jouw browser nooit verbinding maakt met die server, komt die data daar ook niet terecht.
Je hebt gelijk, in de originele link staat dat de JavaScript in de browser de data verstuurd. En bij herlezen van bovenstaand artikel stond het er ook wel.

Ik was op het verkeerde been gezet omdat er toch al op de server ingebroken was en het dus logisch vond dat ook die de data dan zou versturen. Zeker omdat er bij vermeld werd dat het zo niet in het log zou opvallen. En dan denk je toch eerst aan het log van de server en niet de gebruikerslog.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.