Skip to main content

Themes

Cyber Security & Privacy
Governance Risk & Compliance

Iedereen een supercomputer

Waarom spelcomputers de effectiviteit van uw wachtwoordbeleid aantasten

Computers worden ieder jaar krachtiger en krachtiger, zo ook pc’s om spelletjes mee te spelen. Recente ontwikkelingen op het gebied van de grafische kracht van de hedendaagse computers zorgen niet alleen voor oogverblindend mooie spelletjes, maar hebben ook nog een effect waar wellicht niet iedereen aan denkt: de grafische kaart in onze moderne pc blijkt uitermate geschikt om wachtwoorden te achterhalen. En de grafische kaart beschikt hiervoor ook nog eens over een flinke dosis meer kracht dan de reguliere processor in onze pc’s. Hierdoor is het mogelijk dat wachtwoorden die we voorheen sterk genoeg achtten nu opeens makkelijk te achterhalen zijn door hackers. Maar ook door uw buurjongen met zijn spelcomputer.

Inleiding

Wachtwoorden worden versleuteld opgeslagen op computersystemen. Deze versleuteling wordt toegepast zodat het voor een inbreker niet al te gemakkelijk is om de oorspronkelijke wachtwoorden te achterhalen. Nadat een hacker heeft ingebroken op een computersysteem kan hij op zoek gaan naar toegang tot applicaties en andere systemen. Een befaamd middel voor het verkrijgen van meer toegang is het ‘kraken’ van versleutelde wachtwoorden die op het systeem aanwezig zijn. Het kraken van deze wachtwoorden kan met diverse technieken, die we later zullen bespreken, maar de gemene deler bij deze technieken is dat het achterhalen van wachtwoorden computerkracht kost. Zelfs zoveel computerkracht dat als het wachtwoord maar enigszins moeilijk is, we het als ‘onkraakbaar binnen afzienbare tijd’ kunnen beschouwen.

Echter, de ontwikkelingen op het gebied van computerspelletjes hebben ervoor gezorgd dat iedere moderne pc uitgerust is met een aparte insteekkaart dat de zware grafische taken van deze spelletjes op zich neemt. Deze grafische kaart wordt ook wel GPU (Graphics Processing Unit) genoemd. De kracht van deze GPU’s is onlangs sterk toegenomen. Deze ontwikkeling maakt nog mooiere en realistischere spelletjes mogelijk maar heeft ook nadelige gevolgen voor de effectiviteit van uw wachtwoordbeleid. De kracht van de GPU’s kan namelijk beter gebruikt worden voor het achterhalen van wachtwoorden dan traditionele processors.

In dit artikel bespreken wij de wachtwoordschema’s die uw computerprogramma’s gebruiken voor het opslaan van wachtwoorden, de aanvalstechnieken die hackers gebruiken om wachtwoorden te achterhalen en waarom grafische kaarten voor deze taak zo geschikt zijn. Vervolgens komt aan de orde wat dit voor invloed heeft op uw wachtwoordbeleid en hoe u uw wachtwoordbeleid sterker en uw wachtwoorden veiliger kunt maken.

Wachtwoordschema’s

Wachtwoorden worden niet zomaar als platte tekst in een database opgeslagen, dan zou het wat al te makkelijk zijn om deze te achterhalen. Wanneer de gebruiker van een bepaalde service voor het eerst zijn of haar wachtwoord kiest, wordt dit door een wachtwoordschema versleuteld opgeslagen. Wachtwoordschema’s zijn gebaseerd op cryptografische hashfuncties. Dit zijn wiskundige functies die een gegeven input (wachtwoord) zo door elkaar husselen dat de uitkomst (wachtwoordhash) niet makkelijk is terug te rekenen naar de invoer (zie figuur 1). Dit maakt het voor een hacker erg moeilijk om met alleen de versleutelde versie van het wachtwoord terug te rekenen naar het oorspronkelijke wachtwoord. Wanneer een aanvaller toch de database in handen krijgt, zijn alle wachtwoorden vooralsnog beschermd. Voorbeelden van veelgebruikte wachtwoordschema’s zijn ‘NTLM’ of ‘Domain Cached Credentials’ voor Windows-omgevingen en ‘MD5-crypt’ of ‘SHA-crypt’ voor Unix-omgevingen.

