Анонімні мережі і timing атаки: маловитратна атака на Tarzan і Morphmix

Введення | Tor | Tarzan і MorphMix | Малозатратна атака | Малозатратна атака на Tarzan і Morphmix | Принципи побудови безпечних систем (висновок)

Для перевірки на Tarzan і MorphMix ми взяли ту ж модель атаки яка використовувалася в Tor. Нападнику потрібно дві речі: шкідливий вузол і шкідливий сервер. Як шкідливий вузол в обох мережах (Tarzan і MorphMix) виступатиме відправник. У термінології Tarzan він називається Tarzan-клієнт, в MorphMix - вузол-ініціатор.

Далі, шкідливий вузол повинен отримати список всіх інших вузлів мережі. Потім, він встановлює з'єднання з кожним з них і відстежує затримки, що виникають в з'єднаннях. Спостереження має вестися деякий час. Протягом усього періоду спостереження шкідливий сервер не припиняючи шле свій трафік в систему. Після закінчення періоду спостереження результати замірів затримок у кожному з'єднанні використовуються для оцінки обсягів трафіків відповідних вузлів. Потім навантаження вузлів порівнюються з трафіком сервера. Якщо виявляються збіги, вузол входить до анонімізуючого ланцюжка. Провівши порівняння для всіх вузлів можна виявити весь ланцюжок.

Таким чином, для успішної атаки повинні бути виконані наступні умови:

  • Затримки, які спостерігаються шкідливим вузлом, дійсно повинні відображати навантаження інших вузлів.
  • Шкідливий вузол повинен мати можливість отримати інформацію про всі інші вузли мережі.
  • Шкідливий вузол повинен мати можливість встановити пряме з'єднання з усіма іншими вузлами.

Tor схильний до атаки, тому що його архітектура задовольняє цим вимогам. По-перше, розробники Tor видалили операції змішування і трафік, тому тимчасові характеристики потоків зберігаються протягом усього ланцюжка. Це підтвердили експерименти (Murdoch & Danezis 2005). По-друге, в Tor передбачена служба directory service за допомогою якої Tor-клієнт може отримати список всіх вузлів (Tor-серверів) мережі. По-третє, нічого не заважає Tor-клієнту встановити з'єднання з усіма Tor-серверами.

Маловитратна атака в Tarzan

Перевіримо чи виконуються в Tarzan перераховані вище умови.

Затримки

Між Tarzan і Tor є дві основні відмінності, що впливають на затримки, що виникають в мережах. По-перше, Tor обробляє черги в режимі round-robin fashion. По-друге, в Tor немає змішування і трафіку, що покриває (cover traffic). У Tarzan справи йдуть інакше. Tarzan передбачає механізм імітаторів. Завдяки якому активність зв'язків, що виходять з вузла, можна порівняти з активністю вхідних. Якщо якийсь зв'язок недостатньо активний, Tarzan додає фальшивий трафік. Крім того, перед відправкою, Tarzan-вузол проводить деякі операції змішування над усіма вихідними потоками.

Таким чином питання полягає в тому, чи може механізм імітаторів знищити timing-характеристики переданих потоків. Єдиний шлях перевірити - це провести експеримент аналогічний тому який влаштували в Tor. На жаль, у нас немає випробувального стенду механізму імітаторів. Залишимо це питання відкритим і будемо вважати що timing-характеристики не знищуються. Таким чином, ми як і раніше вважаємо що атака на Tor ефективна і для Tarzan.

Можливість отримати інформацію про всі вузли мережі

Для пошуку інших вузлів мережі Tarzan-вузол використовує механізм заснований на протоколі пліток (gossip-protocol). Тобто. кожен Tarzan-вузол теоретично може отримати інформацію про всі інші вузли мережі. Але завдання може бути важко здійсненне через те що Tarzan - це peer-to-peer мережа і кількість вузлів може бути дуже великою і постійно змінюватися. Таким чином, здається сумнівним що шкідливий вузол зможе оцінити затримки всіх інших вузлів мережі. Однак, оскільки теоретична можливість є, будемо вважати що умова виконується.

