Сивиллы
- 1 year ago
- 0
- 0
Атака Сивиллы ( англ. Sybil attack ) — вид атаки в одноранговой сети , в результате которой жертва подключается только к узлам, контролируемым злоумышленником. Термин предложен в 2002 сотрудником Microsoft Research Брайаном Зилом. Название выбрано в честь псевдонима главной героини книги-бестселлера 1973 года «Сивилла» о лечении диссоциативного расстройства личности . Несмотря на то, что в русском переводе книги — первоисточника названия — используется вариант «Сивилла», также встречается использование транслитерации «Сибилла». До 2002 года атаки того же класса были известны под термином псевдоспуфинг , который ввёл Л. Детвейлер в списке рассылки шифропанков .
В одноранговых сетях, где ни один узел не является доверенным, каждый запрос дублируется нескольким получателям с тем, чтобы не оказалось единственного узла, ответу которого было бы необходимо полностью доверять. В то же время, пользователи сети могут иметь несколько идентификаторов, физически относящихся к разным узлам. Добросовестно эти идентификаторы можно использовать, чтобы разделять общие ресурсы или иметь несколько их копий. Последнее создаст избыточность, которая позволит проверять целостность данных, принятых из сети независимо. Обратной стороной такого подхода является то, что в какой-то момент все доступные узлы, которые должны представлять разных получателей некоторого запроса, могут контролироваться одним и тем же пользователем. Таким образом, если этот пользователь окажется злоумышленником, у него в данном сеансе будут все возможности посредника , неоправданно получившим полное доверие инициатора сеанса. Чем больше идентификаторов принадлежит злоумышленнику, тем больше шансов, что следующий сеанс некоторого пользователя с p2p-сетью окажется замкнут на этих узлах-псевдонимах. При этом злоумышленнику важно, чтобы новый идентификатор было достаточно легко создать.
В силу отсутствия доверенного центра, в одноранговой сети есть 2 способа признать новый идентификатор: либо получить гарантии его добросовестности от других узлов, либо самостоятельно его проверить каким-либо образом.
При прямой проверке:
При косвенной проверке:
С ростом децентрализованной сети растёт и количество идентификаторов-псевдонимов. Становится нецелесообразно требовать каждого пользователя подтверждать владение своими идентификаторами одновременно и непрерывно, поскольку это существенно мешает масштабируемости сети. В 2012 году было показано, что широкомасштабные атаки можно проводить дёшево и эффективно в существующих системах, таких как BitTorrent Mainline DHT . Активное внимание противодействию атаке Сивиллы уделяется в рамках разработки автомобильных сетей vehicle-to-vehicle (v2v).
Считается, что единственный прямой способ убедить участника в том, что два узла относятся к разным пользователям — это решение задачи, которую один пользователь не может решить самостоятельно. При этом учитывается, что ресурсы узлов ограничены.
Можно сэкономить собственные ресурсы, если делегировать задачу валидации узлов другим участникам. Кроме того, при таком подходе дополнительным аргументом в пользу успешного прохождения валидации станет число проверок, успешно пройденных узлом до этого. Чаян Банерджи предложил схему косвенной проверки узла, состоящей из двух стадий. На первой стадии результат проверки — степень доверия проверяемому узлу — сообщают ближайшие узлы, что позволяет не отправлять данные далеко. Полученные значения сравниваются с результатами аналогичной проверки несколькими другими, случайно выбранными удалёнными узлами. В подавляющем большинстве случаев это позволяет обнаружить узлы-псевдонимы, принимавших участие в проверке на первом этапе.
Если ценные активы находятся в обращении в децентрализованной сети, можно потребовать плату за каждый созданный идентификатор. В таком случае, злоумышленнику придётся соотносить стоимость организации атаки с ожидаемой выгодой. Разумеется, в такой схеме организация повторной атаки ничего не будет стоить злоумышленнику. Данного недостатка можно избежать, если требовать оплаты регулярно.
Методы профилактики, основанные на характеристиках связности социальных графов, могут ограничить степень ущерба от атаки Сивиллы, не лишая участников сети анонимности. Данные методы не могут полностью предотвратить атаку, и они особенно уязвимы для широко распространённых атак небольшого масштаба. Тем не менее, этими методами пользуются Advogato Trust Metric и SybilGuard.
Кандидат компьютерных наук Нгуен Тран предложил децентрализованный протокол Gate Keeper, который производит устойчивую к атаке Сивиллы проверку узлов, основанную на механизме социальной сети. Протокол позволяет наиболее честным узлам контролировать число узлов, способных произвести атаку. Автор протокола исходит из предположения, что узлы-псевдонимы расположены рядом. Тогда, если распределить право голоса между удалёнными узлами, будет очень маловероятно, что злоумышленник контролирует большинство узлов, подтверждающих валидацию. Протокол использует понятие 'уровня', основанное на расстоянии между узлами. Пусть ограниченное число голосов сначала поровну распределяется между узлами одного уровня, они оставляют себе один голос, затем голоса отправляется на следующий уровень. Так продолжается до тех пор, пока не закончатся либо голоса, либо уровни (на следующем уровне не будет узлов без голоса). На первый взгляд, при таком распределении не так просто распределить голоса между добросовестными узлами (при более детальном анализе их будет лишь около 60%). Также остаётся вероятность того, что крупная доля голосов на первых итерациях попадёт к злоумышленнику, который будет использовать их в свою пользу. Поэтому в протоколе случайным образом выбирается несколько удалённых узлов — первичных источников голосов.
Считается, что консенсус Накамото за счёт привязки идентификатора к реальным вычислительным мощностям полностью сводит на нет возможность атаки. Однако, такая схема также имеет свои недостатки, в первую очередь из-за энергозатрат. Предлагалось использовать случайные идентификаторы, за право распоряжаться которыми участники сети соревнуются. При этом полученным идентификатором можно распоряжаться лишь ограниченное время, после чего участнику приходится искать новый.