C-2011-2-Smeets2-01

Figuur 1. Authenticatie via een wachtwoordschema. De gebruiker voert zijn wachtwoord in en het systeem genereert daar een wachtwoordhash van.

Andere eigenschappen van hashfuncties zijn dat dezelfde invoer altijd op dezelfde manier wordt versleuteld en dat de kans erg klein is dat twee verschillende wachtwoorden dezelfde versleuteling hebben. Wanneer de gebruiker zich op een later tijdstip opnieuw wil authenticeren, zal de service zijn of haar wachtwoord opnieuw versleutelen, en dit vergelijken met de al eerder opgeslagen waarde. Wanneer deze waarden hetzelfde zijn, is de authenticatie succesvol. Hoewel het voor een aanvaller moeilijk is om terug te rekenen naar de oorspronkelijke waarden, kan hij wel aan de output zien wanneer twee hashes, en dus twee wachtwoorden, van verschillende gebruikers aan elkaar gelijk zijn. Dit is een zwakheid omdat het aanvallers in staat stelt om eenmalig de versleutelde waarden van alle mogelijke wachtwoorden te berekenen en elke gevonden wachtwoordhash direct te vergelijken met één van deze waarden, wat veel sneller is dan steeds opnieuw alle mogelijkheden doorrekenen. Om deze zwakheid tegen te gaan gebruiken wachtwoordschema’s meestal een salt. Dit is een waarde die uniek is voor elke gebruiker (bijvoorbeeld de gebruikersnaam) en samen met het versleutelde wachtwoord wordt opgeslagen en als tweede invoer wordt meegenomen in de berekening van het wachtwoord. Op deze manier wordt ervoor gezorgd dat twee gebruikers met hetzelfde wachtwoord verschillende versleutelde waarden hebben.

Wachtwoordsterkte wordt altijd bepaald door de hoeveelheid informatie die beschikbaar is. Dus hoe meer informatie beschikbaar is, des te makkelijker het wordt om de ontbrekende informatie (bijvoorbeeld het wachtwoord) te gokken. Een willekeurig gekozen wachtwoord bevat weinig informatie en is dus vrij sterk. Bijvoorbeeld een wachtwoord met kleine letters, hoofdletters, cijfers en speciale tekens (bijvoorbeeld ‘XP68!bK5’) bevat meer te gokken informatie dan het wachtwoord ‘auecdpam’ dat alleen uit kleine letters bestaat. Mensen zijn echter vrij slecht in het bedenken van willekeurige wachtwoorden ([Burr04]) en in combinatie met het feit dat we ook maar een beperkte geheugencapaciteit hebben, wordt het makkelijker om de door mensen bedachte wachtwoorden te gokken. Dit maakt het voor de aanvaller interessant om alle mogelijkheden op te sommen en een voor een te testen. Hoe de aanvaller dit doet zullen we hieronder uitleggen.

Aanvalstechnieken

Een hacker heeft meerdere mogelijkheden om op een systeem in te breken zonder dat de wachtwoorden van gebruikers bekend zijn, bijvoorbeeld kwetsbaarheden in software uitbaten die nog niet zijn voorzien van beveiligingspatches. Toch zal een hacker vaak trachten de wachtwoorden te achterhalen. Dit maakt het namelijk makkelijker om verder door te dringen tot applicaties en overige systemen doordat met kennis van wachtwoorden de reguliere functionaliteit van applicaties kan worden gebruikt.

