Word gematcht

Parameter

Concepten

Een parameter is een variable van een bepaald type die kan worden veranderd of worden gebruikt in bewerkingen en berichten, zoals x in een formule. Als de parameter een waarde krijgt, krijgt ook de uitkomst van de formule een waarde.

Een parameter is een variabele die een waarde bevat en het gedrag van een systeem, applicatie of proces beinvloedt. In de context van cybersecurity en IT verwijst de term naar de waarden die worden meegegeven aan programma's, functies, API's of URL's om specifieke acties uit te voeren of resultaten te filteren. Parameters vormen de bouwstenen van communicatie tussen systemen: ze bepalen wat een systeem doet met een verzoek. Denk aan zoektermen in een webadres, configuratiewaarden in een beveiligingssysteem of invoervelden in een webformulier.

Hoewel het concept eenvoudig lijkt, spelen parameters een cruciale rol in cybersecurity. Veel veelvoorkomende aanvalstechnieken richten zich specifiek op het manipuleren van parameters. SQL injection, cross-site scripting en parameter tampering zijn allemaal aanvallen die misbruik maken van onvoldoende validatie van parameterwaarden. Het correct verwerken en beveiligen van parameters is daarom een fundament van veilige softwareontwikkeling en systeemconfiguratie.

Waarom is het concept parameter belangrijk?

Parameters zijn overal in digitale systemen aanwezig en vormen een primair aanvalsoppervlak voor kwaadwillenden. Elke keer dat een gebruiker een formulier invult, een zoekopdracht uitvoert of op een link klikt, worden parameters verstuurd naar een server. Als die server de ontvangen parameterwaarden niet correct valideert en sanitiseert, ontstaan kwetsbaarheden die aanvallers kunnen misbruiken om ongeautoriseerde toegang te krijgen, data te stelen of systemen te manipuleren.

URL-parameters, ook wel query strings genoemd, zijn zichtbaar in de adresbalk van de browser. Een URL als "https://voorbeeld.nl/zoeken?term=firewall&pagina=2" bevat twee parameters: "term" met waarde "firewall" en "pagina" met waarde "2". Een aanvaller kan proberen deze waarden te manipuleren om toegang te krijgen tot gegevens die niet voor hen bestemd zijn, of om kwaadaardige code te injecteren. Het OWASP Top 10-overzicht van webapplicatiekwetsbaarheden bevat meerdere categorieën die direct gerelateerd zijn aan onveilige parameterverwerking.

Configuratieparameters in beveiligingssystemen bepalen hoe die systemen functioneren. Een firewall-regel bevat parameters die bepalen welk verkeer wordt toegestaan of geblokkeerd. Een authenticatiesysteem gebruikt parameters voor sessietime-outs, wachtwoordcomplexiteit en lockout-drempels. Verkeerd geconfigureerde parameters in beveiligingssystemen kunnen de effectiviteit van de beveiliging ondermijnen zonder dat dit direct zichtbaar is.

Hoe pas je parameterbeveiliging toe?

De eerste en belangrijkste maatregel is inputvalidatie. Elke parameter die een systeem ontvangt, moet worden gecontroleerd op verwacht type, lengte, formaat en bereik voordat het systeem er iets mee doet. Dit geldt voor URL-parameters, formuliervelden, API-verzoeken, cookies en HTTP-headers. Gebruik whitelisting boven blacklisting: definieer welke waarden acceptabel zijn, in plaats van te proberen alle mogelijke kwaadaardige waarden te blokkeren.

Parametrisatie van databasequeries is essentieel om SQL injection te voorkomen. In plaats van gebruikersinvoer direct in een query op te nemen, gebruik je geparametriseerde queries of prepared statements. De database behandelt de invoer dan als data, niet als uitvoerbare code. Dit is een van de meest effectieve beveiligingsmaatregelen in webontwikkeling en wordt aanbevolen door OWASP als standaardpraktijk.

Output encoding voorkomt dat parameterwaarden die worden weergegeven in webpagina's worden geinterpreteerd als code. Dit beschermt tegen cross-site scripting (XSS) aanvallen. Vermijd het transporteren van gevoelige gegevens zoals sessietokens, wachtwoorden of persoonlijke informatie via URL-parameters, omdat deze zichtbaar zijn in browsergeschiedenis, serverlogboeken en referrer-headers. Gebruik hiervoor HTTP POST-verzoeken of beveiligde cookies.

Op systeemniveau is het regelmatig auditen van configuratieparameters belangrijk. Controleer of beveiligingsparameters in firewalls, IDS/IPS-systemen en toegangsbeheer correct zijn ingesteld. Documenteer de gewenste parameterwaarden en detecteer afwijkingen automatisch. Veel beveiligingsincidenten zijn het gevolg van misconfiguratie, niet van geavanceerde aanvallen.

