Hvad er et regnbuebordsangreb?
ENRegnbueborder et sæt forudberegnet adgangskoder og deres tilsvarende hash-værdier, der kan bruges til at finde ud af, hvilken klartekstadgangskode, der matcher en bestemt hash
Tænk på det som en tabel, der indeholder to kolonner. Den første kolonne indeholder hashes, mens den anden kolonne indeholder almindelig tekst til hasherne. Som du måske godt ved, gemmes adgangskoderne i et computersystem ikke direkte som almindelig tekst, men er hashed (krypterede) værdier ved hjælp af envejskryptering (hash-funktion). Det betyder, at hashværdierne ikke kan dekrypteres. Så hver gang en bruger indtaster en adgangskode til godkendelse, konverteres denne adgangskode til en hashværdi og sammenlignes med den allerede gemte hashværdi. Hvis værdierne matcher, godkendes brugeren.
Udtrykket 'Rainbow Tables' blev først brugt af Philippe Oechslin i hans forskningsartikel med titlen ' Foretag en hurtigere kryptoanalytisk afvejning af tidshukommelse ', som undersøgte præstationsafvejningen mellem behandlingstid og den nødvendige hukommelse til kryptoanalyse. Selve papiret er baseret på et tidligere forskningsarbejde af Martin Hellman og Ronald Rivest. Udtrykket 'Rainbow Tables' blev brugt til at henvise til den måde, farver blev brugt til at repræsentere forskellige reduktionsfunktioner og trin. Dette skabte en farverig regnbue med et tilsvarende antal iterationer, deraf navnet regnbuebord.
Hvad er et regnbuebordsangreb?
Et regnbuebordsangreb er etpassword cracking-metode, der bruger regnbuetabeller til at knække password-hasherne i en database. Cyberkriminelle brugte regnbuetabellens kompilering som en nem måde at dekryptere adgangskoder for at sætte dem i stand til at få uautoriseret adgang til systemer, i stedet for at stole på ordbogsangrebsmetoden (som bruger mere hukommelsesplads) eller brute force-angreb (som bruger mere computerkraft). Alt hvad angriberen skal gøre er bare at tjekke regnbuetabellen for at finde adgangskodens hash. Rainbow borde er bevidst designet til at forbruge mindre computerkraft på bekostning af at bruge mere plads. Som et resultat giver det normalt resultater hurtigere end en ordbog eller brute force-angreb, og det tager ofte minutter at knække, hvor andre metoder kan tage meget længere tid.
Men disse fordele har en pris. Regnbuetabeller tager lang tid at kompilere fra bunden. Dette skyldes, at alle hasherne og det computerarbejde, der følger med dem, skal beregnes og gemmes på forhånd, selvom prækompilerede dem også kan downloades online. Men når du har fået alt det ordnet, har du et regnbuebord, som du altid kan genbruge, når du har brug for at knække en adgangskode.
Hvordan fungerer et Rainbow Table Attack?
Før et regnbuebordsangreb kan finde sted, skal angriberne først få adgang til lækkede hashes. For eksempel, en angriber kan finde en sårbarhed i en virksomheds Active Directory eller webapplikation med en dårligt sikret adgangskodedatabase. Angriberen stjæler adgangskode-hashene, og ved hjælp af en regnbuetabel kan angriberen dekryptere adgangskoderne for hver bruger af systemet eller applikationen til klartekst-adgangskoder.
Lad os sige, at du har 1500 lækkede adgangskoder til at dekryptere; i en brute force angreb , skal du beregne alle mulige ordkombinationer, sammenligne dem med kodeordets hash og gøre dette for hver adgangskode. Hvorimod du i regnbuebordsangrebet beregnede alle hash én gang, og nu mangler du bare at finde den rigtige, der matcher.
Ud over disse teknikker er millioner af lækkede password-hashes på det mørke web tilgængelige for kriminelle. Når de får fat i disse adgangskodedumps, kan regnbuetabellen hjælpe med at dekryptere kodeords-hashene. Dette er i en nøddeskal, hvordan et regnbuebordsangreb fungerer.
Hvordan forhindrer du Rainbow Table Attacks?
At forhindre dit system eller din applikation fra regnbuebordsangreb er relativt ligetil. Følgende er enkle trin, du kan bruge:
- Brug password salting : Den primære modgift mod regnbuebordsangrebet er adgangskodesaltning. Salte er simpelthen en måde at introducere tilfældighed i de resulterende hashs. Et salt tillader én adgangskode at hash på flere måder. I mangel af salte vil den samme adgangskode give den samme hash hver eneste gang. Derfor bør hash-kodeord aldrig gemmes uden saltning. I stedet for at kompilere en regnbuetabel for et system, der ikke bruger salte, ville der kræves tusindvis eller flere regnbuetabeller for systemer, der bruger salte, afhængigt af saltlængden. Dette gør adgangskoden sværere at dekryptere.
- Brug MFA: Brug af multi-faktor (MFA) eller to-faktor autentificering (2FA) der involverer, hvad du er (biometri) og hvad du har (token), gør det for eksempel svært for nogen at få adgang til din konto med blot en adgangskode. Dette gør det umuligt for en angriber at bruge et regnbuebordsangreb effektivt.
- Undgå forældede hashing-algoritmer: Angribere leder efter applikationer og servere ved hjælp af forældede hashing-algoritmer for adgangskoder som f.eks. MD5 og SHA1; eller hash, der ikke indeholder salte. Især inkluderer Windows' LM og NT hashes ikke salte, hvilket gør dem særligt sårbare over for regnbueangreb. Hvis din applikation bruger disse svage algoritmer, øges din risiko for regnbuebordsangreb betydeligt.
- Gå uden adgangskode: Hvis der ikke er nogen kodeords-hashes at stjæle, vil der ikke være nogen regnbueangreb i første omgang. Desværre vil brugere altid finde måder at bruge svage adgangskoder på. De kæmper for at huske stærke adgangskoder og ender med at skrive dem ned og genbruge dem. Svage adgangskoder er nemme at knække og efterlader organisationen sårbar over for databrud. At gå uden adgangskode er en sikker måde at eliminere truslen om et regnbueangreb.
Er Rainbow Table Attacks stadig en trussel?
Nogle sikkerhedseksperter hævder, at regnbuetabeller er blevet gjort forældede af moderne adgangskodeknækningsmetoder. I stedet bruger de fleste angribere nu de mere avancerede Graphics Processor Unit (GPU)-baserede password cracking-metoder.
En moderat størrelse GPU-farm kan nemt genskabe et regnbuebord inden for få sekunder. Dette betyder, at indkodning af disse adgangskoder i en regnbuetabel ikke ville give så meget mening. Desuden er de fleste adgangskoder alligevel saltede, hvilket betyder, at vi har brug for regnbuetabeller for hver saltværdi, og for større salte er dette fuldstændig upraktisk. Bitcoin og andre minearbejdere i kryptovaluta har benyttet sig af GPU-teknologi til at beregne hash for bitcoin-landbrug. Der er eksisterende værktøjer, der kan udnytte GPU-teknologien til potentielt at dekryptere adgangskodehash. For eksempel blev den Linux-baserede GPU-klynge brugt til at knække 90 procent af de 6,5 mio. lækket LinkedIn-adgangskode-hash i 2012.
Ikke desto mindre er regnbueborde muligvis ikke den største trussel mod organisationer i dag. Alligevel er de bestemt en trussel og bør betragtes og tages i betragtning som en del af en overordnet sikkerhedsstrategi.