Afhankelijk van de situatie heeft een aanvaller meerdere mogelijkheden om een wachtwoord te achterhalen. Op hoofdlijnen onderscheiden we twee aanvalscategorieën, waarvan we alleen de tweede categorie verder zullen bespreken in dit artikel:

  • Online. Deze categorie gaat ervan uit dat een aanvaller alleen via interactie met de server of applicatie een wachtwoord kan raden. Een dergelijke aanval gaat via het netwerk of internet. Computerkracht is in dit scenario irrelevant omdat het netwerkpad tussen aanvaller en doel de vertragende factor is, en niet een gebrek aan computerkracht.

    Bescherming tegen deze categorie van aanvallen kan geboden worden door simpele technieken zoals ‘account locking’, waarbij een gebruiker bijvoorbeeld maar drie foutieve pogingen kan doen voordat zijn account wordt geblokkeerd. Ook een tegenmaatregel is ‘delayed response’, wat betekent dat de reactie van de server voor een paar seconden wordt uitgesteld na een foutieve poging. Beide zijn effectieve maatregelen voor online aanvallen.
  • Offline. Deze categorie gaat ervan uit dat een aanvaller toegang heeft tot de versleutelde wachtwoorden van het systeem. Dit kan bijvoorbeeld door een lek in de database (zie in dit nummer het artikel ‘De meldplicht datalekken’). Wachtwoordschema’s proberen wachtwoorden zo versleuteld op te slaan dat zelfs wanneer een systeem is gecompromitteerd de wachtwoorden niet leesbaar en bruikbaar zijn. Deze versleuteling is te kraken, maar daarvoor is wel computerkracht nodig.

Een aanvalsscenario dat gebruikmaakt van de ‘offline’ categorie is het volgende. In het Windows-domein wordt de wachtwoordhash van de ‘Lokale Administrator’ vaak op de computer van de eindgebruikers opgeslagen (bijvoorbeeld om onderhoud te plegen wanneer er geen verbinding is met het domein). Een kwaadwillende gebruiker kan deze hash van een willekeurige eindgebruikerlocatie afhalen en proberen te achterhalen. Dit achterhalen, ook wel kraken genoemd, gebeurt door wachtwoordhashes te genereren: de aanvaller zal een aantal kandidaat-wachtwoorden kiezen, hier de wachtwoordhash van berekenen door het wachtwoordschema toe te passen en het resultaat van deze berekening vergelijken met de wachtwoordhashes gevonden op het ingebroken systeem. Als het resultaat overeenkomt met de te achterhalen wachtwoordhash, dan weet de aanvaller nu ook het wachtwoord. Hij heeft het immers zelf berekend. Voor dit achterhalen is flink wat rekenkracht nodig. En omdat de aanvaller tracht de versleuteling te kraken, wordt dit proces ook wel het kraken van wachtwoorden genoemd.

Voor dit artikel is alleen de tweede categorie ‘offline’ interessant. Immers, alleen in die categorie wordt gebruikgemaakt van computerkracht. In dit artikel nemen we daarom aan dat een aanvaller de wachtwoordhashes al verkregen heeft en dus in de ‘offline’ aanvalscategorie valt. In deze categorie onderscheiden we de volgende drie aanvalstechnieken die differentiëren hoe de aanvaller de keuze maakt welke potentiële wachtwoorden te kiezen voor het kraken:

  • Woordenboek. Bij deze techniek kiest de aanvaller ervoor kandidaat-wachtwoorden te gebruiken uit woordenboeken. Een aanvaller zal deze techniek vaak als eerste proberen omdat mensen van nature slecht zijn in het bedenken en onthouden van moeilijke wachtwoorden en daardoor vaak normale woorden als wachtwoord kiezen. Daarom is het voor een aanvaller zeer effectief om deze strategie als eerste toe te passen. Het Engelse woordenboek bevat ongeveer 500.000 woorden (wat door de hedendaagse hardware in nog geen seconde doorlopen kan worden). Naast ‘normale’ woordenboeken kunnen aanvallers ook zelf woordenboeken maken door bijvoorbeeld eerder gekraakte wachtwoorden toe te voegen of informatie van de website van het slachtoffer te gebruiken.

Top 10 gebruikte wachtwoorden uit de gelekte Rockyou.com database

C-2011-2-Smeets2-t01

  • Combinatiestrategie. Mocht de woordenboekstrategie niets of weinig hebben opgeleverd, dan past de aanvaller de combinatiestrategie toe. Dit kan hij doen door woorden uit het woordenboek te combineren met elkaar of met jaartallen, veelvoorkomende lettercombinaties, substitutie, etc. Met deze strategie wordt bijvoorbeeld niet alleen het wachtwoord ‘password’ getest, maar ook ‘password123’, ‘P@ssw0rd’, ‘myPassword’, etc. Een variant van deze strategie is de ‘fingerprint aanval’ waarbij aanvallers gebruikmaken van statistieken uit eerder gekraakte wachtwoorddatabases, zoals lengte, tekenfrequentie en patroongebruik.
  • Uitputtend zoeken. Wanneer de eerste twee strategieën niets opleveren, is uitputtend zoeken de laatste mogelijkheid. Deze strategie, ook wel ‘brute force’ genoemd, is de meest krachtige maar ook het meest tijdrovend doordat een aanvaller alle mogelijkheden gaat doorzoeken, bijvoorbeeld door te beginnen bij ‘a’ en door te gaan tot en met ‘zzzzzzzzz’. Als de aanvaller lang genoeg zoekt, zal hij met behulp van deze techniek alle wachtwoorden kunnen kraken.