Parameters in de praktijk

Een herkenbaar voorbeeld is een webshop waar producten worden gefilterd via URL-parameters. De URL "webshop.nl/producten?categorie=laptops&prijs_max=1000&pagina=3" bevat drie parameters die bepalen welke producten worden getoond. Een aanvaller zou kunnen proberen de parameter "prijs_max" te manipuleren naar een negatieve waarde, of de parameter "categorie" te vervangen door een SQL-query om de database te benaderen. Zonder validatie kan dit leiden tot informatielekken of systeemcompromittering.

In API-communicatie zijn parameters nog prominenter. REST API's gebruiken path parameters, query parameters en body parameters om verzoeken te specificeren. Een slecht beveiligde API die gebruikers-ID's als parameter accepteert zonder autorisatiecontrole, stelt een aanvaller in staat om door simpelweg de ID te wijzigen gegevens van andere gebruikers op te vragen. Dit staat bekend als Insecure Direct Object Reference (IDOR) en is een veelvoorkomende kwetsbaarheid in moderne webapplicaties.

Configuratieparameters spelen ook een rol bij compliance. Organisaties die voldoen aan standaarden zoals ISO 27001 of de AVG moeten aantoonbaar maken dat beveiligingsparameters correct zijn geconfigureerd en periodiek worden gecontroleerd. Denk aan maximale sessieduren, minimale wachtwoordcomplexiteit, encryptieniveaus en logretentieperioden. Al deze instellingen zijn parameters die bij verkeerde configuratie tot non-compliance kunnen leiden.

OWASP en parameterbeveiliging

Het OWASP (Open Web Application Security Project) besteedt uitgebreid aandacht aan de risico's van onveilige parameterverwerking. In de OWASP Top 10 zijn meerdere categorieën direct gerelateerd aan parameters: Injection (A03:2021) omvat SQL injection, OS command injection en andere vormen van code-injectie via parameters. Broken Access Control (A01:2021) omvat IDOR-kwetsbaarheden waarbij parameters worden gemanipuleerd om toegang te krijgen tot andermans data. Security Misconfiguration (A05:2021) omvat verkeerd geconfigureerde beveiligingsparameters in servers en applicaties.

De OWASP-documentatie benadrukt dat gevoelige informatie nooit via query strings mag worden verstuurd. Gebruik voor parametervalidatie de OWASP Input Validation Cheat Sheet als leidraad. Voor API-beveiliging biedt de OWASP API Security Top 10 specifieke richtlijnen voor het beveiligen van API-parameters tegen misbruik.

Veelgestelde vragen over parameters

Wat is parameter tampering?

Parameter tampering is een aanvalstechniek waarbij een aanvaller de waarden van parameters wijzigt die worden verstuurd naar een webapplicatie. Dit kan via URL-manipulatie, het aanpassen van verborgen formuliervelden of het modificeren van cookies. Het doel is om ongeautoriseerde acties uit te voeren, zoals het wijzigen van prijzen in een webshop.

Wat is het verschil tussen GET- en POST-parameters?

GET-parameters worden meegegeven in de URL en zijn zichtbaar in de adresbalk, browsergeschiedenis en serverlogboeken. POST-parameters worden in de body van het HTTP-verzoek verstuurd en zijn niet zichtbaar in de URL. Voor gevoelige data moet je POST gebruiken, hoewel ook POST-parameters niet automatisch versleuteld zijn zonder HTTPS.

Hoe voorkom je SQL injection via parameters?

Gebruik geparametriseerde queries of prepared statements in je code. Combineer dit met inputvalidatie en het principe van least privilege voor databaseaccounts. Een web application firewall biedt een extra beschermingslaag door bekende aanvalspatronen in parameters te blokkeren voordat ze de applicatie bereiken.

Zijn hidden form fields veilig voor parameters?

Nee. Hidden form fields zijn alleen onzichtbaar in de browser, maar eenvoudig te lezen en te wijzigen via de developer tools van de browser of met interceptietools zoals Burp Suite. Gebruik hidden fields nooit voor gevoelige of beveiligingskritische waarden. Valideer ze altijd server-side alsof het door de gebruiker ingevulde waarden zijn.

Wat is server-side parameter pollution?

Server-side parameter pollution is een techniek waarbij een aanvaller extra parameters toevoegt aan verzoeken die door de server worden doorgestuurd naar interne systemen. Door parameters te injecteren in de communicatie tussen front-end en back-end systemen, kan de aanvaller het gedrag van back-endsystemen beinvloeden op manieren die de front-end niet voorziet.

Meer weten over het beveiligen van je webapplicaties? Bekijk Application Security Testing (AST) op IBgidsNL.