Oefeningen / Cursus informatiebeveiliging Eric Laermans – Tom Dhaene
Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 2 Inleiding Opslag wachtwoorden in MS Windows oud systeem LM hash (LAN Manager hash) –tot Windows Me nieuw systeem NTLM hash (NT LAN Manager) –sinds Windows NT 3.1
Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 3 Inleiding Opslag wachtwoorden in MS Windows gecodeerde opslag in SAM (Security Accounts Manager) –niet toegankelijk terwijl het besturingssysteem actief is »bestand gelockt door besturingssysteem tijdens werking van Windows (niet leesbaar, kopieerbaar of verwijderbaar) –VRAAG 1: »toch mogelijkheid om bestand te bemachtigen voor offline testen van wachtwoorden?
Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 4 LM Hash Beperkingen wachtwoorden in maximaal 14 ANSI-karakters 95 mogelijke karakters ook bekend als “printable ASCII”
Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 5 LM Hash Werking 1. conversie van kleine letters naar hoofdletters 2. aanvullen met NULL-karakters tot 14 karakters 3. opsplitsen in twee delen van 7 karakters 4. elk van deze twee delen wordt gebruikt als DES- sleutel om te encrypteren (ECB) levert twee versleutelde blokken van 8 bytes op de zo bekomen 16 bytes zijn de LM Hash VRAAG 2 mogelijke aanvallen, zwakheden? geschatte tijdsduur voor mogelijke aanval?
Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 6 NTLM Hash Werking MD4-hash van wachtwoord hoofdlettergevoelig wachtwoord MD4: hashfunctie met hashwaarde van 128 bits –voorloper van MD5 –totaal geen sterke botsingsbestendigheid meer –effectieve sterkte van eenrichtingsfunctie (preimage resistance) slechts 102 bits »theoretisch eerder dan praktisch verzwakt VRAAG 3 vergelijking met wachtwoordopslag in Linux vandaag? kraakbaar in redelijke tijd?
Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 7 Backward compatibility Wachtwoord dubbel opgeslagen via NTLM Hash via LM Hash indien mogelijk, anders opslag van nepwaarde default tot en met Windows XP –via aanpassing in registry uit te schakelen –sinds Windows Vista default uitgeschakeld VRAAG 4 zwakheden van dit schema? beter dan LM Hash alleen? hoe zorg je ervoor dat LM Hash niet opgeslagen wordt?
Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 8 Verbeterde aanvallen Aanvallen tot nu toe (meestal) haalbaar als LM Hash beschikbaar is maar vereist nog vrij veel rekenwerk als brute kracht gebruikt wordt VRAAG 5 suggesties voor verbeteringen van aanvalstechniek? –hint: kan een deel van het werk op voorhand uitgevoerd worden?
Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 9 Verbeterde aanvallen Precomputed hash chains niet haalbaar om codering voor alle mogelijke wachtwoorden op voorhand te berekenen én op te slaan VRAAG 6: –hoeveel opslagcapaciteit zou dit vereisen voor wachtwoorden met LM Hash gecodeerd?
Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 10 Verbeterde aanvallen Precomputed hash chains hoe maken we een selectie van wachtwoorden die we opslaan? kettingen van voorberekende hashwaarden (precomputed hash chains) –techniek die trade-off maakt tussen benodigde rekentijd en nodige opslag –voor N mogelijke wachtwoorden: »opslagruimte:O(N 2/3 ) »rekentijd:O(N 2/3 )
Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 11 Verbeterde aanvallen Precomputed hash chains twee functies hashfunctie H:P C –zet wachtwoord om in gecodeerde versie –domein: ruimte van mogelijke wachtwoorden (P) –beeld: ruimte van mogelijke hashwaarden (C) reductiefunctie R:C P –leidt een (pseudorandom) wachtwoord af uit hashwaarde »hoeft geen eenrichtingsfunctie te zijn »eenvoudige keuze mogelijk –domein: ruimte van mogelijke hashwaarden (C) –beeld: ruimte van mogelijke wachtwoorden (P)
Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 12 Verbeterde aanvallen Precomputed hash chains kies een (voldoende groot) aantal (n) verschillende wachtwoorden p j,0 (met j:0..(n-1)) bereken een (niet te groot) aantal (k) schakels voor elke ketting p j,i+1 = R(H(p j,i ))(met i:0..(k-1)) sla alleen de begin- en eindpunten van de kettingen op p j,0 en p j,k (met j:0..(n-1))
Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 13 Verbeterde aanvallen Precomputed hash chains kraken van een gecodeerd wachtwoord h bereken:p (0) = R(h) bereken:p (i) = R(H(p (i-1) )) –tot een p (i) gevonden wordt die voorkomt in de tabel met de eindpunten p j,k van de hash chains herbereken dan de ketting, vertrekkende van p j,0 tot de juiste waarde p j,k-i-1 gevonden wordt zodat H(p j, k-i-1 ) = h OPM: er is een risico dat bepaalde kettingen overlappen kettingen kunnen lussen bevatten false positives zijn mogelijk
Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 14 Verbeterde aanvallen Precomputed hash chains nodige aanpassing van standaard aanpak meerdere tabellen –elk met verschillende reductiefunctie –impact van overlappende kettingen verminderen –aantal typisch evenredig met lengte van kettingen »nadeel: grotere opzoekingstijd (evenredig met lengte van kettingen én met aantal kettingen)
Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 15 Verbeterde aanvallen Precomputed hash chains mogelijke vereenvoudiging “distinguished points” –stop de kettingen niet na vast aantal schakels, maar wanneer ze eindigen op gemakkelijk herkenbaar wachtwoord »bv. eindigend / beginnend op 10 nulbits VRAAG 7: –wat is voordeel van deze aanpak?
Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 16 Verbeterde aanvallen Rainbow tables verbetering van precomputed hash chains gebruik van verschillende reductiefunctie voor elke schakel in ketting –k reductiefuncties nodig R i (met i:0..(k-1)) –p j,i+1 = R i (H(p j,i ))(met i:0..(k-1)) opzoeken gecodeerd wachtwoord h –bereken p (0,0) = R k-1 (h) en zoek het op in de eindpuntentabel –indien niet gevonden, zoek p (1,1) = R k-1 (H(R k-2 (h))) –zoek desnoods verder p (i,i) = R k-1 (H(p (i,i-1) )) »met p (i,j) = R k-i+j-1 (H(p (i,j-1) ))
Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 17 Verbeterde aanvallen Rainbow tables voordelen aantal opzoekingen minder dan in meervoudige tabellen voor precomputed hash chains –ongeveer de helft minder overlappende kettingen –en bovendien identificeerbaar welke kettingen samenvloeien geen lussen in kettingen constante lengte van kettingen –in tegenstelling tot “distinguished points”
Informatiebeveiliging Vakgroep Informatietechnologie – IBCN – Eric Laermans p. 18 Verbeterde aanvallen Rainbow tables referenties: P. Oechslin, “Making a faster cryptanalytic time- memory trade-off,” Advances in Cryptology - CRYPTO 2003, pp project RainbowCrack