Denna artikel säger:
Brute-force-tekniker som försökte alla möjliga kombinationer av bokstäver, siffror och specialtecken hade också lyckats knäcka alla lösenord med åtta eller färre tecken.
Det finns 6,63 kvadriljoner möjliga åtta lösenord som kan genereras med 94 siffror, bokstäver och symboler som kan skrivas på mitt tangentbord. Jag är skeptisk till att många lösenordskombinationer faktiskt skulle kunna testas. Är det verkligen möjligt att testa så många möjligheter på mindre än ett år i denna tid?
Svar
Enligt denna länk , med hastighet på 1 000 000 000 lösenord / sek, spricka ett lösenord med åtta tecken som består av 96 tecken tar 83,5 dagar. Forskning presenterad vid lösenord ^ 12 i Norge visar att 8 tecken NTLM-lösenord inte längre är säkra. De kan knäcks på 6 timmar på maskinen vilket kostar ~ $ 8000 år 2012.
En viktig sak att tänka på är vilken algoritm som används för att skapa dessa hash (förutsatt att du pratar om hashade lösenord). Om någon beräkningsintensiv algoritm används, så är lösenordssprickningshastigheten kan minskas avsevärt. I länken ovan framhäver författaren att ”det nya klustret, även med sin fyrfaldiga hastighetsökning, kan bara göra 71.000 gissningar mot Bcryp t och 364 000 gissningar mot SHA512crypt. ”
Kommentarer
- Min core i3-bärbara dator gör 1500 gissningar per sekund på WPA-handskakning .
- För enstaka iteration MD5 trycker nu små GPU-matriser (< 20 kort) in i 100 miljarder / sekund-området. Stora (underrättelsetjänst) matriser kommer att vara flera storleksordningar snabbare.
- En sak att tänka på är att NTLMv1-lösenord är särskilt enkla och därför inte ska extrapoleras från. På grund av hur NTLM hasher lösenord tar ett lösenord på 16 tecken bara dubbelt så mycket tid att spricka som 8 tecken.
- Glöm inte salter ’ . Om en krypteringsalgoritm använder salter med godtycklig längd är det ’ omöjligt att skapa alla möjliga hash med alla möjliga salter (du ’ d behöver ett nytt regnbågsbord för varje möjligt salt).
- Ingen pratar om regnbågsbord här. Detta svar talar om en attack mot en stulen lösenordsdatabas som antagligen innehåller ett salt för alla användarkonton. Utan salt kräver alla konton med dubbla lösenord ’ inget ytterligare arbete, men även med salt fortsätter attacken ett konto i taget utan att regnbågsbord krävs. Rainbow-tabeller blev föråldrade så fort det blev mer effektivt att bara bearbeta alla hashar parallellt varje gång, ofta med GPU: er.
Svar
Jag såg att detta inte uppdateras till 2018.
Hashcat bryter en 8 tecken lång täckning (a-zA- Z0-9! – =) lösenord på 26 dagar på en enda 1080 Nvidia GPU.
Här ”en bild av en gruvrigg med grafikprocessorer som också lika gärna kan ställas in för haschsprickning:
Kommentarer
- länk
- I länken ovan kan du se att det tar 1: 35H att gissa a-zA-Z 8 tecken lösenord på ett enda 1080-kort på min dator. en rigg innehåller godtyckligt antal kort.
- Lägga till en SHA256 8 CHARS a-zA-Z0-9. Verifierad och trasig. länk
- SHA256 8 tecken alla tecken utan regeloptimeringar – 26 dagar enda kort + 19 kort moderkort av Asus, länk och länk
- Människor, jag ’ lägger en period på detta. Jag fick tillstånd att redigera, så jag kommer att göra. Det enda problemet här är om en rigg kan kallas anoth och det kan inte. Kan hårdvaran vara densamma? Säker. Men de är inte likvärdiga.
Svar
Möjligt? ja, men vilken tid för återvinning av brute force accepteras som möjligt? Några siffror för 8 tecken PW om de slumpmässigt väljs från en 94 teckenuppsättning:
- Windows PW (NTLM: 1), med ovan nämnda 25 GPU-återställningsmonster: 2,2 timmar i genomsnitt
- WiFi (PBKDF2 / SHA1: 4096) med ett 8 GPU-återställningssystem: i genomsnitt 98 år
- 7ZIP (PBKDF2 / SHA256: 262144) med ett 8 GPU-återställningssystem: 26 århundraden
Så det är ”möjligt” för vissa fall för oss, kan vara ja i alla ovanstående fall för vissa byråer.
Antag att din uppsättning ”erhållna” hash innehåller 5 miljoner lösenordshashar, och även för det 98-åriga WiFi-fallet kommer 145 nycklar att finnas på dag 1 (i genomsnitt). Om ditt lösenord är bland dem, upplever du att det också är möjligt för WiFi-fallet! …. om mina beräkningar stämmer
Svar
Jag känner till en blygsam demonstration (Feb 2012, länk ) som hävdade förmågan att göra 400 miljarder gissningar per sekund på ett 25 GPU-system. I så fall skulle ett åttasiffrigt lösenord sprängas på mindre än 6 timmar; tidigare beroende på brute-force-metoden. Men det förutsätter att angriparen har tillgång till filen som lagrar det krypterade lösenordet. Och uppriktigt sagt är det enkelt att göra om du har tillgång till själva datorn. Även om du inte kan komma till hårddisken skulle angriparen helt enkelt ersätta tangentbordet med en dator som skickar ”tangenttryckningar” mycket snabbare än du kunde skriva. Det kan ta längre tid på grund av USB-anslutningens hastighet, men mänsklig skrivhastighet är inte en bra referens i den här frågan.
Som en sidoanteckning …..
När det gäller frågan om tecken som används i ett lösenord är det inte så enkelt som de flesta säger. Det som betyder mest är vad angriparen förväntar sig att ha försökt, inte vilka tecken du valde. Med andra ord, det som betyder mest är vilka tecken ALLA i systemet använder, inte bara du. Till exempel en slumpmässig sekvens av ”X”, ”Y” och ”Z” är lika svårt att gissa som en slumpmässig sekvens av alla bokstäver i alfabetet … så länge angriparna inte vet att du föredrar X, Y och Z. Men om, trots tillgängligheten av 100 siffror, det är känt för angriparen att alla bara använder X, Y och Z, så kan angriparen begränsa brute-force attacken och negera fördelen med 100 siffriga säkerhetssystem. Huvudet för detta är identiskt med ordbokens attack. Det är därför sysadmins kan tvinga alla att använda olika karaktärstyper; för att se till att en blivande inkräktare måste pröva alla permutationer.
Detta betyder inte att de specifika tecknen som används i ett lösenord inte påverkar den hastighet med vilken det bryts. Det vill säga när någon säger ”ett åttasiffrigt lösenord tar 10 års paus”, att 10 år är den MAXIMUM tid som krävs. Ett mer exakt uttalande skulle vara, ”det tar 10 år att testa alla kombinationer av åtta siffriga lösenord.” Men faktum är att vissa lösenord skulle gissas mycket snabbare beroende på teckenval och attackmetod. Till exempel, om ditt alfanumeriska system med 100 tecken (t.ex. 0-9 …… AZ) och brute-force-attacken använder sekventiella gissningar, kommer ett lösenord som börjar med ett ”0” att brytas åtminstone 100 gånger snabbare än ett lösenord som börjar med SISTA tecken i den sekvensen (låt oss kalla det ”Z”). Men det här är svårt att hantera eftersom du aldrig kan veta vilken ordning angriparen kan använda. Anser angriparen till exempel A eller 0 som den första siffran? Och är Z eller 9 den sista siffran? Eller om angriparen vet att alla använder lösenord som börjar med tecken mot slutet av alfabetet, då kan han / hon prova brute-force i omvänd ordning, och lösenordet som börjar med ”0” blir säkrare.
Tyvärr handlar hastigheten som lösenord bryts lika mycket om antalet siffror som det är förutsägbarheten för mänskligt beteende.
Kommentarer
- Ett ” 8-siffrigt lösenord skulle ” faktiskt ” blåst på mindre än ” 1 millisekund.
- OP angav att det var en offlineattack, så angriparen har ’ -fil ’, och din anpassade tangentbordskommentarer verkar inte heller ’.
- Ser ut vid lösenordsdumpar kan man anta att det första tecknet är en stor bokstav och det sista är ett tal (t.ex. lösenord 1). På samma sätt är det första tecknet sällan ett nummer om resten av lösenordet inte är alla siffror. Analysen av dessa mönster används för att optimera lösenordssprickningsalgoritmer. Så ja, tl; dr: optimerade algoritmer baserade på lösenordsanalys kan dramatiskt minska tiden för att knäcka lösenord över rent slumpmässiga permutationer.
Svar
Förväxla inte lösenordssprickningstekniker med brute force.
Brute force betyder bokstavligen att börja med ett tecken som försöker alla möjliga alfabetiskt och sedan flytta till 2 tecken, 3, 4, etc …
När en algoritm eller en heuristisk logik har tillämpats kallas den inte längre brute force.
Så varför pratar folk fortfarande om brute force ? Anledningen är att för att använda en brute force-teknik behöver du inget speciellt tänkande, och mängden människor som kan driva en brute force-teknik är förmodligen tio gånger större än mängden av dem som kan ladda ner ett sprickverktyg från internet och använd det verkligen för att knäcka lösenord.
En annan anledning är att om jag hade valt ett hårt 8-tecken lösenord som j$d1Ya+3
kommer de ”smarta” teknikerna inte att hjälpa mycket, så vissa människor vill för att förstå hur lång tid det tar brute force att fungera.
Svar
Från bit9 blogg :
För att ett lösenord ska betraktas som säkert måste det vara riktigt slumpmässigt och unikt.
Vad betyder det att vara riktigt slumpmässigt?
Många väljer ofta ett basord för sitt lösenord, som ”lösenord”, och förvandlar det till att vara logiskt ”komplext”. Så de ersätter bokstäver med specialtecken eller siffror och lägger till stora bokstäver. Så ett lösenord som var ”lösenord” blir P @ 55w0rD. I själva verket, om varje bokstav kan ha en versal, gemener eller specialtecken, finns det 6 561 (38) versioner av ”lösenord” – vilket är långt ifrån en obrytbar mängd.
Således en hackare att använda en brute force-teknik kommer inte bara att börja med ”aaaaaaaa” och gå ner på listan, ”aaaaaaab”, ”aaaaaaac”, etc. Han kommer att tillämpa intelligens på sprickan. Den intelligensen innebär oftast att använda vanliga grundord. Så inte bara kommer han att försöka knäcka det väldigt enkla ”lösenordet” utan också alla 6561 versioner, för att inkludera det komplexa ”P @ 55w0rD”.
Det finns cirka 220 000 ordboksbasord, vilket betyder att även om du lade till upp till tre extra siffror till ditt transformerade, basordbaserade lösenord och bildat något som “P @ 55w0rD123”, en dator skulle ta cirka 26 minuter att knäcka det – oavsett hur långt lösenordet är. Med fullständig slumpmässighet i ett lösenord kan hackare inte göra vanliga grundordantaganden om ditt lösenord och minska brute force-utrymmet.
Men det är inte allt. Ett säkert lösenord måste också vara unikt.
Vad betyder det att vara unikt?
Tyvärr lagrar vissa företag fortfarande faktiska textlösenord i sina databaser istället för hash, så om en hackare kommer in i systemet har han nu fler basord att lägga till i sin lista. Så om du använder samma lösenord, eller till och med basord, för två konton och en av dem är äventyrad, oavsett hur lång eller slumpmässig det är, är hash och lösenord nu kända. Hackaren kan sedan logga in på vilket konto du använder samma lösenord för. Det betyder också att om någon annan använder ditt lösenord eller någon version av det som beskrivs ovan, är du äventyrad.