Безпека Microsoft ActiveSync

Програма Microsoft ActiveSync - основний продукт для синхронізації кишенькових комп'ютерів (PDA, device, пристрій) і інтелектуальних телефонів (Smartphone) на основі Windows c настільним комп'ютером (PC). Крім повного доступу до файлової системи і реєстру PDA ActiveSync дозволяє перетворювати формати даних між мобільними і настільними варіантами додатків і контролювати версії документів. Використовуваний ActiveSync мережевий протокол не витримує ніякої критики з точки зору сучасних вимог до безпеки.

Наталя Мельников а ([email protected])

Програма Microsoft ActiveSync - основний продукт для синхронізації кишенькових комп'ютерів (PDA, device, пристрій) і інтелектуальних телефонів (Smartphone) на основі Windows c настільним комп'ютером (PC). Крім повного доступу до файлової системи і реєстру PDA ActiveSync дозволяє перетворювати формати даних між мобільними і настільними варіантами додатків і контролювати версії документів.

[Використовуваний ActiveSync мережевий протокол не витримує ніякої критики з точки зору сучасних вимог до безпеки.]

Інтерфейси взаємодії ActiveSync

Найбільш поширеними інтерфейсами взаємодії PDA і PC є COM і USB порти, а так само інфрачервоне з'єднання. Всі ці методи передбачають фізичне з'єднання пристрою і комп'ютера або наявність невеликого повітряного зазору (в разі IR) між ними і не представляють особливого інтересу для мережевого хакера. Оскільки «Якщо погані хлопці мають повний фізичний доступ до вашого комп'ютера, це більше не ваш комп'ютер».

Були зроблені спроби створення утиліти по підбору пароля для доступу до захищеного вбудованими засобами PDA ( http://www.cs.nmt.edu/~cs553/paper3.pdf ), Проте, AFAIK, критичному дослідженню з боку security-спільноти дизайн і реалізація протоколу ActiveSync піддавався.

В принципі, заходів захисту вбудованих в протокол (аутентифікація PC з використанням пароля) для синхронізації через IR / USB / COM цілком достатньо. Користувач завжди має можливість візуально аутентифицировать і комп'ютер і наладонник.

Проте все міняється, коли з'являється мережу (див. Малюнок 1).

Малюнок 1)

Малюнок 1. Welcome to the Real Word!

Все більше і більше PDA оснащується бездротовими інтерфейсами стандарту 802.11 і природно, їх власники хочуть використовувати відкривається при цьому потенціал. Компанія Microsoft, природно, надає їм цю можливість, дозволяючи синхронізувати пристрій з мережі. Мережева синхронізація відключена за замовчуванням і це одне з небагатьох правильних рішень в реалізації ActiveSync. Але, судячи з кількості "how-to synchronize via wi-fi" в мережі, дуже багато власників PDA задіють цю опцію. Ну що ж, приступимо.

Аналіз мережевого протоколу

Перше, що кидається в очі - передача трафіку в відкритому вигляді. Це нормально для безпосереднього з'єднання (троянський компонент на PC все одно зуміє отримати доступ до трафіку), але абсолютно неприйнятно в разі мережевої взаємодії. Особливо якщо врахувати ту обставину, що основним каналом зв'язку між пристроєм і настільним комп'ютером є Wi-Fi, про «безпеки» якого сказано стільки теплих слів (ok, ok, я знаю що таке 802.11i). Однак даний факт описаний в документації Microsoft, відповідно з розряду bugs переходить в область features.

Після запуску ActiveSync відкриває серверний порт 5679 на всіх мережеві інтерфейси.

C: \> netstat -anb

Active Connections

Proto Local Address Foreign Address State

TCP 0.0.0.0:5679 0.0.0.0:0 LISTENING

[WCESCOMM.EXE]

Таким чином, просте сканування за допомогою nmap -p 5679 дозволяє виявити машини з встановленим ActiveSync.

Комп'ютер і PDA взаємодіють, використовуючи кілька TCP з'єднань. Спочатку PDA встановлює TCP з'єднання на порт 5679 зареєстрований в IANA як DCCM (Direct Cable Connect Manager).

В рамках цього з'єднання відбувається ідентифікація пристроїв. У разі якщо пристрій ідентифіковано, настільний комп'ютер встановлює з'єднання на порт 990 PDA. З цього з'єднанню працює RPC-style протокол, по суті є мережевий інтерпретацією викликів Microsoft RAPI. Детальніше про ці протоколи можна дізнатися з документації проекту SynCE ( http://synce.sourceforge.net/synce/ ).

помилковий сервер

У разі синхронізації через COM / USB / IR користувач має можливість захистити пристрою від атак з впровадженням помилкового сервера. Для цього використовується або 4х розрядний pin-код або алфавітно-цифровий пароль з 40ка символів. Перед синхронізацією сервер повинен пред'явити пароль пристрою. Наскільки мені відомо, єдиною утилітою підбору пароля є емулятор роботи користувача в GUI, написаний на vbscript. В даний час протокол ActiveSync досить непогано вивчений командою проекту SyncCE, і не представляє особливої ​​проблеми створити на основі їх коду більш «просунуту утиліту».

Однак для реалізації атаки «помилковий сервер» при використанні для синхронізації TCP / IP такі вишукані страви не потрібні. Пристрій просто не вимагає пароля в разі мережевої синхронізації! Я навіть важко сказати, чим це є - прогалиною в безпеки або способом підвищення захищеності. Адже якщо синхронізація відбувається через COM / USB / IR, пароль передається у відкритому вигляді. Це, безумовно, неприпустимо при передачі пароля по мережі. Що ж, тоді не будемо передавати його взагалі!

Відповідно для реалізації впровадження помилкового сервера досить реалізувати «половину» атаки mitm (людина по середині) і зробити так, що б при з'єднанні сервером PDA з'єднувався з нашою машиною.

Це можна реалізувати, використовуючи відомі техніки на 1,2,3 ... (виберіть свій улюблений) рівні моделі OSI. У дослідженнях використовувався варіант з DNS-spoofing, оскільки пристрій ідентифікує настільний комп'ютер на ім'я, але атакуючому залишається ще багато інших можливостей. Я не думаю, що цей підхід буде популярний у реальних «поганих хлопців», оскільки в більшості SOHO мереж для розпізнавання імен використовується NetBIOS.

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

Однак перед нами постає одна проблема. При першому підключенні через COM / USB / IR пристрій і PC узгодять параметри обміну і створюють так звані «партнерські взаємини». Документованих способів їх створення в разі мережевої синхронізації виявлено не було. Прекрасно зарекомендував себе параметр HKLM \ SOFTWARE \ Microsoft \ Windows CE Services \ GuestOnly = 1, що дозволяє підключати будь-який пристрій як «гостя» в даному випадку не працює.

При більш пильному розгляді було виявлено, що «партнерські взаємини» визначаються наявністю ключа реєстру HKCU \ Software \ Microsoft \ Windows CE Services \ Partners \ <patrnerid> на PC, і параметра HKLM \ Software \ Microsoft \ Windows CE Services \ Partners \ <PN > \ Pid = <patrnerid> на PDA. Де <partnerid> - 32 бітний ідентифікатор «партнерських взаємин», а <PN> - порядковий номер партнера (P1, P2).

При мережевій синхронізації ідентифікатор «партнерських взаємин», передається пристроєм у відкритому вигляді, відповідно «помилковий сервер» має можливість його перехопити (Малюнок 2), витягти з запиту клієнта, і налаштувати ActiveSync на прийом з'єднань від даного пристрою.

Малюнок 2. Ідентифікатори з'єднань

сценарій атаки

  1. Реалізувати mitm або близькі умови.
  2. Дочекатися з'єднання на порт 5679.
  3. Витягти з пакета ID пристрою.
  4. Імпортувати «шаблон» (можна взяти копію реєстру будь-якої машини з налаштованим партнером) партнерських взаємовідносин в реєстр.
  5. Змінити значення ідентифікатора партнера (HKCU \ Software \ Microsoft \ Windows CE Services \ Partners \ <patrnerid>) на перехоплений значення.
  6. Чекати повторного з'єднання.

В ході експериментів була отримана можливість повного доступу до пристрою в «гостьовому режимі», тобто практично повний контроль над PDA. Реалізацію атаки можна спростити, написавши proxy, автоматично додає перехоплений ідентифікатор партнера в настройки ActiveSync.

помилковий клієнт

Атака «помилковий клієнт» дозволяє підключити до сервера мобільний пристрій і отримати дані, налаштовані на автоматичну синхронізацію, такі поштові повідомлення, файли, контакти і т.д. Крім того, при виявленні помилок типу «переповнення буфера» в модулях перетворення форматів ActiveSync, це може привести до виконання довільного коду.

Для створення помилкового клієнта необхідна та ж інформація, що і для підняття помилково сервера - ім'я машини з ActiveSync і PartnerID.

Ідентифікатор «партнерських взаємовідносин» можна отримати шляхом перехоплення мережевих пакетів або перебором. У другому випадку обсяг перебираються комбінацій досить великий і дорівнює 2 ^ 32. Однак на практиці, він трохи нижче, оскільки в запиті можна передавати відразу 2 ID (див. Малюнок 2), і крім того, при генерації PartnerID ActiveSync намагається уникнути «крайніх» значень діапазону.

Після того, як необхідне значення визначено, необхідно налаштувати наладонник на синхронізацію з настільним комп'ютером, для чого за допомогою редактора реєстру на PDA створюються такі значення

HKLM \ Software \ Microsoft \ Windows CE Services \ Partners \ P1

PName [STRING] = <PC_NAME>

PId [DWORD] = <partnership id>

Після цього, на PDA запускається клієнт ActiveSync і ініціюється з'єднання з PC.

захист

При дизайні ActiveSync Microsoft міг би скористатися SSL / TLS на самоподпісанного сертифікатах, що генеруються при встановленні партнерських відносин. Це б вирішило проблему взаємної аутентифікації пристрої та настільного комп'ютера, а так само дозволило шифрувати переданий трафік.

Оскільки цього не зроблено, доводиться задіяти навісну захист. У Windows Mobile 2003 вбудована підтримка протоколів захисту канального (WPA і 802.1X), мережевого (L2TP / IPSEC) і сеансового рівня (SSL / TLS) моделі OSI. Останній з них вельми корисний при налагодженні синхронізації з сервером Exchange, яка відбувається по протоколу HTTP з аутентифікацією типу Basic (тобто ім'я користувача і пароль в кодуванні Base64).

Перші два цілком підходять для вирішення завдання захисту ActiveSync. При виборі WPA можна задіяти аутентифікацію на основі загального ключа (WPA / PSK) або за допомогою сертифікатів і паролів користувача (802.1X PEAP-MSCHAPv2 або EAP-TLS). Використання PEAP або EAP є більш захищеним варіантом, але вимагає настройки клієнтських компонентів PKI на PDA, наприклад настройки довіряючи до сертифіката сервера RADIUS.

При виборі IPSEC для аутентифікації так само можна задіяти загальний ключ або цифрові сертифікати. На жаль, в Windows Mobile 2003 немає можливості настройки IPSec у відриві від L2TP, що вимагає розгортання на машині з ActiveSync служби RRAS або іншого L2TP сервера.

Більш докладно про захист комунікацій Windows Mobile можна дізнатися зі статті, опублікованої в квітневому номері журналу «Системний адміністратор».

"Лабораторія Касперського"

- міжнародна компанія-розробник програмного забезпечення для захисту від вірусів, хакерів і спаму. Продукти компанії призначені для широкого кола клієнтів - від домашніх користувачів до великих корпорацій. В активі "Лабораторії Касперського" 16-річний досвід безперервного протистояння вірусним загрозам, що дозволив компанії накопичити унікальні знання і навички і стати визнаним експертом в галузі створення систем антивірусного захисту.

компанія SoftKey - це унікальний сервіс для покупців, розробників, дилерів і афіліат-партнерів. Крім того, це один з кращих Інтернет-магазинів ПО в Росії, Україні, Казахстані, який пропонує покупцям широкий асортимент, безліч способів оплати, оперативну (часто миттєву) обробку замовлення, відстеження процесу виконання замовлення в персональному розділі, різні знижки від

Академія Інформаційних Систем (АІС) створена в 1996 році і за час роботи навчила понад 7000 фахівців різного профілю. АІС пропонує своїм партнерам десятки освітніх програм, курсів, тренінгів та виїзних семінарів. Сьогодні АІС представлена ​​напрямами: «Інформаційні технології», «Дистанційне навчання в області ІТ», «Інформаційна безпека,« Управління проектами »,« Бізнес-освіта »,« Семінари та тренінги »,« Екологічні промислові системи »,« Конференції »,« консалтинг »і« Конкурентна розвідка на основі Інтернет ».

Інтернет магазин www.watches.ru входить до складу великої спеціалізованої мережі часових салонів МОСКОВСКОЕ ЧАС, яка налічує понад 40 торгових точок по Москві і регіонах Росії. У нашому магазині представлені більше 3000 моделей годин виробництва Швейцарії, Німеччини, Франції та Кореї. Доставка по Москві - бесплатно.Для постійних клієнтів існує гнучка система знижок і видається накопичувальна дисконтна карта «Московський час».