Onderzoekers hebben hun vooruitgang geschetst bij de verdere ontwikkeling van BitCracker, een door GPU’s aangedreven wachtwoord-kraaktool die speciaal is gebouwd om BitLocker te kraken, de volledige schijfversleuteling die in Microsoft Windows is ingebouwd.
Een white paper (PDF) onlangs gepubliceerd door Elena Agostini, software engineer bij Nvidia, en Massimo Bernaschi, directeur van technologie bij National Research Council of Italy (CNR), beschrijft BitCracker als een oplossing die is ontworpen om “te proberen de ontcijfering, door middel van een woordenboekaanval, van geheugeneenheden die zijn versleuteld door BitLocker”.
BitCracker werd voor het eerst uitgebracht in december 2015 en is sindsdien voortdurend doorontwikkeld.
Woordenboekaanval
BitLocker is Microsofts implementatie van volledige schijfversleuteling, voor het eerst uitgebracht als een upgrade van Windows Vista in 2007. BitLocker is compatibel met Trusted Platform Modules (TPM’s) en versleutelt gegevens die op schijf zijn opgeslagen om ongeoorloofde toegang te voorkomen in geval van diefstal van het apparaat of softwarematige aanvallen.
BitLocker To Go werkt op dezelfde manier voor externe apparaten, zoals USB-stations.
De technologie maakt standaard gebruik van 128-bits AES-encryptie, maar dit kan worden geconfigureerd tot 256 bits voor een hoger beveiligingsniveau.
Zoals BitLocker hoge niveaus van AES-encryptie gebruikt, vertrouwt BitCracker op krachtige Graphics Processing Units (GPU’s) om een woordenboekaanval haalbaar te maken.
De software is beschikbaar voor de open source-gemeenschap en toegankelijk via GitHub.
Een OpenCL-implementatie van BitCracker werd geïntegreerd met de populaire, open source wachtwoordhackingtool John The Ripper, versie Bleeding-Jumbo, die vorig jaar werd uitgebracht.
“BitLocker-decryptieproces vereist de uitvoering van een zeer groot aantal SHA-256 hashes en ook AES, dus we stellen een zeer snelle oplossing voor, zeer afgestemd voor Nvidia GPU, voor beide,” leggen de onderzoekers uit.
BitCracker is getest met drie Nvidia GPU-architecturen: Kepler, Maxwell en Pascal.
LISTEN NOW SwigCast, Episode 2: ENCRYPTION
Bits and pieces
BitLocker gebruikt twee verschillende manieren van authenticatie; een gebruikerswachtwoord of herstelmodus, waarbij een gebruiker ofwel een wachtwoord intypt om een schijf te versleutelen of te ontsleutelen, ofwel een 48-cijferige herstelsleutel gebruikt die door BitLocker wordt gegenereerd om toegang te krijgen tot hun inhoud.
Tijdens de versleuteling wordt elk sectorvolume afzonderlijk versleuteld met behulp van een Full-Volume Encryption Key (FVEK) en een Volume Master Key (VMK), waarvan de laatste ook wordt versleuteld en in het volume wordt opgeslagen.
Als een schijf bijvoorbeeld is versleuteld met de gebruikerswachtwoordmethode, vindt u in de metagegevens van het volume twee versleutelde VMK’s – een die is versleuteld met het gebruikerswachtwoord en een die is versleuteld met het herstelwachtwoord.
Tijdens het decoderen begint BitLocker met het decoderen van de VMK, dan FVEK, en dan de schijf zelf.
De BitCracker-tool richt zich op het decoderen van een VMK-sleutel, waarbij een wachtwoord wordt blootgelegd dat in staat is om een apparaat te decoderen.
Een woordenboekaanval wordt uitgevoerd, waarbij gebruik wordt gemaakt van GPU-prestaties en -kracht. De SHA-256-standaard transformeert berichten in zogenaamde “W-blokken” voordat ze worden gehasht, en om de zaken te versnellen heeft het team een precomputation-faciliteit gemaakt voor sommige sets van W-woorden, waarbij het aantal vereiste rekenkundige bewerkingen wordt verminderd door een rainbow lookup-tabel te maken. Dit kan echter niet worden toegepast op andere SHA-256-opstellingen.
Y MIGHT ALSO LIKE Open source tools helpt bij het opsporen van de beveiliging van cloudcontainers
Om de snelheid van potentiële aanvallen verder te verhogen, waren Agostini en Bernaschi ook in staat om MAC-berekening en -vergelijking te verwijderen.
De prestaties van BitCracker werden gebenchmarkt tegen een andere populaire wachtwoordkraker, Hashcat, met behulp van een Pascal GPU.
Het team erkent dat de vergelijking niet helemaal eerlijk is, omdat Hashcat geen gebruik maakt van BitCracker’s W-blokfuncties of MAC-berekening.
Hoewel, Hashcat was in staat tot 3.290 miljoen hashes per seconde (MH/s), een resultaat waarvan de onderzoekers zeggen dat het “vergelijkbaar is met BitCrackers beste prestaties op dezelfde GPU.”
BitLocker’s complexe encryptieproces betekent dat er een limiet is aan het aantal wachtwoorden dat in één keer kan worden getest.
Het onderzoekspaper suggereert echter dat het met een enkele high-end GPU theoretisch mogelijk is dat meer dan 122 miljoen wachtwoorden in slechts 24 uur zouden kunnen worden geprobeerd.
“De resultaten laten zien dat BitCracker kan concurreren met een state-of-the-art wachtwoordkraker in termen van ruwe prestaties op de basis rekenkernels, terwijl het de enige is die specifieke snelkoppelingen biedt om de BitLocker-decryptieprocedure te versnellen,” leggen de onderzoekers uit.
Toekomstige ontwikkelingen
Er zijn beperkingen aan BitCracker. De tool kan momenteel alleen wachtwoorden van tussen de acht en 27 tekens evalueren, en gebruikers moeten hun eigen invoerwoordenboek aanleveren.
Bovendien wordt BitLocker vaak gebruikt in combinatie met een TPM in bedrijfsomgevingen in plaats van alleen te vertrouwen op een gebruikerswachtwoord, dus aanvallen kunnen beperkt blijven tot setups van consumenten of misschien individuen in bepaalde organisaties in plaats van bedrijfsbrede implementaties.
Zoals opgemerkt door Reddit-gebruiker en GitHub-bijdrager Rarecoil, is het ook het geval dat de tool enkele jaren oud is, en zowel woordenboeken als geoptimaliseerde regelsets zijn nu verder gevorderd dan het aanvalsbereik van BitCracker.
Agostini en Bernaschi hebben ook methoden voorgesteld om BitCracker in de toekomst te verbeteren, waaronder het toevoegen van een mask mode-aanval of het toewijzen van slimme waarschijnlijkheden aan invoerwoordenboeken om het proces te versnellen.