Анонімна мережа

З Вікіпедії, вільної енциклопедії

Анонімна мережа — це тип комп'ютерної мережі, в якій трафік маршрутизується через низку користувацьких машин, які є вузлами цієї мережі, що працює у всесвітній павутині. Відправна точка і пункт призначення ніколи не взаємодіють безпосередньо один з одним, а зв'язок здійснюється кількома переходами через вузли учасників, таким чином досягається анонімність.[1] Багаторівневе шифрування і розподілена природа анонімних мереж, що усуває єдину точку відмови та єдиний вектор атаки,[2][3] роблять перехоплення трафіку або навіть злом частини вузлів мережі нефатальною подією. Недоліками таких мереж є збільшення часу відгуку, зниження швидкості та великі обсяги мережевого трафіку.

Мотивація анонімності

Узагальнити
Перспектива

Джон Пілджер вважає, що моніторинг населення з боку держави має на меті контролювати і стримувати загрози проти «консенсусної точки зору щодо існуючої влади» або проти структурної спадкоємності влади та її привілеїв.

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

  • Цензура на місцевому, корпоративному чи державному рівнях та обмеження свободи вираження поглядів.[4][5]
  • Перехоплювачі вважають, що матеріал є викривальним і що його поширення є незаконним.[6][7]
  • Індивідуальний інтерес до конфіденційності, як-от запобігання збору даних чи відстеженню.
  • Є підстави вважати, що методи соціальної інженерії використовуються для впливу або тиску на оператора сервера.
  • Матеріал є законним, але викликає суспільний осуд, сором або соціальні проблеми.
  • Побоювання помсти щодо: активістів, інформаторів, авторів неофіційних витоків інформації та людей, які не приймають обмежень на інформацію або знання.[6][7]

Уряди також зацікавлені в анонімних технологіях. Військово-морські сили США фінансували дослідження анонімного типу маршрутизації, що стало основою для розробки мережі TOR,[8] яка пізніше була підтримана Electronic Frontier Foundation і зараз розробляється некомерційною організацією.

У 2013 році колишній співробітник АНБ Едвард Сноуден оприлюднив через Tor тисячі засекречених документів АНБ щодо їхньої програми PRISM.[9][10] Програма PRISM — це програма стеження АНБ для відстеження онлайн-комунікації, в рамках якої вони прослуховували багатьох інтернет-користувачів і дев'ять інтернет-компаній, включаючи Facebook, Google, Microsoft і Yahoo.[11] Документи, які оприлюднив Сноуден, показали, що користувачі Tor також були мішенню для АНБ протягом багатьох років. У презентації, яку отримав Сноуден, під назвою «Tor Stinks», АНБ визнає, що «ніколи не зможе постійно деанонімізувати всіх користувачів Tor».[12] Файли викривали проблеми організації з розшифровкою електронних листів і зашифрованих журналів чату в Tor, незважаючи на її здатність зламувати системи онлайн-зв'язку. Сноудену було пред'явлено звинувачення за двома пунктами — у порушенні закону про шпигунство і крадіжці державної власності США.[13] 21 червня 2013 року Міністерство юстиції США зняло звинувачення зі Сноудена, зробивши виняток для політичних злочинів. Його дії викликали дебати про масове стеження і напругу між національною безпекою і приватним життям. Але це саме те, чого прагнув Сноуден: «Я не хотів змінити суспільство. Я хотів дати суспільству шанс визначити, чи варто йому самому змінюватися. Все, чого я хотів, — це щоб громадськість мала можливість впливати на те, як нею керують».[14] Сноуден завжди публічно підтримував Tor. За його словами, Tor є критично важливою технологією для захисту наших прав на публікацію. «Дизайн системи Tor побудований таким чином, що навіть якщо б уряд США захотів підірвати її, він не зміг би цього зробити, оскільки це децентралізована влада».[15][16]

Історія

Першою відносно успішною анонімною мережею був комерційний сервіс Freedom, який функціонував з 1998 до 2001 року.[17] Компанією Zero Knowledge Systems(інші мови) були встановлені виділені сервери, з якими клієнти з'єднувалися за допомогою криптографічного протоколу. Вузол, на який приходили пакунки від користувача Freedom, не міг ідентифікувати цього відправника. Сама мережа функціонувала на рівні протоколу IP. У цей же час почали активно розвиватися інші проєкти.

Класифікація

Узагальнити
Перспектива

Децентралізовані анонімні мережі

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

Filetopia(інші мови) — багатофункціональна файлообмінна програма, головною особливістю якої є високий рівень приватності та безпеки.[18] Підтримується зашифрований чат, миттєві повідомлення, робота з форумом. Завдяки технології MS Agent при установці відповідного голосового рушія можливо голосове відтворення одержуваних повідомлень. З метою підвищення ступеня захищеності Filetopia приховує IP-адресу користувача, захищаючи його тим самим від можливих атак хакерів. Як алгоритм створення відкритого ключа використовуються еліптичні криві, а повідомлення і файли шифруються одним з десяти самостійно вибираних користувачем алгоритмів.

Freenet — це децентралізована, стійка до цензури та анонімна однорангова мережа, що працює у всесвітній павутині (написана на Java, з відкритим кодом). В основному використовується для публікації будь-яких матеріалів без будь-якої суттєвої можливості ідентифікації автора. Конфіденційність даних гарантується надійним шифруванням: щоб отримати файл, в запиті потрібно повідомити асоційований з ним ключ. Роль цього ключа виконує хеш-код файлу або DSA-ключ, який також є механізмом перевірки цілісності файлу.

GNUnet[ru] — це програмний пакет для безпечного P2P-з'єднання, що не потребує серверу (написаний мовою C, проєкт GNU). Сервіс реалізований на основі мережевого рівня і в основному використовується для анонімного обміну файлами без будь-якої цензури в мережі. Анонімність забезпечується за рахунок того, що повідомлення, які надходять з вузла мережі, неможливо відрізнити від повідомлень інших людей, в передачі яких цей вузол бере безпосередню участь. Всі вузли діють як маршрутизатори, з'єднання між ними зашифровані, а використання пропускної здатності підтримується на постійному рівні. GNUnet використовує просту економічну модель, засновану на надлишку, для розподілу ресурсів: вузли, які роблять більший внесок у мережу, винагороджуються кращим сервісом. Проєкт GNUnet виник у 2001 році і був натхненний низкою технічних ідей, покликаних забезпечити безпечний обмін файлами в однорангових мережах. Основні технічні питання GNUnet детально описані в низці наукових публікацій. Серед них — покращене кодування вмісту ECRS та новий анонімний протокол маршрутизації gap, що дозволяє розвивати активних учасників GNUnet. У періоди високого навантаження на мережу пріоритет надаватиметься учасникам, які зробили більший внесок у минулому. Крім того, GNUnet є розширюваною і полегшує створення нових однорангових програми на її основі або використання альтернативних мережевих транспортів для передачі даних.

Gnutella (вимовляється nʊˈtɛlə з беззвучним g) — це децентралізований протокол однорангової мережі для обміну файлами. Протокол Gnutella був розроблений Джастіном Франкелем (винахідником і колишнім розробником програми аудіоплеєра Winamp), а 14 березня 2000 року була випущена бета-версія програми, яка також називається Gnutella, як перше програмне забезпечення, розроблене для мережі Gnutella. Незважаючи на назву, Gnutella не є частиною проєкту GNU.

Мережа Gnutella є повністю децентралізованою мережею. Це означає, що немає центральних серверів для обробки пошукових запитів. Щоб функціонувати, клієнтська програма повинна знайти принаймні одного іншого користувача (званого вузлом). Щоб досягти цього, існують різні методи, такі як попередньо визначені списки серверів, сторінки GWebCache в Інтернеті або обмін списками хостів через IRC. Коли з'єднання встановлено, програми обмінюються списками доступних вузлів, з якими потім знову зв'язуються, доки не буде досягнуто задану кількість з'єднань. Якщо користувач мережі починає пошуковий запит, він спочатку пересилається лише сусіднім клієнтам. Потім вони пересилають запит своїм сусідам, доки необхідний файл не буде знайдено. Після цього може бути встановлено пряме з'єднання між шукаючим і пропонуючим користувачем для передачі даних. Особливою перевагою такої структури мережі є її надійність, оскільки пошукові запити можна пересилати, навіть якщо окремі частини мережі тимчасово недоступні. Недоліками, однак, є велика тривалість пошукового запиту, оскільки немає центральних серверів індексування, і високе навантаження на мережу, оскільки кількість запитів зростає експоненціально з відстанню до клієнта, який шукає.

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

Були введені правила, згідно з якими тільки виділені (ultrapeers) можуть пересилати запити вгору по «дереву», в той час як решта (leaves) можуть лише робити запити. Запити в мережі Gnutella пересилаються по TCP або UDP, а копіювання файлів здійснюється через протокол HTTP. Нещодавно були розроблені розширення для клієнтських програм, що дозволяють копіювати файли по UDP та виконувати XML-запити для отримання метаінформації про файли. Недоліки Gnutella ініціювали розробку принципово нових алгоритмів пошуку маршрутів і ресурсів, що призвело до створення групи протоколів DHT і, зокрема, Kademlia, яка широко використовується у великих мережах.

iMule[ru] (невидимий мул) — багатоплатформенний P2P-клієнт на базі aMule, який забезпечує анонімний обмін файлами через мережу I2P. До версії 1.2.2 для цього потрібно було окреме програмне забезпечення маршрутизатора для підключення до мережі I2P. однак, починаючи з версії 1.2.3, iMule також можна використовувати як автономний, оскільки в нього вбудований маршрутизатор I2P. Однак для використання інших послуг, пропонованих I2P, необхідний окремий маршрутизатор I2P, який піклується про анонімізацію зв'язку між різними клієнтами, що легко встановлюється.

I2P (Invisible Internet Project) — форк проєкту Freenet, розпочатий у 2003 році з метою забезпечити анонімний доступ до захищених ресурсів, серед яких блоги (Syndie), IRC (ircProxy), електронна пошта (Susimail), сервіси передачі файлів і груп новин, шлюзи Freenet і Mnet. Будучи заснованою на SSU (Secure Semireliable UDP), що має функції автентифікації і управління потоком, I2P пропонує мережевий міст — т. зв. I2PTunnel — забезпечує передачу TCP-пакетів по мережі I2P, а отже — і засіб створення захищених тунелів до будь-яких TCP-службам, у доступі до яких може виникнути необхідність. При обміні даними по I2P виконується їх багаторівневе шифрування (наскрізне, тунельне і транспортного рівня), а також криптографічний автентифікація кінцевих вузлів. Вузли мережі I2P представлені ідентифікаторами, що не мають логічного зв'язку з їх реальними IP-адресами. Клієнтське програмне забезпечення функціонує як маршрутизатор, який записує в таблицю дані вузлів для передачі вхідного і вихідного трафіку. Рухаючись пакет проходить тимчасові односторонні ланцюжки: маршрутизатори вихідного трафіка, побудовані на вузлі-відправника, і маршрутизатори вхідного трафіку, побудовані вузлом-адресатом. Такі тунелі перебудовуються кожні 10 хвилин. Керуючи довжиною ланцюжка маршрутизаторів в клієнтському ПЗ, користувач вибирає для себе потрібне співвідношення між ступенем анонімності, латентністю і пропускною спроможністю мережі. Передане ж повідомлення проходить такий шлях, який відповідає моделям загрози відправника і одержувача.

Tribler BitTorrent-клієнт для обміну файлами, що використовує p2p-комунікації для прямої взаємодії клієнтів без застосування централізованих ланок.[19] Зокрема, Tribler дозволяє побудувати мережу без розгортання окремих BitTorrent-трекерів і здійснює пошук, адресацію і завантаження торентів шляхом прямої взаємодії клієнтів між собою. У Tribler є засоби для анонімізації користувачів у мережі, що в поєднанні з P2P-комунікаціями дозволяє побудувати мережу з анонімними користувачами, яких неможливо відстежити.

З випуском, Tribler 7.0, має власний блокчейн, який відстежує, скільки людей ділиться, і відповідно їх винагороджує. Тепер користувачі можуть заробляти жетони, допомагаючи іншим, що поліпшить ефективність захисту клієнта, подібного до Tor.[20]

ZeroNet — децентралізована мережа, що працює за протоколом BitTorrent, використовує Bitcoin-сумісне асиметричне шифрування для адресації та адміністрування сайтів і як наслідок аналогічну криптостійкість, а також домени .bit, що реєструються в системі Namecoin. Є повна підтримка роботи через Tor.[21]

Гібридні анонімні мережі

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

Мережа Кад — однорангова (P2P) мережа, яка використовує P2P-протокол Kademlia. Більшість користувачів мережі Kad також підключені до серверів мережі eDonkey, і клієнти мережі Kad зазвичай звертаються до відомих вузлів мережі eDonkey, щоб знайти початковий вузол у мережі Kad.

NeoKad[22] — відгалуження протоколу Кадемлія, метою якого був розвиток гнучкості та анонімності. NeoKad може обробляти довільні корисні навантаження, це досягається за рахунок запуску скриптового движка на кожному вузлі і надання скриптам можливості обробляти корисне навантаження, при необхідності сценарії відправляються разом із запитом на пошук. Маршрутизація в NeoKad реалізована таким чином, щоб забезпечити анонімність і правдоподібне заперечення будь-якого конкретного вузла. Очевидним розширенням було додавання можливостей маршрутизації пакетів, щоб за допомогою NeoKad стало можливо не тільки публікувати дані в мережі, а потім отримувати їх, але й створювати надійні потокові тунелі між двома анонімними об'єктами. Звичайно, всі дані шифруються за допомогою надійного наскрізного шифрування, і на додаток до цього існує також рівень затуманення, який запобігає фільтруванню на рівні інтернет-провайдера.[23][24]

TOR (The Onion Router) — це найвідоміша і найбільш розвинена серед існуючих анонімних мереж, незважаючи на ранню стадію розробки. Коріння проєкту ведуть до MIT, а до списку спонсорів входять DARPA, ONR і Electronic Frontier Foundation. Мережа не є повністю децентралізованою — є три центральних сервера каталогів, які зберігають підписаний актуальний список вузлів мережі Tor з їх фактичними адресами і відбитками відкритих ключів (генерованими заново кожні 7 днів), тобто сервери реєструються централізовано. Два з трьох серверів каталогів розташовані в США, де кількість серверів, створених ентузіастами, більша, ніж в будь-якій іншій країні.

Ідея створення Onion Router виникла ще в середині 1990-х років, але перша практична реалізація такого типу мереж в рамках Free Haven Project[en] почалася тільки в 2002 році. Так з'явилася перша мережа Onion Routing, що складалася всього лише з одного маршрутизатора, що працює на одному з комп'ютерів дослідницької лабораторії військово-морського флоту США у Вашингтоні. Як результат розвитку, з'явилося друге покоління цієї мережі — проєкт Tor. Суть його в тому, що клієнтська сторона формує ланцюжок з трьох довільно вибраних вузлів мережі Tor. Серед них є вхідний (entry node) по відношенню до клієнта вузол і вихідний (exit node). Мережа Tor при цьому функціонує як шлюз між клієнтом і зовнішньою мережею. Кожен Tor-сервер «знає» про попередній і наступний, але не більше того, а кінцеві вузли не знають, хто знаходиться на іншій стороні каналу і хто ініціював з'єднання. Відсутність логічного зв'язку між відправником і повідомленням і гарантує анонімність. Крім того, така схема робить недоцільним перехоплення трафіку на стороні ISP, оскільки провайдер «бачить» лише зашифрований текстовий потік, що складається з пакетів постійної довжини. Кожен відправлений пакет, включаючи саму команду відкриття тунелю, асоціюється з симетричним ключем шифрування та ідентифікатором наступного вузла в тунелі. Ці дані послідовно шифруються відкритими ключами всіх обраних серверів, починаючи з останнього, утворюючи структури, звані «цибулинами» (onions). TLS використовується для зв'язку між серверами. Створені ланцюжки перебудовуються кожні 10 хвилин, тому через кожен вузол мережі проходить обмежений обсяг даних від кожного клієнта. Для кожного новоствореного ланцюжка серверів генерується новий сеансовий ключ, а блок даних має постійний розмір 512 байт для протидії атакам аналізу трафіку. «Цибулина» може містити інформацію, необхідну для встановлення зворотного каналу — двонаправленого з'єднання. Функціонуючи на рівні TCP і пересилаючи лише легітимні потоки, Tor надає надійний транспорт для прикладних програм за допомогою протоколу SOCKS. Якщо користувач підтримує власний сервер Tor, неможливо відрізнити створений ним трафік від трафіку, що проходить через його сервер від інших клієнтів. Компрометація одного або декількох серверів в ланцюжку не призводить до втрати анонімності або конфіденційності.

VPN

Psiphon — це багатоплатформове програмне забезпечення з відкритим кодом, що розробляє компанія Psiphon Inc. для захисту прав людини в якості швидкого і прозорого інструменту обходу інтернет-цензури. Проєкт розпочався у лабораторії Citizen Lab[de], Університету Торонто при центрі міжнародних досліджень Мунка, що входить до OpenNet Initiative[es].[25] Система являє собою частину проєкту CiviSec Project тієї ж лабораторії і фінансується фондом «Відкрите суспільство». Його мета — забезпечити людей різних країн світу доступом до інтернет-ресурсів, заблокованих цензурою.[26]

Thumb
принцип передачі інформації Psiphon

Psiphon керує проксі-системою, відомою як «Psiphon 2», а також «Psiphon 3», яка є застосунком для Android («app»), Windows та iOS. Вихідні з'єднання через мережу Psiphon можуть здійснюватися лише з обмеженим набором портів сервера, включаючи: 53, 80, 443, 465, 587, 993, 995, 8000, 8001, 8080. Поштові клієнти не можуть встановлювати вихідні з'єднання на порту 25.[27]

Psiphon відноситься до категорії технологій, відомих як інструменти обходу. Інструменти обходу зазвичай працюють або шляхом перенаправлення веб-трафіку, щоб уникнути фільтрації, або шляхом маскування трафіку, щоб здавалося, що трафік не повинен фільтруватися. Psiphon дозволяє користувачам відправляти і отримувати дані через захищену мережу, одночасно приховуючи тип трафіку, що передається і навіть те, звідки він надходить. Технологія Psiphon розроблена таким чином, щоб бути стійкою до цензури, включаючи спроби прямого втручання у мережевий трафік Psiphon. Навіть якщо в мережі фільтрується один тип трафіку, Psiphon може підключатися за допомогою іншого протоколу, або використовувати такий тип трафіку, що гірше ідентифікується. Оскільки він зашифрований, цензори не можуть бачити вміст трафіку через тунель.[27]

Psiphon регулярно розгортає нові сервери у багатьох місцях по всьому світу.[27]

Psiphon регулярно проводить аудит та тести на проникнення, які роблять різні зовнішні фірми.[28] Вільне та відкрите програмне забезпечення, яке ліцензується відповідно до стандартної публічної ліцензії GNU версії 3 (за деякими винятками — конкретну ліцензію переглядати у кожному репозиторії вихідного коду).[29]

SSH (Secure Shell, «безпечна оболонка») — мережевий протокол прикладного рівня, що забезпечує тунелювання TCP-з'єднань. Функціональність схожа на протокол Telnet та rlogin, але шифрує весь трафік, включаючи процес автентифікації та передачу паролів та секретів.

VPN (Virtual Private Network, віртуальна приватна мережа) — клієнт-серверні технології, які створюють віртуальні захищені мережі, організовані у вигляді зашифрованого тунелю в інших мережах з більш низьким рівнем довіри.[30][31][32] Протокол VPN — це набір правил, які визначають, як дані будуть упаковані і відправлені через приватну мережу, що створює VPN-тунелі для безпечного обміну даними. Крім того, деякі програми VPN мають своєрідний «stealth-режим» для обходу брандмауерів.[33]

Тунель VPN — це зашифроване з'єднання між вашим пристроєм та сервером VPN. Його неможливо зламати без криптографічного ключа, тому ні хакери, ні ваш інтернет-провайдер не зможуть отримати доступ до даних. Це захищає користувачів від атак і приховує те, що вони роблять в Інтернеті. По суті, тунелі VPN — це приватний маршрут до інтернету через сервери-посередники. Ось чому VPN популярні серед людей, які піклуються про конфіденційність.[34]

Найпоширеніші VPN-протоколи:

  • IKEv2

Internet Key Exchange version 2, або скорочено IKEv2, дуже поширений у мобільних додатках VPN. Причиною цього є те, що коли з'єднання з VPN-сервером переривається, відбувається автоматичне перепідключення. Це дозволяє практично безперешкодно перемикатися між Wi-Fi і мобільним зв'язком. Протокол також підтримує розширені функції шифрування. Його можна використовувати з 3DES і AES для шифрування, причому останній метод є найбезпечнішим.[33]

  • L2TP/IPSec

Протокол тунелювання другого рівня (L2TP) не має шифрування, тому він також використовує протокол Internet Protocol Security (IPSec) з 256-бітовим варіантом AES. L2TP створює тунель і обробляє автентифікацію. Сам L2TP є комбінацією двох протоколів, які йому передували: Layer 2 Forwarding Protocol і Point to Point Tunneling Protocol. Цей протокол VPN вважається безпечним, але є одна проблема: L2TP/IPSec був розроблений спільно з АНБ, і є підозри, що в трафіку L2TP/IPSec можуть існувати «чорні ходи».[33]

  • OpenVPN

OpenVPN використовує TLS з SSL/TLS для обміну приватними ключами.[35] Він заснований на криптографічній бібліотеці OpenSSL. OpenVPN використовує два типи стандартних мережевих протоколів:

    • Протокол управління передачею (TCP) — зазвичай вимагає багаторазової перевірки даних, що, в свою чергу, уповільнює процес обміну даними. З іншого боку, це забезпечує стабільне з'єднання і добре підходить для підключення до віддалених серверів.
    • User Datagram Protocol (UDP) — вимагає меншої перевірки даних, тому досить швидкий.[33]
  • PPTP

Протокол тунелювання «точка-точка» (PPTP) — один з перших тунельних протоколів, який вже серйозно застарів. Цей протокол шифрує дані під час передачі за допомогою шифру MPPE, який є дуже вразливим до атак з боку сучасних комп'ютерів. Пакети даних потенційно можуть бути перехоплені та модифіковані. У протоколі немає методів перевірки легітимності джерел, які надсилають дані.[33]

  • SSTP

