Як ламаються бездротові мережі

  1. Коротко про засоби безпеки бездротових мереж
  2. протокол WEP
  3. протокол WPA
  4. Фільтрація MAC-адрес
  5. Режим прихованого ідентифікатора мережі SSID
  6. Злом бездротової мережі з протоколом WEP
  7. Злом бездротової мережі з протоколом WPA
  8. Висновки та рекомендації

2006 р

За останні кілька років бездротові мережі (WLAN) набули широкого поширення у всьому світі. І якщо раніше мова йшла переважно про використання бездротових мереж в офісах і хот-спот, то тепер вони широко використовуються і в домашніх умовах, і для розгортання мобільних офісів (в умовах відряджень). Спеціально для домашніх користувачів і невеликих офісів продаються точки бездротового доступу і бездротові маршрутизатори класу SOHO, а для мобільних користувачів - кишенькові бездротові маршрутизатори. Однак, приймаючи рішення про перехід до бездротової мережі, не варто забувати, що на сьогоднішньому етапі їх розвитку вони мають одне вразливе місце. Мова йде про безпеку бездротових мереж.

«Та скільки можна про одне й те ж! Набридло вже. Досить нас лякати всякими страшилками », - обуриться багато користувачів. Так, дійсно, проблеми безпеки бездротових мереж приділяється чимала увага і в Інтернеті, і в технічній пресі. Та й самі протоколи бездротового зв'язку спочатку наділені засобами забезпечення безпеки. Але так чи вони надійні, і чи можна на них покладатися?

У цій статті ми розповімо про те, як за кілька хвилин можна зламати «захищену» бездротову мережу і стати її несанкціонованим, але повноправним користувачем. Однак нам не хотілося б, щоб ця стаття розглядалася як посібник для початківців хакерів. Швидше, навпаки - за результатами даної статті можна буде зробити деякі висновки про те, як підвищити безпеку бездротової мережі і ускладнити завдання зловмисника. Адже хто не вміє зламувати мережі, той і не знає, як їх захищати. А тому і почнемо ми саме з того, що навчимося зламувати. Отже, поїхали ...

Коротко про засоби безпеки бездротових мереж

Будь-яка бездротова мережа складається як мінімум з двох базових компонентів - точки бездротового доступу і клієнта бездротової мережі (режим ad-hoc, при якому клієнти бездротової мережі спілкуються один з одним безпосередньо без участі точки доступу, ми розглядати не будемо). Стандартами бездротових мереж 802.11a / b / g передбачається кілька механізмів забезпечення безпеки, до яких відносяться різні механізми аутентифікації користувачів і реалізація шифрування при передачі даних.

протокол WEP

Всі сучасні бездротові пристрої (точки доступу, бездротові адаптери і маршрутизатори) підтримують протокол безпеки WEP (Wired Equivalent Privacy), який був спочатку закладений в специфікацію бездротових мереж IEEE 802.11. Даний протокол є свого роду аналогом провідний безпеки (у всякому разі, розшифровується він саме так), проте реально ніякого еквівалентного провідним мережам рівня безпеки він, звичайно ж, не надає.

Протокол WEP дозволяє шифрувати потік переданих даних на основі алгоритму RC 4 з ключем розміром 64 або 128 біт.

Дані ключі мають так звану статичну складову довжиною від 40 до 104 біт і додаткову динамічну складову розміром 24 біта, звану вектором ініціалізації (Initialization Vector, IV).

На найпростішому рівні процедура WEP-шифрування виглядає наступним чином: спочатку передані в пакеті дані перевіряються на цілісність (алгоритм CRC-32), після чого контрольна сума (integrity check value, ICV) додається в службове поле заголовка пакету. Далі генерується 24-бітний вектор ініціалізації, (IV) і до нього додається статичний (40-або 104-бітний) секретний ключ. Отриманий таким чином 64-або 128-бітний ключ і є вихідним ключем для генерації псевдовипадкового числа, що використовується для шифрування даних. Далі дані змішуються (шифруються) за допомогою логічної операції XOR з псевдослучайной ключовий послідовністю, а вектор ініціалізації додається в службове поле кадру. Ось, власне, і все.

Протокол безпеки WEP передбачає два способи аутентифікації користувачів: Open System (відкрита) і Shared Key (загальна). При використанні відкритої аутентифікації ніякої аутентифікації, власне, і не існує, тобто будь-який користувач може отримати доступ в бездротову мережу. Однак навіть при використанні відкритої системи допускається використання WEP-шифрування даних.

протокол WPA

Як буде показано трохи пізніше, протокол WEP має ряд серйозних недоліків і не є для зломщиків важкоздоланною перешкодою. Тому в 2003 році був представлений наступний стандарт безпеки - WPA (Wi-Fi Protected Access). Головною особливістю цього стандарту є технологія динамічної генерації ключів шифрування даних, побудована на базі протоколу TKIP (Temporal Key Integrity Protocol), що представляє собою подальший розвиток алгоритму шифрування RC 4. За протоколом TKIP мережеві пристрої працюють з 48-бітовим вектором ініціалізації (на відміну від 24 -бітового вектора WEP) і реалізують правила зміни послідовності його бітів, що виключає повторне використання ключів. У протоколі TKIP передбачена генерація нового 128-бітного ключа для кожного переданого пакета. Крім того, контрольні криптографічні суми в WPA розраховуються за новим методом під назвою MIC (Message Integrity Code). У кожен кадр тут поміщається спеціальний восьмибайтових код цілісності повідомлення, перевірка якого дозволяє відображати атаки із застосуванням підроблених пакетів. У підсумку виходить, що кожен рухаючись по мережі пакет даних має власний унікальний ключ, а кожен пристрій бездротової мережі наділяється динамічно змінним ключем.

Крім того, протокол WPA підтримує шифрування за стандартом AES (Advanced Encryption Standard), тобто за вдосконаленим стандарту шифрування, який відрізняється більш стійким криптоалгоритмом, ніж це реалізовано в протоколах WEP і TKIP.

При розгортанні бездротових мереж в домашніх умовах або невеликих офісах зазвичай використовується варіант протоколу безпеки WPA на основі загальних ключів - WPA-PSK (Pre Shared Key). Надалі ми будемо розглядати тільки варіант WPA-PSK, не торкаючись варіантів протоколу WPA, орієнтованих на корпоративні мережі, де авторизація користувачів проводиться на окремому RADIUS-сервері.

При використанні WPA-PSK в настройках точки доступу і профілях бездротового з'єднання клієнтів вказується пароль довжиною від 8 до 63 символів.

Фільтрація MAC-адрес

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

Режим прихованого ідентифікатора мережі SSID

Ще один запобіжний захід, яку часто використовують в бездротових мережах - це режим прихованого ідентифікатора мережі. Кожній бездротової мережі призначається свій унікальний ідентифікатор (SSID), який представляє собою назву мережі. Коли користувач намагається увійти в мережу, то драйвер бездротового адаптера насамперед сканує ефір на наявність в ній бездротових мереж. При використанні режиму прихованого ідентифікатора (як правило, цей режим називається Hide SSID) мережа не відображається в списку доступних, і підключитися до неї можна тільки в тому випадку, якщо, по-перше, точно відомий її SSID, і, по-друге, заздалегідь створений профіль з'єднання з тією мережею.

Злом бездротової мережі з протоколом WEP

Щоб у читача не склалося враження, що перерахованих засобів захисту цілком достатньо, щоб не побоюватися непрошених гостей, поспішаємо його розчарувати. І почнемо ми з інструкції по злому бездротових мереж стандарту 802.11 b / g на базі протоколу безпеки WEP.

Власне, утиліт, спеціально розроблених для злому таких мереж і доступних в Інтернеті, більш ніж достатньо. Правда, є одне «але». Майже всі вони «заточені» під Linux-системи. Власне, з точки зору просунутого користувача - це не тільки не перешкода, а й навпаки. А ось звичайними користувачами операційна система Linux використовується рідко, тому ми вирішили обмежитися розглядом утиліт, підтримуваних системою Windows XP.

Отже, для злому мережі нам, крім ноутбука з бездротовим адаптером, буде потрібно утиліта aircrack 2.4, яку можна знайти у вільному доступі в Інтернеті.

Дана утиліта поставляється відразу в двох варіантах: під Linux і під Windows, тому нас будуть цікавити тільки ті файли, які розміщені в директорії aircrack-2.4 \ win 32.

У цій директорії є три невеликих утиліти (виконуваних файлів): airodump.exe, aircrack.exe і airdecap.exe.

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

Звичайно ж, не все так просто, як може здатися. Справа в тому, що всі подібні програми «заточені» під конкретні моделі чіпів, на базі яких побудовані мережеві адаптери. Тобто не факт, що обраний довільно бездротової адаптер виявиться сумісний з програмою aircrack-2.4. Більш того, навіть при використанні сумісного адаптера (список сумісних адаптерів, а точніше - чіпів бездротових адаптерів, можна знайти в документації до програми) доведеться повозитися з драйверами, замінивши стандартний драйвер від виробника мережевого адаптера на спеціалізований драйвер під конкретний чіп. Наприклад, в ході тестування ми з'ясували, що стандартний бездротової адаптер Intel PRO Wireless 2200 BG, який є складовою частиною багатьох ноутбуків на базі технології Intel Centrino, просто не сумісний з даною програмою при використанні ОС Windows XP (правда, він підтримується при використанні Linux -версії програми). У підсумку ми зупинили свій вибір на бездротовому PCMCIA-адаптер Gigabyte GN-WMAG на базі чіпа Atheros. При цьому сам бездротової адаптер встановлювався як Atheros Wireless Network Adapter з драйвером 3.0.1.12.

