May 18, 2023

 2FA та можливі способи її обійти.

Шалом! Передові методи забезпечення безпеки облікових записів включають двофакторну аутентифікацію (2FA). Вона використовується повсюдно як для корпоративних, так і для особистих акаунтів користувачів по всьому світу. У класичному розумінні цей спосіб аутентифікації передбачає доставку на телефон або електронну пошту спеціального коду, який необхідно ввести вже після введення пароля від облікового запису. Однак існують й інші форми 2FA, які ми обговоримо в цій статті.


Двофакторна автентифікація забезпечує додатковий рівень захисту акаунта від кіберзлочинців, але за великого бажання зловмисники все одно знайдуть спосіб її обійти. Саме розуміння того, яким чином хакери зазвичай обходять 2FA, дасть змогу не потрапити на їхні можливі хитрощі та убезпечити свій обліковий запис.


Що таке двофакторна аутентифікація? Які типи двофакторної аутентифікації існують? 2FA за СМС 2FA через голосовий виклик 2FA через електронну пошту 2FA через TOTP-додатки для аутентифікації 2FA через апаратний ключ 6 способів обійти двофакторну аутентифікацію 1. обхід 2FA за допомогою соціальної інженерії 2. обхід 2FA за допомогою відкритої авторизації (OAuth) 3. обхід 2FA за допомогою Brute-Force 4. обхід 2FA згенерованими раніше токенами 5. Обхід 2FA за допомогою Cookie-файлів сеансу 6. Обхід 2FA з SIM-jacking Як можна зробити 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 за СМС, тому що код не можна підглянути на екрані блокування або пов'язаному по Bluetooth фітнес-браслеті. Смартфон необхідно як мінімум розблокувати, а може навіть і ввести окремий пароль для доступу до TOTP-додатку.

Якщо користувач не налаштував один PIN-код на всі випадки життя, то і зламати його при використанні TOTP-аутентифікатора буде вкрай непросто.
2FA через апаратний ключ

Цей метод використовує для авторизації фізичні пристрої. Це може бути, наприклад, USB-флешка, вставлена в комп'ютер, NFC-картка або TOTP-брелок, який генерує код для авторизації кожні 30/60 секунд.

Апаратні ключі не потребують підключення до інтернету. Це один із найпростіших і найбезпечніших методів 2FA. Однак випуск і обслуговування подібних пристроїв для кожного користувача може бути дорогим для бізнесу. А якщо критично важливо, щоб користувач носив такий ключ із собою, додається ще й ризик втратити його.

6 способів обійти двофакторну аутентифікацію Незважаючи на всі переваги двофакторної аутентифікації, кожен із вищеописаних методів має і свої вразливості. Нижче опишемо способи, як саме хакери можуть обійти двофакторну аутентифікацію.

1. обхід 2FA за допомогою соціальної інженерії Соціальна інженерія - це нетехнічна атака, за допомогою якої зловмисник обманом змушує жертву неусвідомлено надати важливу інформацію про секретний код. Уже маючи на руках логін і пароль для входу, зловмисник телефонує або надсилає жертві повідомлення з переконливою розповіддю, закликаючи передати 2FA-код.

В інших випадках зловмисник уже володіє достатньою базовою інформацією про жертву, щоб зателефонувати від її імені до служби підтримки цільового сервісу. Злочинець може видати себе за користувача і сказати, що його обліковий запис заблоковано, або є якісь неполадки з додатком-аутентифікатором. У разі успіху хакер щонайменше отримає одноразовий доступ до облікового запису жертви, а якщо пощастить, то взагалі скине і змінить користувацький пароль.

2. обхід 2FA за допомогою відкритої авторизації (OAuth)
OAuth - це відкритий протокол авторизації, що надає застосункам і сервісам обмежений доступ до даних користувача без розголошення пароля. Наприклад, для входу в застосунок потрібно дати дозвіл на частковий доступ до облікового запису VK або Facebook. Таким чином обраний застосунок отримує частину повноважень облікового запису, але не зберігає у своїх базах дані, пов'язані з паролем користувача.


За так званого "фішингу згоди" зловмисник прикидається законним застосунком з авторизацією OAuth і надсилає жертві повідомлення з проханням надати доступ. Якщо жертва дасть такий доступ, зловмисник зможе робити все, що йому заманеться, у межах запитаного доступу. Фішинг згоди дає змогу зловмиснику ігнорувати облікові дані та обходити будь-яку налаштовану двофакторну аутентифікацію.

3. обхід 2FA за допомогою Brute-Force
Іноді зловмисники обирають грубий метод "повного перебору", особливо якщо використовується застаріле або слабозахищене обладнання. Наприклад, деякі старі TOTP-брелоки мають довж

ину коду всього в чотири цифри. Отже, їх набагато легше зламати.
Перешкодою для хакерів є те, що одноразові коди, що генеруються такими брелоками, дійсні тільки протягом короткого часу (30/60 секунд). Таким чином, у зловмисників є обмежена кількість кодів, які можна встигнути перебрати, перш ніж вони зміняться. А якщо двофакторну автентифікацію налаштовано коректно, то реалізувати атаку такого типу буде в принципі неможливо - користувача заблокує після кількох невірно введених OTP-кодів.


4 Обхід 2FA згенерованими раніше токенами
Деякі платформи дозволяють користувачам заздалегідь генерувати 2FA-коди. Наприклад, у налаштуваннях безпеки Google-акаунта можна завантажити документ із певним числом резервних кодів, які можна використовувати в майбутньому для обходу 2FA. Це потрібно, як правило, на випадок втрати пристрою, що використовується для аутентифікації. Але от якщо подібний документ або хоча б один із резервних кодів потрапить до рук зловмисника, він легко отримає доступ до облікового запису, незважаючи на налаштовану двофакторну аутентифікацію.


5. Обхід 2FA за допомогою Cookie-файлів сеансу
Крадіжка cookie-файлів, також відома як захоплення сеансу, дає змогу зловмисникам отримати доступ до облікового запису, не знаючи взагалі жодних паролів або 2FA-кодів.


Коли користувачі входять на сайт, їм не потрібно щоразу вводити пароль, тому що браузер зберігає спеціальний cookie-файл сесії. Він містить інформацію про користувача, підтримує його аутентифікацію в системі та відстежує активність сеансу. Cookie-файли сеансу залишаються в браузері доти, доки користувач не вийде із системи вручну. Таким чином, зловмисник може використовувати cookie у своїх інтересах для доступу до акаунта користувача.


Кіберзлочинцям відомо безліч методів захоплення акаунта, таких як перехоплення і фіксація сеансу, міжсайтовий скриптинг і використання шкідливих програм. Крім того, зловмисники часто використовують фреймворк Evilginx для атак типу "людина посередині". За допомогою Evilginx хакер відправляє користувачеві фішингове посилання, яке перенаправляє його на сторінку входу справжнього легітимного сайту, але через спеціальний шкідливий проксі. Коли користувач входить у свій обліковий запис за допомогою 2FA, Evilginx фіксує його облікові дані для входу, а також код аутентифікації.


Оскільки термін дії одноразових кодів обмежений, а один код не можна використати двічі, - хакерам набагато простіше скористатися саме методом захоплення cookie для входу в систему та обходу двофакторної аутентифікації.


6. Обхід 2FA з SIM-jacking Атака SIM-jacking[?] передбачає отримання зловмисником повного контролю над телефонним номером жертви. Злочинці, наприклад, можуть завчасно отримати низку базових даних про користувача, а потім "прикинутися" цим самим користувачем у салоні оператора мобільного зв'язку з метою випуску нової SIM-карти. Також SIM-jacking можливий через шкідливі додатки, встановлені на смартфон жертви.


Контроль над номером телефону користувача означає, що хакер може перехоплювати одноразові коди, відправлені через 2FA через СМС. А оскільки це найпопулярніший спосіб двофакторної автентифікації, зловмисник може зламати один за одним усі ключові облікові записи жертви та отримати повний доступ над необхідними даними.


Як можна зробити 2FA ще безпечнішою?
Незважаючи на уразливості, виявлені хакерами, двофакторна автентифікація, як і раніше, є рекомендованим способом захисту облікових записів в Інтернеті.
Ось кілька порад щодо ефективного використання 2FA:

За можливості використовуйте застосунки-аутентифікатори замість простої автентифікації за СМС, оскільки застосунки набагато безпечніші, і одноразовий код не можна підглянути без повного доступу до смартфона;

Ніколи і нікому не повідомляйте одноразові або резервні коди безпеки;
Використовуйте довгі коди безпеки, що містять більше шести символів (якщо сервіс допускає такі налаштування);

Не використовуйте для захисту акаунта прості паролі, краще згенерувати пароль у генераторі та використовувати його у зв'язці з менеджером паролів;

Не використовуйте один і той самий пароль у критично важливих облікових записах;

Використовуйте фізичні ключі безпеки як альтернативну форму аутентифікації;
Ознайомтеся з популярними тактиками соціальної інженерії, щоб не стати жертвою обману;

Якщо йдеться про компанію з певним штатом співробітників, не зайвим буде скористатися послугами приватного консультанта з безпеки.


Висновок
Незважаючи на перераховані в статті недоліки та методи обходу, двофакторна аутентифікація все ще залишається одним із найкращих способів захисту облікових записів. Досить дотримуватися рекомендацій вище, щоб не залишити зловмисникам жодного шансу на компрометацію облікового запису. Сподіваємося, що ваші облікові записи ніколи не потраплять до лап шахраїв, а будь-які конфіденційні дані залишаться в цілковитій безпеці.
That's all! Дякуємо за увагу.

@temnikcrypto - про скам і не тільки!
https://t.me/temnikcrypto