Порівняно з позиціонуванням за допомогою стільникових мереж або GPS використання Bluetooth метод має точність аж до декількох сантиметрів і ідеально підходить для використання всередині приміщень. Стандартна система позиціонування складається з розподілених по приміщенню Bluetooth-маячків, які з деякою періодичністю розсилають так звані рекламні (advertising) пакети. Смартфон, аналізуючи вміст прийманих пакетів і потужність сигналу від декількох маячків, обчислює місце розташування користувача.
- Стеження за метаданими в рекламних кадрах
- Структура рекламного пакета Bluetooth Low Energy
- Алгоритм моніторингу адреси, що змінюється
- Виявлені токени та інші вразливості
- Демонстрація роботи алгоритму і результати
- Відстеження за радіочастотною відбиткою
- Механізм стеження і результати
- Нюанси використання радіочастотного відбитка
- Актуальність описаних вразливостей і можливі способи захисту
- Список використаних матеріалів
Описана вище схема не несе прямої загрози розкриття точного місця розташування користувача, так як всі маячки працюють в режимі передавача, і смартфон не обмінюється з ними даними. А за відсутності підключення до інтернету смартфон не зможе навіть відправити дані на сервери Apple/Google, щоб повідомити про отримання рекламних пакетів.
Давайте спробуємо інвертувати дану схему - тепер користувач буде мати при собі спеціальний маячок, що розсилає пакети, які будуть вловлюватися приймачами в приміщенні. Аналізуючи дані з декількох приймачів, можна обчислити місце розташування користувача в приміщенні або хоча б визначити його присутність. Використання таких систем, наприклад, пропонується для контролю за літніми людьми та особами з обмеженими можливостями [1] (див. рис. 1).
Ріс. 1. Персонал отримує повідомлення, якщо людина, яка страждає деменцією, залишає лікувальний заклад. Джерело: infsoft
Але ж звичайні люди і не ходять з прикріпленими Bluetooth-маячками, отже, загроза несанкціонованого відстеження відсутня? Не зовсім. Згадана вище робота вже вказує, що в якості маячка підходять звичайні спортивні браслети (MiBand, Fitbit та ін.).
Дані пристрої працюють згідно зі стандартом Bluetooth Low Energy (BLE). Часто смарт-пристрої мають обмежений набір можливостей для управління, тому вони постійно знаходяться у включеному стані, розсилаючи рекламні пакети, які дозволяють іншим пристроям виявити їх та ініціювати з'єднання. Щоб пристрій міг надіслати запит на підключення, рекламні повідомлення містять поле MAC-адреси відправника. Для виключення відстеження користувача носимого пристрою через захоплення пакетів з визначеною адресою, стандарт BLE дозволяє вказувати в рекламних пакетах не публічну статичну MAC-адресу пристрою, а періодично оновлюваний випадково згенерований.
Стеження за метаданими в рекламних кадрах
Однак дослідження [2] показує, що, по-перше, розсилка рекламних пакетів не обмежується тільки смарт-пристроями, рекламні пакети розсилають всі сучасні пристрої, якщо на них включено Bluetooth. По-друге, незважаючи на рандомізацію адреси більшість пристроїв можна відстежувати за вмістом інших полів рекламних пакетів, що розсилаються.
У своїй роботі досліджували алгоритм, що дозволяє безперервно відстежувати пристрої, що розсилає рекламні пакети BLE, навіть якщо вони використовують рандомізацію адреси. При цьому не потрібно ніякої взаємодії з відстежуваним пристроєм, досить пасивного прослуховування Bluetooth-каналів і захоплення рекламних пакетів, що їм розсилаються.
Структура рекламного пакета Bluetooth Low Energy
Розглянемо, як влаштований рекламний пакет (рис. 2). За аналогією з пакетами інших мережевих протоколів цей так само складається з преамбули, заголовка, корисного навантаження і контрольної суми.
Ріс 2. a) Структура рекламного пакета і його заголовка. b) Структура поля корисного навантаження (PDU Payload). c) Приклад вмісту поля AD Structure з інформацією виробника пристрою.
Заголовок визначає тип пакета і, оскільки дослідники розглядають лише пакети одного типу, всі заголовки мають подібний вміст і не дозволяють розрізняти пристрої. Аналізу дослідників зазнала частина пакета, що містить корисне навантаження (PDU Payload), перші шість байт якої містять рекламовану адресу пристрою AdvA. Якщо прапор TxAdd у заголовку пакета дорівнює одиниці, адреса AdvA є випадково згенерованою, в іншому випадку пристрій транслює свою публічну статичну адресу.
Інші поля можуть містити дані, що додаються виробниками пристроїв для реалізації власних протоколів ініціалізації з'єднання та обміну даними поверх процедур протоколу Bluetooth. Саме вміст цих полів і є об'єктом дослідження авторів.
Алгоритм моніторингу адреси, що змінюється
Для захоплення пакетів дослідники використовують SDR (software-defined radio, програмно-визначуване радіо), що прослуховує один з Bluetooth-каналів, далі захоплені пакети декодують в ASCII-код і аналізують відповідно до структури пакета (рис. 2).
Підготовча частина роботи алгоритму складається зі збору масиву захоплених протягом тривалого часу пакетів, що розсилаються певною категорією пристроїв. Категорія пристрою - дещо абстрактне поняття, можна сказати, що вона визначається виробником пристрою, встановленої ОС, додатками і т. п. Аналіз масиву даних дозволяє виділити так звані токени - що зберігаються протягом деякого часу послідовності байт всередині рекламного пакета, що дозволяють однозначно визначити відправника даного пакета. Одним з токенів є рекламована MAC-адреса пристрою, хоча він може бути схильний до рандомізації через певні проміжки часу. Тому завдання полягає в пошуку токенів, зміна яких відбувається не синхронно, і «час життя» яких перетинається.
Після знаходження токенів всередині рекламних пакетів певної категорії пристроїв можна перейти до відстеження конкретного пристрою. Тепер пакети захоплюються SDR в режимі реального часу і декодовані подаються на вхід алгоритму, ініціалізованому з вихідною адресою відстежуваного пристрою.
Алгоритм виділяє необхідні токени і рекламовану MAC-адресу з вмісту пакета, якщо рекламована адреса не змінилася, але оновилися або додалися токени, то необхідно зберегти їх для подальшого порівняння з новими пакетами. Якщо б хоти один токен зберігся, але змінилися інші і/або адреса пристрою, то необхідно оновити відповідні дані для подальшого порівняння. Зупинка відстеження пристрою може відбутися, якщо всі токени, включаючи MAC-адресу пристрою, оновляться одночасно.
Виявлені токени та інші вразливості
Розглядаються в дослідженні пристрої по-різному використовують розсилку рекламних пакетів, додаючи різні дані всередині корисного навантаження:
- Пристрої під керуванням Windows 10 розсилають пакети незалежно від виробника, при цьому 23 байти з поля Manufacturer data (рис. 2), що оновлюються приблизно раз на годину, є, імовірно, унікальними для кожного пристрою в поточний момент часу, тому їх можна використовувати в якості токена.
- macOS і iOS-пристрої розсилають рекламні пакети для роботи функції Handoff, яка дозволяє безшовно перемикатися між пристроями екосистеми. Токенами в даному випадку виступають метадані Apple з позначками handoff і nearby всередині корисного навантаження.
- Протестовані смартфони на ОС Android хоча і розсилають рекламні пакети, але не включають туди ніяких сторонніх даних, що робить їх несприйнятливими до даного методу відстеження.
- Браслет Fitbit Charge відправляє рекламні пакети при втраті сигналу від смартфона для ініціалізації повторного з'єднання. Особливість роботи цього пристрою полягає в тому, що незважаючи на те, що прапор TxAdd у заголовку пакета дорівнює одиниці, MAC-адреса пристрою не змінювався з часом, навіть після його скидання і повторного налаштування, таким чином, як токен з нескінченним часом життя виступає сама адреса браслета.
- Описані вище пристрої розсилають рекламні пакети типу ADV_IND, відповісти на які може будь-який пристрій. Але Microsoft Surface Pen при натисканні кнопки або від'єднання від магнітного кріплення на корпусі відправляє рекламні пакети типу ADV_DIRECT_IND, відповідати на які може тільки пристрій з зазначеною в пакеті адресою. Цікаво, що якості цільової адреси стилус вказує статичну публічну адресу пристрою Surface, що призводить до його розкриття і можливості відстеження пристрою іншими способами.
Демонстрація роботи алгоритму і результати
Ілюстрація роботи алгоритму з відстеження адреси пристрою представлена на рис. 3, де показано, як у часі змінюються значення полів, що використовуються як токени. Видно, що хоча б один з токенів зберігає своє значення незважаючи на зміну адреси, що і дозволяє визначити нову адресу пристрою.
Ріс. 3. Приклад роботи алгоритму для iOS-пристрою. Перші три обчислення адреси виконані за допомогою збереженого токена handoff, останній - за допомогою токена nearby. Різні кольори відображають різні значення полів.
Результати дослідників можна підсумувати в наступній таблиці.
|
Категорія пристрою |
Середній час життя випадкової адреси |
Максимальний час стеження |
Спосіб стеження за адресами |
|
Windows 10 |
16 хв |
Не обмежено |
Запропонований алгоритм |
|
macOS, iOS |
20 хв |
53 хв, можливо, не обмежено |
Запропонований алгоритм |
|
Android |
15-45 хв |
Вразливості відсутні |
|
|
Fitbit Charge |
Адреса не змінюється |
Не обмежено |
— |
|
Microsoft Surface |
16 хв |
Не обмежено |
Витік адреси через Microsoft Surface Pen |
Цікаво, що дане дослідження проводилося до початку пандемії COVID-19, коли Apple у співпраці з Google створили фреймворк для відстеження контактів з хворими людьми. Принцип роботи відстеження якраз покладається на розсилку рекламних повідомлень BLE з додатковими даними про статус користувача. Дослідники безпеки виявили [3], що метадані в пакетах оновлюються несинхронно з адресою пристрою, що дозволяє використовувати їх як токен для вищеописаного алгоритму. У новині зазначено, що вразливості схильна тільки половина протестованих смартфонів.
Відстеження за радіочастотною відбиткою
Однак, навіть якщо вразливості подібні до описаних вище будуть виправлені, група дослідників з Каліфорнійського університету в Сан-Дієго (University of California, San Diego) нещодавно описала новий метод відстеження BLE-пристроїв [4]. Новий підхід не вимагає аналізу вмісту пакетів, а покладається лише на аналіз фізичних особливостей сигналу, випромінюваних Bluetooth-радіомодулем відстежуваного пристрою.
Механізм стеження і результати
Характеристики кожного радіомодуля унікальні через виникаючі при його виробництві дефектів. Не заглиблюючись у подробиці роботи фізичного рівня стандарту BLE, можна сказати, що дефекти викликають різного роду спотворення в переданому радіосигналі, це дозволяє створити для кожного пристрою унікальний радіочастотний відбиток, що описує спотворення конкретного пристрою.
Дослідники наводять наступний гіпотетичний сценарій відстеження. Зловмисник, перебуваючи поруч з цільовим пристроєм, обробляє вихідні від нього BLE-пакети, щоб зібрати достатню кількість даних для створення радіочастотного відбитка. Після створення відбитка зловмисник поміщає SDR біля будинку жертви, що дозволить визначати, знаходиться жертва в приміщенні чи ні. Результати експериментального відтворення описаного сценарію показані на рис. 4, протягом години відбулося тільки одне помилкове спрацьовування тривалістю 50 секунд за умови, що загальна кількість детектованих пристроїв протягом експерименту близько 30 штук.
Ріс. 4. Результат визначення знаходження цільового пристрою всередині будинку. a) Загальна кількість детектованих пристроїв. b) Червона смуга - результат детектування цільового пристрою, синя смуга - реальне знаходження пристрою всередині будинку. Джерело: [5]
Нюанси використання радіочастотного відбитка
До недоліків даного методу можна віднести, що він вимагає більш глибоких знань в обробці сигналів за допомогою SDR, а точність залежить від якості виконання SDR - дешеві моделі вимагають калібрування. Якість створення і розпізнавання відбитка значно залежить від потужності сигналу, в той час як різні пристрої випромінюють сигнал з різною потужністю і значний вплив на поширення сигналу надає навколишній простір. Дана методика дозволяє легко відрізняти відбитки чіпів різних виробників, але, якщо необхідно, наприклад, виявити сигнал конкретного iPhone серед інших смартфонів цієї ж моделі, то це буде зробити набагато складніше. Також на радіочастотній відбитці позначається температура пристрою, тому при активній роботі відбиток може відрізнятися від виміреного в стані спокою. Дослідники стверджують, що за результатами експериментів, близько 40% існуючих пристроїв можуть бути успішно ідентифіковані за їх радіочастотним відбитком.
Актуальність описаних вразливостей і можливі способи захисту
Наостанок перевіримо актуальність описаних вразливостей. Що стосується відстеження за допомогою метаданих у рекламних пакетах, новину [6] повідомляє, для Windows 10 вразливість мали виправити разом із виходом Windows 10 May Update (1903). У свіжому препринті [7] роботи, присвяченій дослідженню безпеки бездротових протоколів Apple, від команди дослідників з Технічного університету Дармштадта (Technical University of Darmstadt) зазначено, що вразливість, що дозволяє відстежувати пристрої Apple за метаданими в рекламних пакетах, була виправлена в випусках операційних систем iOS 13.4 і macOS 10.15.4. Однак не вдалося виявити новин про виправлення вразливостей пов'язаних з відсутністю рандомізації MAC-адреси для пристроїв Fitbit, витоком публічної MAC-адреси через Surface Pen і некоректною роботою фреймворку для контролю контактів з хворими на COVID-19. Також можна помітити що ринок носимих пристроїв не обмежується браслетами від Fitbit, пристрої інших брендів теж можуть бути схильні до розглянутих вразливостей.
Відстеження за радіочастотним відбитком не можна виправити за допомогою програмних патчів, оскільки відбиток включає в себе виключно фізичні особливості виконання радіомодуля пристрою. Для захисту дослідники пропонують додати випадкові коливання частоти осцилятора радіомодуля, що ускладнить створення відбитка і його детектування. Хоча деяке програмне рішення автори все ж пропонують: на пристрої можна запускати фоновий процес, що створює мінливе з часом навантаження на ЦП, що буде призводити до зміни температури пристрою і згодом його відбитка. Але такий підхід буде позначатися на продуктивності пристрою і часу його автономної роботи. Єдиним надійним способом буде повне відключення Bluetooth, а ще краще - повне вимкнення пристрою.
Таким чином, велика кількість Bluetooth-пристроїв можливо потенційно використовувати для відстеження їх власників. При цьому точність визначення місця розташування людини залежить від кількості прослуховуючих пристроїв, її можливо варіювати від простого визначення знаходження потрібної людини в приміщенні, як у роботі про відстеження за допомогою цифрового відбитка, до точного позиціонування в приміщенні, описаного у вступній частині.
Список використаних матеріалів
- Bai, Lu & Ciravegna, Fabio & Bond, Raymond & Mulvenna, Maurice. (2020). A Low Cost Indoor Positioning System Using Bluetooth Low Energy. IEEE Access. PP. 1-1. 10.1109/ACCESS.2020.3012342. (ResearchGate)
- Becker, Johannes & Li, David & Starobinski, David. (2019). Tracking Anonymized Bluetooth Devices. Proceedings on Privacy Enhancing Technologies. 2019. 50-65. 10.2478/popets-2019-0036. (ResearchGate)
- https://habr.com/ru/news/t/517928/
- https://www.theregister.com/2021/10/22/bluetooth_tracking_device/
- https://cseweb.ucsd.edu/~nibhaska/papers/sp22_paper.pdf
- https://www.zdnet.com/article/bluetooth-vulnerability-can-be-exploited-to-track-and-id-iphone-smartwatch-microsoft-tablet-users/
- https://www.usenix.org/conference/usenixsecurity21/presentation/stute
