Beste programmeurs, dit kan écht niet meer
Hoe SQL-injection aanvallen eindelijk tot het verleden gaan behoren
De Russische militaire inlichtingendienst haalde tijdens de Amerikaanse verkiezingen in 2016 data van duizenden kiezers uit het computernetwerk van de Illinois State Board of Elections. Dat stond in het Mueller-rapport dat in april openbaar werd.
Deze hackers gebruikten een techniek genaamd “SQL-injection”, dat 20 jaar geleden voor het eerst werd gebruikt. Een eeuwigheid geleden in de IT-wereld. Ondertussen staat het internet bol van tools, trainingen en tutorials om applicaties tegen deze vorm van hacking te beschermen. En toch staat SQL-injection nog steeds op nummer 1 in de lijst van grootste securityrisico’s van het Open Web Application Security Project (OWASP). Zelfs grote organisaties zijn niet voldoende beschermd: de laatste maanden kwamen onder andere Oracle, Lenovo en Georgia Tech University in het nieuws omdat hun computernetwerken blootgesteld waren, met alle gevolgen van dien.
Hoe is dat mogelijk? Wij spraken Mark Kazemier, Procam-alumnus en Information Security Risk Analyst bij ABN AMRO, om hier antwoord op te krijgen. Maar eerst: wat is SQL-injection precies?
“Dit mag niet meer voorkomen”
SQL-injection is eenvoudig op te lossen en mag volgens Mark daarom eigenlijk niet meer voorkomen. Programmeurs kunnen zelfs kiezen uit verschillende opties, die uitgebreid beschreven staan in de SQL injection prevention cheat sheet van het OWASP. “Zelf raad ik meestal het gebruik van prepared statements aan. Dat houdt in dat je eerst een query naar je database stuurt waarin je aangeeft waar je gebruikersinvoer verwacht. Nadat de database de query heeft geaccepteerd, geef je pas aan welke gebruikersinvoer er in de query gezet moet worden. Zo voorkom je dat de database gebruikersinvoer kan interpreteren als code.”
Waarom is SQL-injection dan toch nog zo vaak succesvol? Volgens Mark spelen verschillende factoren hier een rol. “Opleidingen besteden te weinig aandacht aan security, en daarnaast bevatten de lesmaterialen in boeken en artikelen op het Internet vaak voorbeelden die onveilig zijn. Bovendien hebben veel programmeurs zichzelf het programmeren aangeleerd, waardoor ze fundamentele kennis op het gebied van bijvoorbeeld security gemist kunnen hebben.”
Gaat jouw hart net als dat van Mark sneller kloppen van vraagstukken over security? Dan wil je onze TechTalk over Cybersecurity op 12 juni op het hoofdkantoor van ABN AMRO in Amsterdam niet missen. Schrijf je meteen in, dan zien we je daar!