Подсигурете паролите си

Подсигурете паролите си

Този текст е своеобразно продължение на предишния и затова в някаква степен предполага, че вече ползвате някакъв мениджър на пароли и искате да надграждате. Макар и това да не е непременно задължително. Иначе още преди две години и половина писах в „Тоест“, че паролите вече не са достатъчни, за да опазят достъпа ни до различни системи.

Все повече и повече нарастват случаите, когато някой бива хакнат, защото някой друг е налучкал или се е домогнал до паролата му. Дори когато паролите са сложни и дълги, пак не сме защитени от пробив. Можем да направим нещо допълнително, така че да минимизираме възможността някой да открадне и използва паролите ни.

Може би сте ползвали банков сейф, или най-малкото сте виждали по филмите как в помещението заедно със собственика на сейфа влиза служител, който носи втори ключ. И сейфът се отваря само когато собственикът превърти своя ключ в едната ключалка, а служителят – неговия в другата. Ако един от двата ключа не е наличен, съдържанието на сейфа остава недостъпно.

Същата практика може да се приложи и към паролите – ако приемем, че те са единият ключ, който е нужен, за да достъпим акаунта си, нека добавим още един, така че само когато са налични и двата, да получаваме достъп до сайт или система. Идеята е, че ако някой е успял да открадне парола, тя да не е достатъчна, а да е нужно още нещо, за да се получи достъп.

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

  • може да е зададен предварително;
  • да се генерира от самата система, в която искате да влезете, и тя да ви го изпрати като SMS до телефона ви (който предварително сте задали в профила си);
  • да се генерира от някакво трето приложение, което имате инсталирано на смартфона си;
  • да се генерира от специално хардуерно устройство за такава цел.

Навярно по някакъв повод вече ви се е налагало да използвате поне нещо от гореизброеното. Много е вероятно банката ви да ви изпраща кодове в SMS-и, за да потвърдите плащане с карта например. Спорно е дали това е „втори“ фактор, но поне процесът е познат.

По възможност трябва да спрете да използвате предварително зададени статични кодове (това не е сериозно!) или такива, които получавате като SMS. Те създават илюзорно усещане, че сте положили някакви допълнителни усилия да се защитите, но реално са силно уязвими. Атаките към SS7 (Signalling System No. 7) са любимо занимание на разни кракери, защото SS7 е колекция от протоколи на вече повече от половин век. В момента се използват и в контекст, в който никога не е бил замислян, когато са били създавани.

Това всъщност е сигнализация, чрез която телефонните централи си обменят служебни съобщения, най-общо казано. После на някое алчно копеле му e хрумнало, че може да прави луди пари от нищото, като продава на потребителите възможността да си изпращат кратки съобщения (SMS) по SS7. Проблемът е, че не е много трудно тези съобщения да стигат и до не когото трябва. SIM-карти се клонират и подменят (и без знанието на собственика).

Напоследък картите стават виртуални (eSIM), което дори улеснява техния porting и swaping, включително чрез социално инженерство (заблуда на служители на оператора), които преиздават „загубени“ или „повредени“ карти. Има случаи, когато кракери успяват да пренесат номерата на жертвите си в друг оператор, за да се сдобият с нови SIM-карти за съответните номера.

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

Ако официално попитате телеком дали някой друг има достъп до вашите SMS-и, те най-вероятно ще ви отговорят, че за някакво време по закон се пази следа за това кой на кого е изпращал SMS, но не и съдържанието. Само че това не е пълната истина. Технически персонал на телекома с определени права би могъл да има достъп до съдържанието на SMS-ите на клиентите.

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

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

Затова вместо еднократни кодове по SMS има два други много по-добри подхода. Разбира се, че и те не са идеални, но със сигурност са за предпочитане.

Приложения, които генерират еднократни кодове за достъп

Това е лесен, евтин и доста приличен начин да добавите втори фактор към удостоверяването си поне пред по-важните сайтове, които ползвате. А това са електронната поща, интернет банкирането, услуги, чрез които съхранявате важни файлове, и други подобни. Силно препоръчително е, разбира се, да активирате двуфакторна автентикация навсякъде, където е възможно. Уви, все още има сайтове, които не я предлагат на клиентите си – избягвайте да ползвате такива, ако е възможно.

Между другото, търсете активирането на многофакторното удостоверяване някъде из настройките на сигурността на профила ви – най-често тя се отбелязва със съкращения като 2FA (2-factor authentication), MFA (multi-factor authentication) или TOTP (time-based one-time passwords). Тези неща се различават в детайли, но доста често се ползват в сходен контекст.

Идеята накратко е да конфигурирате приложение, което се грижи да изчислява кодове с кратка валидност (TOTP), които стават задължителен втори ключ освен паролата ви за достъп. Това приложение обикновено е най-удобно да работи на смартфона ви, защото се предполага, че той винаги е с вас.

И напук на това, което биха ви подсказали познати или други статии из интернет, силно не препоръчвам да ползвате популярните Google Authenticator и Microsoft Authenticator. Вместо тях аз предпочитам Authy (без да твърдя, че и то няма трески за дялане). Но поддръжката на повече устройства, и то от различни платформи (iOS, Android, MacOS и Windows), е много удобно. Това ще ви улесни, ако някой ден решите да смените устройствата си с такива от друг лагер, както и ако случайно загубите или ви откраднат телефона, защото конфигурациите ви се пазят в криптиран бекъп и се синхронизират между устройствата, които сте регистрирали.

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

