Wat is een woordenboekaanval?

click fraud protection

Om u te authenticeren bij een website, moet u een gebruikersnaam en wachtwoord opgeven. De site controleert vervolgens de authenticatiegegevens die u hebt verstrekt door ze te vergelijken met de gegevens die in de database zijn opgeslagen. Als de gegevens overeenkomen, wordt toegang verleend. Als de gegevens niet overeenkomen, wordt de toegang geweigerd.

Helaas komen datalekken relatief vaak voor. Datalekken kunnen een groot probleem zijn, omdat een van de gegevens die het meest worden aangevallen de gebruikersgegevens zijn, met name de lijst met gebruikersnamen en wachtwoorden. Als de wachtwoorden gewoon worden opgeslagen zoals ze zijn, in leesbare tekst, heeft iedereen met toegang tot de database toegang tot het account van elke andere gebruiker. Het is alsof ze een sleutelhanger hebben gekregen met de sleutel van elke deur in een flatgebouw.

Hoewel er in de eerste plaats veel moeite wordt gedaan om datalekken te voorkomen, wordt een diepgaande verdedigingsstrategie aanbevolen. Specifiek stelt beveiligingsadvies dat wachtwoorden moeten worden gehasht, waarbij alleen de hash van het wachtwoord ooit wordt opgeslagen. Een hash-functie is een eenrichtingsfunctie die altijd dezelfde invoer omzet in dezelfde uitvoer. Zelfs een kleine verandering in input levert echter een heel andere output op. Het is van cruciaal belang dat er geen manier is om de functie om te keren en de uitgevoerde hash terug te zetten in de oorspronkelijke invoer. Wat je wel kunt doen is een nieuwe input hashen en kijken of de output overeenkomt met de opgeslagen hash in de database. Als dit het geval is, weet u welk wachtwoord overeenkomt, zonder ooit het daadwerkelijke wachtwoord te kennen.

Behulpzaam betekent dit ook dat als een aanvaller de database binnendringt, ze geen lijst met direct bruikbare wachtwoorden krijgen, maar in plaats daarvan hashes. Om deze hashes te kunnen gebruiken, moeten ze worden gekraakt.

Wachtwoord-hashes kraken met smarts

Het kraken van een wachtwoord-hash is het proces waarbij wordt uitgezocht wat het oorspronkelijke wachtwoord is dat de hash vertegenwoordigt. Omdat er geen manier is om de hash-functie om te keren en de hash in het wachtwoord te veranderen. De enige manier om een ​​hash te kraken is door het wachtwoord te raden. Een methode is het gebruik van een brute force-aanval. Dit houdt letterlijk in dat je elk mogelijk wachtwoord probeert. Dat betekent beginnen met "a", elke letter proberen, in beide gevallen, en elk cijfer en symbool. Vervolgens moet de aanvaller alle combinaties van twee tekens, combinaties van drie tekens, enzovoort proberen. De toename van mogelijke combinaties van karakters is exponentieel telkens wanneer u een karakter toevoegt. Dit maakt het moeilijk om lange wachtwoorden efficiënt te raden, zelfs wanneer snelle hashing-algoritmen worden gebruikt met krachtige GPU-krakers.

Er kan enige moeite worden bespaard door te kijken naar de wachtwoordvereisten van de site en geen wachtwoorden te proberen die te kort zijn om te worden toegestaan ​​of die bijvoorbeeld geen nummer bevatten. Dit zou wat tijd besparen en past nog steeds in de klasse van een brute force-aanval waarbij alle toegestane wachtwoorden worden geprobeerd. Hoewel brute force-aanvallen langzaam zijn, zullen ze - als ze lang genoeg worden gelaten met veel verwerkingskracht - uiteindelijk elk wachtwoord kraken, aangezien alle mogelijke combinaties worden geprobeerd.

Het probleem met aanvallen met brute kracht is dat ze niet erg slim zijn. Een woordenboekaanval is een variant die veel gerichter is. In plaats van gewoon elk mogelijk wachtwoord te proberen, probeert het een lijst met opgegeven wachtwoorden. Het succes van dit type aanval hangt af van de lijst met wachtwoorden en het betreffende woordenboek.

