Модул 2 · 2.3
Двуфакторно удостоверяване: кодове, приложения и sms
Модул 2: Пароли и вход в системата · Време за четене: 11 минути
Учебна цел: След този урок ще можете да сравнявате видовете двуфакторно удостоверяване (sms, имейл, TOTP, push), да разпознавате атаките срещу тях и да подготвите възстановяване за случая, в който изгубите телефона си.
Ключови понятия: 2FA/MFA, фактор (знание, притежание, същност), TOTP, споделена тайна, push известие, умора от MFA (MFA fatigue), sim-swap, кодове за възстановяване
Два различни вида доказателство
Паролата е нещо, което знаете. Ако изтече, всеки, който я узнае, може да влезе в акаунта Ви. Затова двуфакторното удостоверяване (2FA) изисква второ доказателство от различен вид. При повече от два фактора се говори за многофакторно удостоверяване (MFA); на практика двата термина се използват взаимозаменяемо.
Съществуват три вида фактори:
- Знание: парола или пин код.
- Притежание: Вашият телефон с приложение, ключ за сигурност, карта.
- Същност: Вашият пръстов отпечатък или лице.
Два пъти един и същи вид фактор не се броят за две: парола плюс контролен въпрос са две неща, които знаете. Нидерландският NCSC дава настоятелна препоръка за използване на MFA за всяка система и акаунт, които го поддържат, и особено за акаунтите, достъпни през интернет, и акаунтите с администраторски права. За малка фирма това са поне: пощата, хостингът и регистрацията на домейна, банката, счетоводството, онлайн магазинът, мениджърът на пароли и социалните мрежи на фирмата.
Видовете едно до друго
| Вид | Как работи | Слабо място | Срещу фишинг? |
|---|---|---|---|
| Код по sms | Услугата изпраща код на Вашия телефонен номер | Sim-swap, прихващане, номерът не е самото устройство | Не |
| Код по имейл | Услугата изпраща код в пощенската Ви кутия | Толкова сигурен, колкото и пощата Ви; ако тя е компрометирана, това вече не е втора ключалка | Не |
| Приложение за удостоверяване (TOTP) | Приложение генерира нов код на всеки 30 секунди | Тайната може да изтече при настройването или в лошо защитено резервно копие; Вие преписвате кода ръчно | Не |
| Push известие | Телефонът Ви пита „Вие ли сте?“ и Вие натискате Одобряване | Умора от MFA | Не, по-добре с въвеждане на число |
| Passkey или ключ за сигурност | Вашето устройство криптографски доказва кой сте, само за истинския домейн | Възстановяване, ако изгубите всичко | Да (урок 2.4) |
Всеки от тези видове е много по-добър от липсата на втора стъпка. Но таблицата показва и нещо друго: всичко, при което Вие преписвате код или одобрявате известие, може измамник да Ви накара да направите на неговия фалшив сайт. Американският NIST го казва направо в SP 800-63B-4: методите, при които резултатът се въвежда ръчно, не са устойчиви на фишинг.
Как работи приложението за удостоверяване
Приложението за удостоверяване използва TOTP: Time-based One-Time Password, описан в RFC 6238. Работи по следния начин:
- При настройването услугата генерира произволна споделена тайна, например 32 знака като
JBSWY3DPEHPK3PXP.... Тази тайна е вградена в QR кода, който сканирате, или я въвеждате ръчно като „ръчен ключ“. - Вашето приложение и услугата вече разполагат с еднаква тайна. След това между тях вече не е необходим контакт.
- На всеки 30 секунди и двете страни изчисляват тайната плюс текущото време в 6-цифрен код. Тъй като имат еднаква тайна и еднакъв часовник, резултатът е един и същ код.
- При влизане услугата сравнява Вашия код със собствения си резултат, обикновено с допустимо отклонение от един времеви интервал преди или след, заради лека разлика в часовниците.
Две последици:
- Тайната е истинската ключалка. Който види QR кода или ръчния ключ, може завинаги да генерира същите кодове като Вашия телефон. Затова не правете снимка на екрана с него, не го споделяйте с никого и не го изпращайте на колега.
- Кодът работи и без интернет и не минава през мобилната мрежа. Затова TOTP е по-сигурен от sms.
Приложенията за удостоверяване са от различни видове: самостоятелни на телефона Ви, вградени в мениджър на пароли, с отворен код или от голяма технологична компания, с или без криптирано резервно копие в облака. Примери са Aegis, Google Authenticator и Microsoft Authenticator, освен функцията в мениджъри като Bitwarden или 1Password. Резервното копие е полезно при нов телефон, но нидерландският NCSC предупреждава: лошо криптирано резервно копие дава достъп и на нападателя.
Sim-swap: защо sms е най-слабата форма
При sim-swap измамник поема Вашия телефонен номер. Той прехвърля номера Ви върху SIM карта или eSIM, която сам притежава. Това се случва например като се представи пред оператора Ви за Вас, или като накара Вас самите да съдействате: ГДБОП, сектор „Киберпрестъпност“, предупреждава за sms съобщения и обаждания „от името на оператора“, че SIM картата Ви трябва да бъде валидирана или спешно преминаваш към eSIM.
Щом успее:
- телефонът Ви изведнъж остава без покритие и Вие самите не можете да звъните или да изпращате sms;
- измамникът получава всички sms кодове, включително кодовете за „забравена парола“ на услуги, които използват номера Ви като средство за възстановяване;
- понякога може само с номера Ви да превземе акаунти.
Трудното е, че забелязвате проблема едва когато телефонът Ви спре да работи, често вечер или през почивните дни. Затова NIST определя sms като ограничен метод и посочва, че услугите трябва да следят за сигнали като нова SIM карта или прехвърлен номер. Нидерландският NCSC препоръчва да се избягва sms, когато е възможно, защото съобщенията не са криптирани и могат да бъдат прихванати.
Какво да направите?
- Избирайте, когато е възможно, приложение или passkey вместо sms.
- Премахнете телефонния си номер като средство за възстановяване там, където той е слабо място, или го защитете допълнително.
- Попитайте оператора си дали можете да зададете допълнителен пин код или проверка при прехвърляне на номера Ви.
- Ако покритието Ви внезапно изчезне без причина, обадете се на оператора от друго устройство. Не изчаквайте.
Sms все пак е по-добре от нищо. Ако услугата предлага само sms, все пак го активирайте.
Умора от MFA: известието, което просто отхвърляте
При push известие не се налага нищо да преписвате: телефонът Ви пита „Опитвате ли се да влезете?“ и Вие натискате Одобряване. Лесно е, и именно затова се злоупотребява с него.
Умора от MFA (наричана още push bombing) означава, че нападателят вече знае паролата Ви. Той влиза отново и отново, така че телефонът Ви получава едно известие след друго, понякога посред нощ. Американската агенция CISA описва как хората тогава от раздразнение или по погрешка натискат Одобряване, или решават, че поне едно от известията наистина е истинско. Понякога нападателят дори се обажда допълнително, представяйки се за „отдела за поддръжка“, с молба да одобрите.
Случай от практиката, описан от нидерландския NCSC: нападатели влезли в пощенските акаунти на софтуерна фирма чрез умора от MFA и после ги използвали за измама с фактури.
Правилата:
- Никога не одобрявайте известие, което не сте предизвикали сами. Дори не и двадесетото поред.
- Неочаквано известие означава, че някой знае паролата Ви. Сменете я веднага и подайте сигнал.
- Избирайте, когато е възможно, въвеждане на число: екранът за вход показва число, което въвеждате в приложението. Който не седи пред екрана за вход, не може да одобри. CISA определя това като добра междинна стъпка, но по-слаба от устойчивото на фишинг MFA.
Възстановяване: подгответе го преди да изгубите телефона
Телефонът Ви пада във вода, бива откраднат или се поврежда. Без подготовка оставате извън собствените си акаунти. Затова съществуват кодове за възстановяване (наричани още резервни кодове): редица резервни кодове, които получавате при настройването и всеки от които работи само веднъж.
- Не ги съхранявайте на същия телефон като приложението си за удостоверяване. Разпечатайте ги и ги приберете при важните си документи, или ги запишете в мениджъра си на пароли при съответния запис.
- Използвали сте код за възстановяване? Зачертайте го. Ако свършат, генерирайте нови.
- Осигурете си поне два начина за достъп: например приложението плюс кодовете за възстановяване, или два ключа за сигурност.
- При нов телефон първо прехвърлете акаунтите си и едва след това изтрийте стария.
- Знайте как работи процедурата за възстановяване на най-важните Ви услуги. Добрата услуга не връща втората Ви стъпка просто така чрез имейл или обаждане, а първо проверява, че наистина сте Вие.
На практика: ето как изглежда
В средата на WebOké, Моят WebOké винаги иска втора стъпка след паролата Ви: по подразбиране код по имейл, като можете да преминете към приложение за удостоверяване. В DirectAdmin това се нарича Two-Step Authentication, с кодове за възстановяване. В Nextcloud активирате TOTP и генерирате десет резервни кода. При другите доставчици работи по сходен начин: потърсете в профила си или в настройките за сигурност „двуфакторно удостоверяване“, „2FA“, „authenticator“ или „two-factor“.
Стъпките почти винаги са едни и същи: сканиране на QR код, въвеждане на един код за проверка, запазване на кодовете за възстановяване.
Обобщение
- 2FA комбинира два вида фактори: знание, притежание, същност.
- TOTP работи със споделена тайна и часовника. Тайната (QR кодът) е истинската ключалка: никога не я споделяйте.
- Sms е най-слабата форма заради sim-swap и прихващане, но все пак по-добре от нищо.
- Умора от MFA: никога не одобрявайте известие, което не сте предизвикали сами, и после сменете паролата си.
- Кодовете и известията не са устойчиви на фишинг; passkeys и ключовете за сигурност са (урок 2.4).
- Подгответе кодове за възстановяване и втори метод преди да изгубите телефона си.
Тест (quiz)
Задача
Задача A2.3: Свързване на приложение за удостоверяване (authenticator). Получавате QR код от тестов акаунт „WebOké oefening“. Сканирайте го с приложение за удостоверяване по избор и въведете два кода, появили се последователно. Програмата проверява дали приложението Ви изчислява правилно. Тестовата тайна няма стойност и се изтрива след 24 часа; след това премахнете тестовия акаунт от приложението си.
Задача D2.3: Включване на двуфакторно удостоверяване за най-важните Ви акаунти. Включете двуфакторно удостоверяване за Вашата поща, хостинг или регистрация на домейн, банка, счетоводство и мениджър на пароли. Запазете кодовете за възстановяване на второ място и отговорете на въпроса какво бихте направили, ако утре изгубите телефона си.
Задача D2.3: Включване на двуфакторно удостоверяване за най-важните Ви акаунти
Ето как да подходите: (1) Направете списък на най-важните си акаунти: пощенска кутия, хостинг и регистрация на домейн, банка, счетоводство, онлайн магазин, мениджър на пароли, социални медии на фирмата. (2) Включете двуфакторно удостоверяване за всеки от тях. Изберете в този ред според това, което предлага услугата: passkey или ключ за сигурност, authenticator приложение, push известие с въвеждане на номер, код по имейл, sms. (3) Запазете за всеки акаунт кодовете за възстановяване на второ място (разпечатани или в мениджъра на пароли), не на същия телефон, на който е authenticator приложението. (4) Осигурете поне два начина за влизане за всеки важен акаунт. (5) Попитайте доставчика си дали можете да зададете допълнителна проверка или ПИН код за прехвърляне на номера Ви. (6) Договорете се с екипа си: известие за вход, което не сте предизвикали лично, никога не одобрявате; подавате сигнал веднага.
Вашите отметки и бележки остават само в този браузър; не ги изпращаме никъде. Ако сте влезли, в Моите курсове запазваме само че сте изпълнили задачата.
Прочетете още
Стъпките в статиите на WebOké важат за средата на WebOké; при други доставчици работи по сходен начин.
- Двустъпково удостоверяване в Моят WebOké и настройване на приложение за удостоверяване (authenticator)
- Ръководство на WebOké 3.2: Кодът за вход по имейл (двустепенна проверка)
- Ръководство на WebOké 3.3: Използване на приложение за автентикация
- Ръководство за DirectAdmin 3.2: Настройване на Two-Step Authentication
- Ръководство за DirectAdmin 3.3: Резервни кодове и какво да правите, ако сте изгубили Вашия authenticator
- Nextcloud наръчник 3.3: Настройване на приложение за удостоверяване и съхраняване на резервни кодове
- Nextcloud наръчник 3.10: Изгубен телефон или изгубена двуфакторна автентикация: ето как да влезете отново
- Настройване на двустепенна проверка (2FA) в Nextcloud
- Нидерландският NCSC, Как да изберете метод за MFA?: https://www.ncsc.nl/multifactor-authenticatie/hoe-kies-je-een-mfa-methode
- ГДБОП, сектор „Киберпрестъпност“, сигнали за фалшиви съобщения, свързани с превземане на SIM карта: https://www.cybercrime.bg/
- CISA, Implementing Number Matching in MFA Applications (на английски): https://www.cisa.gov/sites/default/files/publications/fact-sheet-implement-number-matching-in-mfa-applications-508c.pdf
- RFC 6238, TOTP: Time-Based One-Time Password Algorithm (на английски): https://www.rfc-editor.org/rfc/rfc6238
