En regnbuetabel var en ressource, der blev brugt til at hacke kryptografiske hashfunktioner for at finde almindelige adgangskoder ved hjælp af en forudberegnet godkendelsesdatabase . Rainbow-tabelløsninger bruger en algoritme til at slå de oplysninger op, der er nødvendige for hurtigt at knække adgangskodhashes. Mens moderne adgangskodesaltning- og hashalgoritmer i vid udstrækning har ugyldiggjort regnbuetabellen, er der mange applikationer, der ikke bruger sådanne let tilgængelige værktøjer og i stedet er afhængige af enkelt hashede adgangskoder på grund af dovenskab eller uopmærksomhed på vigtige detaljer.
Ideen om at bruge regnbuetabeller eller andre hash-knækkemetoder stammer fra brugen af password-hashes i autentificeringsdatabaser. Ethvert system, der bruger adgangskoder til autentificering, skal gemme disse adgangskoder i en eller anden form. Det værste tilfælde er, at applikationsudvikleren gemmer adgangskoderne som klartekst, hvilket gør alle registrerede brugeres adgangskoder ekstremt sårbare over for uautoriseret adgang fra hackere eller endda interne systemadministratorer. Selvom denne dårlige praksis har været kendt i årtier, er den stadig almindelig i onlineapplikationer.
En lidt, men muligvis meningsløs ting, som nogle programmører gør, er at udføre en enkelt hashberegning af adgangskoden. Der findes almindelige hash-algoritmer, der konverterer adgangskoder til, hvad der kan synes at være tilfældige tegnstrenge, men som i virkeligheden er meget enkle at reverse engineere med en regnbuetabel. Når du autentificerer dig i et system, hashes den adgangskode, du indtaster, ved hjælp af den samme algoritme, som blev brugt til at gemme adgangskoden i adgangskodedatabasen. Hvis hashværdierne matcher, er du blevet autentificeret. Her kommer en regnbuetabel ind i billedet.
En regnbuetabel gemmer alle envejshashes af almindelige adgangskoder fra 1 tegn i længden til 7 eller måske 8 tegn. (En regnbuetabel på 8 tegn til en simpel hashing-algoritme vil tage op til 32 petabyte databaseplads at gemme!). Når en hacker stjæler en cache af simple adgangskodehashes, kan de slå hashværdien op i regnbuetabellen for at finde den almindelige adgangskode.
Med fremkomsten af adgangskodesaltning på op til 32 tegn findes der ikke længere Rainbow-tabeller til at udføre sådanne opslag (Kilde: Rainbow Tables are Dead ). Endnu vigtigere er det, at mange standardbinære filer udfører iterativ hashing af adgangskoder. Dette er, når en saltet adgangskode hashes igen og igen, et bestemt antal gange, og den endelige hashværdi, f.eks. den 764. hash af den oprindeligt saltede adgangskode, gemmes i databasen til fremtidig sammenligning ved godkendelse i applikationen. Rainbow-tabeller kan ikke knække disse adgangskoder.
Når hackere stjæler en cache af adgangskoder, kan de hurtigt afgøre, om adgangskoderne er blevet saltet og hashet N gange, ved at bruge en regnbuetabel til at slå de 100 bedste adgangskoder op. Hvis de finder et match, kan de arbejde baglæns for at afgøre, om programmørerne var dovne og ikke saltede adgangskoderne eller hashet dem iterativt eller begge dele. Alt for ofte har udviklere sprunget disse vigtige trin over, så hackere nu har dine adgangskoder ved at reverse engineere dem i en simpel regnbuetabel.
Regnbuetabeller er en hurtig og effektiv måde at knække usaltede og single-hashede adgangskoder. Hvis du udvikler en applikation i din SMB, skal du sørge for at spørge, hvordan adgangskoderne er gemt. Spørg udvikleren, hvor stor deres SALT er (8 er lille, 32 tegn er tilstrækkeligt), og spørg derefter, hvor mange iterationer de laver på adgangskoderne, før de gemmer den hashede værdi. LastPass udfører deres adgangskodehashing over 100,000 gange på masteradgangskoden. Det kan være overdrevent for din organisation, men et par hundrede til tusindvis burde være påkrævet.
Almindelige salt- og hashing-funktioner inkluderer: “ Argon2 , scrypt , bcrypt og PBKDF2 ”.
Uanset hvad du gør, skal du behandle dette som et kritisk krav i din applikationsudvikling. Hvis du ikke kan indbygge SSO i dit adgangskodeskema, og du har brug for at gemme adgangskode-hashes, skal du salt og iterativt hashe din adgangskodedatabase ved hjælp af de værktøjer, der er nævnt i denne artikel.
kilder:
Yderligere læsning:
Sådan sikrer du dit websted mod databrud
Kryptering, hashing og salting: Hvad er forskellen?
Relaterede vilkår:
Opdag og del de seneste cybersikkerhedstrends, tips og bedste praksisser – sammen med nye trusler, du skal være opmærksom på.
Forfatter: Katie Boquetti | Leder: Craig Taylor Leder af Craig Taylor: Jeg husker de tidlige dage med...
Læs mere
Forfatter: Katie Boquetti | Leder: Craig Taylor Leder af Craig Taylor: Denne uges blog har en...
Læs mere
Af og til kommer der et stykke malware med et trick, der er smart nok til at få sikkerhedsforskere til at stoppe op og...
Læs mereFå et skarpere blik på menneskelige risici med den positive tilgang, der slår traditionel phishing-testning.
