Vraag:
Offline Brute Force-aanval tegen een Bitlocker Windows-pc
MattCotterellNZ
2015-10-05 06:43:10 UTC
view on stackexchange narkive permalink

Ik ben momenteel de beveiliging van Bitlocker aan het beoordelen vanuit het perspectief van een offline aanval op een opgeslagen wachtwoord (gebruikt om de Full Disk Encryption-sleutel te beveiligen). Mijn veronderstelling is dat het wachtwoord dat wordt gebruikt om de FDE-sleutel te decoderen / bepalen op de een of andere manier op de schijf moet worden opgeslagen, anders zou het onmogelijk zijn om te bepalen of de FDE-sleutel correct is of niet.

Mijn vraag is, als, bijvoorbeeld, een laptop werd gestolen en deze gebruikte Bitlocker om het wachtwoord te beveiligen dat werd gebruikt om het OS-volume te ontgrendelen, hoe resistent zou deze dan zijn tegen een offline aanval om het wachtwoord te herstellen ? Welke technieken / algoritmen gebruikt het om te beschermen tegen een dergelijke aanval?

Let op, ik ben minder geïnteresseerd in het herstellen van de gegevens op de schijf of de FDE-sleutel. Ik ben hier puur in geïnteresseerd op basis van hoe resistent het wachtwoord van de gebruiker zelf is tegen een offline aanval op een ervaren aanvaller die in het bezit is van een gestolen laptop.

