Tor

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Tor
ТипЦибулева маршрутизація, Анонімізатор
АвторThe Tor Project, Inc
РозробникПроект Tor[1]
Перший випуск20 вересня 2002[2]
Стабільний випуск0.2.9.9 (23 січня 2017; 7 років тому (2017-01-23))
Нестабільний випуск0.3.0.2-alpha (23 січня 2017; 7 років тому (2017-01-23))
Операційна системаКрос-платформовий
Мова програмуванняC
Доступні мовиБагатомовний
Стан розробкиАктивний
ЛіцензіяBSD license
Репозиторійgitlab.torproject.org/tpo/core/tor/
Вебсайтwww.torproject.org

Tor (скор. від англ. The Onion Router[4]) — це браузер, створений для забезпечення анонімності в мережі Інтернет. Клієнтське програмне забезпечення Tor маршрутизує Інтернет-трафік через всесвітню мережу добровільно встановлених серверів з метою приховування розташування користувача. Окрім того, використання Tor робить складнішим відслідковування Інтернет-активності як на рівні вебсайту, так і на рівні Інтернет-провайдера, включаючи «відвідування вебсайтів, залишені повідомлення та коментарі на відповідних ресурсах, миттєві повідомлення та інші форми зв'язку», до користувача[5] і призначений для захисту приватності користувача та можливості проведення конфіденційних операцій, приховуючи користувацьку активність в мережі від стороннього моніторингу.

«Цибулева маршрутизація» (англ. Onion Routing) відображає шарову природу шифрування цього сервісу: початкові дані шифруються та розшифровуються багато разів, потім передаються через наступні вузли Tor, кожен з яких розшифровуює «шар» шифру перед передачею даних наступному вузлу і, зрештою, до місця призначення. Це зменшує можливість розшифрування оригінальних даних в процесі передачі.[6]

Клієнтське програмне забезпечення Tor — вільне програмне забезпечення і використання мережі Tor безкоштовне.

Історія

[ред. | ред. код]

Альфа-версія програмного забезпечення, з «функціонуючою та розгорнутою» мережею цибулевої маршрутизації, була оголошена 20 вересня 2002 року.[2]

Початково проект був спонсорований Воєнно-морською дослідницькою лабораторією США (United States Naval Research Laboratory)[7], а згодом, з 2004 до 2005 р. фінансово підтримувався Electronic Frontier Foundation[8]. Програмне забезпечення Tor на цей момент розробляється організацією Tor Project, яка є дослідницько-освітньою неприбутковою організацією[9], розміщеною в США[1] починаючи з грудня 2006 року і отримала розповсюджену фінансову підтримку.[8]

Функціонування

[ред. | ред. код]
Після отримання списку вузлів Tor від сервера, Tor-клієнт користувача (Alice) вибирає довільний шлях до сервера призначення (Bob). Червоні лінії відображають незашифровану передачу, зелені — зашифровану.

Tor націлений на приховування особистості своїх користувачів і їхньої активності в мережі від аналізу трафіку та спостереження за мережею шляхом відокремлення ідентифікації та маршрутизації. Це реалізація цибулевої маршрутизації, яка шифрує і довільно направляє комунікації через мережу вузлів, що добровільно їх підтримують в різних частинах світу. Ці маршрутизатори застосовують шифрування в багатошаровому вигляді (звідси метафора про цибулю), щоб забезпечити досконалу пряму секретність між вузлами, отже надаючи користувачам анонімність щодо знаходження в мережі. Ця анонімність розширюється до розміщення матеріалів, які інакше могли б бути заборонені в зв'язку цензурою, через анонімні приховані сервіси Tor.[7] Також, утримуючи деякі з вхідних вузлів (bridge relays) засекреченими, користувачі можуть ухилятись від інтернет-цензури, яка покладається на блокування публічних вузлів мережі Tor.[10] Через те, що IP-адреса відправника і отримувача не є одночасно у вигляді відкритого тексту на будь-яких вузлах шляху, крім виходу, жодна з частин інформації не є відкритим текстом, отже не можливо на будь-якій точці комунікаційного каналу ідентифікувати обидва кінці. Отримувачу здається, що останній Tor-вузол (вихідний) є ініціатором передачі даних, а не просто відправником.

Операції з трафіком

[ред. | ред. код]

Програмне забезпечення Tor періодично транслює віртуальне коло через Tor-мережу, використовуючи багаторівневе шифрування, що забезпечує досконалу пряму секретність. В той же час, програмне забезпечення надає SOCKS-інтерфейс своїм клієнтам. SOCKS-програмне забезпечення може бути направлене на Tor, який згодом мультиплексує трафік через віртуальне Tor-коло. Проксі-сервер Polipo використовує SOCKS 4 і SOCKS 5 протоколи, а отже рекомендований для використання разом з анонімізуючою мережею Tor.[11]

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

Не-вихідний Tor-вузол з максимальною швидкістю передачі 239.69 кБ/с.

Tor працює на TCP-рівні передачі даних в мережі. Програми, чий трафік зазвичай анонімізують, використовуючи Tor, включають Internet Relay Chat (IRC), миттєві повідомлення і World Wide Web. Перегляд вебсторінок через Tor часто поєднаний з Polipo або Privoxy проксі-сервісами. Privoxy — фільтрувальний проксі-сервер, що направлений поліпшити захист інформації на прикладному рівні моделі OSI і рекомендований до використання разом з анонімізуючою мережею Tor організацією torproject.org.[11][12]

У старих версіях програмного забезпечення Tor (до травня-червня 2010 року[13]), як і багатьох анонімізуючих сервісів перегляду вебсторінок, прямі DNS-запити виконуються багатьма програмами, без використання Tor-проксі. Це дозволяє кому-небудь спостерігати за з'єднанням користувача з метою виявлення (наприклад), який WWW сайт вони переглядають через Tor, хоча зміст інформації, переглядуваної користувачем залишиться прихованим. Використання Privoxy, або команди «torify» є одним з можливих рішень даної проблеми.[14] Додатково, програми, що використовують SOCKS5 — що підтримує проксі-запити, засновані на імені — може маршрутизувати DNS-запити через Tor, проводячи пошук при вихідному вузлі, отже отримуючи таку ж анонімність як і решта Tor-трафіку.[15]

Починаючи з версії 0.2.0.1-alpha, Tor включає власний DNS-інструмент, який буде проводити запити через змішані мережі. Це має закривати DNS-вразливість і дає можливість взаємодіяти з address mapping facilities Tor-мережі для надання доступу до прихованих Tor-сервісів (.onion) програмам, що не використовують SOCKS.[13]

Приховані сервіси

[ред. | ред. код]
Принцип роботи прихованих сервісів в мережі Tor
Принцип роботи прихованих сервісів в мережі Tor

Tor також може надавати анонімність серверам у формі сервісів з прихованим місцезнаходженням, які є Tor-клієнтами, чи вузлами, на яких виконується спеціально налаштоване серверне програмне забезпечення. Замість видачі IP-адреси сервера (а отже і його місцезнаходження в мережі), приховані сервіси доступні через притаманні Tor-мережі .onion псевдо-домени верхнього рівня (TLD).Tor-мережа розуміє ці домени верхнього рівня і маршрутизує дані анонімно в та з прихованих сервісів. Використання Tor-клієнту необхідно для отримання доступу до прихованих сервісів.[16]

Приховані сервіси розміщені в Tor-мережі починаючи з 2004 року.[17] Окрім бази даних, що містить дескриптори прихованих сервісів,[18] Tor децентралізований згідно зі своєю будовою; не існує безпосереднього списку всіх прихованих сервісів. Проте є ряд прихованих сервісів, які слугують цій меті.

