Online formulieren zoals login-velden en winkelmandjes worden steeds vaker misbruikt door cybercriminelen om persoonlijke gegevens te achterhalen. Sterker nog, uit onderzoek blijkt dat afgelopen jaar formjacking een van de meest gebruikte tactieken was die leidde tot een datalek.
Bij formjacking wordt data van de webbrowser verplaatst naar een locatie die door een aanvaller wordt beheerd. In het F5 Labs Application Report bleek dat in 2018 in 71 procent van alle geanalyseerde, webgerelateerde datalekken formjacking de belangrijkste aanleiding was. In 2019 waren er al 83 incidenten gericht op betaalformulieren, waarbij formjacking een rol speelde. In totaal werden hierdoor 1.396.969 betaalkaarten geraakt.
Hoewel niet nieuw, zien we dus de afgelopen twee jaar een enorme toename van formjacking. Hoe komt dat? Web-applicaties besteden steeds meer onderdelen van hun code, zoals winkelmandjes en betaalkaartsystemen, uit aan derden. Ontwikkelaars maken gebruik van geïmporteerde code-bibliotheken of koppelen de app direct aan gehoste scripts van een derde partij. Hierdoor heb je minder zicht en controle erop. Bovendien maken veel websites gebruik van dezelfde bronnen, zodat criminelen met één gevonden zwakke plek op heel veel locaties toe kunnen slaan.
It-ontwikkelingen zorgen voor nieuwe risico’s en een vergrote attack surface. Volgens de Exploit Database maakte 11 procent van de ontdekte lekken in 2018 onderdeel uit van een formjacking aanvalsketen, waaronder code-uitvoering op afstand (5,4 procent), bestandstoevoeging (3,8 procent) en CMD-uitvoering (commandline) op afstand (1,1 procent).
Branche-onafhankelijk
De aanvallen vinden in allerlei sectoren plaats. De retail staat bovenaan (49 procent van de aanvallen) gevolgd door de zakelijke dienstverlening (14 procent) en productie-omgevingen (11 procent). Gekeken naar formjacking gericht op persoonlijke financiële informatie, spant de transportsector de kroon met in totaal 60 procent van de creditcardgegevens-diefstallen in de onderzoeksperiode.
Het ‘injection-landschap’ verandert naar gelang ons gedrag. Het adequaat detecteren en tegengaan van fouten hierin vraagt een aanpassing van controlemechanismen, niet alleen het repareren van code. Hoe meer code we overdragen aan derden, hoe minder zicht we erop hebben, en hoe minder controle. Dat moeten we zien te voorkomen en er zijn tegenmaatregelen:
– Zorg voor voorraadbeheer van web-applicaties, inclusief een audit van content van derden. Dit proces wordt vaak lastiger door derden die linken naar aanvullende websites met afwijkende security-maatregelen.
– Patch de netwerkomgeving. Dit voorkomt geen fouten in content van derden, maar maakt het wel lastiger om te groeien tot problematische proporties. Omdat web-injectie zo’n uiteenlopende techniek is, blijft het belangrijk om applicaties te patchen en ze te beschermen tegen gecompromitteerde software van derden.
– Vulnerability scanning. Ciso’s zien al jaren het nut van externe scans in, om door het oog van een hacker naar het eigen netwerk te kunnen kijken. Dit wordt nog belangrijker nu er in korte tijd een enorme hoeveelheid content wordt verzameld en gemaakt aan de klantzijde.
– Monitoren op code-veranderingen. Ongeacht waar code gehost wordt, is het van belang om zicht erop te hebben en na te gaan of er veranderingen optreden. Het monitoren van GitHub en AWS S3 en andere native code repositories.
– Multifactor authenticatie moet op elk systeem met toegang tot waardevolle gegevens worden ingevoerd. Encryptie op de applicatielaag kan een goede aanvulling zijn op tls/ssl om de vertrouwelijkheid op browserniveau te handhaven. Verschillende web applicatie firewalls (waf) kunnen dit regelen. Advanced waf kunnen echter een stap verder gaan en zichtbaarheid en controle geven in de applicatielaag om injection-risico’s verder in te dammen.
– Onderzoek de mogelijkheden van server software tools, zoals het opzetten van een content security policy (csp) om alle ongeautoriseerde code-injecties te blokkeren. Subresource Integrity (sri) web-methodes kunnen verifiëren of apps van derden niet aangepast zijn.
– Monitoren van nieuwe registraties van domeinen en certificaten, omdat deze vaak worden gebruikt om kwaadaardige scripts te hosten die geautoriseerd lijken te zijn.