Gerelateerde vraag: [Hoe werkt de Bitlocker-methode met alleen PIN-code?] (Http://security.stackexchange.com/questions/67378/how-does-bitlocker-only-pin-method-work)
Drie antwoorden:
sleske
2015-10-05 11:58:26 UTC
view on stackexchange narkive permalink

De aanval die u beschrijft, is een fundamenteel probleem voor alle soorten codering: als u een wachtwoord wilt gebruiken als (bron van) de coderingssleutel, moet het wachtwoord evenveel entropie hebben als de gewenste coderingssterkte, anders moet u kwetsbaar voor offline brute-forcing.

Dus ja, als Bitlocker zojuist het wachtwoord zou gebruiken dat u hebt ingevoerd als de (bron van) de sleutel, zou het kwetsbaar zijn voor deze aanval.

Bitlocker biedt meerdere authenticatiemechanismen die dit probleem op verschillende manieren aanpakken.

  • Het aanbevolen mechanisme (AFAIK) is om de Trusted Platform Module (TPM) van de computer te gebruiken. Met TPM-authenticatie (de zogenaamde Transparante bedieningsmodus met Bitlocker), slaat de TPM-chip de Bitlocker-sleutel op. De TPM is specifiek ontworpen om die sleutel alleen vrij te geven als een bepaald wachtwoord / pincode is opgegeven, en om het aantal authenticatiepogingen te beperken. Daarom is een vergelijkbaar zwak wachtwoord / pincode voldoende, omdat het wachtwoord niet offline kan worden aangevallen, aangezien het wordt opgeslagen in de TPM.
  • Een andere oplossing is om de USB-sleutelmodus te gebruiken . In die modus wordt de sleutel opgeslagen op een USB-sleutel (optioneel beveiligd met een wachtwoord) of wordt een speciaal USB-apparaat gebruikt dat veilige authenticatie uitvoert (vergelijkbaar met een TPM-chip). Nogmaals, een off-line aanval is niet mogelijk, omdat de sleutel is opgeslagen op het USB-apparaat. Als het USB-apparaat echter slechts een eenvoudig opslagapparaat is, is een offline aanval ertegen mogelijk (het moet dus zeer veilig worden opgeslagen).

USB Key Mode en TPM kunnen worden gecombineerd voor een nog betere beveiliging.

Merk op dat het mogelijk is Bitlocker te gebruiken zonder een TPM-chip (hoewel dit blijkbaar niet wordt aanbevolen door Microsoft). Als je dat doet, dan ben je inderdaad kwetsbaar voor wachtwoord bruteforcing aanvallen, dus je hebt een wachtwoord nodig met voldoende entropie, d.w.z. minimaal 128 bit, beter 168 bit.


Voor een uitgebreide bespreking van de ontwerpkeuzes, beveiligingscompetenties en technologie van Bitlocker, zie de paper AES-CBC + Elephant diffuser, A Disk Encryption Algorithm for Windows Vista door Niels Ferguson, verkrijgbaar bij http://go.microsoft.com/fwlink/?LinkId=80598.

Waar / hoe vind ik de beveiligde USB-module? Ik heb geprobeerd te Googelen voor zaken als "USB TPM", maar vond alleen handleidingen over het instellen van bitlocker met een gewone USB-sleutel of met alleen een opstartwachtwoord.
Zie bijvoorbeeld [Smart Cards gebruiken met BitLocker] (https://technet.microsoft.com/de-de/library/dd875530%28v=ws.10%29.aspx) op TechNet. Het lijkt er echter op dat dit alleen mogelijk is voor gegevenspartities, niet voor de opstartpartitie.
CBHacking
2015-10-05 07:38:26 UTC
view on stackexchange narkive permalink

BitLocker versleutelt de schijf met behulp van een "volumemastersleutel", die nergens rechtstreeks in permanente opslag wordt geplaatst. Een of meer "sleutelbeschermers" zijn aanwezig in de metadata van het volume, die elk een manier bieden om de VMK te verkrijgen. Voor de op pincode / wachtwoord gebaseerde beschermers wordt het wachtwoord door een zeer langzame sleutelafleidingsfunctie geleid (zoiets als bcrypt, maar ik weet eigenlijk niet zeker welke functie of wat de exacte parameters zijn). De parameters variëren waarschijnlijk per hardware, maar het duurt meer dan een halve seconde op mijn werkcomputer.

Ik geloof dat deze afgeleide sleutel vervolgens wordt gecontroleerd aan de hand van een opgeslagen hash en, als deze overeenkomt, wordt gebruikt om de VMK ( dat wil zeggen, de pincode / wachtwoordbeveiliging bevat een versie van de VMK, gecodeerd met de sleutel die de KDF uitspuugt, en een hash van de afgeleide sleutel, die wordt gebruikt om de juistheid van de afgeleide sleutel te controleren).

Aan proberen om het wachtwoord brute kracht te geven, moet u het algoritme en zijn parameters (salt, werkfactor, etc.) uitzoeken. Tenzij u over serieuze computerbronnen beschikt, zal het erg lang duren voordat een brute-force zoekopdracht iets vindt vanwege de trage KDF.

De meest publiekelijk code-bruikbare implementatie van BL die ik ken is de dislocker git repo, dislocker is een open-source (gedeeltelijke) implementatie van BitLocker (geschreven als een FUSE-stuurprogramma). Ik ken geen kant-en-klare brute-forcing-tool voor BitLocker, maar je zou er waarschijnlijk een kunnen bouwen bovenop de code van dislocker . Het duurt echter waarschijnlijk een tijdje om te rennen!

user45139
2015-10-05 08:40:53 UTC
view on stackexchange narkive permalink

Versleutelingstools voor volledige schijf vertrouwen op AES, dat vandaag de dag nog steeds als veilig wordt beschouwd. De meeste aanvallen zijn dus gericht op het besturingssysteem zelf in plaats van op het versleutelingsmechanisme dat dergelijke tools gebruiken.

De aanvallen waarmee u te maken kunt krijgen als uw machine wordt gestolen, zijn afhankelijk van verschillende factoren. Allereerst over hoe u het heeft geconfigureerd. Configuraties die authenticatie vereisen voordat het besturingssysteem wordt opgestart, voorkomen dat een hacker het besturingssysteem onmiddellijk aanvalt. Stel dus allereerst Bitlocker in met de pre-boot authenticatie-optie.

Voordat u de schijven versleutelt, moet u ervoor zorgen dat uw machine veilig is voor de aanwezigheid van rootkits en bootkits die mogelijk dezelfde rechten hebben als uw besturingssysteem en kan zelfs uw coderingssleutel voor het volledige volume in gevaar brengen, aangezien deze wordt gecodeerd door de hoofdsleutel van het volume en wordt opgeslagen in het gecodeerde volume. Merk op dat UEFI bedoeld is om uw systeem weer te beschermen tegen de aanwezigheid van rootkits en bootkits, maar het is niet waterdicht.

Een ander ding om te overwegen zijn brute force-inlogaanvallen die zelfs kunnen worden uitgevoerd tegen de pre-boot authenticator die we hierboven noemden.

Ook een aanvaller kan Thunderbolt om een ​​ander apparaat op uw laptop aan te sluiten. Omdat DMA-poorten (directe geheugentoegang) geen authenticatie of toegangscontrole bieden om de inhoud van het computergeheugen te beschermen waartoe het apparaat alleen leestoegang heeft, kunt u zich een aanval voorstellen op basis van deze feiten (de zogenaamde DMA-aanvallen). Houd er rekening mee dat als u Windows 8 gebruikt, u wellicht weet dat Windows 8 InstantGo-gecertificeerde apparaten geen DMA-poorten hebben, waardoor het risico op DMA-aanvallen wordt geëlimineerd.

Dus in combinatie met het configureren van de verificatie vóór het opstarten, kunt u ook een USB-apparaat (zoals een flashstation) gebruiken om de BitLocker-opstartsleutel op te slaan en deze gebruiken om samen met uw pincode / wachtwoord te verifiëren: dit is een andere laag van beveiliging waarbij, zelfs als uw pincode / wachtwoord brute kracht is, de Bitlocker-startsleutel nog steeds veilig is (stel dat uw laptop en USB-apparaat niet door dezelfde aanvaller kunnen worden gestolen)



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 3.0-licentie waaronder het wordt gedistribueerd.
Loading...