SQL-injectie

Cybercriminelen gebruiken SQL-injecties om kwetsbaarheden in de software van webapplicaties te misbruiken en ongeautoriseerde toegang te krijgen tot uw gevoelige en waardevolle gegevens.

.st0{fill:#0D3ECC;} DOWNLOAD MALWAREBYTES GRATIS

Ook voor Windows, iOS, Android, Chromebook en Voor Bedrijven

Wat is een SQL-injectie aanval?

Je weet misschien niet wat een SQL-injectie (SQLI) aanval is of hoe deze werkt, maar je kent zeker de slachtoffers. Target, Yahoo, Zappos, Equifax, Epic Games, TalkTalk, LinkedIn en Sony Pictures—deze bedrijven zijn allemaal gehackt door cybercriminelen die SQL-injecties gebruikten.

Een SQLI is een type aanval waarbij cybercriminelen zwakheden in webapplicaties benutten om gegevens te stelen, te verwijderen of te wijzigen, of om administratieve controle te verkrijgen over de systemen die de getroffen applicaties draaien.

Cybersecurity onderzoekers beschouwen SQLI als een van de minst geavanceerde en makkelijk te verdedigen cyberbedreigingen. Malwarebytes Labs plaatst SQLI op de derde plaats in de De Top 5 Domste Cyberbedreigingen die toch Werken, met als reden dat SQLI een bekende, voorspelbare aanval is met gemakkelijk te implementeren tegenmaatregelen.

SQLI-aanvallen zijn zo eenvoudig dat aanvallers kwetsbare websites kunnen vinden met geavanceerde Google-zoekopdrachten, genaamd Google Dorking. Zodra ze een geschikt doelwit hebben gevonden, kunnen SQLI-aanvallers geautomatiseerde programma's gebruiken om de aanval effectief uit te voeren. Het enige wat ze hoeven te doen is de URL van de doelwebsite invoeren en zien hoe de gestolen gegevens binnenkomen.

Toch zijn SQLI-aanvallen alledaags en komen dagelijks voor. In feite, als je een website of online bedrijf hebt, hebben cybercriminelen waarschijnlijk al geprobeerd de SQLI te gebruiken om in je website in te breken. Een studie door het Ponemon Instituut over De SQL Injectie Dreiging & Recente Retail Inbraken vond dat 65% van de ondervraagde bedrijven slachtoffer was van een op SQLI gebaseerde aanval.

Vaak doelgerichte webapplicaties zijn: sociale media sites, online retailers en universiteiten. Kleine tot middelgrote bedrijven zijn bijzonder kwetsbaar omdat ze vaak niet bekend zijn met de technieken die cybercriminelen gebruiken in een SQLI-aanval en daarom niet weten hoe ze zich tegen zo'n aanval moeten verdedigen.

Laten we daarom de eerste stap zetten in de verdediging tegen een SQL-injectie door meer over het onderwerp te leren. Hier is je kennismaking met SQL-injecties.

"Een SQLI is een type aanval waarbij cybercriminelen zwakheden in webapplicaties benutten om gegevens te stelen, te verwijderen of te wijzigen, of om administratieve controle te verkrijgen over de systemen die de getroffen applicaties draaien."

Hoe werkt een SQL-injectie?

SQL (kort voor structured query language) werd ontwikkeld in de vroege jaren 70 en is een van de oudste programmeertalen die vandaag de dag nog steeds wordt gebruikt voor het beheren van online databases. Deze databases bevatten zaken als prijzen en voorraadniveaus voor online winkelsites. Wanneer een gebruiker database-informatie nodig heeft, wordt SQL gebruikt om die gegevens te openen en aan de gebruiker te presenteren. Maar deze databases kunnen ook gevoeligere en waardevollere gegevens bevatten, zoals gebruikersnamen en wachtwoorden, creditcardgegevens en sofinummers. Dit is waar SQL-injecties om de hoek komen kijken.

Kort gezegd, een SQL-injectie vindt plaats wanneer hackers schadelijke opdrachten invoeren in webformulieren, zoals het zoekveld, inlogveld of de URL, van een onveilige website om ongeautoriseerde toegang te krijgen tot gevoelige en waardevolle gegevens.

Hier is een voorbeeld. Stel je voor dat je naar je favoriete online kledingwinkel gaat. Je bent op zoek naar sokken en je kijkt naar een Technicolor wereld van kleurrijke sokken, allemaal beschikbaar met een klik van je muis. De wonderen van technologie! Elke sok die je ziet, bevindt zich in een database ergens op een server. Wanneer je een sok vindt die je leuk vindt en erop klikt, stuur je een verzoek naar de sokdatabase, en de winkelsite reageert met de informatie over de sok waarop je hebt geklikt. Stel je nu voor dat je favoriete online winkelwebsite op een haastige manier is opgebouwd, vol met uitbuitbare SQL-kwetsbaarheden.

Een cybercrimineel kan databasequery's zo manipuleren dat een verzoek om informatie over een paar sokken het creditcardnummer van een ongelukkige klant oplevert. Door dit proces keer op keer te herhalen, kan een cybercrimineel de diepten van de database induiken en gevoelige informatie stelen over elke klant die ooit bij uw favoriete online kledingsite heeft gewinkeld - inclusief u. Als we het gedachtenexperiment nog verder doorvoeren, stellen we ons voor dat ude eigenaar bent van deze kledingsite.

Eén SQLI-aanval kan cybercriminelen persoonlijke informatie, e-mails, inloggegevens, creditcardnummers en sofinummers van miljoenen consumenten opleveren. Cybercriminelen kunnen deze persoonlijke info vervolgens verkopen op de grauwste hoeken van het dark web, om voor allerlei illegale doeleinden te worden gebruikt.

Gestolen e-mails kunnen worden gebruikt voor phishing- en malspamaanvallen. Malspamaanvallen kunnen op hun beurt worden gebruikt om slachtoffers te infecteren met allerlei destructieve malware, zoals ransomware, adware, cryptojackers en Trojaanse paarden (bijv. Emotet), om er maar een paar te noemen. Gestolen telefoonnummers voor Android en iOS mobiele apparaten kunnen het doelwit zijn van robocalls en sms-spam.

Gestolen inloggegevens van sociale netwerksites kunnen zelfs worden gebruikt om spamberichten te verzenden en nog meer inloggegevens voor andere sites te stelen. Malwarebytes Labs meldde eerder over gehackte LinkedIn-accounts die werden gebruikt om andere gebruikers te spammen met InMail-berichten die slechte URL's bevatten die gespoofd of vervalst waren om eruit te zien als een Google Docs-inlogpagina waarin cybercriminelen Google-gebruikersnamen en -wachtwoorden konden oogsten.

"Een cybercrimineel kan databasevragen zo manipuleren dat een verzoek om informatie over een paar sokken het creditcardnummer van een ongelukkige klant oplevert."

Wat is de geschiedenis van SQL-injecties?

De SQL-injectie-exploit werd voor het eerst gedocumenteerd in 1998 door cyberbeveiligingsonderzoeker en hacker Jeff Forristal. Zijn bevindingen werden gepubliceerd in het langlopende hacker Phrack. Forristal, die schreef onder de naam Rain Forest Puppy, legde uit hoe iemand met eenvoudige coderingsvaardigheden ongeautoriseerde SQL-commando's kon toevoegen aan legitieme SQL-commando's en zo gevoelige informatie uit de database van een onbeveiligde website kon halen.

Toen Forristal Microsoft op de hoogte bracht van hoe de kwetsbaarheid hun populaire SQL Server product beïnvloedde, zagen ze het niet als een probleem. Zoals Forristal het verwoordde: "Volgens hen [Microsoft] is wat je gaat lezen geen probleem, dus maak je geen zorgen over het stoppen ervan."

Wat Microsoft's lakse reactie zo schokkend maakt, is dat veel industrieën en instellingen serieus afhankelijk waren (toen en nu) van de databasebeheertechnologie van het bedrijf om hun operaties draaiende te houden, waaronder retail, onderwijs, gezondheidszorg, bankwezen en personeelszaken. Dit leidt ons naar het volgende evenement in de SQLI-geschiedenistijdlijn—de eerste grote SQLI-aanval.

In 2007 viel de grootste gemakswinkelketen in de Verenigde Staten, 7-Eleven, ten prooi aan een SQLI-aanval. De Russische hackers gebruikten SQL-injecties om in de 7-Eleven website in te breken en dat te gebruiken als een opstapje naar de klantendebetkaartdatabase van de gemakswinkel. Dit stelde de hackers in staat om vervolgens geld op te nemen in Rusland. Al met al maakten de daders twee miljoen dollar buit, zoals Wired magazine meldde.

Niet alle SQLI-aanvallen zijn gemotiveerd door hebzucht. In een ander opmerkelijk voorbeeld uit 2007, gebruikten cybercriminelen SQLI om administratieve controle te krijgen over twee aan het Amerikaanse leger gerelateerde websites en bezoekers om te leiden naar websites met anti-Amerikaanse en anti-Israëlische propaganda.

De MySpace-datalek van 2008 behoort tot een van de grootste aanvallen op een consumentenwebsite. Cybercriminelen stalen e-mails, namen en gedeeltelijke wachtwoorden van bijna 360 miljoen accounts. En dit is waarom we geen wachtwoorden van de ene site naar de andere hergebruiken.

De titel voor het meest opzichtige gebrek aan beveiliging gaat naar Equifax. De datalek van Equifax in 2017 leverde extreem persoonlijke informatie op (d.w.z. namen, sofinummers, geboortedata en adressen) voor 143 miljoen consumenten. Voor een organisatie die fungeert als de poortwachters van informatie voor elke Amerikaan, behalve degenen die buiten de grid leven, zou je denken dat ze voorzorgsmaatregelen zouden nemen tegen een basis SQLI-aanval. Voordat het datalek plaatsvond, waarschuwde een cybersecurity onderzoeksfirma zelfs Equifax dat ze vatbaar waren voor een SQLI-aanval, maar het kredietbureau nam pas actie toen het te laat was.

In wat de griezeligste hack in de geschiedenis wordt genoemd, leidde een SQLI-aanval in 2015 op speelgoedfabrikant Vtech tot een inbreuk op de gegevens van bijna vijf miljoen ouders en 200.000 kinderen. In een gesprek met Motherboard, de online multimediapublicatie, beweerde de verantwoordelijke hacker dat hij geen plannen had met de gegevens en de gegevens nergens online had gepubliceerd. Omgekeerd legde de hacker ook uit dat de gegevens heel gemakkelijk te stelen waren en dat iemand anders er als eerste bij had kunnen komen. Inderdaad een schrale troost.

En nu, de SQLI-aanval is nog steeds actueel. Elke drie jaar rangschikt het Open Web Application Security Project (OWASP) de Top 10 Meest Kritieke Webapplicatie Beveiligings Risico's. In de meest recente 2017 editie, stond de SQLI-aanval op nummer één.

Wat interessant is, afgezien van de levensduur van de SQLI-aanval, is dat SQLI-aanvallen op geen enkele manier veranderd of geëvolueerd zijn. SQLI-aanvallen werken en zullen blijven werken totdat mensen hun houding over cybersecurity veranderen. Wees die verandering.

Nieuws over SQL-injecties

Hoe beïnvloeden SQL-injecties mijn bedrijf?

Zoals gerapporteerd in ons Cybercrime Tactics and Techniques report, stegen cyberaanvallen (van alle soorten) op bedrijven met 55% in de tweede helft van 2018, terwijl aanvallen op individuele consumenten slechts met 4% stegen. De statistieken zijn niet verrassend. Bedrijven met slechte beveiliging bieden criminelen een makkelijk doelwit, met een schat aan waardevolle gegevens ter waarde van miljoenen.

Omgekeerd kan een bedrijf dat het middelpunt is van een datalek verwachten miljoenen te betalen. Een IBM-studie vond de gemiddelde kosten van een datalek, inclusief herstel en boetes, $3,86 miljoen. Het eerder genoemde LinkedIn-datalek kostte de zakelijke netwerksite uiteindelijk $1,25 miljoen in een buitengerechtelijke schikking.

Na hun datalek moest Target het grootste bedrag ooit betalen—$18,5 miljoen—om onderzoeken door meerdere staten te regelen. Dit kwam bovenop de $10 miljoen die Target betaalde om een collectieve rechtszaak aangespannen door consumenten te schikken.

Toegegeven, dit zijn enorme datalekken die miljoenen consumenten treffen. Kleine tot middelgrote bedrijven kunnen echter nog steeds rekenen op een uitbetaling van 148 dollar per gestolen consumentengegevens.

De moraal van het verhaal? Neem je beveiliging serieus en voorkom dat je een "Target" wordt voor cybercriminelen.

Hoe kan ik me beschermen tegen SQL-injecties?

Afgezien van alle zorgen, ben je hier omdat je weet dat SQL-injecties een serieuze bedreiging vormen. Laten we er nu iets aan doen. Hier zijn enkele tips om je bedrijf tegen SQL-injecties te beschermen.

Update uw databasebeheersoftware. uw software is gebrekkig zoals het van de fabrikant komt. Dit is een feit. Bugvrije software bestaat niet. Cybercriminelen kunnen met een SQLI misbruik maken van deze kwetsbaarheden in de software, of exploits. u uzelf beschermen door uw databasebeheersoftware gewoon te patchen en bij te werken.

Hanteer het principe van minste privilege (PoLP). PoLP betekent dat elk account alleen genoeg toegang heeft om zijn werk te doen en niet meer. Bijvoorbeeld, een webaccount dat alleen leesrechten heeft voor een bepaalde database zou niet de mogelijkheid moeten hebben om gegevens te schrijven, te bewerken of op enige manier te wijzigen.

Gebruik voorbereide statements of opgeslagen procedures. In tegenstelling tot dynamische SQL beperken voorbereide statements variabelen op binnenkomende SQL-opdrachten. Op deze manier kunnen cybercriminelen geen kwaadaardige SQL-injecties op legitieme SQL-statements meesurfen. Opgeslagen procedures beperken op vergelijkbare wijze wat cybercriminelen kunnen doen door SQL-statements op de database op te slaan, die vanuit de webapplicatie door de gebruiker worden uitgevoerd.

Huur bekwame, ervaren ontwikkelaars in. SQLI-aanvallen worden vaak veroorzaakt door slordige code. Laat je softwareontwikkelaars van tevoren weten wat je verwacht qua beveiliging.

Wat als mijn persoonlijke informatie werd gestolen bij een datalek? Je moet eens kijken naar onze datalek-checklist. Daar leer je alles over opruimen en veilig blijven nadat een SQLI-aanval je heeft getroffen.

Bezoek OWASP. Het Open Web Application Security Project, kortweg OWASP, is de leidende autoriteit op het gebied van webapplicaties en biedt veel extra leesmateriaal over hoe SQL-injecties te voorkomen.

En als je geen genoeg kunt krijgen van SQL-injecties, bezoek dan de Malwarebytes Labs blog voor al het laatste nieuws in de wereld van cyberbedreigingen en cybersecurity.