Het grote nadeel van de derde methode is dat wanneer de aanvaller geen informatie voorhanden heeft over het specifieke wachtwoordbeleid van de te kraken database, hij geen aannames kan doen over de wachtwoorddistributie en als gevolg dus alle tekens en lengtes van wachtwoorden moet proberen. Omdat het aantal mogelijkheden exponentieel stijgt, is deze aanval al snel niet meer uitvoerbaar. Stel dat je wachtwoord bestaat uit acht tekens die willekeurig gekozen zijn uit een reeks van alle 94 printbare karakters (26 kleine letters, 26 hoofdletters, tien cijfers en 32 speciale tekens) en dat deze versleuteld is met het NTLM (Windows) wachtwoordschema. Als een wachtwoord uit acht karakters bestaat dan zijn er ongeveer zes biljard mogelijke wachtwoordcombinaties die dienen te worden berekend (94^8≈ zes biljard). Een traditionele processor kan ongeveer twee miljoen wachtwoorden in NTLM-formaat per seconde proberen. Het zal deze computer meer dan tachtig jaar kosten om alle mogelijkheden van acht tekens te proberen. Grafische kaarten kunnen dit proces echter dusdanig versnellen dat eenzelfde wachtwoord binnen afzienbare tijd wordt gekraakt.

Waarom grafische kaarten?

Grafische kaarten bestaan al meer dan tien jaar en toch worden ze pas sinds kort gebruikt om wachtwoorden te kraken. Dit heeft drie redenen. Ten eerste neemt de vraag naar steeds mooier en realistischer ogende computerspellen toe, waardoor de rekenkracht van grafische kaarten ook moet toenemen. Ten tweede vindt er een verschuiving van focus plaats: waar vroeger grafische kaarten alleen werden gebruikt voor grafische doeleinden, het berekenen van individuele pixels op je beeldscherm, kunnen ze tegenwoordig ook gebruikt worden voor meer algemene taken. De producenten van grafische kaarten bieden nu ondersteuning voor andere operaties dan pixelberekeningen, zoals het rekenen met gehele getallen, wat het mogelijk maakt om cryptografische berekeningen te doen. Een andere trend die het mogelijk maakt om algemene taken op GPU’s uit te voeren, is de komst van gebruiksvriendelijke programmeerinterfaces. Deze bieden ook voor niet-grafische programmeurs kansen om de rekenkracht van grafische kaarten te benutten. Het grote verschil met de traditionele CPU is dat grafische kaarten geschikt zijn voor het doen van veel dezelfde parallelle berekeningen. Dit komt doordat dergelijke kaarten beschikken over honderden tot duizenden kleine ‘cores’ (miniprocessors), dit in tegenstelling tot een traditionele processor, die maar één tot vier cores heeft (zie figuur 2). Wel bestaat er een groot verschil in de architectuur: daar waar de cores van een CPU onafhankelijk van elkaar verschillende soorten berekeningen kunnen doen, moeten de cores van een grafische kaart op ieder moment dezelfde soort berekening doen (hoewel ze deze berekeningen wel op verschillende data kunnen uitvoeren). Hierdoor zijn niet alle (wiskundige) toepassingen geschikt om op een grafische kaart geïmplementeerd en uitgevoerd te worden.

C-2011-2-Smeets2-02

Figuur 2. Verschil in architectuur tussen grafische kaart (GPU) en normale processor (CPU). De groene ALU’s zijn de rekeneenheden, ook wel cores genoemd (bron: [Nvid10]).