Так як приховані сервіси не використовують вихідні вузли, вони не чутливі до «прослуховувань вихідного вузла» (англ. exit node eavesdropping). Хоча є ряд проблем безпеки, щодо прихованих Tor-сервісів. Наприклад, сервіси, які доступні через приховані Tor-сервіси і загальнодоступну мережу інтернет вразливі до кореляційних атак, а отже недосконало приховані. Інші небезпеки включають неправильно сконфігуровані сервіси (пр. ідентифікації інформації, включеної по замовчуванню у повідомленнях про помилку вебсерверів)[16], статистики uptime і downtime, перехоплюючі атаки і помилки зі сторони користувача.

Приховані сервіси можуть бути доступні без прямого підключення до мережі Tor через Tor2web.

Уразливості

[ред. | ред. код]

Tor не здатен і не намагається надавати захист проти моніторингу трафіку, що входить і виходить з Tor-мережі. Попри те, що Tor захищає від аналізу трафіку, він не може попередити встановлення наявності трафіку (т.зв. end-to-end correlation).[19][20]

Співробітники Кембріджського Університету представили статтю[21] на Сімпосію IEEE 2005 року про безпеку та приватність щодо технік аналізу трафіку, які дозволяли зловмисникам з частковим оглядом мережі зробити висновок про те, який з вузлів використовується для трансляції анонімних потоків. Ця техніка помітно знижує анонімність, яку надає Tor. Також було показано, що на перший погляд потоки, що не відносяться один до одного, можуть бути прив'язані назад до того ж ініціатора передачі. Проте, ця атака не здатна виявити особистість користувача-ініціатора.[21]

Загрози безпеці

[ред. | ред. код]

Слід пам'ятати, що один з вузлів ланцюжка Tor цілком може виявитися уразливим. Також, з тієї або іншої причини, ворожі до клієнта дії може здійснювати сайт — від спроб з'ясувати справжню адресу клієнта до «відбиття» його повідомлення.

Перегляд і модифікація повідомлення

[ред. | ред. код]

На останньому вузлі ланцюжка Tor початкове повідомлення від клієнта остаточно розшифровується для передачі його серверу в первинному виді. Відповідно:

  • Перший вузол ланцюжка знає справжню адресу клієнта;[22]
  • Останній вузол ланцюжка бачить початкове повідомлення від клієнта, хоча і не знає істинного посилача
  • Сервер-адресат бачить початкове повідомлення від клієнта, хоча і не знає істинного посилача
  • Всі інтернет-шлюзи на шляху від останнього вузла мережі Tor до сервера-адресата бачать початкове повідомлення від клієнта, хоча і не знають адреси істинного посилача.

Розкриття посилача

[ред. | ред. код]

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

Інші загрози безпеці

[ред. | ред. код]

Застосування

[ред. | ред. код]
  • Більша частина програмного забезпечення Tor написана мовою програмування Сі та приблизно становить 146,000 рядків коду.[30]
  • Vuze[en] (колишній Azureus), BitTorrent клієнт, написаний мовою Java, включає вбудовану підтримку Tor.[31]
  • Маршрутизатори з вбудованою апаратною підтримкою Tor на даний час знаходяться в розробці організацією Torouter project.[32] Код програмного забезпечення знаходиться на стадії альфа версії, та запускається з платформи OpenWrt.[33]
  • Проект Guardian активно розробляє програмне забезпечення відкритого коду для платформи Android з метою створення більш захищених мобільних комунікацій.[34] Програмне забезпечення включає: Gibberbot — клієнт миттєвих повідомлень, що використовує Off-the-Record Messaging-шифрування;[35] Orbot — Tor клієнт для Android;[36] Orweb — мобільний браузер;[37] ProxyMob — аддон для Firefox що допомагає керувати HTTP, SOCKS, і SSL-проксі налаштування для інтеграції з Orbot;[38] і Secure Smart Cam — набір інструментів-утиліт для покращення конфіденційності інформації, що зберігається в пристрої.[39]

Найпоширеніші пакунки (bundle) TOR'у

[ред. | ред. код]

Існують розробки пакунків TOR для основних операційних систем, але, наразі, зупинимося на збірці під Windows.

У пакет входять власне сама програма TOR, Vidalia (графічний інтерфейс) і Privoxy (фільтрувальний проксі). Privoxy відповідає за фільтрацію контенту, блокування cookies-файлів та небезпечних скриптів. Поруч з цим, Privoxy блокує рекламу на вебсторінках, як і будь-який інший фільтрувальний проксі.

Розробники TOR наполегливо рекомендують використовувати Privoxy через можливу загрозу витоку DNS (DNS leak). Так що, хоч і можна завантажити та встановити кожен компонент пакету окремо, краще прислухатися до поради розробників TOR.

Примітки

[ред. | ред. код]
  1. а б Tor Project: Core People. The Tor Project. Архів оригіналу за 18 січня 2011. Процитовано 17 липня 2008.
  2. а б Dingledine, Roger (20 September 2002). pre-alpha: run an onion proxy now!. or-dev (Список розсилки). Архів оригіналу за 26 липня 2011. Процитовано 17 July 2008.
  3. A Bibliographic Scan of Digital Scholarly Communication InfrastructureEducopia Institute, 2020.
  4. Мережа TOR (спочатку називалася «The Onion Router») // Термінологічний словник з питань запобігання та протидії легалізації (відмиванню) доходів, одержаних злочинним шляхом, фінансуванню тероризму, фінансуванню розповсюдження зброї масового знищення та корупції / А. Г. Чубенко, М. В. Лошицький, Д. М. Павлов, С. С. Бичкова, О. С. Юнін. — Київ : Ваіте, 2018. — С. 395. — ISBN 978-617-7627-10-3.
  5. Glater, Jonathan D. (25 січня 2006). Privacy for People Who Don't Show Their Navels. The New York Times. Архів оригіналу за 29 квітня 2011. Процитовано 13 травня 2011.
  6. The Tor Project. Tor: anonymity online. Архів оригіналу за 9 квітня 2010. Процитовано 9 January 2011.
  7. а б Dingledine, Roger; Mathewson, Nick; Syverson, Paul (13 серпня 2004). Tor: The Second-Generation Onion Router. Proc. 13th USENIX Security Symposium. San Diego, California. Архів оригіналу за 9 серпня 2011. Процитовано 17 листопада 2008.
  8. а б Tor: Sponsors. The Tor Project. Архів оригіналу за 27 липня 2011. Процитовано 11 грудня 2010.
  9. Make a Donation. The Tor Project. Архів оригіналу за 27 липня 2011. Процитовано 31 травня 2011.
  10. Tor: Bridges. The Tor Project. Архів оригіналу за 12 травня 2012. Процитовано 9 січня 2011.
  11. а б Ubuntuusers.de – Tor einrichten und verwenden. Архів оригіналу за 13 липня 2013. Процитовано 28 грудня 2010.
  12. TheOnionRouter/TorFAQ. The Tor Project. Архів оригіналу за 30 квітня 2011. Процитовано 28 грудня 2010.
  13. а б Tor Changelog. Архів оригіналу за 26 червня 2007. Процитовано 11 September 2007.
  14. TheOnionRouter/TorifyHOWTO – Noreply Wiki. Процитовано 19 April 2007.
  15. RFC 1928 – SOCKS Proxy Protocol, Version 5. Архів оригіналу за 31 липня 2008. Процитовано 4 серпня 2008.
  16. а б Configuring Hidden Services for Tor. The Tor Project. Архів оригіналу за 30 квітня 2011. Процитовано 9 січня 2011.
  17. Øverlier, Lasse; Paul Syverson (21 червня 2006). Locating Hidden Servers (PDF). Proceedings of the 2006 IEEE Symposium on Security and Privacy. IEEE Symposium on Security and Privacy. Oakland, CA: IEEE CS Press. с. 1. doi:10.1109/SP.2006.24. ISBN 0-7695-2574-1. Архів оригіналу (PDF) за 10 серпня 2013. Процитовано 8 червня 2008.
  18. The Tor Project, Inc. Tor: Hidden Service Protocol, Hidden services. Torproject.org. Архів оригіналу за 19 березня 2011. Процитовано 9 січня 2011.
  19. One cell is enough to break Tor's anonymity. Tor website. 18 лютого 2009. Архів оригіналу за 20 вересня 2010. Процитовано 9 січня 2011.
  20. TheOnionRouter/TorFAQ. Архів оригіналу за 16 вересня 2020. Процитовано 18 вересня 2007. Tor (like all current practical low-latency anonymity designs) fails when the attacker can see both ends of the communications channel
  21. а б Low-Cost Traffic Analysis of Tor (PDF). 19 січня 2006. Архів (PDF) оригіналу за 13 липня 2013. Процитовано 21 травня 2007.
  22. Захиститися від компрометації у такому разі допомагає можливість вибору в Tor вхідного і вихідного вузла.
  23. Наприклад, за допомогою перенаправлення портів, або використанням віртуальної машини JanusVM фільтрувального проксі-сервера Privoxy, які при вірних налаштуваннях примусово завертають в себе увесь трафік.
  24. Якщо запустити сервер Tor після заборони на передачу імен DNS, то він не зможе працювати таким, що виходить, незалежно від заданих йому налаштувань.
  25. Якщо запустити Tor при використанні openDNS, то стає неможливим підняття сервера цієї мережі, оскільки openDNS починає видавати йому неправдиві адреси.
  26. TorDNS. Архів оригіналу за 27 вересня 2009. Процитовано 22 березня 2012.
  27. Tor blacklist [Архівовано 27 вересня 2007 у Wayback Machine.] — список блокування Tor для вебсервера Apache.
  28. — 12 Чому Google блокує мої пошукові запити через Tor?. Архів оригіналу за 24 вересня 2014. Процитовано 22 березня 2012.
  29. 68971/ Блокуємо Tor на корпоративному firewall [Архівовано 6 лютого 2012 у Wayback Machine.].
  30. Luckey, Robin. Tor. Ohloh. Архів оригіналу за 13 липня 2013. Процитовано 16 квітня 2010.
  31. Tor. Vuze. Архів оригіналу за 13 липня 2013. Процитовано 3 березня 2010.
  32. Simonite, Tom (22 грудня 2010). Home Internet with Anonymity Built In. Technology Review. Архів оригіналу за 12 травня 2011. Процитовано 14 травня 2011.
  33. Torouter Project. Архів оригіналу за 30 квітня 2011. Процитовано 10 травня 2011.
  34. About. The Guardian Project. Архів оригіналу за 16 квітня 2011. Процитовано 10 травня 2011.
  35. Gibberbot: Secure Instant Messaging. The Guardian Project. Архів оригіналу за 11 травня 2011. Процитовано 10 травня 2011.
  36. Orbot: Mobile Anonymity + Circumvention. The Guardian Project. Архів оригіналу за 11 травня 2011. Процитовано 10 травня 2011.
  37. Orweb: Privacy Browser. The Guardian Project. Архів оригіналу за 11 травня 2011. Процитовано 10 травня 2011.
  38. ProxyMob: Firefox Mobile Add-on. The Guardian Project. Архів оригіналу за 11 травня 2011. Процитовано 10 травня 2011.
  39. Obscura: Secure Smart Camera. The Guardian Project. Архів оригіналу за 11 травня 2011. Процитовано 10 травня 2011.

Посилання

[ред. | ред. код]