The Daily Swig

Forskere har beskrevet deres fremskridt i videreudviklingen af BitCracker, et GPU-drevet password-cracking-værktøj, der er bygget specielt til at bryde BitLocker, den fulde disk-kryptering, der er indbygget i Microsoft Windows.

I en hvidbog (PDF), der for nylig blev offentliggjort af Elena Agostini, softwareingeniør hos Nvidia, og Massimo Bernaschi, direktør for teknologi hos Italiens nationale forskningsråd (CNR), beskrives BitCracker som en løsning, der er designet til at “forsøge at dekryptere hukommelsesenheder, der er krypteret af BitLocker, ved hjælp af et ordbogsangreb”.

BitCracker blev første gang frigivet i december 2015 og er blevet udviklet løbende siden.

Dictionary attack

BitLocker er Microsofts implementering af fuld disk-kryptering, der først blev frigivet som en opgradering til Windows Vista i 2007. BitLocker er kompatibel med Trusted Platform Modules (TPM’er) og krypterer data, der er gemt på disken, for at forhindre uautoriseret adgang i tilfælde af tyveri af enheden eller softwarebaserede angreb.

BitLocker To Go fungerer på samme måde for eksterne enheder, f.eks. USB-drev.

Teknologien anvender 128 bit AES-kryptering som standard, men dette kan konfigureres til 256 bit for at opnå et højere sikkerhedsniveau.

Da BitLocker anvender høje niveauer af AES-kryptering, er BitCracker afhængig af højtydende grafikprocessorenheder (GPU’er) for at gøre et ordbogsangreb levedygtigt.

Softwaren er tilgængelig for open source-fællesskabet og tilgængelig via GitHub.

En OpenCL-implementering af BitCracker blev integreret med det populære open source-værktøj til hacking af adgangskoder John The Ripper, version Bleeding-Jumbo, der blev udgivet sidste år.

“BitLocker-dekrypteringsprocessen kræver udførelse af et meget stort antal SHA-256-hashes og også AES, så vi foreslår en meget hurtig løsning, der er stærkt tunet til Nvidia GPU, for begge dele”, forklarer forskerne.

BitCracker er blevet testet med tre Nvidia GPU-arkitekturer: Kepler, Maxwell og Pascal.

LISTEN NOW SwigCast, Episode 2: ENCRYPTION

Bits and pieces

BitLocker bruger to forskellige former for autentifikation; en brugeradgangskode eller recovery mode, hvor en bruger enten indtaster en adgangskode for at kryptere eller dekryptere et drev, eller bruger en 48-cifret recovery key genereret af BitLocker for at få adgang til sit indhold.

Ved kryptering krypteres hver sektorvolumen individuelt ved hjælp af en FVEK (Full-Volume Encryption Key) og VMK (Volume Master Key), hvoraf sidstnævnte også krypteres og gemmes i volumenet.

Hvis et drev f.eks. er blevet krypteret ved hjælp af brugeradgangskodemetoden, vil du i volumenmetadata finde to krypterede VMK’er – en krypteret med brugeradgangskoden og en krypteret med genoprettelsesadgangskoden.

Ved dekrypteringen begynder BitLocker at dekryptere VMK’en, derefter FVEK’en og derefter selve disken.

BitCracker-værktøjet fokuserer på dekryptering af en VMK-nøgle og afslører en adgangskode, der kan dekryptere en enhed.

Der udføres et ordbogsangreb, der udnytter GPU-ydelse og -kraft. SHA-256-standarden omdanner meddelelser til det, der er kendt som “W-blokke”, før de hashes, og for at fremskynde tingene skabte holdet derfor en forudberegningsfacilitet for nogle sæt W-ord, der reducerer antallet af nødvendige aritmetiske operationer ved at skabe en regnbueopslagstabel. Dette kan dog ikke anvendes på andre SHA-256-opsætninger.

DIT MÅSKE OGSÅ VÆRE Open source-værktøjer hjælper med at opdage sikkerheden i cloud-containere

For yderligere at øge hastigheden af potentielle angreb kunne Agostini og Bernaschi også fjerne MAC-beregning og -sammenligning.

BitCrackers ydeevne blev benchmarket mod en anden populær password-krakker, Hashcat, ved hjælp af en Pascal GPU.

Teamet erkender, at sammenligningen ikke er helt fair, da Hashcat ikke bruger BitCrackers W-block-funktioner eller MAC-beregning.

Hashcat var dog i stand til at lave 3.290 millioner hashes pr. sekund (MH/s), et resultat, som forskerne siger er “sammenligneligt med BitCrackers bedste ydeevne på den samme GPU”.”

BitLockers komplekse krypteringsproces betyder, at der er en grænse for antallet af adgangskoder, der kan testes på én gang.

Det fremgår imidlertid af forskningsrapporten, at med en enkelt high-end GPU er det teoretisk muligt, at der kan forsøges med over 122 millioner adgangskoder på kun 24 timer.

“Resultaterne viser, at BitCracker kan konkurrere med en state-of-the-art password cracker med hensyn til rå ydeevne på de grundlæggende beregningskerner, mens den er den eneste, der giver specifikke genveje til at fremskynde BitLocker-dekrypteringsproceduren”, forklarer forskerne.

Fremtidige udviklinger

Der er begrænsninger for BitCracker. Værktøjet er i øjeblikket kun i stand til at evaluere adgangskoder på mellem otte og 27 tegn, og brugerne skal levere deres egen indtastningsordbog.

Dertil kommer, at BitLocker ofte bruges sammen med en TPM i virksomhedssammenhænge i stedet for udelukkende at stole på en brugeradgangskode, så angreb kan være begrænset til forbrugeropsætninger eller måske enkeltpersoner i bestemte organisationer snarere end virksomhedsdækkende implementeringer.

Som bemærket af Reddit-brugeren og GitHub-bidragyderen Rarecoil er det også sådan, at værktøjet er flere år gammelt, og at både ordbøger og optimerede regelsæt nu er blevet udviklet ud over BitCrackers angrebsområde.

Agostini og Bernaschi har også foreslået metoder til at forbedre BitCracker i fremtiden, herunder tilføjelse af et masketilstandsangreb eller tildeling af intelligente sandsynligheder til inputordbøger for at fremskynde processen.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.