C0mPl3x of n13t? …

C0mPl3x of n13t? …

In 2019 zijn 26.956 datalekken gemeld bij de Autoriteit Persoonsgegevens (hierna ‘AP’). Het lijkt erop dat dit de komende tijd niet veel beter wordt. Hoe komt het toch dat er nog steeds zo veel misgaat?

Bij de meeste datalekken is het lek een gevolg van een fout of slordigheid. Er is geen sprake van een bewuste keuze of opzet. In 2019 zijn bijvoorbeeld de volgende meldingen van deze soort bij de AP gemeld:

  • Gegevens zijn naar een onjuiste persoon gestuurd (67%).
  • Het ging mis met brieven of postpakketten die kwijtraken of geopend retour worden ontvangen (9%).
  • Apparaten of gegevensdragers zijn kwijtgeraakt of gestolen (5%).
  • Incorrecte gegevens worden in een klantportaal getoond (3%).
  • Persoonsgegevens worden per ongeluk gepubliceerd.

Er zijn echter ook situaties waarbij men actief en bewust heeft geprobeerd om een persoon of organisatie te raken. Dit kan zijn door hacking, malware en/of phishing. Dit was ongeveer 3% en dus in absolute aantallen meer dan 800 gevallen. Deze laatste soort lek is in potentie veel schadelijker omdat het om een gerichte aanval gaat. De getroffen organisatie kan bedrijfsgegevens kwijtraken, bedrijfsgeheimen kunnen bij concurrenten bekend worden en de integriteit van gegevens kan ernstig beschadigd worden.

Goede reden om te zorgen voor een goede beveiliging.

Net als bij een huis begint het bij goede muren en een waterdicht dak. Hiervoor zorgt een firewall en goed beveiligd netwerk. Vanuit beveiligingsoogpunt is de deur een potentieel gevaarlijke plaats. Een zwakke plek in de beveiliging. Bij een ICT-netwerk is dat vergelijkbaar met het inlogscherm wat toegang geeft tot de achterliggende systemen. Voor alle toegang tot gevoelige zaken geldt dat het begint met het juist identificeren wie men tegenover zich heeft. Vele jaren was een gebruikersnaam met ter controle een wachtwoord het geëigende middel. Wanneer Geert zich meldt met gkoster en wachtwoord e-niro78 kon het systeem ervan uitgaan dat Geert achter het toetsenbord zat en kreeg hij dus toegang tot de gegevens waar hij bij kon. Probleem is echter dat de hier genoemde Geert niet zo heel creatief was, en mensen die hem kenden met een aantal pogingen wellicht zijn wachtwoord konden raden. Wachtwoorden worden tegenwoordig gezien als een zwakke beveiliging.  Het ‘iets-wat-je-weet’-principe is niet meer voldoende.

Nieuwe technieken zoals gezichtsherkenning, tijd veranderende toegangscodes en vingerafdrukken worden tegenwoordig ook veel gebruikt in beveiliging. Dus een ‘iets-wat-je-hebt’ in combinatie met ‘iets-wat-je-weet’. Soms wordt het ‘iets-wat-je-hebt’-principe zelfs leidend. Telefoons worden ge-unlocked met alleen een vingerafdruk of gezichtsscan. Het ingewikkelde van de ‘iets-wat-je-hebt’-gedachte is echter dat als jij het hebt, iemand anders het wellicht ook kan hebben, of te pakken kan krijgen. Of men kan doen of men het heeft. Neem bijvoorbeeld een e-mailadres. Wanneer jij een e-mail van jouwkennis@hetnet.nl krijgt, ga je er wellicht van uit dat deze mail van jouw kennis komt. Of dat whatsappje wat je krijgt van jouw zoon, dochter, vader of moeder die geld nodig heeft. Gelukkig kun je dan altijd nog bellen om te verifiëren of de stem van jouw zoon of dochter wel te horen is (bekijk het artikel van Blik op nieuws inzake WhatsApp-fraude).
Blijkbaar kun je dus ook al niet meer uitgaan van de vertrouwde stem van iemand die jij kent. Met de opkomst van deep fake technieken komt er een nieuwe bedreiging: zie dit artikel van The Verge. Wanneer jij iemand die je kent hoort vragen om informatie (of zelfs ziet), wie ben jij dan om dit te wantrouwen?

Naast het feit dat je de kans op misleiding kunt verkleinen door bij twijfel de ander te bellen, kun je ook hier eventueel terugvallen op ‘iets-wat-je-weet’. Stel de ander vragen waarvan de kans klein is dat anderen die weten. Dingen die in-persoon een keer zijn besproken of op een andere manier niet door anderen op te zoeken. En dan komen we dus weer terug bij het aloude principe van wachtwoorden…

