Атака Сивілли

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Атака Сивілли (англ. Sybil attack) — вид атаки, в якій репутаційна система підривається шляхом підробки ідентичності в одноранговій мережі[1]. В результаті атаки жертва підключається тільки до вузлів, контрольованих зловмисником. Термін запропонований в 2002 співробітником Microsoft Research Брайаном Зілом[2]. Назва вибрана на честь псевдоніма головної героїні книги-бестселера 1973 року «Сивілла[en]» про лікування дисоціативного розладу особистості[3]. Незважаючи на те, що перекладах книги — першоджерела назви — використовується варіант Сивілла, також зустрічається використання транслітерації Сибілла. До 2002 року атаки того ж класу були відомі під терміном псевдоспуфінг, який увів Л. Детвейлер у списку розсилки шифропанків і використовувався в літературі про однорангові системи для одного класу атак до 2002 року, але цей термін не отримав такого розповсюдження, як «атака Сивілли»[4].

Опис[ред. | ред. код]

В однорангових мережах, де жоден вузол не є надійним, кожен запит дублюється кільком одержувачам з тим, щоб не виявилося єдиного вузла, відповіді якого було б необхідно повністю довіряти. У той же час, користувачі мережі можуть мати декілька ідентифікаторів, які фізично належать до різних вузлів. Сумлінно ці ідентифікатори можна використовувати, щоб розділяти загальні ресурси або мати кілька їх копій. Останнє створить надмірність, яка дозволить перевіряти цілісність даних, прийнятих з мережі незалежно. Зворотною стороною такого підходу є те, що в якийсь момент всі доступні вузли, які повинні представляти різних одержувачів деякого запиту, можуть контролюватися одним і тим же користувачем. Таким чином, якщо цей користувач виявиться зловмисником, у нього в даному сеансі будуть всі можливості посередника, який  невиправдано отримав повну довіру ініціатора сеансу. Чим більше ідентифікаторів належить зловмиснику, тим більше шансів, що наступний сеанс деякого користувача з p2p-мережею виявиться замкнутий на цих вузлах-псевдонімах. При цьому зловмиснику важливо, щоб новий ідентифікатор було досить легко створити[5][6][7][8].

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

При прямій перевірці:

  • Навіть якщо ресурси обмежені, зловмисник все одно може контролювати якесь число ідентифікаторів.
  • Зловмисник може створювати ідентифікатори-псевдоніми знову і знову, якщо він не зобов'язаний підтверджувати володіння всіма ними одночасно.

При непрямій перевірці:

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

Із зростанням децентралізованої мережі зростає і кількість ідентифікаторів-псевдонімів. Стає недоцільно вимагати в кожного користувача підтверджувати володіння своїми ідентифікаторами одночасно і безперервно, оскільки це суттєво заважає масштабованості мережі. У 2012 році було показано, що широкомасштабні атаки можна проводити дешево і ефективно в існуючих системах, таких як BitTorrent Mainline DHT. Активна увага атаці Сивілли приділяється в рамках розробки автомобільних мереж vehicle-to-vehicle (v2v)[5].

Інциденти[ред. | ред. код]

  • 2014 рік — атака Сивілли тривалістю у п'ять місяців (з лютого по липень) проведена невідомими в рамках мережі Tor. Пізніше, розробники мережі створили програмний засіб, який дозволив виявити безліч вузлів-псевдонімів. Були розкриті схеми перезаписування адрес гаманців Bitcoin, перенаправлення на фішингові сайти, а також ряд вузлів, що застосовуються для дослідження можливості деанонімізації мережі[5].

Протидія[ред. | ред. код]

Пряма перевірка[ред. | ред. код]

Вважається, що єдиний прямий спосіб переконати учасника в тому, що два вузла належать до різних користувачів — це вирішення завдання, яке один користувач не може вирішити самостійно. При цьому враховується, що ресурси вузлів обмежені[9].

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

Непряма перевірка[ред. | ред. код]

Можна заощадити власні ресурси, якщо делегувати завдання валідації вузлів іншим учасникам. Крім того, при такому підході додатковим аргументом на користь успішного проходження валідації стане число перевірок, успішно пройдених вузлом до цього. Чаян Банерджі запропонував схему непрямої перевірки вузла, що складається з двох стадій. На першій стадії результат перевірки — ступінь довіри сайту, що перевіряється — повідомляють найближчі вузли, що дозволяє не відправляти дані. Одержані значення порівнюються із результатами аналогічної перевірки кількома іншими, випадково вибраними віддаленими вузлами. У переважній більшості випадків, це дозволяє виявити вузли-псевдоніми, які брали участь у перевірці на першому етапі[10].

