(let op, deze blog vertegenwoordigd simpelweg mijn persoonlijke mening en niet per definitie die van het CERT-WM)

De reden dat ik deze blog maak is omdat ik bijna wekelijks een vraag krijg over dit soort checks. En altijd is de strekking van de vraag; 'help ons om onze Internet.nl score omhoog te krijgen want men definieert ons met deze score als ‘onveilig’. In deze post wil ik graag toelichten hoe ik tegen dit soort controles aankijk en hoe de uitslagen hiervan het beste geïnterpreteerd kunnen worden. In deze post pak ik als voorbeeld Internet.nl maar mijn uitleg is ook van toepassing op andere sites die soortgelijke controles aanbieden.

Als we kijken naar de slogan van Internet.nl dan lezen we 'Is your internet up-to-date'. Laten we internet in deze maar vervangen voor de woorden website of domeinnaam en dan komen we al aardig in de buurt. Internet.nl omschrijft zichzelf namelijk als volgt:

Op Internet.nl kun je eenvoudig testen of je internet up-to-date is. Gebruiken jouw website(externe link), e-mail(externe link) en internetverbinding(externe link) wel moderne, betrouwbare Internetstandaarden? En, als dat niet zo is, wat kun je daar aan doen?

En wat mij betreft is deze stelling volledig correct. De controle van sites als Internet.nl controleert op zogenaamde 'open standaarden'. Deze controle kunnen ze relatief gemakkelijk uitvoeren. De 'bot' (geautomatiseerde checker van Internet.nl) controleert via DNS of er een website/mailserver of andere dienst beschikbaar is. Er wordt gekeken naar de zeer globale configuratie van die dienst en deze uitslag wordt vergeleken met een aantal open standaarden. Maar wat zijn nu die 'open standaarden'?

Open standaarden worden opgesteld door het Forum Standaardisatie(externe link). Deze open standaarden zorgen voor 2 zaken:

  1. Ze focussen zich op de gegevensuitwisseling tussen ICT-systemen.
  2. Ze zijn 'open' en deze openheid zorgt ervoor dat iedereen de standaard kan gebruiken.

Een standaard is een afspraak die is vastgelegd in een specificatiedocument. Om gegevens uit te wisselen moeten ICT-systemen dezelfde standaard hebben geïmplementeerd. Voorwaarde is dan wel dat het specificatiedocument vrij te verkrijgen is. Dit specificatiedocument noemen we ook wel een 'protocol'. Voordat het Forum Standaardisatie een protocol als 'open standaard' classificeert moet het aan vier kenmerken voldoen, namelijk:

  1. De benodigde documentatie moet laagdrempelig beschikbaar zijn.
  2. Er mogen geen hindernissen zijn op het gebied van intellectueel eigendomsrecht.
  3. Er moeten voldoende inspraakmogelijkheden zijn voor stakeholders tijdens de (door)ontwikkeling van de standaard.
  4. De onafhankelijkheid en duurzaamheid van de standaardisatieorganisatie moet verzekerd zijn.

Oude standaarden worden periodiek herzien en vervangen voor de meest actuele standaarden (mits deze voldoen aan de gegeven criteria). Daarnaast zijn de standaarden nog verdeeld in twee categorieën:

  1. Verplichte standaarden. Deze zijn verplicht om uit te vragen op het moment dat een organisatie ICT systemen en/of diensten afneemt ter waarde van €50.000, of meer. Er moet altijd aan deze verplichte standaarden worden voldaan. Wordt er van afgeweken dan moet worden vastgelegd waarom. Dit is volgens het 'pas toe of leg uit' principe.
  2. Aanbevolen standaarden. Deze zijn niet verplicht maar worden omwille van modernisering of security wel aangeraden. Indien hier van afgeweken wordt is er geen 'pas toe of leg uit' verplichting. Meestal gaat het hier om nieuwe standaarden die nog aan het begin van hun adoptieproces zitten.

Hierboven viel het woordje al even….'security'. En dat is exact waarom een uitslag van sites als Internet.nl voor sommige beslissingen zo zwaar telt. Het gaat immers over digitale veiligheid en een slechte score betekent een partij die de digitale veiligheid niet zo serieus neemt, toch?

Een scan op open standaarden is geen vulnerability scan…

En dit is waar het volgens mij vaak mis gaat. Het is helemaal niet altijd zo dat een lage score op Internet.nl betekent dat een dienst onveilig is, of dat een organisatie nalatig is m.b.t. hun digitale veiligheid. Dit soort controles zijn geen vulnerability scans en al helemaal geen pentests! Dit soort controles leggen geen actuele vulnerabilities bloot die direct gemakkelijk te misbruiken zijn!

Wat kunnen de redenen zijn van een slechtere score:

  • Foutieve DNS settings waardoor een dienst gecontroleerd wordt die niet meer bestaat en dus ook niet aan open standaarden voldoet.
  • Een actieve 'pas toe of leg uit' lijst waarop aangegeven is waarom er van een bepaalde standaard wordt afgeweken. Denk bijvoorbeeld aan:
    • Het delen van informatie over HTTP (maar misschien is het wel open informatie).
    • Het ontbreken van IPv6 (zegt iets over potentiële bereikbaarheid maar niets over veiligheid).
    • Het ontbreken van DANE omdat de mailprovider (tot lange tijd b.v. ExchangeOnline) deze niet ondersteunt.

Indien bovenstaande voorbeelden van toepassing zijn zal de Internet.nl score dramatisch laag zijn. Maar dat zegt nog steeds niets over de dienst of organisatie. Zo wordt er in de controle veel waarde gehecht aan IPv6, DNSSEC, en SSL. Allemaal belangrijke open standaarden. Maar zonder de juiste interpretatie niet per definitie in alle omgevingen verplicht of gewenst.

Aan de andere kant geeft een controle dus wel potentiële misbruik-kansen aan. Wellicht kan de site gebruikt worden in een phishing campagne. Is de sterkte van de SSL ciphers niet meer up-to-date. Of zou een (D)DOS aanval op IPv4 de dienst kunnen stilleggen omdat er geen IPv6 fallback is (of andersom). Maar zonder de juiste interpretatie is dit erg lastig te beoordelen.

Sites als Internet.nl geven dus een indicatie zonder verdere diepgang. Wat mij betreft een zeer waardevolle test voor self-assessment doeleinden en verbeteringen. Maar deze controle is minder geschikt voor het beoordelen van de veiligheid van een andere organisatie zonder dat je hierbij navraag doet om bepaalde resultaten uit de test te beargumenteren.

Mijn advies is dan ook: gebruik zeker dit soort controles, maar interpreteer de resultaten als 'indicatie' en vul deze vervolgens aan met argumentatie om te komen tot inzichten die kunnen helpen in het maken van bepaalde overwegingen. Nogmaals, deze score is geen scan op actieve vulnerabilities maar een aanbeveling op basis van moderne en aanwezige open standaarden.

Jarno Baselier