Реално това със загубата на устройство е голям проблем, затова винаги при активиране на двуфакторна автентикация генерирайте резервни ключове, които пазете на сигурно място (или поне различно от обичайното). Така ще можете да върнете достъпа си при инцидент с телефона, на който работи приложението, генериращо еднократните кодове. Повечето сайтове ще ви накарат задължително да генерирате резервни (backup) кодове така или иначе.

Добра практика е да имате два различни инструмента за втори фактор. С уговорката, че ако единият от тях е да получите код в SMS, вие пак сте уязвими към въпросните атаки. Та пак да кажа – където можете, премахвайте тази опция.

И тук идваме до следващото възможно, или по-точно едно от най-добрите възможни решения...

Специализирано устройство

Те са много и понякога различни. Част от тях могат да генерират еднократни пароли подобно на приложенията, които обсъждахме по-горе. Други в добавка поддържат оторизация и криптография с публичен ключ, U2F и/или FIDO2, някои дори могат да съхраняват и данни (криптирани). Някои се закачат към компютри и телефони по USB или айфонския lightning port, други работят безжично, като ги доближите до телефон с NFC. Има дори и такива с Bluetooth. А някои можете да ползвате и като портфейли за криптовалути.

Те са много добро решение за втори фактор, ако успеете да възпитате у себе си навика да носите такова устройство със себе си. Има много малки такива, които можете да „забравите“ в някой от USB-портовете на компютъра си, но това е една доста рискована идея, защото ако някой открадне компютъра ви или го оставите на публично място, ще сте подарили и ключовете си за дигиталния ви свят. Аз харесвам тези модели, които могат да се носят заедно с връзка ключове. А и те са един вид ключове. :)

Считат се за по-сигурни от генераторите на TOTP, защото са базирани на криптография с публичен ключ и няма „споделена тайна“ между сайта и нашето устройство, която може евентуално да бъде прихваната. Не са уязвими на фишинг. Не трябва да въвеждате кодове. Обикновено устройството не работи, ако не сте до него и не го активирате с бутонче или докосване – т.е. приема се, че няма как да бъде излъгано да работи автономно. Частните ключове не напускат устройствата. Дори някой да успее да го клонира, вътре има едни броячи на успешни оторизации и в момента, в който този брояч започне да не излиза, оторизацията не минава. (Това последното зависи от протокола, но е налично – б.а.)

И сега лошата новина... Дотук можехте да минете безплатно. Освен ако не плащате вече за мениджър на пароли като Bitwarden, 1Password, LastPass или друг. Но тези хардуерни устройства за двуфакторна автентикация са скъпички. Не всички: има и по-достъпни, и по-скъпи, но при всички случаи струват нещичко – общо взето в интервала от 20 до 100 долара. И това е цена, която при всички случаи ви съветвам да платите, макар да ви съчувствам, че не стига, че се опитвам да ви усложнявам живота с някакви засукани втори ключове, ами това ще ви струва и пари.

Сигурността не е безплатна – нужна е самодисциплина, дискомфорт, а много често и доста пари. Но всъщност далеч по-малко от тези, които би се наложило да похарчите, ако някой кракер ви създаде грижи. Дето се вика, нищо не е задължително – можете да ползвате и прости пароли като „123123“ или да ходите с гол задник по площада. Само не се сърдете на никого за последствията.

И ако сте истински отговорни към сигурността си, всъщност трябва да купите не едно, а две такива устройства и да ги регистрирате поне в най-важните си акаунти. Едното ви е нужно, за да го разнасяте със себе си непрекъснато, а другото е резервно, в случай че загубите първото. Не е нужно да са напълно идентични. Може резервното да е по-евтино, а може и да е софтуерно приложение за генериране на еднократни кодове. Само не даунгрейдвайте до SMS-и. :)

Многофакторната автентикация всъщност е комбинацията от различни такива методи.

Преди да си изберете джаджа, прочетете внимателно коя какво предлага и поддържа. Ако се загубите в неясни термини и съкращения, потърсете съвет от познат, който е грамотен по темата. Но в общия случай базовите или средната хубост модели са универсалният избор – като трябва да съобразите какви USB портове има компютърът и телефонът ви.

Ако не търсите безжични екстри и сте начинаещ в тези води, разумно е първо да си купите по-евтин модел като HyperFIDO Mini или някой от моделите на Solo. Solokeys ще се харесат и на феновете на софтуера с отворен код, както и Nitrokey. Много богат избор и с добра поддържка за голямо многообразие платформи са джаджите на Yubico, наричани Yubikeys. Те имат и чудесни съветници на сайта си, които да ви ориентират какво ви е нужно.

P.S. В текста използвам понятието автентикация като директна заемка от английски, доколкото нямаме подходяща българска дума. В най-общ смисъл под автентикация се разбира удостоверяване на автентичност или истинност. Понятието идентификация обикновено се ползва в контекста на удостоверена самоличност и има близък, но не идентичен смисъл с автентикацията.

Йовко Ламбрев

Йовко Ламбрев

ИТ архитект, блогър и (все по-рядко) фотограф. Либерал. Все още вярва, че можем да направим света по-добър.
Пловдив, България