EITC/IS/WASF Web Applications Security Fundamentals is het Europese IT-certificeringsprogramma voor theoretische en praktische aspecten van de beveiliging van World Wide Web-services, variërend van beveiliging van basiswebprotocollen tot privacy, bedreigingen en aanvallen op verschillende lagen van webverkeer, netwerkcommunicatie, web serverbeveiliging, beveiliging in hogere lagen, waaronder webbrowsers en webapplicaties, maar ook authenticatie, certificaten en phishing.
Het curriculum van de EITC/IS/WASF Web Applications Security Fundamentals omvat inleiding tot HTML- en JavaScript-webbeveiligingsaspecten, DNS, HTTP, cookies, sessies, cookie- en sessieaanvallen, Same Origin Policy, Cross-Site Request Forgery, uitzonderingen op dezelfde Oorsprongsbeleid, Cross-Site Scripting (XSS), Cross-Site Scripting-verdediging, webvingerafdrukken, privacy op het web, DoS, phishing en zijkanalen, Denial-of-Service, phishing en zijkanalen, injectie-aanvallen, Code-injectie, transport laagbeveiliging (TLS) en aanvallen, HTTPS in de echte wereld, authenticatie, WebAuthn, beheer van webbeveiliging, beveiligingsproblemen in het Node.js-project, serverbeveiliging, veilige coderingspraktijken, lokale HTTP-serverbeveiliging, DNS-rebinding-aanvallen, browseraanvallen, browser architectuur, evenals het schrijven van veilige browsercode, binnen de volgende structuur, die uitgebreide video-didactische inhoud omvat als referentie voor deze EITC-certificering.
Beveiliging van webtoepassingen is een subset van informatiebeveiliging die zich richt op de beveiliging van websites, webtoepassingen en webservices. Beveiliging van webapplicaties is op het meest basale niveau gebaseerd op principes van applicatiebeveiliging, maar past deze vooral toe op internet en webplatforms. Beveiligingstechnologieën voor webtoepassingen, zoals firewalls voor webtoepassingen, zijn gespecialiseerde hulpmiddelen voor het werken met HTTP-verkeer.
Het Open Web Application Security Project (OWASP) biedt bronnen die zowel gratis als open zijn. Een non-profit Stichting OWASP heeft de leiding. De OWASP Top 2017 10 is het resultaat van huidig onderzoek op basis van uitgebreide gegevens verzameld van meer dan 40 partnerorganisaties. Met behulp van deze gegevens werden ongeveer 2.3 miljoen kwetsbaarheden gedetecteerd in meer dan 50,000 applicaties. Volgens de OWASP Top 10 – 2017 zijn de top tien van meest kritieke beveiligingsproblemen van online applicaties:
- Injectie
- Verificatieproblemen
- Blootgestelde gevoelige gegevens XML externe entiteiten (XXE)
- Toegangscontrole die niet werkt
- Verkeerde configuratie van beveiliging
- Site-naar-site-scripting (XSS)
- Deserialisatie die niet veilig is
- Componenten gebruiken met bekende gebreken
- Logging en monitoring zijn onvoldoende.
Vandaar dat de praktijk van het verdedigen van websites en online services tegen verschillende beveiligingsbedreigingen die misbruik maken van zwakke punten in de code van een applicatie, bekend staat als beveiliging van webapplicaties. Contentbeheersystemen (bijv. WordPress), databasebeheertools (bijv. phpMyAdmin) en SaaS-apps zijn allemaal veelvoorkomende doelen voor aanvallen op online applicaties.
Webapplicaties worden door de daders als doelwitten met hoge prioriteit beschouwd omdat:
- Vanwege de complexiteit van hun broncode is de kans groter dat onbeheerde kwetsbaarheden en kwaadaardige codewijzigingen optreden.
- Hoogwaardige beloningen, zoals gevoelige persoonlijke informatie die is verkregen door effectieve manipulatie van de broncode.
- Gemakkelijk uit te voeren, omdat de meeste aanvallen gemakkelijk kunnen worden geautomatiseerd en zonder onderscheid kunnen worden ingezet tegen duizenden, tienduizenden of zelfs honderdduizenden doelen tegelijk.
- Organisaties die hun webapplicaties niet beveiligen, zijn kwetsbaar voor aanvallen. Dit kan onder meer leiden tot gegevensdiefstal, gespannen klantrelaties, ingetrokken licenties en juridische stappen.
Kwetsbaarheden in websites
Fouten bij het opschonen van invoer/uitvoer komen vaak voor in webtoepassingen en worden vaak misbruikt om de broncode te wijzigen of ongeautoriseerde toegang te krijgen.
Deze gebreken zorgen voor de exploitatie van een verscheidenheid aan aanvalsvectoren, waaronder:
- SQL-injectie – Wanneer een dader een backend-database manipuleert met kwaadaardige SQL-code, wordt informatie onthuld. Illegaal bladeren door lijsten, het verwijderen van tabellen en ongeautoriseerde beheerderstoegang behoren tot de gevolgen.
- XSS (Cross-site Scripting) is een injectie-aanval die zich richt op gebruikers om toegang te krijgen tot accounts, Trojaanse paarden te activeren of pagina-inhoud te wijzigen. Wanneer kwaadaardige code rechtstreeks in een toepassing wordt geïnjecteerd, staat dit bekend als opgeslagen XSS. Wanneer kwaadaardig script wordt gespiegeld van een toepassing naar de browser van een gebruiker, staat dit bekend als gereflecteerde XSS.
- Distant File Inclusion – Met deze vorm van aanval kan een hacker een bestand vanaf een externe locatie in een webtoepassingsserver injecteren. Dit kan ertoe leiden dat gevaarlijke scripts of code worden uitgevoerd binnen de app, evenals gegevensdiefstal of wijziging.
- Cross-site Request Forgery (CSRF) - Een type aanval dat kan leiden tot onbedoelde overdracht van contant geld, wachtwoordwijzigingen of gegevensdiefstal. Het treedt op wanneer een kwaadaardig webprogramma de browser van een gebruiker instrueert om een ongewenste actie uit te voeren op een website waarop ze zijn ingelogd.
In theorie kan een effectieve opschoning van invoer/uitvoer alle kwetsbaarheden wegnemen, waardoor een toepassing ongevoelig wordt voor ongeoorloofde wijziging.
Omdat de meeste programma's echter voortdurend in ontwikkeling zijn, is uitgebreide ontsmetting zelden een haalbare optie. Bovendien zijn apps vaak met elkaar geïntegreerd, wat resulteert in een gecodeerde omgeving die steeds complexer wordt.
Om dergelijke gevaren te vermijden, moeten beveiligingsoplossingen en -processen voor webtoepassingen, zoals PCI Data Security Standard (PCI DSS)-certificering, worden geïmplementeerd.
Firewall voor webapplicaties (WAF)
WAF's (webtoepassingsfirewalls) zijn hardware- en softwareoplossingen die toepassingen beschermen tegen beveiligingsrisico's. Deze oplossingen zijn ontworpen om inkomend verkeer te inspecteren om aanvalspogingen te detecteren en te blokkeren, om eventuele fouten bij het opschonen van de code te compenseren.
WAF-implementatie beantwoordt aan een cruciaal criterium voor PCI DSS-certificering door gegevens te beschermen tegen diefstal en wijziging. Alle gegevens van creditcard- en debetkaarthouders die in een database worden bewaard, moeten worden beveiligd volgens eis 6.6.
Omdat het zijn DMZ aan de rand van het netwerk voorloopt, vereist het opzetten van een WAF meestal geen wijzigingen aan een applicatie. Het dient dan als een gateway voor al het inkomende verkeer en filtert gevaarlijke verzoeken uit voordat ze kunnen communiceren met een applicatie.
Om te beoordelen welk verkeer toegang krijgt tot een applicatie en welk verkeer moet worden verwijderd, gebruiken WAF's verschillende heuristieken. Ze kunnen kwaadwillende actoren en bekende aanvalsvectoren snel identificeren dankzij een regelmatig bijgewerkte handtekeningpool.
Bijna alle WAF's kunnen worden afgestemd op individuele gebruiksscenario's en beveiligingsvoorschriften, en kunnen ook opkomende (ook bekend als zero-day) bedreigingen bestrijden. Ten slotte, om extra inzicht te krijgen in inkomende bezoekers, gebruiken de meeste moderne oplossingen reputatie- en gedragsgegevens.
Om een beveiligingsperimeter te bouwen, worden WAF's meestal gecombineerd met aanvullende beveiligingsoplossingen. Dit kunnen gedistribueerde denial-of-service (DDoS)-preventiediensten zijn, die de extra schaalbaarheid bieden die nodig is om grootschalige aanvallen te voorkomen.
Checklist voor de beveiliging van webapplicaties
Naast WAF's zijn er verschillende benaderingen voor het beveiligen van web-apps. Elke beveiligingschecklist voor webtoepassingen moet de volgende procedures bevatten:
- Gegevens verzamelen — Overloop de applicatie met de hand en zoek naar toegangspunten en codes aan de clientzijde. Classificeer inhoud die wordt gehost door een derde partij.
- Autorisatie — Zoek naar padtraversals, problemen met verticale en horizontale toegangscontrole, ontbrekende autorisatie en onveilige verwijzingen naar directe objecten bij het testen van de applicatie.
- Beveilig alle gegevensoverdrachten met cryptografie. Is er gevoelige informatie versleuteld? Heb je algoritmen gebruikt die niet goed genoeg zijn? Zijn er toevalligheidsfouten?
- Denial of service — Test op anti-automatisering, accountvergrendeling, HTTP-protocol DoS en SQL-jokerteken DoS om de weerbaarheid van een toepassing tegen denial-of-service-aanvallen te verbeteren. Dit omvat niet de beveiliging tegen grootschalige DoS- en DDoS-aanvallen, waarvoor een combinatie van filtertechnologieën en schaalbare bronnen nodig is om weerstand te bieden.
Voor meer details kan men de OWASP Web Application Security Testing Cheat Sheet raadplegen (het is ook een geweldige bron voor andere veiligheidsgerelateerde onderwerpen).
DDoS-bescherming
DDoS-aanvallen of gedistribueerde denial-of-service-aanvallen zijn een typische manier om een webtoepassing te onderbreken. Er zijn een aantal benaderingen om DDoS-aanvallen te verminderen, waaronder het negeren van volumetrisch aanvalsverkeer op Content Delivery Networks (CDN's) en het gebruik van externe netwerken om echte verzoeken op de juiste manier te routeren zonder een serviceonderbreking te veroorzaken.
DNSSEC (Domain Name System Security Extensions) bescherming
Het domeinnaamsysteem, of DNS, is het telefoonboek van internet en geeft weer hoe een internettool, zoals een webbrowser, de relevante server vindt. DNS-cachevergiftiging, on-path-aanvallen en andere manieren om de DNS-lookup-levenscyclus te verstoren, zullen door kwaadwillenden worden gebruikt om dit DNS-verzoekproces te kapen. Als DNS het telefoonboek van internet is, is DNSSEC een niet-spoofable beller-ID. Een DNS-lookup-verzoek kan worden beveiligd met behulp van de DNSSEC-technologie.
Om u in detail vertrouwd te maken met het certificeringscurriculum kunt u onderstaande tabel uitvouwen en analyseren.
Het EITC/IS/WASF Web Applications Security Fundamentals Certification Curriculum verwijst naar open-access didactisch materiaal in videovorm. Het leerproces is opgedeeld in een stapsgewijze structuur (programma's -> lessen -> onderwerpen) die relevante curriculumonderdelen omvat. Onbeperkt advies met domeinexperts wordt ook geboden.
Voor meer informatie over de certificeringsprocedure, zie Hoe het werkt.
Download het volledige offline zelflerende voorbereidende materiaal voor het EITC/IS/WASF Web Applications Security Fundamentals-programma in een PDF-bestand
EITC/IS/WASF voorbereidingsmaterialen – standaardversie
EITC/IS/WASF voorbereidend materiaal – uitgebreide versie met evaluatievragen