Можливість встановити пряме з'єднання з іншими вузлами мережі

Якщо, після отримання списку всіх інших вузлів мережі, у шкідливого вузла є можливість встановити пряме з'єднання з кожним з них - значить третя умова виконується. На відміну від Tor, Tarzan дозволяє передавати трафік тільки через міміки. Таким чином, якщо вузол не входить до числа міміків шкідливого вузла, то шкідливий вузол не зможе встановити з ним пряме з'єднання. Якщо з "єднання вимагає посередників, шкідливий вузол не може коректно заміряти затримки. Оскільки заміри можуть залежати від затримок створюваних проміжними вузлами. Таким чином, все виглядає так що маловитратна атака не застосовна до Tarzan. Проте, це не так. У Tarzan є PNAT - останній вузол у тунелі, через який з'єднання виходить у зовнішній світ. На відміну від інших проміжних вузлів у тунелі, коли вибір кожного наступного вузла обмежений списком міміків, PNAT-ом можна призначити будь-який вузол мережі. Таким чином, шкідливий вузол має можливість встановити пряме з'єднання без посередників з будь-яким вузлом - механізм міміків не вирішує проблеми.

Підіб'ємо підсумок. Маловитратна атака застосовна до Tarzan, оскільки механізм міміків не руйнує timing-характеристики потоків, і PNAT може бути обраний з числа всіх вузлів мережі, а не тільки з міміків.

Маловитратна атака в MorphMix

Головна відмінність між MorphMox і Tor полягає в архітектурі мережі і тому як відбувається вибір передавальних вузлів тунелю і вихідного вузла. MorphMix використовує peer-to-peer архітектуру, а Tor, як передавальні вузли, використовує вибрані сервери. У Tor, Tor-клієнт самостійно вибирає всі вузли для організації анонімного тунелю. У MorphMix у формуванні тунелю беруть участь всі проміжні вузли. У Tor є вихідний вузол (exit node), в MorphMix немає. Перевіримо застосовність маловитратної атаки на MorphMix за допомогою тих же трьох критеріїв.

Затримки

Після встановлення тунелю, вузли MorphMix і Tor працюють однаково. У обох немає трафіку, що покриває. Таким чином, в цьому розрізі, атака може бути застосована до MorphMix.

Можливість отримати інформацію про всі вузли мережі

Для роботи мережі кожен MorphMix-вузол може і не знати всіх інших вузлів. Достатньо щоб кожен вузол знав своїх сусідів. Коли вузол хоче створити тунель, він послідовно запитує у кожного наступного MorphMix-вузла список рекомендованих вузлів, з числа яких буде обрано наступний вузол тунелю. Цей механізм дозволяє створювати анонімні тунелі без списку всіх вузлів мережі.

Суть ось у чому. Для здійснення атаки, шкідливому вузлу потрібно отримати список всіх вузлів мережі. Це не тривіальне завдання, тому що отримати інформацію про інші вузли можна тільки за допомогою механізму створення тунелю. Для успішної атаки потрібен більш ефективний механізм пошуку - інакше визначення списку всіх вузлів мережі виходить дуже накладним. Тобто. «маловитратна» атака стає «дорогою». Крім того, до моменту побудови списку він швидше за все застаріє, оскільки склад peer-to-peer мережі дуже нестабільний. Крім того, оскільки MorphMix-вузли не знають всіх інших вузлів мережі, немає жодної гарантії що між усіма вузлами може бути встановлений зв'язок (не важливо прямий чи ні). Таким чином, атака не здійсненна.

Можливість встановити пряме з'єднання з іншими вузлами мережі

У MorpMix немає обмежень на з'єднання. Тобто. кожен вузол може встановити пряме з'єднання з будь-яким іншим вузлом.

Коротко кажучи, описана атака не застосовна до MorpMix, тому що шкідливий вузол не може отримати список всіх інших вузлів мережі.