Waarom websecurity een continu proces is
Door Stan DaniëlsWebsecurity is enorm belangrijk onderwerp voor iedereen die online actief is. Waar moet je bij websecurity aan denken? En wanneer loop je risico? Ik vertel erover in deze blog.
Een digitale weg slijt in tegenstelling tot een asfaltweg niet door het vele gebruik, de digitale weg slijt door nieuwe ontwikkelingen. Als er één wereld snel in ontwikkeling is, is het de IT-wereld wel. Het feit dat onze wereld zo snel ontwikkelt is een van de vele redenen waardoor ik enthousiast ben over programmeren. Helaas brengt deze snelheid in ons werkveld ook veiligheidsissues met zich mee; er worden gaten in de weg ontdekt en dat is potentieel gevaarlijk. Dit zorgt voor uitdagingen, het is van blijvend belang dat je website continu beschermd wordt tegen deze gaten, deze veiligheidsissues. Om deze reden zijn wij naast het ontwerpen en bouwen van je website, ook veel bezig met de veiligheid van je website.
Waar begin je als je denkt aan websecurity?
OWASP
Een goed vertrekpunt is de OWASP Top 10. Dit is een document van het Open Web Application Security Project (OWASP); een open source-project rondom web application security. Dit document bevat een top 10 van de meest urgente punten over websecurity. Het is tot stand gekomen dankzij onderzoek naar de beveiliging van IT-applicaties of IT in het algemeen, uitgevoerd door een team van security experts. Dankzij het open-source-karakter van OWASP zijn al deze onderzoeken openbaar en presenteert de OWASP iedere vier jaar een top 10 van de meest voorkomende security risico’s.
Zonder al te veel in te gaan op de details, is het wel interessant om kort toe te lichten waar enkele meest voorkomende kwetsbaarheden zitten. En vooral, hoe voorkomen wij deze voor jouw website? Enkele veel voorkomende risico’s zijn broken access control, sensitive data exposure, injection en broken authentication. Begrippen die niet iedereen iets zeggen, daarom leg ik er twee verder uit.
Sensitive Data Exposure
Bij de kwetsbaarheid Sensitive Data Exposure zegt de naam het eigenlijk al; gevoelige data is beschikbaar voor aanvallers. Deze data kan variëren van wachtwoorden tot betaalgegevens tot gezondheidsgegevens en alles daar tussenin. Deze data zijn altijd interessant voor kwaadwillende en daarom wordt dit lek in regel altijd als ‘hoog’ geclassificeerd. Aanvallers kunnen deze data doorverkopen aan o.a. spammers (willen zo veel mogelijk e-mailadressen bezitten) en phishers (zoeken middelen om mensen onder druk te zetten, bijv. door te chanteren met het uitlekken van persoonlijke gegevens). In gevoeligheid of in aantal is elke dataset aantrekkelijk voor aanvallers.
Broken Access Control
Bij Broken Access Control heeft een ingelogde gebruiker toegang tot functionaliteiten die afgeschermd zouden moeten zijn. Iedereen die een account aanmaakt op een website heeft bepaalde rechten. Logischerwijs heeft een beheerder meer rechten dan een user. Maar wat als hier iets fout gaat en de users ineens op pagina’s komen waar ze eigenlijk niet horen te zijn? Access Control zou deze toegang moeten controleren wanneer deze onvolledig is kan de gebruiker meer inzien of uitvoeren dan zou mogen.
Blijf up-to-date
Iedereen is een doelwit op het internet, dus elke website loopt potentieel gevaar. Het allerbelangrijkste is het up-to-date houden van je website en de software.
Wij ontwikkelen websites met Laravel, een PHP-framework. Laravel brengt jaarlijks een nieuwe versie uit, maar ook tussendoor worden ze regelmatig geüpdatet. Deze updates bevatten verbeteringen of oplossingen voor de beveiliging. Hierdoor worden veelgemaakte beveiligingsfouten voorkomen en nieuw-ontdekte ook vaak opgelost.
Een website bestaat uit veel meer dan enkel de software waarmee de website is gemaakt. Een webserver is simpel gezegd een computer met daarop een besturingssysteem en verschillende programma's om bijv. data mee op te slaan, e-mails mee te versturen en op afstand in te kunnen loggen, en nog veel meer. Elk programma heeft zijn kwetsbaarheden en update-patroon. Doordat er in elke laag van een website oneindig kwetsbaarheden ontdekt en weer opgelost worden is security een non-stop proces. Hierbij kan een automatische security-scan ondersteunen. Bekende en onbekende lekken worden door zo’n tool gedetecteerd en gerapporteerd, zodat deze geïnterpreteerd en aangepakt kunnen worden. Dus ook updates waarvan je als gebruiker aan de buitenkant niets ziet, zijn toch relevant om uit te voeren. Door je software up-to-date te houden, hou je je website veilig.
Samen met jou brengen we graag in kaart waar de eventuele risico’s zitten in je website en wat de impact is mocht het fout gaan. We nemen security mee in het ontwerpproces van bestaande en nieuwe features en maken we graag afspraken over het controleren en rapporteren van de beveiliging van jouw website.