Плата за реєстрацію[ред. | ред. код]

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

Соціальні графи[ред. | ред. код]

Методи профілактики, засновані на характеристиці зв'язності соціальних графів, можуть обмежити ступінь шкоди від атаки Сивілли, не позбавляючи учасників мережі анонімності. Дані методи не можуть повністю запобігти атаці і вони особливо вразливі до широко поширених атак невеликого масштабу. Тим не менш, цими методами користуються Hyves Trust Metric і SybilGuard.

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

Кандидат комп'ютерних наук Нгуєн Тран запропонував децентралізований протокол Gate Keeper, який виробляє стійку до атаки Сивілли перевірку вузлів, засновану на механізмі соціальної мережі. Протокол дозволяє найбільш чесним вузлам контролювати число вузлів, здатних здійснити атаку. Автор протоколу виходить з припущення, що вузли-псевдоніми розташовані поруч. Тоді, якщо розподілити право голосу між віддаленими вузлами, буде дуже малоймовірно, що зловмисник контролює більшість вузлів, які підтверджують валідацію. Протокол використовує поняття 'рівня', засноване на відстані між вузлами. Нехай обмежене число голосів спочатку порівну розподіляється між вузлами одного рівня, вони залишають собі один голос, потім голоси відправляється на наступний рівень. Так продовжується до тих пір, поки не закінчаться голоси, або рівні (на наступному рівні не буде вузлів без голосу). На перший погляд, в даній ситуації не так просто розподілити голоси між сумлінними вузлами (при більш детальному аналізі їх буде лише близько 60 %). Також залишається ймовірність того, що велика частка голосів на перших ітераціях потрапить до зловмисника, який буде використовувати їх на свою користь. Тому в протоколі випадковим чином вибирається декілька віддалених вузлів — первинних джерел голосів[12] [13].

Доказ виконання роботи[ред. | ред. код]

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

Примітки[ред. | ред. код]

  1. Trifa, Zied; Khemakhem, Maher (2014). Sybil Nodes as a Mitigation Strategy Against Sybil Attack. Procedia Computer Science 32: 1135–40. doi:10.1016/j.procs.2014.05.544. 
  2. Douceur, John R (2002). The Sybil Attack. Peer-to-Peer Systems. Lecture Notes in Computer Science 2429. с. 251–60. ISBN 978-3-540-44179-3. doi:10.1007/3-540-45748-8_24. 
  3. Lynn Neary (20 October 2011). Real 'Sybil' Admits Multiple Personalities Were Fake. NPR. Retrieved 8 February 2017.
  4. Oram, Andrew. Peer-to-peer: harnessing the benefits of a disruptive technology. 
  5. а б в Oram, Andrew. Peer-to-peer: harnessing the benefits of a disruptive technology. 
  6. Banerjee, Chayan (2014). Sybil node detection in peer-to-peer networks using indirect validation. IEEE INDICON. 
  7. Nguyen Tran CV.
  8. Aksah Wanjari (2015). A Survey and Analysis of Sybil Attack in Peer to Peer Network.
  9. а б Douceur, John R. (2002). The Sybil Attack. International workshop on Peer-To-Peer Systems. Процитовано 19 грудня 2017. 
  10. Wang, Liang; Kangasharju, Jussi (2012). Real-world sybil attacks in BitTorrent mainline DHT. IEEE GLOBECOM. Процитовано 19 Декабря 2017. 
  11. Wang, Liang; Kangasharju, Jussi (2013). Measuring Large-Scale Distributed Systems: Case of BitTorrent Mainline DHT. IEEE Peer-to-Peer. Процитовано 19 грудня 2017. 
  12. а б Tor security advisory: «relay early» traffic confirmation attack.
  13. а б Muhammad Saad Naveed, M Hasan Islma (2015). Detection of Sybil Attacks in Vehicular Ad Hoc Networks.
  14. Dan Goodin. Active attack on Tor network tried to decloak users for five months.

Посилання[ред. | ред. код]