Wachtwoorden kraken is een toepassing die juist wel erg geschikt is om geïmplementeerd te worden op een grafische kaart. Dit komt doordat tijdens het kraken iedere core dezelfde soort taak moet uitvoeren (namelijk het versleutelen van een wachtwoord en deze versleuteling vergelijken met de te kraken versleuteling), maar wel op verschillende data. Bijvoorbeeld core 1 versleutelt wachtwoord ‘aaaa’, core 2 versleutelt wachtwoord ‘aaab’, etc. De cores hoeven onderling niet samen te werken waardoor al snel een grote snelheidswinst tegenover traditionele processors kan worden bereikt. Deze snelheidswinst verschilt per wachtwoordschema. In figuur 3 is te zien dat de snelheid bij het gebruik van wachtwoordschema MD5-crypt tussen de dertig- en honderdmaal groter is dan die van een traditionele processor met dezelfde prijs.

C-2011-2-Smeets2-03

Figuur 3. Snelheid van MD5-crypt op verschillende hardwareplatformen (bron: [Spre11]).

Ontwikkelingen op het gebied van grafische kaarten

Het onderzoeksgebied van grafische kaarten is relatief jong en ontwikkelingen in dit gebied volgen elkaar dan ook erg snel op. In tegenstelling tot ontwikkelingen op het gebied van traditionele processors, waar men tegen fysieke limieten aanloopt zoals maximale processorsnelheid en schaalbaarheid, bestaat er nog een significante rek in de kracht van grafische kaarten. Gedreven door hevige concurrentie tussen de twee voornaamste producenten van grafische kaarten, Nvidia en ATI, worden gemiddeld ieder kwartaal nieuwe en beduidend snellere producten gelanceerd. Mede hierdoor worden ‘high-end’ kaarten snel goedkoper en toegankelijk voor het grote publiek.

De komst van gebruiksvriendelijke programmeerinterfaces zorgt ervoor dat programmeurs snel en makkelijk de calculaties kunnen verdelen over meerdere grafische kaarten. Dit zorgt ervoor dat de schaalbaarheid van implementaties enorm toeneemt. Hierdoor kan de gehele rekenkracht van een traditioneel rekencentrum worden geëvenaard met slechts een paar grafische kaarten.

Invloed op het wachtwoordbeleid

Wat betekent al deze rekenkracht van grafische kaarten nou voor de veiligheid van wachtwoorden? In figuur 4 wordt de kraaksnelheid van één grafische kaart vergeleken met de kraaksnelheid van één traditionele processor in dezelfde prijsklasse. De figuur laat zien hoeveel procent van de wachtwoorden in de gelekte Rockyou.com database[De Rockyou.com database is eind 2009 gehackt via een zogenoemde ‘SQL-injection’. De wachtwoorden van de 32 miljoen gebruikers waren niet versleuteld opgeslagen en zijn een uiterst waardevolle bron van informatie voor de hedendaagse wachtwoordstatistiek omdat het hier echte wachtwoorden van eindgebruikers betrof.] gekraakt kan worden in een bepaalde tijd als ze met het Windows NTLM-wachtwoordschema versleuteld zijn. Het blijkt dat grafische kaarten ongeveer twintig tot dertig procentpunt meer wachtwoorden kunnen kraken in dezelfde tijd.

C-2011-2-Smeets2-04

Figuur 4. De invloed van grafische kaarten op het kraken van de gelekte Rockyou.com database met 14 miljoen van de in totaal 32 miljoen gelekte wachtwoorden (bron: [Spre11]).

Het is al langer bekend dat gebruikers niet altijd in staat zijn om sterke wachtwoorden te genereren. Daarom implementeren veel organisaties een wachtwoordbeleid dat minimumeisen stelt aan de wachtwoordsterkte. Een voorbeeld van dergelijk beleid is het volgende:

  • Wachtwoorden hebben een minimumlengte van acht karakters.
  • Wachtwoorden bevatten ten minste één kleine letter, één hoofdletter, één cijfer en één speciaal teken.
  • Wachtwoorden dienen iedere vier maanden te worden gewijzigd.

