Да бисте се аутентификовали на веб локацији, потребно је да унесете корисничко име и лозинку. Страница затим проверава детаље о аутентификацији које сте дали упоређујући их са детаљима које је ускладиштио у својој бази података. Ако се детаљи подударају, приступ је одобрен. Ако се детаљи не поклапају, приступ је одбијен.
Нажалост, повреде података су релативно честа појава. Кршење података може бити велики проблем јер су један од делова података који су најчешће циљани подаци корисника, посебно листа корисничких имена и лозинки. Ако су лозинке само сачуване какве јесу, у отвореном тексту, онда свако ко има приступ бази података може приступити налогу било ког другог корисника. Као да им је уручен привезак за кључеве са кључем од свих врата у стамбеној згради.
Иако се много труда улаже у спречавање кршења података на првом месту, препоручује се стратегија дубинске одбране. Конкретно, безбедносни савет каже да лозинке треба да се хеширају, при чему се чува само хеш лозинке. Хеш функција је једносмерна функција која увек претвара исти улаз у исти излаз. Чак и мања промена инпута, међутим, производи потпуно другачији излаз. Најважније је да не постоји начин да се функција преокрене и добијени хеш врати у оригинални улаз. Међутим, оно што можете да урадите је да хеширате нови улаз и видите да ли се излаз поклапа са похрањеним хешом у бази података. Ако јесте, знате да се лозинка подудара, а да никада не знате праву лозинку.
Корисно, ово такође значи да ако нападач провали базу података, не добија листу одмах корисних лозинки, већ уместо њих добија хеш. Да бисте могли да користите ове хешове, они морају бити разбијени.
Разбијање хешева лозинки помоћу памети
Разбијање хеш лозинке је процес утврђивања оригиналне лозинке коју хеш представља. Зато што не постоји начин да се хеш функција преокрене и хеш претвори у лозинку. Једини начин да разбијете хеш је да погодите лозинку. Једна метода је употреба грубог напада. Ово буквално укључује испробавање сваке могуће лозинке. То значи да почнете од „а“, испробајте свако слово, у оба случаја, и сваки број и симбол. Тада нападач треба да испроба све комбинације од два знака, комбинације од три карактера итд. Повећање могућих комбинација знакова је експоненцијално сваки пут када додате знак. Ово отежава ефикасно погађање дугих лозинки чак и када се користе брзи алгоритми за хеширање са моћним уређајима за разбијање ГПУ-а.
Одређени напор се може уштедети гледањем захтева за лозинком на веб локацији и не покушавањем лозинки које би биле прекратке да би биле дозвољене или које не садрже број, на пример. Ово би уштедело неко време и још увек се уклапа у класу напада грубом силом покушавајући све дозвољене лозинке. Напади грубе силе док су спори, ће – ако се оставе довољно дуго са пуно процесорске снаге – на крају разбити било коју лозинку јер ће се испробати све могуће комбинације.
Проблем са нападима грубе силе је што они нису баш паметни. Напад на речник је варијанта која је много више циљана. Уместо да само испроба било коју могућу лозинку, он покушава са листом наведених лозинки. Успех ове врсте напада зависи од листе лозинки и речника у питању.
Прављење образованих нагађања
Речници лозинки се обично праве од претходно разбијених лозинки од других повреда података. Ови речници могу да садрже хиљаде или милионе уноса. Ово се заснива на концепту да су људи лоши у креирању јединствених лозинки. Нажалост, докази о кршењу података показују да је то и случај. Људи и даље користе варијације на реч „лозинка“. Друге уобичајене теме су спортски тимови, имена кућних љубимаца, називи места, називи компанија, мржња према свом послу и лозинке засноване на датуму. Ово последње се посебно дешава када су људи приморани да редовно мењају своје лозинке.
Коришћење речника лозинки значајно смањује број нагађања које треба направити у поређењу са нападом грубом силом. Речници лозинки такође имају тенденцију да садрже и кратке и дуже лозинке, што значи да се неке лозинке могу испробати до којих се не би дошло чак ни годинама или грубим нагађањем. Приступ се такође показао успешним. Статистика варира у зависности од повреде података и величине и квалитета коришћеног речника, али стопа успеха може премашити 70%.
Стопе успеха се могу још више повећати уз помоћ алгоритама за преклапање речи. Ови алгоритми узимају сваку реч у речнику лозинки и затим је мало модификују. Ове модификације имају тенденцију да буду стандардне замене знакова и додавање завршних бројева или симбола. На пример, уобичајено је да људи замене слово „е“ са „3“, а „с“ са „$“ или да додају узвичник на крају. Алгоритми за мењање речи креирају дупликате сваког уноса у речнику лозинки. Сваки дупликат има другачију варијацију ових замена карактера. Ово значајно повећава број лозинки за погађање и такође повећава стопу успешности, у неким случајевима изнад 90%.
Закључак
Напад речником је циљана варијација напада грубом силом. Уместо да се покушавају све могуће комбинације знакова, тестира се подскуп комбинација знакова. Овај подскуп је листа лозинки које су претходно пронађене и ако је потребно разбијене у ранијим повредама података. Ово значајно смањује број нагађања које треба направити док покривају лозинке које су раније коришћене, ау неким случајевима и често виђене. Напад речником нема тако високу стопу успеха као напад грубом силом. То, међутим, претпоставља да имате неограничено време и моћ обраде. Напад речником има тенденцију да постигне прилично високу стопу успеха много брже него напад грубом силом. То је зато што не губи време на изузетно невероватне комбинације ликова.
Једна од главних ствари које треба да урадите када смишљате лозинку је да се уверите да се не појављује на листи речи. Један начин да то урадите је да направите сложену лозинку, а други је да направите дугачку лозинку. Генерално, најбоља опција је да направите дугачку лозинку састављену од неколико речи. Важно је само да те речи не чине стварну фразу као што би се могло наслутити. Они би требали бити потпуно неповезани. Препоручује се да одаберете лозинку од 10 знакова са 8 као апсолутним минимумом.