Як зламують роутери через WPS ?.
26.11.2016
Зміст
- 1 Як працює WPS?
- 1.1 Існує три варіанти використання WPS:
- 2 Уразливість ротуеров з WPS
- 3 Швидкість підбору ключа
Безкоштовних wifi мереж без пароля стає все менше і менше. Ще недавно, користувач міг навіть не знати, що бездротову мережу можна захистити за допомогою пароля, убезпечивши себе від сторонніх підключень. Те сьогодні користувачеві все частіше нагадують про таку можливість. Взяти хоча б нові прошивки роутерів, які випускають провідні провайдери для популярних моделей, щоб спростити настройку.Потрібно вказати 2 речі - логін/пароль і пароль для захисту wifi мережі. Самі виробники маршрутизаторів намагаються зробити процес налаштування нехитрим.
Так, більшість сучасних роутерів підтримують механізм WPS (Wi-Fi Protected Setup). З його допомогою користувач за лічені секунди може налаштувати безпечну бездротову мережу, взагалі не забиваючи собі голову тим, що «десь ще потрібно включити шифрування і прописати WPA-ключ». Для цього потрібно ввести в систему 8-ми символьний PIN, який написаний на роутері, - і готово! Але, відразу 2 дослідника розповіли про серйозні фундаментальних дірках в протоколі WPS.Це як чорний хід для будь-якого роутера. Виявилося, що якщо в точці доступу активований WPS, який, включений в більшості роутерів за замовчуванням, то підібрати PIN для підключення і витягти ключ для підключення можна дуже швидко.
Як працює WPS?
Задумка творців WPS хороша. Механізм автоматично задає ім'я мережі і шифрування. Таким чином, користувачеві немає необхідності лізти в веб-інтерфейс і розбиратися зі складними настройками.А до вже налаштованої мережі можна без проблем додати будь-який пристрій, наприклад, смартфон або планшет: якщо правильно ввести PIN, то він отримає всі необхідні настройки. Це дуже зручно, тому всі великі гравці на ринку, такі як Cisco/Linksys, Netgear, D-Link, Belkin, TP-link, ZyXEL зараз пропонують бездротові роутери з підтримкою WPS.
Існує три варіанти використання WPS:
Push-Button-Connect (PBC). Користувач натискає спеціальну кнопку на роутері і програмну на комп'ютері, тим самим активуючи процес налаштування.
Введення PIN-коду в веб-інтерфейсі. Користувач заходить через браузер в адміністративний інтерфейс роутера і вводить там PIN-код з 8 цифр, написаний на корпусі пристрою (рисунок 1), після чого відбувається процес налаштування.
PIN-код WPS, написаний на корпусі роутера
При з'єднанні з роутером можна відкрити спеціальну сесію WPS, в рамках якої налаштувати роутер або отримати вже наявні налаштування, якщо правильно ввести PIN- код.Для відкриття подібної сесії не потрібна аутентифікація. Це може зробити будь-який бажаючий! Виходить, що PIN-код вже потенційно схильний до атаки типу bruteforce.
Вікно для введення PIN-коду WPS
Уразливість ротуеров з WPS
PIN-код WPS складається з 8 цифр - отже, існує 10 ^ 8 (100 000 000) варіантів для підбору. Однак кількість варіантів можна істотно скоротити. Справа в тому, що остання цифра PIN-коду являє собою якусь контрольну суму, яка вираховується на підставі семи 7 цифр.У підсумку отримуємо вже 10 ^ 7 (10 000 000) варіантів. Далі уважно дивимося на пристрій протоколу аутентифікації WPS (таблиця 1). Виявляється, перевірка PIN-коду здійснюється в 2 етапи. Ключ ділиться на 2 рівні частини, і кожна частина перевіряється окремо.
Таблиця 1. Протокол аутентифікації WPS
Подивимося на схему:
Якщо після відсилання повідомлення M4 атакуючий отримав у відповідь EAP-NACK, то він може бути впевнений, що перша частина PIN-коду неправильна.
Якщо ж він отримав EAP-NACK після відсилання M6, то, відповідно, друга частина PIN-коду невірна. Отримуємо 10 ^ 4 (10 000) варіантів для першої половини і 10 ^ 3 (1 000) для другої. У підсумку маємо всього лише 11 000 варіантів для повного перебору. Щоб краще зрозуміти, як це буде працювати, подивися на алгоритм.
Алгоритм брутфорса PIN-коду WPS
Швидкість підбору ключа
Вона обмежена швидкістю обробки роутером WPS-запитів: одні точки доступу будуть видавати результат кожну 1 секунду, інші - кожні 10 секунд.Основний час при цьому витрачається на розрахунок відкритого ключа по алгоритму Діффі-Хеллмана, він повинен згенерувати перед кроком M3. Витрачений на це час можна зменшити, вибравши на стороні клієнта простий секретний ключ, який в подальшому спростить розрахунки альтернативних джерел. Практика показує, що для успішного відкриття ключа WPS досить перебрати лише 50% варіантів, і в середньому брутфорс займає всього від 4 до 8 годин.
.