<
  • Главная
Статьи

Чому TOR безпечний? | Безпека | IntSystem.org

  1. Таймінг-Атака на TOR
  2. протокол TOR
  3. трохи математики
  4. Так і що в результаті?

Ні, я не працюю в органах і в відділах «К» =)   Для чого ця стаття Ні, я не працюю в органах і в відділах «К» =)

Для чого ця стаття? Для того щоб популязіровать TOR, чим більше учасників тим краще кожному з нас.

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

Самі спостережні з вас помітять, що навіть в вікіпедії описаний спосіб за допомогою якого можна обчислити користувача ... Але є ще одне АЛЕ. Це єдина описана можлива атака, яка працює лише в лабораторних умовах. Але про це далі.

В інтернеті є така цікава штука: Специфікація протоколу TOR . Там викладено досить докладний опис самого протоколу. Я думаю не варто вдаватися в його опис в даній статті (тим хто дуже цікавий - може вивчити документ за посиланням вище), я лише спробую перевести на зрозумілу мову і зобразити його в загальних рисах.

Але для початку давайте розберемо описану в вікіпедії атаку.

Таймінг-Атака на TOR

Для початку раджу прочитати цикл статей про таймінг атаки, одна статей якого присвяченій TOR-у: Анонімні мережі і timing атаки: Tor . Хоча ... гм ... описано все там досить сумбурно.

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

Уявіть, ви, використовуючи TOR, качаєте щось з торентів. Цим самим ви забиваєте свій канал, а також канали між нодамі. Пропонований спосіб допомагає встановити якісь сервера в даний момент навантажені і по-черзі дійти від одержувача до відправника.

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

Досить запам'ятати правило:

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

Ні, звичайно, тепер ви можете заявити - «TOR НЕ анонімний!», Але кожна людина - сам коваль свого щастя. Потрібно всього лише виконувати деякі заходи для власного захисту. Наприклад ви ж не виплигуєте з автомобіля на повному ходу, а керуєтеся елементарними правилами безпеки.

протокол TOR

Ну а тепер розберемо протокол передачі даних. Не буду вдаватися в усі деталі і спробую зобразити схематично.

Для початку нагадаю то як працює TOR, в загальних рисах його робота виглядає ось так:
Для початку нагадаю то як працює TOR, в загальних рисах його робота виглядає ось так:

Всім відомо що всі дані шифруються, але тільки ось мало хто знає як саме. Перший етап полягає в ініціалізації підключення, отримання ключів, перевірку сертифікатів та інше, але це нам мало цікаво. Давайте розберемо процес передачі пакета. Давайте глянемо то як складається сам пакет на стороні відправника:
Всім відомо що всі дані шифруються, але тільки ось мало хто знає як саме
Ось так ось до речі і виглядає цибулинна шифрування. І саме тому TOR, дослівно перекладається як «цибулинних маршрутизатор».

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

Після того як пакет складений він пересилається першому сервера в обраній ланцюжку:
Після того як пакет складений він пересилається першому сервера в обраній ланцюжку:   Після чого перший сервер знімає свій шифр, дізнається куди треба його передавати далі і передає його:   Тобто перший сервер знає адресу відправника і другого серверів
Після чого перший сервер знімає свій шифр, дізнається куди треба його передавати далі і передає його:

Тобто перший сервер знає адресу відправника і другого серверів. Він не знає що передається в основному пакеті, для цього потрібно зняти ще два шифру, також він не знає адреси третього сервера і адреси одержувача.

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

І власне передача даних до відправника:
І власне передача даних до відправника:   Третя нода в результаті знає адресу одержувача, адреса другого сервера, так і вміст пакета, а також відповідь одержувача
Третя нода в результаті знає адресу одержувача, адреса другого сервера, так і вміст пакета, а також відповідь одержувача.

Жодна з нод не має повної інформації, щоб відновити ланцюжок від одержувача до відправника назад. Таким чином алгоритмічно TOR абсолютно анонімний.

Багато чули про небезпеку того що вихідна нода буде прослуховуватися. Так, це безперечний мінус. Але, вибачте, система заявлялася лише як засіб анонімізації, але ніяк не для захисту трафіку. І не треба дивуватися тому що незаявлений функціонал «не працює». Використовуйте шифрування трафіку поверх TOR. Наприклад використовуйте https з'єднання замість http. Цього буде цілком достатньо.

трохи математики

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

На даний момент (2013 рік) в мережі TOR налічується ~ 4000 нод . Достатньою ймовірністю будемо вважати хоча б 50% повністю контрольованих сполук. Для того щоб забезпечити це, відповідно до теорії ймовірності, потрібно мати контроль над приблизно 80% серверів, тобто 3200 серверів з 4000, тобто трохи більше ніж 3 сервера з 4. Реально? Мені здається ні. І зауважте це забезпечить лише 50% контрольованих сполук.

Нехай наприклад хтось має контроль над 1000 серверів з 4000. Це більш реальна цифра. Порахуємо. Імовірність того що у вашій ланцюжку будуть контролюватися всі три Ноди одночасно - 1,5%. Безглуздо, чи не так?

Але тепер давайте подумаємо. Навіщо нам контролювати всі ноди в ланцюжку? Так наприклад цілком достатньо контролювати вхідну і вихідну Ноди, незалежно від їх кількості в ланцюжку. Чому? Контролюючи надходять і йдуть пакети, можна зіставити відправника і одержувача за часом отримання пакетів. Це, звичайно складніше, і передбачає виникнення помилок, але цілком піддається реалізації, а потім гм ... доказовою.

При такому підході ймовірність при 1000 з 4000 серверів того що саме ваше з'єднання буде під ковпаком складе всього 6%. Що в загальному знову, на мій погляд, показує не доцільність спроб такого контролю.

Взагалі до чого я це пишу. Цим самим я даю привід задуматися над тим чи якась «організація» морочитися всім цим лише заради можливих 6%.

Так і що в результаті?

Давайте підіб'ємо підсумки:

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

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

Також зведу всі рекомендації по користуванню TOR в один список:

  • шифруйте переданий трафік
  • не Грузія черезмерно канал
  • міняйте періодично ланцюжок серверів

Виконання цих рекомендацій дозволить захистити вашу анонімність на достатньому рівні. Чому я говорю на достатньому? Тому що завжди буде існувати ймовірність того що вся ланцюг подій складеться так що це призведе до вашої деанонімізація ... Але на мене це що то з розряду:

за теорією ймовірності, якщо розсипати друкарський шрифт, він може складеться в поему Гомера ...

Але в кінцевому рахунку вирішувати Вам.

Як це працює?
4. Реально?
Безглуздо, чи не так?
Навіщо нам контролювати всі ноди в ланцюжку?
Чому?
Так і що в результаті?
Чому я говорю на достатньому?


Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью