Как напукването на груба сила може да разкрие вашата парола

Чук се опитва да извърши груба сила, за да отвори катинар.

В криптографията атака с груба сила се опитва да дешифрира шифровано съдържание чрез познаване на ключа за криптиране. Тази атака е възможна, когато ключът за криптиране е кратък или ако атакуващият има достатъчно информация, за да опита и да отгатне ключа.

Що се отнася до уеб формулярите, нападателите нямат много време да гадаят ключ. Google или Facebook само ще позволят на някой да се опита да влезе във вашия акаунт толкова много пъти, преди да го „заключи“.

Когато обаче хакерите получат вътрешната база данни на дадена компания, те имат цялото време в света да гадаят паролата ви – дори и да е криптирана.

Уебсайтовете трябва да солят и пароли за хеш за защита на потребителите

Когато уебсайтовете съхраняват вашите пароли, те трябва (но не винаги) да солят и хешират паролите на потребителите, така че някой, който притежава потребителската база данни, да не може да го използва.

Функциите на хеш, като SHA-256, са еднопосочни криптографски функции. Всяко парче данни, текст, изображение или число може да бъде „хеширано“, и независимо колко е дълъг входът, резултатът винаги ще бъде 256 бита по дължина. Когато се кодира в шестнадесетичен (като по-долу), това води до 64-символен низ.

Солените хешове добавят допълнителна защитаПримери за „осолени“ хеши, отново хеширани.

Как нападателите разбиват паролата ви

За да затруднят потенциалните хакери, уебсайтовете ще променят паролите със „сол“, което е произволно данни (вижте как работят осоляването и хеширането).

Изчисляването на хеш от текст, картина или файл е тривиално и няма да отнеме на компютъра значително време или ресурси. Но ако всичко, което знаете, е хешът, единственият начин да разберете първоначалната стойност е брутална атака. Ето защо хеширащата функция се нарича също еднопосочно криптиране. Лесно е да преминете от текст към хеш, но много трудно да отидете по другия път.

Крекери за пароли, притежаващи открадната база данни на потребители, може да виждат списъка с потребителски имена, стойността на солта за всеки потребител и хеша.

С тези подробности те могат да се опитват да познаят паролите на всеки потребител, да ги солят и хешират и да проверят резултата им спрямо хеша, съхраняван в базата данни. Ако хешът съвпада, те знаят, че са намерили паролата.

Атакистът трябва да въведе точно потребителското име и паролата, тъй като промяната на хеша дори и малко бит (както се вижда по-горе) ще доведе до съвсем различен хеш.

Колко комбинации от пароли има?

Ако приемем, че паролата се състои само от малки букви, за всеки знак има 26 възможности. Следователно можете да очаквате да успеете да познаете парола с един знак в рамките на 13 опита.

Паролата с два знака има опции 26 × 26 и ще отнеме (26 × 26) / 2 опита за дешифриране.

Формулата с = (т ^ п) / 2 описва връзката между възможностите за всеки герой (Т), дължината на паролата (н) и очаквания брой догадки (° С).

Връзката между дължината на паролата и броя на предположенията за пропукване на паролата

Графика, която показва колко предположения са необходими, за да се разбият пароли с различна дължина.

  • Малки пароли (m = 26)
  • Големи и малки букви (m = 52)
  • Горни и малки букви и специални знаци (m = 67)

Въпреки че сложността и дължината допринасят за силата на паролата, е много по-ценно да добавите символ, отколкото да увеличите сложността му.

Добавянето на допълнителен символ към парола с четири знака, като се използват само малки букви, прави 26 пъти по-трудно да се пропусне, докато удвояването на възможните символи до 52 (т.е. добавяне на големи букви) само прави 16 пъти по-трудно да се напука.

Логаритмичната скала прави връзката между дължината на паролата и необходимите предположения за напукване по-очевидна

Графика, която показва мащаба на дължината на паролата спрямо необходимите опити да се познае.

  • Малки пароли (m = 26)
  • Големи и малки букви (m = 52)
  • Горни и малки букви и специални знаци (m = 67)

Колко време отнема да напука парола?

Колко бързо нападателят може да разбие паролата ви зависи от това колко бърз е компютърният хардуер на нападателя.

Един обикновен компютър вероятно би направил около 100 000 догадки в секунда. Специализиран графичен процесор може да бъде 100 пъти по-бърз от това и е възможно да се създаде ферма за пропукване на парола със стотици графични процесори.

Ако приемем, че нападателят има обикновен компютър, способен на 100 000 догадки в секунда, всяка малка парола с по-малко от шест знака ще отнеме по-малко от една минута.

Но времето за решаване се увеличава експоненциално и за осем знака паролата ще отнеме 12 дни, за да се пробие. Паролата с 12 знака ще отнеме 12 000 години.

Дали 12-знакова парола е достатъчна, зависи от стойността на това, което защитава и мащаба на атаката. Ако нападателите са само след една цел, 12-знакова парола може да бъде в обсега им.

Тогава е изключително важно да защитите ценни данни (като лична информация или частни ключове на Bitcoin) с много по-дълги пароли. При криптиране на вашия Bitcoin портфейл например ключ от над 32 знака може да бъде добра идея.

Колкото повече информация има нападателят, толкова по-бързо ще се получи пукнатина

Горните изчисления предполагат, че нападателят не знае нищо за паролата, освен дали тя включва главни или малки букви.

В действителност нападателят може да има някакви предположения. От предишните дешифрирани списъци с пароли знаем какви са най-често срещаните пароли. Ако няма конкретна цел, нападателят може да проверява често срещаните пароли с имейл списък сравнително бързо.

Хората също са склонни да избират пароли, които имат само номера в края (като hello111) и някъде съдържат името на услугата или URL. Паролата, използвана за Gmail, която съдържа думите google или gmail и има четири цифри в края (като gmailpanther1234), е лесно да се пропука, дори ако е дълга.

Хората също са склонни да използват имена на своите домашни любимци или деца като пароли, понякога в комбинация с дати или години на раждане, което прави паролата им по-лесна за отгатване, отколкото хората могат да мислят.

Използвайте силни пароли с мениджърите на пароли

Най-важното правило е: Винаги използвайте силна парола.

За да избегнете труда да съставите и запомните толкова много надеждни пароли, използвайте произволен генератор на пароли, за да създадете удобно дълги, уникални и наистина не използваеми пароли.

Ако след това съхраните тези пароли с мениджър на пароли, ще трябва да запомните само една парола (която бихте могли да генерирате с Diceware, за да я направите допълнително защитена). В допълнение, двуфакторното удостоверяване помага да се защитят акаунти от още по-сложни атаки, като пароли, получени чрез фишинг атаки.