Анонімна мережа
Анонімні мережі —це комп'ютерні мережі, створені для досягнення анонімності в Інтернеті і працюють поверх глобальної мережі. Специфіка таких мереж полягає в тому, що розробники змушені йти на компроміс між ступенем захисту та легкістю використання системи, її «прозорістю» для кінцевого користувача. Також важливий аспект збереження анонімності та конфіденційності за умови впливу методів соціальної інженерії або будь-якого тиску на оператора сервера. Багаторівневе шифрування і розподілений характер анонімних мереж, усуваючи єдину точку відмови і єдиний вектор атак, дозволяють зробити перехоплення трафіку або навіть злом частини вузлів мережі не фатальною подією. За анонімність користувач розплачується збільшенням часу відгуку, зниженням швидкості, а також великими обсягами мережевого трафіку. Першою відносно успішною анонімною мережею був комерційний сервіс Freedom, який функціонував з 1998 до 2001 року. Компанією ZKS були встановлені виділені сервери, з якими клієнти з'єднувалися за допомогою криптографічного протоколу. Вузол, на який приходили пакунки від користувача Freedom, не міг ідентифікувати цього відправника. Сама мережа функціонувала на рівні протоколу IP. У цей же час почали активно розвиватися інші проекти.
Децентралізовані анонімні мережі
У децентралізованої мережі будь-яка машина може встановити з'єднання з іншою, а також надіслати їй запит на надання ресурсів. Кожна машина обробляє запити від інших як сервер, посилаючи і беручи запити, а також виконуючи інші допоміжні та адміністративні функції. Будь-який учасник такої мережі незобов'язаний гарантувати постійного з'єднання і може розірвати його в будь-який момент часу. Але при досягненні певного розміру мережі в ній одночасно починають існувати безліч серверів з однаковими функціями. ANts P2P ANts P2P [1] - файлообмінна мережа, анонімізіруюча весь потік даних, використовуючи систему маршрутизації, в якій, на відміну від BitTorrent, учасники обмінюються трафіком не безпосередньо, а через декілька вузлів. Кожному учаснику відомий тільки IP-адресу його безпосереднього сусіда. Таким чином, відправник не знає, куди йде його файл, а одержувач не знає, звідки він прийшов. Для більшої безпеки дані між окремими відправниками та одержувачами шифруються симетричним алгоритмом AES.
BitBlinder
BitBlinder - технологія, яка допомагає завантажувати дані з файлообмінних мереж повністю анонімно і без додаткових витрат. З її допомогою всі запити і дані передаються в зашифрованому вигляді через ланцюжок посередників, які нічого не знають про джерело і зміст запиту, забезпечуючи повний захист приватності і IP-адреси клієнтів. Фактично, модуль BitBlinder виступає у ролі особистого торент-трекера для анонімних даних, в якому кожен з бажаючих домогтися захищеності повинен анонімізувати певний обсяг даних для інших учасників мережі. Для захисту IP-адреси кожен запит користувача BitBlinder передає через кілька проміжних вузлів, перш ніж досягне потрібної адреси.Кожен проміжний вузол при цьому отримує тільки адреса наступного вузла в ланцюжку, але не адресу джерела запиту, причому відстежити потоки даних дуже важко для будь-якого учасника мережі. Технологія BitBlinder підходить не тільки для торент-мереж, але й для звичайного перегляду веб-сторінок. Наприклад, з її допомогою можна приховувати історію переглянутих сторінок від зовнішніх спостерігачів, а також виходити на потрібні сайти через фільтри корпоративних мереж.
Filetopia
Filetopia - багатофункціональна файлообмінна програма, головною особливістю якої є високий рівень приватності та безпеки. Підтримується зашифрований чат, повноцінний інтернет-пейджер, робота з форумом. Завдяки технології MS Agent при установці відповідного голосового рушія можливо голосове відтворення одержуваних повідомлень. З метою підвищення ступеня захищеності Filetopia приховує IP-адресу користувача, захищаючи його тимсамим від можливих атак хакерів. Як алгоритм створення відкритого ключа використовуються еліптичні криві, а повідомлення і файли шифруються одним з десяти самостійно вибираних користувачем алгоритмів.
Freenet
Freenet - це децентралізована і повністю анонімна однорангова мережа, що працює поверх інтернету, що включає велику кількість рівноправних комп'ютерів і дозволяє публікувати будь-які матеріали без можливості вийти на автора. Конфіденційність даних гарантується суворої криптографією: щоб отримати файл, в запиті потрібно повідомити асоційований з ним ключ. Роль такого ключа виконує хеш-код файлу або DSA-ключ, що утворює також механізм перевірки цілісності. В наш час[коли?] Freenet починає використовувати принцип мереж Onion Routing.
GNUnet
GNUnet - це програмний пакет для безпечного P2P-з'єднання, що не потребує серверу. Сервіс реалізований на основі мережевого рівня дозволяє обмінюватися файлами анонімно і без будь-якої мережевої цензури. Анонімність забезпечується за рахунок того, що повідомлення, які надходять від вузла мережі не відрізняються від чужих повідомлень, у передачі яких вузол бере безпосередню участь. Всі вузли діють як маршрутизатори, з'єднання між якими шифруються, а рівень використання пропускної здатності каналу підтримується постійним. GNUnet використовує просту, основану на надлишках економічну модель для виділення ресурсів: вузли, які більше дають мережі, нагороджуються кращим обслуговуванням. Проект GNUnet виник у 2001 році і був натхненний цілою низкою технічних ідей, покликаних забезпечити безпечний файлообмін у пірингових мережах. Основні технічні питання роботи GNUnet докладно описані в ряді наукових публікацій. [8] Серед них - покращуване кодування вмісту ECRS і новий анонімний протокол маршрутизації gap. Їх особливості дозволяють розвивати в GNUnet активних учасників. У періоди високої завантаження мережі пріоритет отримають ті учасники, які зробили більший внесок у минулому. Крім того, GNUnet розширювана і дозволяє легко створювати нові програми peer-to-peer на її основі або використовувати альтернативні мережеві транспорти для передачі даних.
Gnutella
Gnutella - перша повністю децентралізована файлообмінна мережа, розроблена в 1999 році. При підключенні клієнт отримує від вузла, з яким йому вдалося з'єднатися, список з п'яти активних вузлів, яким надсилається запит на пошук ресурсу за ключовим словом. Вузли шукають у себе відповідні запиту ресурси і, якщо не знаходять їх, пересилають запит активним вузлам вгору по «дереву», поки не знайдеться ресурс або не буде перевищено максимальну кількість кроків. Такий пошук називається розмноженням запитів (query flooding).Однак, подібна реалізація веде до експоненціального зростання кількості запитів і на верхніх рівнях «дерева» може призвести до відмови в обслуговуванні, що неодноразово спостерігалося на практиці. Тому розробники удосконалили алгоритм і ввели правила, відповідно до яких запити можуть пересилати вгору по «дереву» тільки виділені (ultrapeers), а решта (leaves) можуть лише робити запити. Також була введена система кешуючих вузлів.Запити в мережі Gnutella пересилаються по TCP або UDP, а копіювання файлів здійснюється через протокол HTTP. Останнім часом з'явилися розширення для клієнтських програм, що дозволяють копіювати файли по UDP і робити XML-запити метаінформації про файли. Недоліки протоколу Gnutella ініціювали розробку принципово нових алгоритмів пошуку маршрутів і ресурсів, що призвело до створення групи протоколів DHT і, зокрема, Kademlia, який широко використовується в найбільших мережах.
Invisible Internet Project
I2P — форк проекту Freenet, розпочатий у 2003 році з метою забезпечити анонімний доступ до захищених ресурсів, серед яких блоги (Syndie), IRC (ircProxy), електронна пошта (Susimail), сервіси передачі файлів і груп новин, шлюзи Freenet і Mnet. Будучи заснованою на SSU (Secure Semireliable UDP), що має функції аутентифікації і управління потоком, I2P пропонує мережевий міст — т. зв. I2PTunnel — забезпечує передачу TCP-пакетів по мережі I2P, а отже — і засіб створення захищених тунелів до будь-яких TCP-службам, у доступі до яких може виникнути необхідність. При обміні даними по I2P виконується їх багаторівневе шифрування (наскрізне, тунельне і транспортного рівня), а також криптографічний аутентифікація кінцевих вузлів. Вузли мережі I2P представлені ідентифікаторами, що не мають логічного зв'язку з їх реальними IP-адресами. Клієнтське програмне забезпечення функціонує як маршрутизатор, який записує в таблицю дані вузлів для передачі вхідного і вихідного трафіку. Рухаючись пакет проходить тимчасові односторонні ланцюжки: маршрутизатори вихідного трафіка, побудовані на вузлі-відправника, і маршрутизатори вхідного трафіку, побудовані вузлом-адресатом. Такі тунелі перебудовуються кожні 10 хвилин. Керуючи довжиною ланцюжка маршрутизаторів в клієнтському ПЗ, користувач вибирає для себе потрібне співвідношення між ступенем анонімності, латентністю і пропускною спроможністю мережі. Передане ж повідомлення проходить такий шлях, який відповідає моделям загрози відправника і одержувача.
Гібридні анонімні мережі
У гібридних мережах існують сервери, що використовуються для координації роботи, пошуку або надання інформації про існуючі машини мережі і їх статус. Гібридні мережі поєднують швидкість централізованих мереж і надійність децентралізованих завдяки схемами з незалежними серверами індексації, що синхронізують дані між собою. При виході з ладу одного або декількох серверів, мережа продовжує функціонувати.
Psiphon
Psiphon - «Проект програмного забезпечення для захисту прав людини», розроблений в лабораторії Citizen Lab (англ.) університету Торонто при Центрі міжнародних досліджень Мунка, що входить до OpenNet Initiative (англ.). Система являє собою частину проекту CiviSec Project (англ.) тієї ж лабораторії і фінансується фондом «Відкрите суспільство». Його мета - забезпечити громадян різних країн доступом до інтернет-ресурсів, заблокованим мережевий цензурою. У мережі Psiphon жителі країн з вільним Інтернетом надають свої комп'ютери для хостингу проксі-серверів із зашифрованим з'єднанням, використовуваних громадянами країн з інтернет-цензурою. Доступ здійснюється через довірених учасників проекту. Для з'єднання з проксі-сервером використовуються унікальні веб-адреса, логін і пароль, причому без внесення будь-яких змін в налаштування браузера. Однак, така процедура може здійснюватися тільки довіреними особами, так як адміністратор проксі-сервера володіє документованої інформацією про активність свого користувача.Програма попереджає адміністратора про зміни в його власній мережі, щоб він міг надати користувачам нові веб-адреси. Psiphon підтримує анонімний веб-серфінг і блогінг, але не підходить для чатів та VoIP. Надалі планується розвинути проект в окрему соціальну мережу.
The Onion Router
TOR - найбільш відома і розвинена серед існуючих анонімних мереж, незважаючи на ранню стадію розробки. Коріння проекту ведуть в MIT, а список спонсорів включає DARPA, ONR (англ.) і Electronic Frontier Foundation. Мережа не є повністю децентралізованою - існують 3 центральних сервера каталогів, що зберігають підписаний актуальний список вузлів мережі Tor з їх реальними адресами і відбитками відкритих ключів (генерованими заново кожні 7 днів), тобто реєстрація серверів виробляється централізовано. Два з трьох серверів каталогів розміщені в США, де кількість серверів, піднятих ентузіастами, вище, ніж в будь-якій іншій країні. Сама ідея Onion Router з'явилася ще в середині 1990-х років, але перша практична реалізація мережі цього типу в рамках проекту Free Haven [32] почалася тільки в 2002 році. Так з'явилася перша мережа Onion Routing [33], що складалася всього лише з одного маршрутизатора, що працює на одному з комп'ютерів дослідної лабораторії ВМС США у Вашингтоні (англ.). Як результат розвитку, з'явилося друге покоління цієї мережі - проект Tor. Суть його в тому, що клієнтська сторона формує ланцюжок з трьох довільно вибраних вузлів мережі Tor. Серед них є вхідний (entry node) по відношенню до клієнта вузол і вихідний (exit node). Мережа Tor при цьому функціонує як шлюз між клієнтом і зовнішньою мережею. Кожен Tor-сервер «знає» про попереднє йому і наступному, але не більше того, а замикають вузли не знають, хто знаходиться на іншій стороні каналу і хто ініціював з'єднання. Відсутність логічного зв'язку між відправником і повідомленням і гарантує надійну анонімність. Крім того, така схема робить марним перехоплення трафіку на стороні ISP, оскільки провайдер «бачить» лише потік шіфротекста, що складається з пакетів постійної довжини. З кожним пересилаються пакетом, включаючи саму команду відкриття тунелю, асоціюється симетричний ключ шифрування та ідентифікатор наступного вузла тунелю. Ці дані зашифровуються послідовно відкритими ключами всіх вибраних серверів, починаючи з останнього, утворюючи структури, звані «цибулинами» (onions). Для межсерверних комунікацій використовується TLS. Освічені ланцюжка кожні 10 хвилин перебудовуються таким чином, що через кожен вузол мережі проходить обмежений обсяг даних від кожного клієнта. Для кожної новоутвореної ланцюжка серверів генерується новий сеансовий ключ, а для протидії атакам аналізу трафіку блок даних має постійний розмір в 512 байт. «Цибулина» може містити відомості, необхідні для встановлення зворотного каналу - двосторонніх сполук. Функціонуючи на рівні TCP і пересилаючи лише легітимні потоки, Tor надає надійний транспорт для прикладних програм за допомогою протоколу SOCKS. Якщо ж користувач підтримує власний сервер мережі Tor, то відрізнити породжуваний їм трафік від трафіку, що проходить через його сервер від інших клієнтів неможливо.Компрометація ж одного або декількох серверів ланцюга до втрати анонімності або конфіденційності не веде.
Virtual Private Network
VPN - віртуальні приватні мережі, організовані у вигляді зашифрованого тунелю, що йде поверх Інтернету. VPN-з'єднання складається з каналу типу точка-точка, що має на увазі зв'язок між двома комп'ютерами під назвою бенкети. Кожен бенкет відповідає за шифрування даних до входу в тунель і їх розшифровку при виході. Хоча VPN завжди встановлюється між двома точками, кожен бенкет може встановлювати додаткові тунелі з іншими вузлами, причому для них усіх бенкет на стороні сервера може бути одним і тим же. Це можливо завдяки тому, що вузол може шифрувати і розшифровувати дані від імені всієї мережі. У цьому випадку вузол VPN називається VPN-шлюзом, з яким користувач встановлює з'єднання і отримує доступ до мережі за ним, звану доменом шифрування. Кожен раз, коли з'єднання мереж обслуговують два VPN-шлюзу, використовується тунелювання. Це означає, що шифрується весь IP-пакет, після чого до нього додається новий заголовок, який містить IP-адреси двох VPN-шлюзів, які і побачить сніффер при перехопленні трафіку. Таким чином, неможливо визначити комп'ютер-джерело в першому домені шифрування і комп'ютер-отримувач у другому.
Атаки на анонімні мережі
У загальному випадку безпеку анонімної мережі прямо пропорційна кількості вузлів-учасників мережі. Поліпшення рівномірності статистичного розподілу вузлів також є дієвим заходом проти багатьох типів атак. Враховуючи аматорський характер анонімних мереж, головним каталізатором їх розвитку єступінь довіри і співпрацю користувачів. Довіра ж до систем такого класуможливо лише за умови відкритості вихідного коду, основоположних протоколів та проектної документації. Однак, дослідження показують, що навіть в ПЗ руху Open Source можуть протягом довгого часу залишатися непоміченими залишені професіоналами потаємні ходи, у зв'язку з чим надзвичайно висока роль досліджень експертів-аналітиків і криптологів.
Таймінг-атака
Детальний опис цієї атаки було опубліковано дослідниками з Кембриджського університету. Її суть у тому, що в мережах з низьким часом очікування можлива кореляція часу проходження пакетів з метою встановлення реального джерела даних. Для здійснення даної атаки необхідно контролювати певні ділянки мережі - цікавлять виходи анонімних мереж і вузли, підозрювані в анонімній передачі даних, або тільки входи і виходи анонімних мереж. Шанси атакує на успіх при використанні даної атаки можуть бути збільшені, якщо у нього є доступ до сервера, до якого підключається анонімний користувач. Атакувальний може, наприклад, змусити веб-сервер відправляти браузеру дані з певними затримками (наприклад, виставивши різні інтервали затримок для відповіді веб-сервера на запити індексного сторінки, картинок і таблиць стилів). Це дозволить виявити в зашифрованому трафіку анонімної мережі «шаблони» затримок і, таким чином, з певною вірогідністю відповісти на запитання про приналежність вихідного трафіку анонімної мережі «підозрюваному» користувачу. Методи захисту від таймінг-атаки включають внесення змінних затримок в характер інформаційного обміну, перемішування і об'єднання повідомлень, пересилання їх блоками фіксованого розміру.
Атака на відбитки
Атакувальний може створити велику базу даних популярних вебсайтів, яка буде містити в собі певні параметри індексних сторінок (наприклад, розмір головної сторінки в байтах). Це дозволить «вгадати» сайт, який відвідує користувач, шляхом аналізу кількості переданого на вхідний вузол анонімної мережі Асоціація анонімного і псевдонімного трафіку Атакувальний може асоціювати анонімний трафік з «підозрюваним» вузлом упевних випадках. Наприклад, Tor направляє всі з'єднання, встановлені впевному часовому проміжку, в один ланцюжок вузлів. Таким чином, можна асоціювати псевдонимне з'єднання з анонімними, якщо вони були встановлені практично одночасно. Наприклад, при одночасній відправці файлу по протоколу FTP c анонімним з'єднанням і ICQ з псевдонимним з'єднанням буде використано один ланцюжок серверів мережі Tor і єдиний вихідний вузол. У цьому випадку атакувальний може здогадатися, що обидва з'єднання були встановлені з одного комп'ютера і спробувати отримати додаткову інформацію про користувача, який передає файл, наприклад, за номером ICQ.
Атака на TCP timestamp
Атака полягає в тому, що значення TCP timestamp змінюється на фіксованезначення в одиницю часу і в більшості випадків розрізняється у двох різних комп'ютерів. Атакувальний може прослуховувати трафік VPN-сервісу і записуватипередані значення TCP timestamp. Оскільки VPN здійснює передачу IP-пакетів,то система, яка встановила VPN-з'єднання, буде передавати TCP timestamp вінкапсульованих пакетах. Аналогічна атака можлива і на приховані сервісимережі Tor. У цьому випадку в анонімній мережі передаються тільки TCP дані,проте «досліджуваний» вузол може передавати TCP timestamp, наприклад, у з'єднаннях по локальній мережі. Атака полягає в тому, що можна викликати певнівідхилення у значеннях лічильників TCP timestamp (наприклад, шляхом DoS-атаки). Придатність даної атаки на приховані сервіси Tor досі стоїть підпитанням.