Dit beleid zorgt ervoor dat er ten minste 948 ≈ zes biljard mogelijkheden zijn waaruit gebruikers (en dus ook aanvallers) kunnen kiezen. Zoals eerder beschreven doet een traditionele processor er tachtig jaar over om al deze mogelijkheden af te lopen. Maar het programma OclHashcat[Voor meer informatie zie http://hashcat.net/oclhashcat/. ] kan in combinatie met een moderne grafische kaart van ATI meer dan 14 miljard mogelijkheden per seconde proberen. Dit zorgt ervoor dat alle wachtwoorden van acht karakters, versleuteld met het binnen Windows-domeinen veelgebruikte NTLM, binnen vijf dagen gekraakt kunnen worden. De buurjongen die een spelcomputer heeft met meerdere grafische kaarten, beschikt dan eigenlijk over een supercomputer. Gelet op de investeringen en ontwikkelingen op het gebied van grafische kaarten zal een aanvaller die wat meer te besteden heeft dan de buurjongen, in de nabije toekomst ook wachtwoorden van negen of tien karakters kunnen kraken.

Oplossingen

De beste oplossing voor dit probleem zou bereikt kunnen worden als gebruikers meer willekeurige, maar vooral ook langere wachtwoorden zouden kiezen. Een wachtwoord van twaalf karakters zal niet in de nabije toekomst zomaar gekraakt kunnen worden. Hoewel een goed wachtwoordbeleid hierbij kan helpen, is het aangetoond dat gebruikers moeite hebben met het onthouden van lange wachtwoorden. Laat staan wanneer ze voor elke service een apart wachtwoord moeten onthouden, wat zal leiden tot een vermenigvuldiging van het aantal post-it’s op beeldschermen en werkplekken.

Een mogelijkheid die uitkomst biedt voor gebruikers zijn tools voor het beheren van wachtwoorden, die random wachtwoorden kunnen genereren en aan de gebruikerskant versleuteld kunnen opslaan. Een gebruiker hoeft dan alleen nog maar één sterk wachtwoord te onthouden dat toegang biedt tot al zijn andere wachtwoorden. Een nadeel van deze methode is dat de gebruiker altijd het versleutelde bestand paraat moet hebben om gebruik te maken van services en internetdiensten. Even snel je e-mail bekijken bij een vriend kan nu niet meer zonder je persoonlijke wachtwoorddatabase.

Het kiezen van een sterk wachtwoord

Het is vooral de lengte van een wachtwoord die zorgt voor de sterkte. Het is daarom aan te raden een wachtwoord te kiezen dat zeker meer dan tien karakters bevat. Het wachtwoord wordt nog sterker wanneer het speciale tekens en cijfers bevat. Dergelijke wachtwoorden zijn erg moeilijk te onthouden. Een techniek die je helpt bij het genereren van je wachtwoord is de ‘mnemonic phrase’: kies een makkelijk te onthouden zin en neem van de woorden steeds de eerste of tweede letter. Het veiligste is een persoonlijke zin te kiezen en niet een die op het internet of in films te vinden is. Een voorbeeld van een mnemonic phrase is de volgende zin: “Mijn zus Debby heeft 3 honden: Max, Boris en Klaus”. Het afgeleide wachtwoord is dan: ‘MzDh3h:M,B&K’. Dit wachtwoord bevat twaalf karakters, met hoofdletters, kleine letters, cijfers en speciale tekens. Dit is zelfs voor een verzameling van grafische kaarten niet zomaar te achterhalen.

Let er tevens op dat u niet overal hetzelfde wachtwoord gebruikt. Het zou vervelend zijn als het gekraakte wachtwoord van uw account bij een webshop ertoe leidt dat een aanvaller ook toegang heeft tot uw internetbankierenomgeving.

Ook wordt het afgeraden opeenvolgende wachtwoorden te kiezen. Mocht een aanvaller onverhoopt uw wachtwoord ‘Wachtwoord!01’ kraken maar dit niet kunnen misbruiken omdat het is verlopen, dan begrijpt u vast dat de aanvaller zal proberen of u niet misschien ‘Wachtwoord!02’ als huidig wachtwoord heeft.

Oplossingen moeten niet alleen aan de gebruikerskant gezocht worden. De volgende oplossingen kunnen geïmplementeerd worden aan de serverkant.

  • Betere wachtwoordschema’s. Zoals eerder beschreven, kunnen wachtwoorden versleuteld met het NTLM-schema erg snel worden gekraakt. Dit geldt niet voor wachtwoorden die versleuteld worden met sterkere wachtwoordschema’s zoals ‘SHA-crypt’ of de meer generieke techniek ‘Password-Based Key Derivation Function’ (PBKDF). Deze wachtwoordschema’s maken gebruik van een speciale techniek die de complexiteit van de berekeningen verhoogt. Het is dan voor één gebruiker nog steeds mogelijk om het versleutelde wachtwoord te berekenen, maar voor een aanvaller, die veel mogelijkheden moet proberen, wordt het haast onmogelijk gemaakt. Een nadeel van deze techniek is dat men vooraf niet weet hoe complex de berekeningen moeten zijn. Dit is altijd afhankelijk van de op dat moment geldende hardwarenormen en daarom blijft deze oplossing een kat-en-muisspelletje tussen de ontwerpers van wachtwoordschema’s en aanvallers. Periodiek kiezen voor betere wachtwoordschema’s is dan ook het advies.
  • Multi-factor authenticatie. Een oplossing die structureel verbetering brengt, is het authenticatieproces uitvoeren met meerdere factoren. Dit betekent dat een gebruiker tijdens authenticatie niet alleen iets verstrekt wat hij weet, zoals een wachtwoord of pincode, maar ook iets wat hij heeft, zoals een fysieke token of smartcard, of wat hij is, zoals een vingerafdruk. Deze oplossing maakt wachtwoordsterkte minder relevant, omdat een aanvaller twee of meer factoren in handen moet zien te krijgen om zich toegang te verschaffen. Nadelen van deze oplossing zijn de implementatiekosten en het beheer. Daar komt nog bij dat niet iedere gebruiker akkoord gaat met het gebruik en de opslag van zijn of haar biometrische gegevens.
  • Vaker wisselen van wachtwoord. Als een aanvaller zes maanden nodig heeft voor het kraken van een wachtwoord, maar de gebruiker het wachtwoord al na drie maanden dient te wijzigen, dan kan de aanvaller het wel kraken maar is het nutteloos voor de aanval. Vaak wisselen is dan ook het advies. Maar let bij het wisselen er wel op dat de wachtwoorden geen logisch vervolg van elkaar zijn (zie ook kader ‘Het kiezen van een sterk wachtwoord’).

Conclusie

Eens in de zoveel jaar zijn er doorbraken in de wereld van computerkracht. De huidige doorbraak in de kracht van grafische kaarten in (spel)computers zorgt niet alleen voor oogverblindend mooie spelletjes, maar ook voor een doorbraak in de snelheid waarmee wachtwoorden kunnen worden gekraakt. Hackers maken hier dankbaar gebruik van en in de nabije toekomst heeft dit impact op de veiligheid van uw wachtwoorden en daarmee van uw IT-omgeving. Dit zorgt ervoor dat traditionele opvattingen over een sterk wachtwoord (bijvoorbeeld minimaal acht karakters met hoofd- en kleine letters, cijfers en speciale tekens) niet meer geheel toereikend zijn. Hoewel een aantal maatregelen is te nemen aan de kant van de technische configuratie van uw IT-omgeving zullen we hoe dan ook nog een flinke tijd met wachtwoorden werken. De voornaamste aanbeveling is dan toch ook wel om het gebruik van moeilijkere en vooral langere wachtwoorden (minimaal tien karakters) af te dwingen. Daarmee bent u in ieder geval de komende tijd een stuk beter voorbereid op aanvallen van hackers en zelfs van uw buurjongen.

Literatuur

[Burr04] W.E. Burr, D.F. Dodson and W. T. Polk, Electronic authentication guideline, NIST Special Publication, 800:63, 2004.

[Nvid10] Compute Unified Device Architecture Programming Guide, Technical report, Nvidia Corporation, August 2010.

[Spre11] Martijn Sprengers, Gpu-based password cracking: On the security of password hashing schemes regarding advances in graphics processing units, Master’s thesis, Radboud University Nijmegen, January 2011.

[Yan04] J. Yan, A. Blackwell, R. Anderson and A. Grant, Password memorability and security: Empirical results, Security & Privacy, IEEE, 2(5):25–31, 2004.