Gefundeerde gissingen maken

Wachtwoordwoordenboeken zijn meestal opgebouwd uit eerder gekraakte wachtwoorden van andere datalekken. Deze woordenboeken kunnen duizenden of miljoenen vermeldingen bevatten. Dit bouwt voort op het concept dat mensen slecht zijn in het maken van unieke wachtwoorden. Bewijzen uit datalekken tonen helaas ook aan dat dit het geval is. Mensen gebruiken nog steeds variaties op het woord "wachtwoord". Andere veel voorkomende onderwerpen zijn sportteams, namen van huisdieren, plaatsnamen, bedrijfsnamen, een hekel hebben aan je baan en wachtwoorden op basis van de datum. Dit laatste gebeurt met name wanneer mensen gedwongen worden hun wachtwoord regelmatig te wijzigen.

Het gebruik van een wachtwoordwoordenboek vermindert het aantal gissingen dat moet worden gemaakt enorm in vergelijking met een brute-force-aanval. Wachtwoordwoordenboeken bevatten ook meestal zowel korte als langere wachtwoorden, wat betekent dat sommige wachtwoorden kunnen worden geprobeerd die zelfs na jaren of brute kracht niet zouden worden bereikt. Ook de aanpak blijkt succesvol. Statistieken variëren op basis van het datalek en de grootte en kwaliteit van het gebruikte woordenboek, maar het slagingspercentage kan meer dan 70% bedragen.

Succespercentages kunnen nog verder worden verhoogd met algoritmen voor woordvermenging. Deze algoritmen nemen elk woord in het wachtwoordwoordenboek en passen het vervolgens een beetje aan. Deze wijzigingen zijn meestal standaardtekenvervangingen en het toevoegen van volgnummers of symbolen. Het is bijvoorbeeld gebruikelijk dat mensen de letter "e" vervangen door een "3" en "s" door een "$" of een uitroepteken toevoegen aan het einde. Algoritmen voor het mangelen van woorden maken duplicaten van elk item in het wachtwoordwoordenboek. Elk duplicaat heeft een andere variatie van deze karaktervervangingen. Dit verhoogt het aantal te raden wachtwoorden aanzienlijk en verhoogt ook het slagingspercentage, in sommige gevallen meer dan 90%.

Conclusie

Een woordenboekaanval is een gerichte variant van een brute force-aanval. In plaats van alle mogelijke tekencombinaties te proberen, wordt een subset van tekencombinaties getest. Deze subset is een lijst met wachtwoorden die eerder zijn gevonden en indien nodig gekraakt bij eerdere datalekken. Dit vermindert het aantal gissingen dat moet worden gemaakt enorm, terwijl wachtwoorden worden bedekt die eerder zijn gebruikt en in sommige gevallen vaak zijn gezien. Een woordenboekaanval heeft niet zo'n hoog slagingspercentage als een brute force-aanval. Dat veronderstelt echter dat je onbeperkte tijd en verwerkingskracht hebt. Een woordenboekaanval heeft de neiging om veel sneller een behoorlijk hoog slagingspercentage te behalen dan een brute force-aanval. Dit komt omdat het geen tijd verspilt aan uiterst onwaarschijnlijke combinaties van karakters.

Een van de belangrijkste dingen die u moet doen bij het bedenken van een wachtwoord, is ervoor zorgen dat het niet op een woordenlijst verschijnt. Een manier om dat te doen is door een complex wachtwoord te maken, een andere manier is door een lang wachtwoord te maken. Over het algemeen is de beste optie om een ​​lang wachtwoord van een paar woorden te maken. Het is alleen belangrijk dat die woorden geen echte zin vormen, want dat zou kunnen worden geraden. Ze zouden volledig los van elkaar moeten staan. Het wordt aanbevolen dat u een wachtwoord kiest van meer dan 10 tekens met 8 als het absolute minimum.