Een heel veilig wachtwoord wat niet bij anderen bekend is, is in theorie een hele goede bescherming.

Probleem is alleen dat de meeste wachtwoorden niet veilig zijn. Een wachtwoord moet namelijk in een systeem worden opgeslagen om later te controleren of het wachtwoord juist is ingevoerd. Voor de veiligheid worden wachtwoorden over het algemeen niet leesbaar opgeslagen, maar worden ze versleuteld op een manier die niet omgekeerd kan worden. De enige manier om een wachtwoord te controleren is deze opnieuw versleutelen en controleren of de uitkomst overeen komt.

Wel kun je natuurlijk de wachtwoorden en de versleutelde wachtwoorden in een database opslaan. Dit heeft men op de website Hashes.org gedaan. Daar staat een mooie te downloaden database met meer dan 3,5 miljard ‘gekraakte’ wachtwoorden. Wanneer iemand dus een versleutelde wachtwoordenlijst van een computersysteem weet te downloaden (zoals jaarlijks helaas bij vele grote websites gebeurt) kan men dan eenvoudig het originele wachtwoord vinden.

Het is dus de bedoeling dat een wachtwoord niet uit bestaande woorden bestaat. Om dat te voorkomen kennen veel systemen de mogelijkheid om ‘wachtwoordcomplexiteit’ in te schakelen. Men moet dan minimaal een hoofdletter, kleine letter, cijfer en als het tegenzit ook nog een speciaal teken invoeren.

Met uitzondering van een beperkte groep creatieve geesten blijkt men in de praktijk vaak terug te vallen op een paar standaard  ‘complexiteiten’:

  • Vervang een paar letters door cijfers :  Passw0rd   (e door 3, i door 1, etc.)
  • Voeg één of twee cijfers toe : Passw0rd1
  • Vervang een letter door een speciaal teken : P@ssw0rd1
  • Voeg eventueel nog een uitroepteken toe : P@ssw0rd1!

Veilig!! (zou je misschien zeggen)… Helaas. Zoals hieronder te zien is, is dit wachtwoord ook al te vinden in de database.

Deze ‘bekende’ trucjes worden door hackers natuurlijk allemaal gebruikt. Ze hebben de bestaande woorden versleuteld, en gaan daarna verder door op alle woorden de bekende trucjes uit te voeren. Er moet dus voorkomen worden dat bekende woorden of combinaties (eventueel misvormd door de bekende trucjes) gebruikt worden.

Minstens net zo belangrijk is het echter dat een wachtwoord lang genoeg is. In het stukje ‘let’s crunch the numbers hieronder maak ik inzichtelijk dat een wachtwoord van 8 karakters bestaande uit hoofdletters, kleine letters, cijfers en speciale tekens in een fractie van seconden gehacked zou kunnen worden. Een wachtwoord van 20 tekens, alleen bestaande uit kleine en hoofdletters (dus zonder complexiteit) zou met dezelfde machine meer dan 2 miljard jaar kosten. Size does matter!

Een veilig en toch goed te onthouden wachtwoord bestaat uit meerdere niet-samenhangende woorden of een variatie daarop, en heeft een lengte van minimaal 15 tekens. Wanneer jouw wachtwoord hieraan voldoet, dan heb je een hele goede eerste drempel opgeworpen. Een wachtzin als ‘visslagroomcake:)’ zou bijvoorbeeld veilig kunnen zijn, en toch goed te onthouden. Een ‘Dorpeltuinplaats-trap’ is net zo onlogisch en dus ook veilig.

Hoe maak ik dit werkbaar binnen mijn organisatie?

Voor een deel is het een kwestie van ruilen. Mensen hoeven niet meer een complex wachtwoord te gebruiken wanneer ze een lang (en onbekend) wachtwoord gebruiken. En wat is dan lang? Tegenwoordig roep ik dat men eigenlijk een wachtwoord van minimaal 15 tekens zou moeten gebruiken. In feite heb je het dan over een wachtzin, waarbij een paar onsamenhangende woorden een prima combinatie zijn.

Om te voorkomen dat men per dag vaak het langere wachtwoord in moeten voeren is het aan te raden om gebruik te maken van Single Sign On (SSO). Hierbij meldt de medewerker zich éénmaal aan in de ochtend met zijn ‘lange’ wachtwoord en is het openen van een ander systeem enkel ‘doorklikken’. Wanneer men zuinig is op zijn wachtwoord (dus niet deelt of opschrijft) dan lijkt een langere geldigheid (bijvoorbeeld van een half jaar) ook acceptabel. Door gebruik te maken van password-auditor-software (zoals bijvoorbeeld Specops) kunnen wachtwoorden getoetst worden op bijvoorbeeld voorkomen in woordenlijsten en opvolgende toetsen op het toetsenbord (qwert).

