Курсовая работа: Bluetooth принципи побудови і функціонування
Перш за все необхідно скласти сам алгоритм перебору. Ми маємо в своєму розпорядженні перехоплені величини IN_RAND (він нешифрований) і BD_ADDR (нагадаємо, що адреси пристроїв видно в ефірі) і запускаємо алгоритм E22. Йому передаємо вищеперелічені дані і наш передбачуваний PIN. В результаті ми набудемо передбачуваного значення Kinit. Виглядає воно зразково так:
Kinit = E22 [IN_RAND, BD_ADDR (B), PIN'] де PIN' - передбачуваний нами PIN-код
Далі, повідомлення 2 і 3 піддаються XOR з тільки що отриманим Kinit. Отже, наступним кроком ми отримаємо LK_RAND (A) і LK_RAND (B) в чистому вигляді. Тепер ми можемо вирахувати передбачуване значення Kab, для чого проробляємо наступну операцію:
LK_K (A) = E21 [BD_ADDR (A), LK_RAND (A)] де LK_K (A|B) - це проміжні величини
LK_K (B) = E21 [BD_ADDR (B), LK_RAND (B)]
Kab = LK_K (A) XOR LK_K (B)
Перевіримо PIN. Візьмемо отриманий Kab і перехоплений AU_RAND (A) і обчислимо SRES (A).
Після порівнюємо отриманий результат з SRES (A) ', номер, що зберігається в повідомленні, 5:
SRES (A) = E1 [AU_RAND (A), Kab, BD_ADDR (B)]
Якщо SRES (A) == SRES (A) ' - PIN успішно вгаданий. Інакше повторюємо послідовність дій наново з новою величиною PIN'.
Першим, хто відмітив цю уразливість, був англієць Оллі Вайтхауз (Ollie Whitehouse) в квітні 2004 року. Він першим запропонував перехопити повідомлення під час сполучення і спробувати обчислити PIN методом перебору, використовуючи отриману інформацію. Проте, метод має один істотний недолік: атаку можливо провести тільки у випадку, якщо удалося підслухати всі аутентифікаційні дані. Іншими словами, якщо зловмисник знаходився поза ефіром під час початку сполучення або ж упустив якусь величину, то він не має можливості продовжити атаку.
Re-pairing атака (атака на пересопряження)
Вулу і Шакеду удалося знайти вирішення труднощів, пов'язаних з атакою Вайтхауза. Був розроблений другий тип атаки. Якщо процес сполучення вже початий і дані упущені, ми не зможемо закінчити атаку. Але був знайдений вихід. Потрібно змусити пристрої наново ініціювати процес сполучення (звідси і назва). Дана атака дозволяє у будь-який момент зачати вищеописану pairing атаку.
Розгледимо наступну ситуацію. Допустимо, що пристрої вже встигли зв'язатися, зберегли ключ Kab і приступили до Mutual authentication. От нас потрібно змусити пристрої наново зачати pairing. Всього було запропоновано три методи атаки на пересопряжение, причому всі з них залежно від якості реалізації bluetooth-ядра конкретного пристрою. Нижче приведені методи в порядку убування ефективності:
За pairing слідує фаза аутентифікації. Master-устройство посилає AU_RAND і чекає у відповідь SRES. У стандарті декларує можливість втрати ключа зв'язку. У такому разі slave посилає "LMP_not_accepted", повідомляючи master про втрату ключа. Тому основна мета зловмисника - відстежити момент відправки AU_RAND master-пристроєм і у відповідь упровадити пакет LMP_not_accepted, що містить. Реакцією master буде реініціалізація процесу pairing. Причому це приведе до анулювання ключа зв'язку на обох пристроях.
Якщо встигнути відправити IN_RAND slave-пристрою безпосередньо перед відправкою master-пристроєм величини AU_RAND, то slave буде упевнений, що на стороні master загублений ключ зв'язку. Це знову ж таки приведе до процесу реініціалізації сполучення, але вже ініціатором буде slave.
Зловмисник чекає відправки master-пристроємAU_RAND і відправляє у відповідь випадково SRES, що згенерував. Спроба аутентифікації провалена. Далі слідує низка повторних спроб аутентифікації (кількість залежить від особливостей реалізації пристроїв). За умови, що зловмисник продовжує вводити master-устройство в оману, незабаром (по лічильнику невдалих спроб) пристроями буде вирішено об реініціалізації сполучення.
(Як видно, всі ці атаки вимагають відправки потрібних повідомлень в потрібний момент часу. Стандартні пристрої, доступні у продажу, майже з 100% вірогідністю не підійдуть для цих цілей)
Використавши будь-який з цих методів, зловмисник може приступити до базової атаки на сполучення. Таким чином, маючи в арсеналі ці дві атаки, зловмисник може безперешкодно викрасти PIN-код. Далі маючи PIN-код він зможе встановити з'єднання з будь-яким з цих пристроїв. І варто врахувати, що в більшості пристроїв безпека на рівні служб, доступних через bluetooth, не забезпечується на належному рівні. Більшість розробників роблять ставку саме на безпеку встановлення сполучення. Тому наслідки дій зловмисника можуть бути різними: від крадіжки записника телефону до встановлення витікаючого виклику з телефону жертви і використання його як пристрою, що прослухує.
Ці методи описують, як примусити пристрої "забути" link key, що само по собі веде до повторного pairing’у, а значить, зловмисник може підслухати весь процес із самого початку, перехопити всі важливі повідомлення і підібрати PIN.
Оцінка часу підбору PIN-кода
У протоколі Bluetooth активно використовуються алгоритми E22, E21, E1, засновані на шифрі SAFER+. Те, що уразливість відноситься до критичних, підтвердив Брюс Шнайер (Bruce Schneier). Підбір PIN’a на практиці чудово працює. Нижче приведені результати отримані на Pentium IV HT на 3 Ггц:
Довжина (знаків) | Час (сек) |
4 | 0,063 |
5 | 0,75 |
6 | 7,609 |
Конкретні реалізації вищеописаних атак можуть працювати з різною швидкістю. Способів оптимізації безліч: особливі налаштування компілятора, різні реалізації циклів, умов і арифметичних операцій. Авіша Вул (Avishai Wool) і Янів Шакед (Yaniv Shaked) зробили прорив, знайшовши спосіб скоротити час перебору PIN-коду в рази. Ця оптимізація виходить за рамки даної статті, але, варто відзначити, що мова йде про оптимізації базових алгоритмів стека bluetooth. В світлі сучасних технологій (зокрема nVidia CUDA) результати могли бути ще краще.
Збільшення довжини PIN-кода не є панацеєю і лише трохи збільшує час перебору. Тільки сполучення пристроїв в безпечному місці може частково захистити від описаних атак. Приклад - bluetooth гарнітура або автомобільний handsfree. Ініціалізація зв'язку (при включенні) з даними пристроями може відбуватися багато разів протягом дня, і не завжди у користувача є можливість знаходитися при цьому в захищеному місці. Втім, атаки подібного вигляду не будуть дуже популярні, принаймні, поки не буде реалізовано доступних апаратних засобів і універсальних програмних пакетів. Впровадження NFC є ефективним рішенням проти даного виду атак, але в цілому, ситуація не зміниться до кращого до появи на ринку достатньої кількості рішень на Bluetooth 2.1 (з підтримкою NFC), а через їх зворотну сумісність з попередніми версіями протоколу, вищевикладені атаки будуть актуальні ще достатньо тривалий час.
Застосування
Радіус роботи пристроїв BT2 не перевищує 15 метрів, для BT1 до 100 м (клас А). Ці числа декларуються стандартом для прямої видимості, в реальності не варто чекати роботу на відстані більше 10-20 метрів. Такого дальнодействия недостатньо для ефективного застосування атак на практиці. Тому, ще до детального опрацьовування алгоритмів атаки, на Defcon-2004 публіці була представлена антена-рушниця BlueSniper, розроблена Джонном Херінгтоном (John Herington). Пристрій підключається до портативного пристрою - ноутбуку/КПК і має достатню спрямованість і потужність (ефективна робота до 1,5 км).
Bluetooth: принципи побудови і функціонування
Bluetooth - це технологія передачі даних по радіо на коротку дистанцію, що дозволяє здійснювати зв'язок безпровідних телефонів, комп'ютерів і різної периферії за відсутності прямої видимості.
Розробку Bluetooth зачала компанія ERICSSON ще в 1994 році. Первинною метою було отримання нового радіоінтерфейсу з низьким рівнем енергоспоживання і невисокою вартістю, який дозволив би встановлювати зв'язок між стільниковими телефонами і безпровідними гарнітурами. Крім того, згідно концепції ERICSSON, новий інтерфейс призначався для передачі даних і мовних повідомлень, причому з будь-якої точки миру. Для забезпечення ширшої підтримки молодої технології в таких секторах ринку, як настільні системи, кишенькові комп'ютери і мобільні телефони, ERICSSON в лютому 1998 року організувала консорціум по розробці і просуванню нової технології під назвою Bluetooth SIG (Special Interest Group). Нині в нього входить більше 2000 різних фірм, у тому числі такі великі, як 3СOM, NOKIA, INTEL, NATIONAL SEMICONDACTOR і так далі.
У Bluetooth-технології сфокусовані кращі на сьогоднішній день досягнення сучасної мікроелектроніки як в області апаратури (Hardware), так і в програмному забезпеченні (Software). Bluetooth-системи відносяться до класу взаємодіючих відкритих систем. Bluetooth-устройства фізично є мікросхемами, що забезпечують зв'язок в діапазоні 2,4 Ггц. Цей діапазон в більшій частці європейських країн і США відноситься до смуги для приладів промислового, наукового і медичного застосування - ISM (Industrial, Ssientific, Medical). Його експлуатація не вимагає ліцензування. Вживана частота означає, що майдан кристалів в Bluetooth-устройствах не перевищує квадратного сантиметра, а споживана потужність вельми мала (1.2,5 мВт). Пристрої забезпечують зв'язок на відстані до 10 метрів. При збільшенні потужності до 100 мВт Bluetooth-устройства стануть більш "далекобійними" (до 100 м).
Технологія Bluetooth повністю відкрита. Будь-яка компанія, що підписала ліцензійну угоду, може увійти до складу Bluetooth SIG і зачати створювати продукти на її основі. Для виключення появи несумісних пристроїв розроблені докладні специфікації, що включають детальний опис методів використання нового стандарту і характеристики протоколів передачі даних. Спрощена блок-схема Bluetooth-связи представлена на рис.1.