Како се пробијају лозинке?

У налоге се ретко проваљује онако како то филмови приказују. У пракси нападачи долазе до лозинке на један од три начина. Лозинка се пробија: открива се испробавањем једног кандидата за другим, обично упоређивањем са базом хешева украденом са сервиса. Лозинка се краде: уноси се на лажној страници или је пресреће злонамерни софтвер. Или се поново користи: нападачи узимају лозинку из ранијег цурења података и испробавају је на другим сервисима, рачунајући на то да ју је власник користио и тамо. Ова разлика је важна, јер против сваког начина помаже нешто друго. Овај чланак пролази кроз главне методе и наводи шта помаже против сваке од њих.

Поновно коришћење лозинки из претходних цурења

Сваке године долази до упада у сервисе, а њихове базе података о корисницима завршавају у продаји или се слободно деле. Нападачи узимају парове адресе е-поште и лозинке из једног цурења и аутоматски их испробавају на банкама, добављачима е-поште, онлајн продавницама и друштвеним мрежама — напад познат као испуњавање акредитива (credential stuffing). Овај поступак не укључује никакво погађање и успева из једноставног разлога: људи поново користе исте лозинке. Чак ни јака лозинка овде не помаже ако је свуда иста.

Шта помаже: другачија лозинка за сваки налог, тако да цурење података на једном сервису не отвара ништа друго.

Пецање

Страница за пецање (phishing) је копија праве странице за пријаву на мало другачијој адреси, до које се долази преко линка у поруци е-поште или поруци која делује хитно: блокиран налог, пошиљка, рачун. Све што тамо упишете иде право нападачу. Дужина и случајност лозинке ту не праве никакву разлику, јер је уносите сами.

Шта помаже: отварајте сајтове из сопствених обележивача уместо преко линкова. Користите менаџер лозинки: он нуди унос сачуване лозинке само на адреси за коју је сачувана, па ако не понуди ништа, то је упозорење да проверите адресу пре него што је ручно укуцате. И укључите двофакторску аутентификацију, због које сама украдена лозинка није довољна. Међутим, једнократни кодови се могу украсти пецањем на исти начин као и лозинка. Приступни кључеви (passkeys) и FIDO2 сигурносни кључеви не могу, јер одговарају само правом сајту — што је разлика коју NIST назива отпорношћу на пецање.

Злонамерни софтвер

Програми познати као infostealers копирају лозинке сачуване у прегледачу, заједно са колачићима сесије, и шаљу их у року од неколико секунди након покретања, док keyloggers бележе све што се укуца. Украдени колачић сесије може омогућити нападачу приступ већ пријављеном налогу, без лозинке и без другог фактора. Такви програми обично долазе кроз пиратски софтвер, лажна ажурирања и прилоге у е-пошти.

Шта помаже: инсталирање софтвера само из званичних извора, редовно ажурирање система и прегледача, као и опрез према сваком неочекиваном прилогу — иако ништа од тога није гаранција. Ако је уређај био заражен, реагујте са другог уређаја за који знате да је чист: промените лозинке, искористите опцију сваког сервиса за одјаву са свих активних сесија и проверите да ли су адреса е-поште за опоравак, број телефона и подешавања двофакторске аутентификације и даље ваши. Очистите заражени уређај пре него што се поново пријавите на њему.

Погађање у формулару за пријаву

Испробавање лозинки директно на веб-сајту је споро: добро направљен сервис уводи кашњење, блокира приступ или тражи captcha проверу након неколико погрешних покушаја. Због тога је упорно нападање једног налога неефикасно, па је чест супротан приступ: неколико најчешћих лозинки — 123456, password, qwerty123 — испробава се на милионима налога, што се назива password spraying. Циљано погађање ради на исти начин са личним подацима: имена деце и кућних љубимаца, рођендани, омиљени тим, што је све лако пронаћи на друштвеним мрежама.

Шта помаже: свака лозинка која није међу честима и није састављена од података о вама — погледајте чланак како направити јаку лозинку.

Пробијање украдених хешева ван мреже

Правилно изграђен сервис не чува лозинке у читљивом облику. Он чува хешеве — излаз једносмерне функције из којег се лозинка не може поново израчунати. Када таква база процури, нападачи тестирају могуће лозинке: на сопственом хардверу рачунају хешеве кандидата и пореде резултате. Ниједан формулар за пријаву их не успорава, а брзина зависи од хеш функције коју је сервис изабрао и од њених подешавања. За брзе, застареле функције као што је MD5, једна модерна графичка картица тестира десетине милијарди кандидата у секунди. Функције намењене за чување лозинки — Argon2id, или bcrypt у старијим системима — намерно су споре и смањују ту брзину за много редова величине, због чега их важеће препоруке наводе.

Речнички напади

Кандидати нису случајни. Алати за пробијање почињу са листама правих лозинки из ранијих цурења и са речницима речи и имена, а затим примењују правила која опонашају људске навике: велико почетно слово, година или узвичник на крају, слово замењено сличним симболом. Лозинка као што је Summer2024! делује сложено, а у ствари је међу првим кандидатима који се испробавају. Додавање соли (енгл. salting) — додавање јединствене случајне вредности свакој лозинки пре хеширања — спречава нападаче да користе унапред израчунате табеле, познате као rainbow табеле, и да пробију све идентичне лозинке одједном, али предвидљиву лозинку не чини нимало мање предвидљивом.

Напад грубом силом

Када се речници исцрпе, преостаје испробавање сваке комбинације, а за случајно генерисану лозинку дужина је оно што одлучује исход. Као илустрацију, узмите брзи хеш и лозинку у којој је сваки знак изабран независно, са једнаком вероватноћом, између 94 штампана ASCII знака, искључујући размак. Постоји око 6 × 1015 таквих лозинки од 8 знакова; при брзини од десет милијарди погађања у секунди, испробавање свих траје око недељу дана, а у просеку се права лозинка појави за половину тог времена. За 12 знакова, испробавање свих на истом хардверу трајало би око 1,5 милиона година, а за 16 та бројка превазилази свако смислено поређење. То је суштина аргумента у корист дугих случајних лозинки: речници су против њих од мале користи, а под овим претпоставкама испробавање сваке комбинације није практично изводљиво. Наш снажан генератор лозинки ствара их у вашем прегледачу и приказује процену ентропије за сваку у битовима.

Шта помаже: дугачка лозинка без људских образаца у себи, што у пракси значи генерисана лозинка. Не можете контролисати како сервис чува вашу лозинку, па претпоставите најгори сценарио и изаберите ону која одолева погађању чак и када се чува брзом хеш функцијом.

Посматрање и тражење

Најстарије методе не захтевају никакву технологију. Лозинка се прочита преко рамена, са папирића залепљеног на монитор или са екрана подељеног у видео-позиву; или је нападач једноставно затражи, представљајући се као техничка подршка или колега — што се назива друштвени инжењеринг. Ниједан легитиман сервис никада од вас неће тражити лозинку телефоном, е-поштом или путем ћаскања.

Шта помаже: никада никоме не изговарајте и не шаљите своју лозинку и немојте је држати на местима где је други могу видети.

Шта све ово значи у пракси

Против различитих напада делују различите навике, а три од њих обаве највећи део посла: јединствена лозинка за сваки налог, генерисана уместо измишљена, уз укључену двофакторску аутентификацију — или приступни кључ уместо лозинке, где год сервис то нуди. Оне не покривају све — на пример, украдену сесију — због чега су и горњи савети о злонамерном софтверу подједнако важни. Више чланака прикупљено је у материјалима о лозинкама.