Uiteraard blijft de combinatie van ‘iets wat je weet’ (wachtwoord) en ‘iets wat je hebt’ (telefoon, SMS, etc.) ook een ijzersterke combinatie. Aangezien hier tegenwoordig ook goede en betaalbare varianten voor te krijgen zijn, is er eigenlijk geen reden om dit niet in te stellen. Om terug te komen op de vraag C0mPl3x of n13t? Doe maar niet. Ga liever voor lengte…

Let’s crunch the numbers

Ik werk bij een accountantskantoor dus een stukje met cijfers kan natuurlijk niet ontbreken. Hieronder de berekening waarom een lang wachtwoord beter is:

Zoals al beschreven kan een computer dus brute-force wachtwoorden versleutelen door alle combinaties van karakters te proberen. Daar wordt hij niet moe van en hij zeurt ook niet. Is dan geen enkel wachtwoord veilig? Gelukkig wel. Een computer zal middels brute force alle mogelijkheden moeten proberen. En dat voor alle karakters:

  • 26 kleine letters  (a-z)
  • 26 hoofdletter (A-Z)
  • 10 cijfers (0-9)
  • 25 Symbolen: (spatie) ! ” # $ % & ‘ ( ) * + , – . / : ; < = > ? @ [ \ ]

Dat geeft al 87 tekens. De wiskundige formule om het aantal mogelijkheden te berekenen is dan:

87^[lengte] (87 tot de macht [lengte])
Dus een wachtwoord van 1 teken = 87^1 = 87 mogelijkheden
Een wachtwoord van 2 tekens is 87^2 = 7569 mogelijkheden (87×87)
Een wachtwoord van 3 tekens is 87^3 = 658.603 mogelijkheden (87x87x87)
Een wachtwoord van 4 tekens is 87^4 = 57.289.761 mogelijkheden (87x87x87x87)
Een wachtwoord van 5 tekens is 87^5 = 4.984.209.207 mogelijkheden (etc…)

Een wachtwoord van 10 tekens is 87^10 = 24.842.341.419.143.568.849 mogelijkheden

Je ziet dat het aantal enorm hard groeit met ieder karakter dat een wachtwoord langer wordt. Om die reden geldt voor wachtwoorden eigenlijk altijd de volgende regel:

Langer = Beter

Let wel op! De kans dat bekende woorden en zinnetjes al versleuteld zijn is natuurlijk heel groot. ‘Automatiseringafdeling’ is een lang woord, maar ook bekend, net als ‘Hastalavistababy’ en daarmee met het oog op de wachtwoordlijsten dus niet veilig. Dat brengt de tweede belangrijke regel voor wachtwoorden:

Onbekender = Beter

Een lang onbekend wachtwoord is dus veilig. Om het voor jezelf eenvoudig te maken om te onthouden kun je een combinatie van niet-bij-elkaar horende woorden gebruiken. Een wachtwoord als ‘visslagroomcake:)’ is lang (17 tekens) en niet logisch en dus een veilig wachtwoord. Daarnaast is het nog betrekkelijk eenvoudig om te onthouden. Mocht je helemaal onvoorspelbaar willen zijn, dan kun je van een zin alle eerste of eerste twee letters pakken. Van de zin ‘Ik heb een hekel aan het bedenken van lange wachtwoorden’ kun je zo ‘Iheeeheaahebevalawa’ maken. Mooi lang en mega-onbekend. Geen complexiteit, maar dat is in deze gevallen absoluut niet nodig. Ook zonder complexiteit (alleen hoofd- en kleine letters) is het voor de snelste supercomputer een bijna onmogelijke taak om dit wachtwoord te kraken.

Het systeem doet er bij een wachtwoord van 20 tekens met alleen hoofd- en kleine letters middels brute force ongeveer 2.319.147.174 jaar over:
(5220/200.000.000.000.000.000)/60/60/24/365,25  *0,7  (het wachtwoord begint met een hoofletter I, dus voor de 37e letter (a-z en dan A-J)  is heeft het systeem het wachtwoord geraden) Hierbij ben ik er voor het gemak even van uitgegaan dat een wachtwoord in één stap berekend is, terwijl hier in de praktijk meerdere berekeningen voor nodig zijn.

In vergelijking; Een wachtwoord van 8 tekens MET speciale tekens en cijfers is met dezelfde berekening in slechts 12 milliseconden al berekend. Size does matter…

Auteur

Geert Koster

Senior Medewerker ICT
Binnen BonsenReuling werkzaam op de ICT-afdeling. Ik houd mij daar met name bezig met het operationeel houden van de ICT-omgeving voor onze eigen kantoren. Daarnaast breng ik voor de Audit-afdeling ICT-omgevingen van klanten in kaart en adviseer ik op het gebied van informatiebeveiliging.

  

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *