Докладно розглядаємо переваги та недоліки найпопулярнішого способу (двофакторна автентифікація або 2FA) захисту облікових записів в Інтернеті.
Передові методи безпеки облікових записів включають двофакторну аутентифікацію (2FA). Вона використовується повсюдно як для корпоративних, так і для особистих облікових записів користувачів по всьому світу. У класичному розумінні цей спосіб аутентифікації передбачає доставку на телефон або електронну пошту спеціального коду, який необхідно ввести після введення пароля від облікового запису. Однак є й інші форми 2FA, які ми обговоримо у цій статті.
Двофакторна автентифікація забезпечує додатковий рівень захисту облікового запису від кіберзлочинців, але за великого бажання зловмисники все одно знайдуть спосіб її обійти. Саме розуміння того, яким чином хакери зазвичай обходять 2FA, дозволить не потрапити на їх можливі хитрощі і убезпечити свій обліковий запис.
Що таке двофакторна автентифікація?
2FA — це другий рівень автентифікації, який використовується як додаток до класичної комбінації імені та пароля користувача при вході до облікового запису. Двофакторна автентифікація може бути налаштована на різні способи підтвердження володіння акаунтом. Все залежить від конкретних потреб самої системи або користувацьких переваг.
Іноді для певного облікового запису необхідний найвищий рівень захисту. Тоді на допомогу приходить так звана “багатофакторна автентифікація” (MFA), що включає кілька факторів перевірки. Наприклад, пароль+фізичний токен+біометрія. Такий спосіб захисту облікового запису набагато надійніший за класичну двофакторну аутентифікацію.
Які існують типи двофакторної аутентифікації?
Деякі сервіси та програми дозволяють вибирати, який тип перевірки на додаток до пароля використовувати, а деякі — ні. Розглянемо всі можливі варіанти 2FA.
2FA за СМС
Цей метод автентифікації вимагає, щоб користувач вказав номер телефону при першому налаштуванні профілю. Потім при кожному вході в систему (або першому для нового пристрою) користувач повинен буде вводити одноразовий код підтвердження (One-Time Password, OTP), що складається найчастіше з шести цифр. Такий код надходить як текстове повідомлення на телефон.
Оскільки більшість людей мають мобільні телефони з підтримкою SMS, а додаткових додатків встановлювати не потрібно, цей метод перевірки є зараз, ймовірно, найпопулярнішим.
Проблеми з 2FA по СМС виникають лише при втраті сигналу мережі або за наявності проблем із працездатністю телефону.
2FA через голосовий виклик
Цей метод аутентифікації передбачає додзвонити на телефон користувача. При вході в будь-який мобільний додаток самого факту дзвінка, як правило, вже достатньо для авторизації, і програма автоматично підтверджує вхід. Але в деяких сервісах 2FA через телефонний дзвінок налаштований таким чином, що на виклик потрібно обов’язково відповісти, прослухати шестизначний код, озвучений роботом, і потім вказати його у формі.
2FA електронною поштою
2FA електронною поштою працює так само, як 2FA по СМС, але одноразовий код підтвердження надходить вже у вигляді електронного листа на пошту користувача. Одним з варіантів автентифікації електронною поштою є не введення коду, а перехід за унікальним посиланням, який і надає доступ до облікового запису.
2FA електронною поштою вимагає обов’язкового підключення до Інтернету для отримання листа, хоча в сучасних реаліях можна і не рахувати це за недолік. Однак, що точно не є гідністю даного методу, так це часті визначення подібних листів як спаму. Відповідно, на процес авторизації через пошук листа може йти більше часу.
До того ж, зловмисникам елементарно зламати обліковий запис з автентифікацією електронною поштою, якщо вони вже мають доступ до цієї самої пошти. Коли як аутентифікація по СМС змушує зловмисника перебувати фізично поруч із жертвою; вкрасти його телефон, щоб підглянути код або вдатися до складної атаки методом SIM-jacking.
2FA через TOTP-програми для аутентифікації
Алгоритм тимчасових одноразових паролів (Time-based One-time Password Algorithm, TOTP) – це форма перевірки, яка вимагає від користувача встановлення на смартфон спеціальної програми, як Microsoft Authenticator, Google Authenticator і т.п.
Коли користувач заходить у певний онлайн-сервіс з нового або невідомого пристрою, йому пропонується відкрити програму для автентифікації на своєму мобільному телефоні. Додаток генерує часовий одноразовий код, довжиною від шести до восьми цифр, який оновлюється кожні 30 секунд. Після введення цього коду у відповідну форму, користувач отримує доступ до облікового запису.
Однією з переваг додатків-автентифікаторів є те, що їх легко впровадити та використовувати. Користувач одразу отримує пароль для підтвердження, і йому не потрібно чекати на листи або СМС. Цей спосіб також надійніший, ніж 2FA по SMS, тому що код не можна підглянути на екрані блокування або пов’язаному по Bluetooth фітнес-браслеті. Смартфон необхідно як мінімум розблокувати, а може навіть і ввести окремий пароль для доступу до програми TOTP.
Якщо користувач не налаштував один PIN-код на всі випадки життя, то і зламати його при використанні автентифікатора TOTP буде вкрай непросто.
2FA через апаратний ключ
Цей метод використовує для авторизації фізичний пристрій. Це може бути, наприклад, флешка USB, вставлена в комп’ютер, NFC-карта або TOTP-брелок, який генерує код для авторизації кожні 30/60 секунд.
Апаратні ключі не потребують підключення до Інтернету. Це один із найпростіших та найбезпечніших методів 2FA. Однак, випуск і обслуговування подібних пристроїв для кожного користувача може бути дорогим для бізнесу. А якщо важливо, щоб користувач носив такий ключ із собою, додається ще й ризик втратити його.