Сама процедура злому бездротової мережі досить проста. Починаємо з запуску утиліти airodump.exe, яка представляє собою мережевий сниффер для перехоплення пакетів. При запуску програми (рис. 1) відкриється діалогове вікно, в якому потрібно вказати бездротової мережевий адаптер (Network interface index number), тип чіпа мережевого адаптера (Network interface type (o / a)), номер каналу бездротового зв'язку (Channel (s) : 1 to 14, 0 = all) (якщо номер канал невідомий, то можна сканувати всі канали). Також задається ім'я вихідного файлу, в якому зберігаються перехоплені пакети (Output filename prefix) і вказує, чи потрібно захоплювати все пакети цілком (cap-файли) або ж тільки частина пактів з векторами ініціалізації (ivs-файли) (Only write WEP IVs (y / n)). При використанні WEP-шифрування для підбору секретного ключа цілком достатньо сформувати тільки ivs-файл. За замовчуванням ivs-або з ap-файли створюються в тій же директорії, що і сама програма airodump.

Після налаштування всіх опцій утиліти airodump відкриється інформаційне вікно, в якому відображається інформація про виявлені точках бездротового доступу, інформація про клієнтів мережі і статистика перехоплених пакетів (рис. 2).

збільшити
збільшити

Мал. 2. Інформаційне вікно утиліти airodump

Якщо точок доступу кілька, статистика буде видаватися по кожній з них.

Насамперед, запишіть MAC-адресу точки доступу, SSID бездротової мережі і MAC-адресу одного з підключених до неї клієнтів (якщо їх декілька). Ну а далі потрібно почекати, поки не буде перехоплено достатню кількість пакетів.

Кількість пакетів, які потрібно перехопити для успішного злому мережі, залежить від довжини WEP-ключа (64 або 128 біт) ну і, звичайно ж, від удачі. Якщо в мережі використовується 64-бітний WEP-ключ, то для успішного злому цілком достатньо захопити пів мільйона пакетів, а в багатьох випадках - навіть менше. Час, яке для цього буде потрібно, залежить від інтенсивності трафіку між клієнтом і точкою доступу, але, як правило, становить не більше кількох хвилин. У разі ж використання 128-бітного ключа для гарантованого злому потрібно перехопити близько двох мільйонів пакетів. Для зупинки процесу захоплення пакетів (роботи утиліти) використовується комбінація клавіш Ctrl + C.

Після того, як вихідний ivs-файл сформований, можна приступати до його аналізу. В принципі, це можна робити і паралельно разом з перехопленнями пакетів, але для простоти ми розглянемо послідовне виконання процедур перехоплення і аналізу.

Для аналізу сформованого ivs-файлу потрібно утиліта aircrack.exe, яка запускається з командного рядка. У нашому випадку (рис. 3) ми використовували такі параметри запуску:

aircrack.exe -b 00: 13: 46: 1C: A4: 5F -n 64 -i 1 out.ivs.

збільшити
збільшити

Рис.3. Запуск програми aircrack.exe з командного рядка

В даному випадку «-b 00: 13: 46: 1C: A4: 5F» - це вказівка ​​MAC-адреси точки доступу, «-n 64» - вказівка ​​довжини використовуваного ключа шифрування, «-i 1» - індекс ключа, а « out.ivs »- це файл, який піддається аналізу.

Повний перелік параметрів запуску утиліти можна подивитися, набравши в командному рядку команду aircrack.exe без параметрів.

В принципі, оскільки така інформація, як індекс ключа і довжина ключа шифрування, як правило, заздалегідь невідома, зазвичай використовується наступний спрощений варіант запуску команди: aircrack.exe out.ivs.

Результат аналізу ivs-файлу показаний на рис. 4. Навряд чи рядок KEY FOUND! Потребує коментарів. І зверніть увагу, що секретний ключ був обчислений за все за 3 секунди.

Ми проводили безліч експериментів з використанням і 128-бітного ключа, і з різними параметрами запуску команди aircrack.exe, але у всіх випадках час, за яке обчислювався секретний ключ, не перевищувало 7 секунд.

