Brute-Force-aanvallen uitgelegd hoe alle codering kwetsbaar is
Aanvallen met brute kracht zijn redelijk eenvoudig te begrijpen, maar moeilijk om tegen te beschermen. Encryptie is wiskunde, en naarmate computers sneller wiskundig worden, worden ze sneller bij het uitproberen van alle oplossingen en zien ze welke past.
Deze aanvallen kunnen worden gebruikt tegen elk type codering, met wisselend succes. Brute-force aanvallen worden met elke dag langer en sneller en nieuwere, snellere computerhardware wordt vrijgegeven.
Brute-Force basics
Aanvallen met brute kracht zijn eenvoudig te begrijpen. Een aanvaller heeft een gecodeerd bestand - bijvoorbeeld uw LastPass- of KeePass-wachtwoorddatabase. Ze weten dat dit bestand gegevens bevat die ze willen zien en ze weten dat er een coderingssleutel is die deze ontgrendelt. Om het te decoderen, kunnen ze elk mogelijk wachtwoord proberen en zien of dat resulteert in een gedecodeerd bestand.
Ze doen dit automatisch met een computerprogramma, dus de snelheid waarmee iemand brute-force encryptie kan gebruiken, neemt toe naarmate beschikbare computerhardware sneller en sneller wordt, in staat om meer berekeningen per seconde te doen. De brute-force aanval begint waarschijnlijk bij eencijferige wachtwoorden voordat wordt overgeschakeld naar wachtwoorden van twee cijfers enzovoort, waarbij alle mogelijke combinaties worden geprobeerd totdat er één werkt.
Een "woordenboekaanval" is vergelijkbaar en probeert woorden in een woordenboek - of een lijst met veelvoorkomende wachtwoorden - in plaats van alle mogelijke wachtwoorden. Dit kan zeer effectief zijn, omdat veel mensen zulke zwakke en veel voorkomende wachtwoorden gebruiken.
Waarom aanvallers geen Brute-Force webservices kunnen gebruiken
Er is een verschil tussen online en offline brute-force-aanvallen. Als een aanvaller bijvoorbeeld brute-forceert in je Gmail-account, kunnen ze beginnen elk mogelijk wachtwoord te proberen, maar Google zal ze snel afsnijden. Services die toegang bieden tot dergelijke accounts zullen toegangspogingen afremmen en IP-adressen verbieden die zich zo vaak proberen aan te melden. Een aanval tegen een online dienst zou dus niet zo goed werken omdat er maar heel weinig pogingen kunnen worden ondernomen voordat de aanval zou worden stopgezet.
Na enkele mislukte inlogpogingen laat Gmail u bijvoorbeeld een CATPCHA-afbeelding zien om te controleren of u geen computer bent die automatisch wachtwoorden probeert. Ze zullen waarschijnlijk je inlogpogingen volledig stoppen als je het lang genoeg hebt volgehouden.
Aan de andere kant, laten we zeggen dat een aanvaller een gecodeerd bestand van je computer heeft gehackt of erin slaagt een online service in gevaar te brengen en dergelijke gecodeerde bestanden te downloaden. De aanvaller heeft nu de gecodeerde gegevens op hun eigen hardware en kan zo veel wachtwoorden proberen als ze willen op hun gemak. Als ze toegang hebben tot de gecodeerde gegevens, is er geen manier om te voorkomen dat ze in een korte periode een groot aantal wachtwoorden proberen. Zelfs als u sterke codering gebruikt, is het in uw voordeel om uw gegevens veilig te houden en ervoor te zorgen dat anderen er geen toegang toe hebben.
hashing
Sterke hash-algoritmen kunnen brute-force-aanvallen vertragen. In essentie voeren hash-algoritmen aanvullende wiskundige bewerkingen uit op een wachtwoord voordat ze een waarde opslaan die is afgeleid van het wachtwoord op schijf. Als een langzamer hash-algoritme wordt gebruikt, heeft dit duizenden keren zoveel wiskundig werk nodig om elk wachtwoord te proberen en brute-kracht-aanvallen drastisch te vertragen. Hoe meer werk er echter nodig is, hoe meer werk een server of andere computer moet doen telkens wanneer de gebruiker zich aanmeldt met zijn wachtwoord. Software moet veerkracht in evenwicht brengen met brute-force aanvallen met gebruik van bronnen.
Brute-force snelheid
Snelheid hangt allemaal af van hardware. Intelligentiebureaus kunnen gespecialiseerde hardware bouwen voor aanvallen met brute kracht, net zoals Bitcoin-mijnwerkers hun eigen gespecialiseerde hardware bouwen die is geoptimaliseerd voor Bitcoin-mijnen. Als het gaat om consumentenapparatuur, is het meest effectieve type hardware voor brute-kracht aanvallen een grafische kaart (GPU). Omdat het gemakkelijk is om veel verschillende coderingssleutels tegelijk uit te proberen, zijn veel parallel werkende grafische kaarten ideaal.
Eind 2012 meldde Ars Technica dat een 25-GPU-cluster elk Windows-wachtwoord onder de 8 tekens in minder dan zes uur kon kraken. Het NTLM-algoritme dat Microsoft gebruikte was gewoon niet veerkrachtig genoeg. Toen NTLM werd gemaakt, zou het echter veel langer geduurd hebben om al deze wachtwoorden te proberen. Dit werd niet genoeg als een bedreiging voor Microsoft beschouwd om de codering sterker te maken.
De snelheid neemt toe en over enkele decennia zullen we misschien ontdekken dat zelfs de sterkste cryptografische algoritmen en versleutelingssleutels die we tegenwoordig gebruiken snel kunnen worden gekraakt door quantumcomputers of welke andere hardware we ook in de toekomst gebruiken.
Bescherming van uw gegevens tegen Brute Force-aanvallen
Er is geen manier om jezelf volledig te beschermen. Het is onmogelijk om te zeggen hoe snel computerhardware zal worden en of een van de coderingsalgoritmen die we vandaag gebruiken zwakke punten hebben die in de toekomst ontdekt en geëxploiteerd zullen worden. Hier zijn echter de basisprincipes:
- Houd uw gecodeerde gegevens veilig, daar kunnen aanvallers geen toegang toe krijgen. Zodra ze uw gegevens hebben gekopieerd naar hun hardware, kunnen ze op hun gemak brute-kracht aanvallen tegen hem uitproberen.
- Als u een service uitvoert die aanmeldingen accepteert via internet, moet u ervoor zorgen dat inlogpogingen worden beperkt en dat mensen worden geblokkeerd die zich in korte tijd proberen aan te melden met veel verschillende wachtwoorden. Server software is over het algemeen ingesteld om dit uit de doos te doen, omdat het een goede beveiligingspraktijk is.
- Gebruik sterke coderingsalgoritmen, zoals SHA-512. Zorg ervoor dat u geen oude versleutelingsalgoritmen gebruikt met bekende zwakke punten die gemakkelijk te kraken zijn.
- Gebruik lange, veilige wachtwoorden. Alle coderingstechnologie in de wereld zal niet helpen als je een "wachtwoord" gebruikt of de immer populaire "hunter2".
Brute-kracht aanvallen zijn iets om je zorgen over te maken bij het beschermen van je gegevens, het kiezen van coderingsalgoritmen en het selecteren van wachtwoorden. Ze zijn ook een reden om sterkere cryptografische algoritmen te blijven ontwikkelen - versleuteling moet bijhouden hoe snel het ondoeltreffend wordt gemaakt door nieuwe hardware.
Image Credit: Johan Larsson op Flickr, Jeremy Gosney