Протокол тунелювання захищених сокетів (SSTP) є розвитком протоколів PPTP і L2TP. Він надсилає трафік PPTP або L2TP через канал SSL 3.0. Це доповнення дозволяє перевіряти цілісність даних і шифрувати їх. Крім того, він використовує стандартний порт SSL і TCP 443, що дозволяє обійти більшість брандмауерів. Це також означає, що обмін даними може здійснюватися без контролю та в обхід закритих портів та інших обмежень, встановлених адміністратором мережі. Протокол SSTP використовує 2048-розрядні сертифікати для автентифікації та 256-розрядний SSL-шифр для шифрування. Це один з найбезпечніших VPN-протоколів.[33]

  • WireGuard

WireGuard — найновіший тунельний протокол, що вирішує проблеми, які виникають при реалізації IPSec і OpenVPN, які, як правило, досить складні і більш схильні до помилкових конфігурацій. Wireguard має дуже мало рядків коду, тому його дуже легко впроваджувати або виправляти. WireGuard використовує загальнодоступні криптографічні пакети, такі як Poly1305 для автентифікації даних і ChaCha20 для шифрування. WireGuard також пропонує розробникам інструменти для додавання своїх розширень і скриптів.[33]

  • Пропрієтарні протоколи VPN

Деякі постачальники послуг VPN створили власні протоколи тунелювання, такі як NordLynx від NordVPN або Catapult Hydra від Hotspot Shield. Деякі з них пропонують кращу швидкість, безпеку або покращену можливість обходу брандмауерів. Основна проблема пропрієтарних протоколів полягає в тому, що більшість з них не мають відкритого вихідного коду, швидше за все, щоб захистити роботу розробників. Але це також робить їх перевірку практично неможливою, і відчуття прозорості втрачається. Однак деякі протоколи, такі як NordLynx, є лише модифікованими версіями тих же WireGuard або OpenVPN, тому, ймовірно, не варто так сильно турбуватися про їхню безпеку.[33]

Припинені проєкти анонімних мереж

anoNet(інші мови) — децентралізована мережа, що функціонує за принципом Friend-to-friend, Побудована з використанням VPN і програмних маршрутизаторів BGP. anoNet працює, ускладнюючи розпізнавання особистості інших користувачів у мережі, дозволяючи їм анонімно взаємодіяти за допомогою мережевих сервісів IPv4 та IPv6.[36][37]

Anonymous Kad (A-Kad) — протокол на основі мережі Kad під назвою Anonymous Kad, який забезпечує конфіденційність та безпеку для постачальників файлів та запитувачів. Для досягнення анонімності створюється два анонімні канали, які допомагають постачальникам файлів анонімно публікувати інформацію про файли та безпечно передавати файли. За допомогою цих двох каналів запитувач файлів також може ефективно запитувати та витягувати файли, не турбуючись про викриття своєї поведінки. Крім того, модель оцінки анонімності (ADEM) пропонується відповідно до трьох різних можливостей атак та ступеня анонімності.[38]

ANts P2P(інші мови) — це реалізація P2P-мережі третього покоління. ANts P2P забезпечує завантаження файлів з декількох джерел, автоматичне відновлення та пошук джерел, пошук за хешем, рядком і структурованим запитом, наскрізне шифрування тощо. Програмне забезпечення з відкритим вихідним кодом ANts P2P, написане на Java,[39] захищає конфіденційність і ускладнює відстеження, приховуючи IP-адресу та шифруючи весь потік даних.[40] Програма використовує повністю об'єктно-орієнтований протокол маршрутизації. Кожен учасник має доступ лише до IP-адреси найближчого сусіда. Для безпеки дані між окремими відправниками та одержувачами шифруються за допомогою симетричного алгоритму DH(512)-AES(128).[40]

BitBlinder(інші мови)

Thumb
принцип дії BitBlinder

 — інструмент, який дозволяє користувачам анонімно переглядати веб-сторінки та завантажувати чи передавати файли за допомогою BitTorrent, приховуючи IP-адресу. Це безкоштовний проєкт із відкритим вихідним кодом, який змішує ваш інтернет-трафік із трафіком усіх інших учасників мережі BitBlinder.[41]

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

Атаки на анонімні мережі

Узагальнити
Перспектива

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

Атака по часу

Докладніше: Атака по часу
Thumb
алгоритм атаки по часу