Ось так просто і швидко проводиться розтин бездротових мереж з WEP-шифруванням, і говорити про «безпеки» мереж в даній випадку взагалі недоречно. Ну, дійсно, чи можна говорити про те, чого насправді немає!

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

Насправді, не таким вже й невидимим є ідентифікатор мережі навіть при активації цього режиму на точці доступу. Наприклад, вже згадана нами утиліта airodump все одно покаже вам SSID мережі, який згодом можна використовувати для створення профілю підключення до мережі (причому несанкціонованого підключення).

Ну а якщо говорити про таку наївну міру безпеки, як фільтрація по MAC-адресами, то тут взагалі все дуже просто. Існує досить багато різноманітних утиліт і під Linux, і під Windows, які дозволяють підміняти MAC-адресу мережевого інтерфейсу. Наприклад, для несанкціонованого доступу в мережу ми підміняли MAC-адресу бездротового адаптера за допомогою утиліти SMAC 1.2 (рис. 5). Природно, що в якості нового MAC-адреси використовується MAC-адресу авторизованого в мережі клієнта, який визначається все тієї ж утилітою airodump.

збільшити
збільшити

Мал. 5. Підміна MAC-адреси бездротового адаптера

Отже, подолати всю систему безпеки бездротової мережі на базі WEP-шифрування не представляє ніяких труднощів. Можливо, багато хто скаже, що це малоактуальная, оскільки WEP-протокол давно помер і його просто не використовують. Адже на зміну йому прийшов більш стійкий протокол WPA. Однак не будемо поспішати з висновками. Почасти це дійсно так, але тільки частково. Справа в тому, що в деяких випадках для збільшення радіусу дії бездротової мережі розгортаються так звані розподілені бездротові мережі (WDS) на базі декількох точок доступу. Але найцікавіше полягає в тому, що ці самі розподілені мережі не дозволяють отримувати WPA-протоколу, і єдиною допустимою заходом безпеки в даному випадку є застосування WEP-шифрування. Ну а зламуються ці WDS-мережі абсолютно так само, як і мережі на базі однієї точки доступу.

Тепер подивимося, як йдуть справи з мережами на базі WPA-шифрування.

Злом бездротової мережі з протоколом WPA

Власне, сама процедура злому мереж з протоколом WPA мало чим відрізняється від вже розглянутої процедури злому мереж з WEP-протоколом.

На першому етапі використовується все той же сниффер airodump. Однак є два важливі аспекти, які необхідно враховувати. По-перше, в якості вихідного файлу необхідно використовувати саме cap-файл, а не ivs-файл. Для цього в налаштуванні утиліти airodump на останній питання «Only write WEP IVs (y / n)» відповідаємо «ні».

По-друге, в cap-файл необхідно захопити саму процедуру ініціалізації клієнта в мережі, тобто доведеться посидіти в «засідці» із запущеною програмою airodump. Якщо використовується Linux-система, то можна провести атаку, яка змусить провести процедуру переініціалізація клієнтів мережі, а ось під Windows така програма не передбачена.

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

Для АНАЛІЗУ отріманої информации вікорістовується все та ж утіліта aircrack, но з Дещо іншімі параметрами запуску. Кроме того, в діректорію з програмою aircrack придется Встановити ще один важлівій елемент - словник. Такі спеціалізовані словники можна знайти в Інтернеті, наприклад, за посиланням http://ftp.se.kde.org/pub/security/tools/net/Openwall/wordlists/ .

Після цього запускаємо з командного рядка програму aircrack (рис 6), вказуючи в якості вихідного файлу cap-файл (наприклад, out. Cap) і назва словника (параметр - w all, де all - назва словника).

збільшити
збільшити

Мал. 6. Приклад запуску програми aircrack.exe з командного рядка

Програма перебору ключів зі словника дає дуже інтенсивне навантаження на процесор, так що якщо для цього використовується малопотужний ПК, то на цю процедуру потрібно багато часу. Якщо ж для цього використовується потужний багатопроцесорний сервер або ПК на базі двоядерного процесора, то в якості опції можна вказати кількість використовуваних процесорів. Наприклад, в нашому випадку використовувався новітній двоядерний процесор Intel Pentium Extreme Edition Processor 955 з підтримкою технології Hyper-Threading (чотири логічних ядра процесора), тому в параметрах запуску програми ми використовували опцію «-p 4», що дозволило утилізувати всі чотири логічних ядра процесора, причому кожне ядро ​​утилізується на 100%. В результаті після майже півтори години роботи програми секретний ключ був знайдений! (Рис. 7.)

Це, звичайно, не кілька секунд, як у випадку з WEP-шифруванням, але теж непоганий результат, який прекрасно демонструє, що і WPA-PSK захист не є абсолютно надійною. Причому результат злому секретного ключа ніяк не пов'язаний з тим, який алгоритм шифрування (TKIP або AES) використовується в мережі.

Висновки та рекомендації

Розглянуті нами приклади злому бездротових мереж досить наочно демонструють їх вразливість. Якщо говорити про WEP-протоколі, то його можна порівняти із захистом «від дурня». Це приблизно те ж саме, що і сигналізація на машині - хіба тільки що від хуліганів рятує. Тому по можливості краще не використовувати цей протокол взагалі. Якщо говорити про таких запобіжних заходів, як фільтрація по MAC-адресами і режим прихованого ідентифікатора мережі, то це взагалі «дитячий лепет», і розглядати їх як захист не можна. Однак навіть такими засобами не варто нехтувати, але тільки в комплексі з іншими заходами.

Протокол WPA хоча і куди більш складний для злому, але також вразливий. Втім, не варто падати духом - не все так безнадійно. Справа в тому, что успіх злому секретного WPA-ключа Залежить від того, є ВІН в словнику чи ні. Стандартний словник, Який ми вікорістовувалі, має розмір немного более 40 Мбайт, что, в общем-то, не так Вже й много. В результаті після трьох спроб, ми зуміли підібрати ключ, якого не виявилося в словнику, і злом ключа виявився неможливим. Для повного перебору всіх ключів потрібно два з половиною години. Кількість слів в цьому словнику - всього-на-всього 6 475 760, що, звичайно ж, дуже мало. Звичайно, можна використовувати словники та більшої ємності. Наприклад, в Інтернеті можна замовити словник на трьох CD-дисках, тобто розміром майже в 2 Гбайта, а й цього небагато. Принагідно зауважимо, що для перебору всіх ключів словника розміром 2 Гбайт при використанні процесора з чотирма логічними ядрами потрібно вже 5 діб! Альо даже такий словник містіть далеко не всі Можливі паролі. Ну, дійсно, давайте приблизно розрахуємо кількість паролів довжиною від 8 до 63 символів, які можна сформувати з використанням 26 букв англійського алфавіту (з урахуванням регістрів), десяти цифр і 32 букв російського алфавіту. Отримаємо, що кожен символ можна вибрати 126 способами. Відповідно, якщо враховувати тільки паролі довжиною 8 символів, то кількість можливих комбінацій складе 12 ∙ 68 = 6,3 ∙ 1016. Якщо врахувати, що розмір кожного слова довжиною 8 символів становить 8 байт, то отримаємо, що розмір такого словника - 4,5 мільйона терабайт. А адже це тільки комбінації з восьми символів. А якщо перебрати всі можливі комбінації від 8 до 63 символів! В общем-то не треба бути математиком, щоб підрахувати, що розмір такого словника складе приблизно 1,2 ∙ 10119 терабайт. Звичайно ж, такого дискового простору просто не існує (навіть якщо скласти ємності всіх жорстких дисків на всій планеті). Але навіть якщо гіпотетично припустити, що такий словник створений, то для перебору всіх ключів на нашому ПК треба було б ні багато ні мало 1,8 ∙ 10120 років. Власне, таке завдання не по зубах жодному найпотужнішого суперкомп'ютера.

Так что НЕ Варто впадаті у Відчай. Шансів, що використовуваний вами пароль не міститься в словнику, безліч. Просто при виборі пароля не варто використовувати слова, що мають сенс. Найкраще, щоб це був абсолютно безладний набір символів (щось типу «FGпроукqweRT4j563апп»).

Втім, ми розглянули лише один з можливих прикладів злому ключа зі словником. Але бувають і інші типи атак, так що передчасно розслаблятися не варто.

Звичайно, для створення надійної системи безпеки бездротових мереж розроблено чимало методів. Наприклад, найнадійнішим способом вважається використання віртуальних приватних мереж VPN (Virtual Private Network). Створення бездротової віртуальної пріватної мережі предполагает установку шлюзу безпосередно перед точкою доступу и установку VPN-КЛІЄНТІВ на робочих станціях Користувачів мережі. Шляхом адміністрування віртуальної приватної мережі здійснюється настройка віртуального закритого з'єднання (VPN-тунелю) між шлюзом і кожним VPN-клієнтом мережі. Втім, VPN-мережі рідко використовуються в невеликих офісних мережах і практично не використовуються в домашніх умовах. Як і протокол 802.1 x, VPN-мережі - прерогатива корпоративних мереж.

Але так чи вони надійні, і чи можна на них покладатися?