6 способів обійти двофакторну автентифікацію
Незважаючи на всі переваги двофакторної аутентифікації, кожен із вищеописаних методів має свої вразливості. Нижче опишемо способи, як саме хакери можуть обійти двофакторну автентифікацію.
Обхід 2FA за допомогою соціальної інженерії
Соціальна інженерія – це нетехнічна атака, за допомогою якої зловмисник обманом змушує жертву несвідомо надати важливу інформацію про секретний код. Вже маючи на руках логін та пароль для входу, зловмисник дзвонить або відправляє жертві повідомлення з переконливою розповіддю, закликаючи передати 2FA-код.
В інших випадках зловмисник вже має достатню базову інформацію про жертву, щоб зателефонувати від її імені до служби підтримки цільового сервісу. Злочинець може видати себе за користувача та сказати, що його обліковий запис заблоковано, або є якісь неполадки із додатком-автентифікатором. У разі успіху хакер як мінімум отримає одноразовий доступ до облікового запису жертви, а якщо пощастить, то взагалі скине і поміняє пароль користувача.
Обхід 2FA за допомогою відкритої авторизації (OAuth)
OAuth — це відкритий протокол авторизації, який надає програмам та сервісам обмежений доступ до даних користувача без розголошення пароля. Наприклад, для входу до програми потрібно дати дозвіл на частковий доступ до облікового запису Facebook. Таким чином обрана програма отримує частину повноважень облікового запису, але не зберігає у своїх базах дані, пов’язані з паролем користувача.
За так званого «фішингу згоди» зловмисник вдає законний додаток з авторизацією OAuth і відправляє жертві повідомлення з проханням надати доступ. Якщо жертва дасть такий доступ, зловмисник зможе робити все, що йому заманеться, у межах запитаного доступу. Фішинг згоди дозволяє зловмиснику ігнорувати облікові дані та обходити будь-яку налаштовану двофакторну автентифікацію.
Обхід 2FA за допомогою Brute-Force
Іноді зловмисники вибирають грубий метод «повного перебору», особливо якщо використовується застаріле або захищене обладнання. Наприклад, деякі старі TOTP-брелоки мають довжину коду всього чотири цифри. Отже, їх набагато легше зламати.
Перешкодою для хакерів є те, що одноразові коди, що генеруються такими брелоками, дійсні лише протягом короткого часу (30/60 секунд). Таким чином, зловмисники мають обмежену кількість кодів, які можна встигнути перебрати, перш ніж вони зміняться. А якщо двофакторна автентифікація налаштована коректно, то реалізувати атаку такого типу буде в принципі неможливо – користувача заблокує після кількох неправильно введених кодів OTP.
Обхід 2FA згенерованими раніше токенами
Деякі платформи дозволяють користувачам заздалегідь генерувати 2FA коди. Наприклад, у налаштуваннях безпеки облікового запису Google можна завантажити документ з певною кількістю резервних кодів, які можна використовувати в майбутньому для обходу 2FA. Це потрібно, як правило, на випадок втрати пристрою, що використовується для автентифікації. Але якщо такий документ або хоча б один із резервних кодів потрапить до рук зловмиснику, він легко отримає доступ до облікового запису, незважаючи на налаштовану двофакторну автентифікацію.
Обхід 2FA за допомогою Cookie-файлів сеансу
Крадіжка cookie-файлів, також відома як захоплення сеансу, дозволяє зловмисникам отримати доступ до облікового запису, не знаючи взагалі жодних паролів або 2FA-кодів.
Коли користувачі входять на сайт, їм не потрібно вводити пароль щоразу, тому що браузер зберігає спеціальний cookie-файл сесії. Він містить інформацію про користувача, підтримує його автентифікацію у системі та відстежує активність сеансу. Cookie-файли сеансу залишаються в браузері доти, доки користувач не вийде із системи вручну. Таким чином, зловмисник може використовувати cookie у своїх інтересах для доступу до облікового запису користувача.
Кіберзлочинцям відомо безліч методів захоплення акаунту, таких як перехоплення та фіксація сеансу, міжсайтовий скриптинг та використання шкідливих програм. Крім того, зловмисники часто використовують фреймворк Evilginx для атак типу “людина посередині”. За допомогою Evilginx хакер відправляє користувачеві фішингове посилання, яке перенаправляє його на сторінку входу справжнього легітимного сайту, але через спеціальний шкідливий проксі. Коли користувач входить до свого облікового запису за допомогою 2FA, Evilginx фіксує його облікові дані для входу, а також код автентифікації.
Оскільки термін дії одноразових кодів обмежений, а один код не можна використовувати двічі, хакерам набагато простіше скористатися саме методом захоплення cookie для входу в систему та обходу двофакторної аутентифікації.
Обхід 2FA із SIM-jacking
Атака SIM-jacking має на увазі отримання зловмисником повного контролю за телефонним номером жертви. Злочинці, наприклад, можуть завчасно отримати ряд базових даних про користувача, а потім «прикинутися» цим користувачем у салоні оператора мобільного зв’язку з метою випуску нової SIM-карти. Також SIM-jacking можливий через шкідливі програми, встановлені на смартфон жертви.
Контроль за номером телефону користувача означає, що хакер може перехоплювати одноразові коди, надіслані через 2FA СМС. А оскільки це найпопулярніший спосіб двофакторної аутентифікації, зловмисник може зламати один за одним усі ключові облікові записи жертви та отримати повний доступ над необхідними даними.
Як можна зробити 2FA ще безпечнішим?
Незважаючи на вразливості, виявлені хакерами, двофакторна автентифікація, як і раніше, є рекомендованим способом захисту облікових записів в Інтернеті. Ось кілька порад щодо ефективного використання 2FA:
- по можливості використовуйте програми-аутентифікатори замість простої аутентифікації за СМС, оскільки програми набагато безпечніші, і одноразовий код не можна підглянути без повного доступу до смартфону;
- ніколи та нікому не повідомляйте одноразові або резервні коди безпеки;
- використовуйте довгі коди безпеки, що містять понад шість символів (якщо сервіс допускає такі настройки);
- не використовуйте для захисту облікового запису прості паролі, краще згенерувати пароль у генераторі та використовувати його у зв’язці з менеджером паролів;
- не використовуйте той самий пароль у критично важливих облікових записах;
- використовуйте фізичні ключі безпеки як альтернативну форму аутентифікації;
- ознайомтеся з популярними тактиками соціальної інженерії, щоб не стати жертвою обману;
- якщо йдеться про компанію з певним штатом співробітників, не зайвим буде скористатися послугами приватного консультанта з безпеки.
Висновок
Незважаючи на перелічені у статті недоліки та методи обходу, двофакторна автентифікація все ще залишається одним із найкращих способів захисту облікових записів. Достатньо дотримуватись рекомендацій вище, щоб не залишити зловмисникам жодного шансу на компрометацію облікового запису. Сподіваємося, що ваші облікові записи ніколи не потраплять до шахраїв, а будь-які конфіденційні дані залишаться в повній безпеці.