Прості атаки по часу можуть зводитися до обчислення часу, який потрібно пакету, щоб пройти мережу. Більш складні атаки по часу можуть включати аналіз відмінних особливостей сполуки, що використовується жертвою — виявлення патерна трафіку. Атаки по часу використовують той факт, що всі вузли мережі вводять різні затримки. Знаючи час затримок можна будувати припущення про зв'язок вхідних у вузол і вихідних з нього потоків. Тобто вгадати, який вихідний потік відповідає відстежуваному вхідному потоку. Нападник може деякий час спостерігати за зв'язками між вузлами, а потім, порівнюючи патерни трафіку всіх вузлів, виявити вузли зі схожими патернами — ймовірно, ці вузли утворюють ланцюжок. Використовуючи статистичні методи, нападник може отримати інформацію про відправника та одержувача потоку, і навіть виявити весь шлях потоку. Для захисту від цієї атаки потрібно зробити так, щоб тимчасові характеристики всіх потоків були невиразні. Однак, для цього знадобиться значна кількість операцій змішування і великий обсяг покриваючого трафіку (cover traffic), отже збільшиться час затримок. Визначити правильний баланс між анонімністю та затримками — завдання не з легких.[42][43]

Для успішного проведення вищезгаданої атаки потрібен глобальний спостерігач, здатний спостерігати за потоками, що проходять через мережу. Вважається, що анонімні мережі з малими затримками, такі як Tor, можуть успішно протистояти слабкішій моделі загроз, що не включає глобального спостерігача. У цій слабшій моделі нападник може бачити лише частину зв'язків. Якщо говорити про великі публічні мережі, наприклад інтернет, то на таке припущення, яке передбачає відсутність глобального спостерігача, цілком можна покластися. Мердоч та Данезіс продемонстрували приклад успішної атаки на системи з малими затримками без використання глобального спостерігача. Атака заснована на аналізі трафіку запропонованому Данезісом в 2004. В їх атаці анонімність, яку забезпечує Tor, може порушити зловмисник, який бачить тільки частину мережі або володіє одним вузлом Tor. Атака працює через те, що розробники Tor видалили операцію змішування, яка була в ранній версії, і тепер черга потоків обробляється в режимі round robin fashion. Підконтрольний зловмиснику Tor-вузол створює з'єднання з іншими вузлами мережі і таким чином може опосередковано оцінити обсяг трафіку, що проходить через них у кожний момент часу. Оцінки будуються на основі різниці в затримках потоків, що відправляються і одержуються по цих сполуках.[42]

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

Атаки на афілійовані системи, пов'язані з мережею Tor

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

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

Як правило, атаки перевірки введення ґрунтуються на ін'єкціях і зазвичай використовують переповнення буфера, міжсайтовий скриптинг (XSS) та завантаження шкідливих файлів. Атаки обробки сеансу засновані на отриманні токенів, завдяки яким гарантується правильний стан двох кінцевих точках зв'язку. Атаки на керування доступом зосереджені на підвищенні привілеїв, тобто звичайний користувач буде підвищено до користувача з правами адміністратора.[44]

У серпні 2013 року ФБР виявило вразливість у браузері Tor, яку вони використовували для атаки сайтів, хостером яких була компанія Freedom Hosting. ФБР вдалося отримати доступ до серверів Freedom Hosting та впровадити шкідливий код Javascript, який шукає ім'я хоста та MAC-адресу, а потім передає їх назад як HTTP-запити на сервери у Вірджинії, таким чином розкриваючи реальну IP-адресу користувача.[44]

Атаки з прив'язкою до трафіку та часу

Відстежуючий трафік зловмисник може використовувати статистичний аналіз, щоб визначити, що трафік, що досягає першого вузла ретрансляції, а потім кінцевого адресата (прихована служба) належить до однієї і тієї ж схеми.[45]

Адресу користувача, як і адресу призначення трафіку, що відстежується, може отримати зловмисник, який успішно деанонімізує ціль за допомогою кореляційних атак. Слід зазначити, що зловмиснику зовсім не обов'язково мати повний контроль над першим і останнім маршрутизатором у схемі Tor, щоб мати можливість корелювати потоки трафіку, які контролюються в цих ретрансляційних вузлах. Все, що йому потрібне — контролювати трафік.[45]

Іноді деанонімізація не потребує виконання складних форм статистичного аналізу. Наприклад, студента Гарвардського університету було заарештовано за відправку хибних повідомлень про мінування через Tor, щоб вийти з іспиту. За даними ФБР, електронні листи цього студента було надіслано за допомогою сервісу Guerilla Mail, що дозволяє створювати тимчасові електронні листи. Guerilla впроваджує IP-адресу відправника у всі вихідні листи, і в даному випадку це вказувало на IP-адресу вихідного вузла користувача Tor. ФБР заявило, що студент надіслав електронні листи через Tor із бездротової мережі університету. Кореляція допомогла ФБР вирахувати студента, який зізнався у всьому під час допиту. Такі атаки легко здійснити, коли кількість клієнтів, які використовують Tor, відносно невелика. Іншими словами, якщо існує невелика кількість людей, які використовують Tor у контексті конкретної мережі, то деанонімізувати їх відносно нескладно.[45]

Більш складні форми атак вимагають складніших методів статистичного аналізу як трафіку, і таймінгу. Нещодавні дослідження показали, що ці методи можуть деанонімізувати значну частку користувачів Tor та прихованих служб.[45][46]

Атака на часові позначки TCP

Недоліком міток часу TCP є те, що зловмисники можуть віддалено обчислювати час роботи системи і час завантаження комп'ютера, а також годинник хоста з точністю до мілісекунди. Ці обчислені значення часу роботи та завантаження можуть допомогти виявити приховані мережеві системи а також пов'язати підроблені IP і MAC-адреси разом тощо.[47]

Зловмисник починає з зондування будь-якої активної служби TCP, щоб отримати відповідь, яка містить мітку часу TCP. Різні операційні системи оновлюють значення мітки часу з різними інтервалами. Цей тип аналізу є найбільш точним, коли отримано декілька відповідей з мітками часу, які потім аналізуються. Мітки часу TCP можна знайти в полі TCP Options заголовка TCP.[48][49][50]

Щоб запобігти витоку цієї інформації до зловмисника, рекомендується вимкнути мітки часу TCP у всіх використовуваних операційних системах. Чим менше інформації доступно зловмисникам, тим вище рівень безпеки.[47][51]

Атака на відбитки

Під час атаки з використанням відбитків пальців супротивник використовує той факт, що трафік часто має дуже різні характеристики. Ці відбитки трафіку можна використовувати, щоб визначити, яку веб-сторінку запитує клієнт, чи підключається клієнт до прихованої служби, або щоб отримати інформацію про шлях, по якому трафік проходить через мережу.[52]

Відбитки можна поділити на:

  • Відбитки веб-сайту.[53]
  • Відбитки ланцюга.
  • Відбитки пропускної здатності.

TunnelVision (CVE-2024-3661)

Дослідники Дені Кронсе і Ліззі Моратті з Leviathan Security Group розробили атаку TunnelVision, яка руйнує саму основу віртуальних приватних мереж (VPN), які високо цінуються за їх здатність забезпечувати конфіденційність онлайн-активності.[54] Це метод, що дозволяє здійснювати витік трафіку за межі зашифрованого тунелю VPN в локальній мережі, що дозволяє зловмиснику зчитувати, скидати, а іноді і змінювати трафік VPN. Для цього використовується вбудована та широко підтримувана функція DHCP 121. Встановлюючи кілька маршрутів /1, зловмисник може отримати витік усього трафіку цільового користувача або вибрати витік лише певних IP-адрес, щоб уникнути викриття. Дослідники назвали цей метод «деклокуванням».[55]

Суть техніки TunnelVision полягає в тому, що «протікаючий трафік жертви демаскується і спрямовується безпосередньо через зловмисника, а жертва безтурботно підтримує своє з'єднання як з VPN, так і з інтернетом». Ця техніка робить марним використання VPN для інкапсуляції вхідного та вихідного трафіку в зашифрований тунель і маскування IP-адреси, а також робить безглуздим використання VPN в громадських місцях у ненадійних мережах.[56]

TunnelVision не активує перемикачі блокування та не має повноцінного виправлення для кожної операційної системи. У Linux доступне виправлення під час налаштування хосту користувача VPN для використання мережевих імен. Однак достеменно невідомо, що станеться в реальних умовах поза дослідженнями.[55]

Теоретично цю техніку могли використовувати з 2002 року.[55]

port shadow

Нещодавно було виявлено новий метод атаки під назвою port shadow, який використовує вразливості в VPN-застосунках, що може розширити можливості зловмисника та дозволити йому діяти в якості мережевого маршрутизатора, навіть якщо він знаходяться далеко від цілі.[57]

Протидія

Щоб захиститися від загрози, яку становлять атаки на деанонімізацію, академічними та промисловими установами було проведено низку досліджень, спрямованих на розробку різноманітних заходів протидії. Загалом, контрзаходи можуть застосовуватися на трьох рівнях: мережевий рівень, рівень протоколу та рівень додатків.[58][59]

Див. також

Примітки

Література

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.