Útok Sybil je typ útoku typu peer-to-peer , který způsobí, že se oběť připojí pouze k hostitelům ovládaným útočníkem. Tento termín navrhl v roce 2002 výzkumník společnosti Microsoft Brian Zeal. Jméno je vybráno podle pseudonymu hlavní postavy v bestselleru Sibyla z roku 1973 o léčbě disociativní poruchy identity . [1] Navzdory tomu, že v ruském překladu knihy - původní zdroj názvu - je použita varianta "Sibyla", nachází se i použití transliterace "Sibyla". Do roku 2002 byly útoky stejné třídy známy pod pojmem pseudospoofing , který zavedl L. Detweiler na cypherpunk mailing listu . [2]
V peer-to-peer sítích, kde není důvěryhodný žádný uzel, je každý požadavek duplikován více příjemcům, takže neexistuje jediný uzel, jehož odpověď musí být plně důvěryhodná. Současně mohou mít uživatelé sítě několik identifikátorů fyzicky souvisejících s různými uzly. V dobré víře lze tyto identifikátory použít ke sdílení společných zdrojů nebo jejich více kopií. Ten vytvoří redundanci, která vám umožní nezávisle kontrolovat integritu dat přijatých ze sítě. Nevýhodou tohoto přístupu je, že v určitém okamžiku mohou být všechny dostupné uzly, které by měly představovat různé příjemce nějakého požadavku, řízeny stejným uživatelem. Pokud se tedy tento uživatel ukáže jako útočník, bude mít v této relaci všechny možnosti proxy , protože neoprávněně získal plnou důvěru iniciátora relace. Čím více identifikátorů útočník vlastní, tím je pravděpodobnější, že příští relace nějakého uživatele s p2p sítí bude na těchto alias uzlech uzavřena. Pro útočníka je zároveň důležité, aby bylo snadné vytvořit nový identifikátor. [3]
Vzhledem k absenci důvěryhodného centra existují 2 způsoby, jak rozpoznat nový identifikátor v síti peer-to-peer: buď získat záruky o jeho dobré víře od jiných uzlů, nebo jej nějakým způsobem nezávisle ověřit. [3]
Pro přímou kontrolu:
Při nepřímé kontrole:
S rostoucím decentralizovaným webem roste i počet aliasových identifikátorů. Stává se nepraktickým vyžadovat, aby každý uživatel ověřoval vlastnictví své identity současně a nepřetržitě, protože to výrazně brání škálovatelnosti sítě. [3] V roce 2012 se ukázalo, že rozsáhlé útoky lze levně a efektivně provádět na stávajících systémech, jako je BitTorrent Mainline DHT . [4] [5] Aktivní pozornost je věnována boji proti útoku Sibyly v rámci rozvoje automobilových sítí mezi vozidly (v2v). [6]
Předpokládá se, že jediný přímý způsob, jak přesvědčit účastníka, že dva uzly patří různým uživatelům, je vyřešit problém, který jeden uživatel nemůže vyřešit sám. To bere v úvahu, že zdroje uzlů jsou omezené.
Pokud delegujete úlohu ověřování uzlů na jiné účastníky, můžete ušetřit své vlastní zdroje. Navíc u tohoto přístupu bude dalším argumentem ve prospěch úspěšného absolvování validace počet kontrol, kterými uzel předtím úspěšně prošel. Chayan Banerjee navrhl dvoufázové schéma nepřímého ověřování uzlů. V první fázi je výsledek kontroly - stupeň důvěry v kontrolovaný uzel - hlášen nejbližšími uzly, což umožňuje neposílat data daleko. Získané hodnoty jsou porovnávány s výsledky podobného testu několika dalšími, náhodně vybranými vzdálenými uzly. To umožňuje v drtivé většině případů detekovat alias uzly, které se kontroly zúčastnily v první fázi. [deset]
Pokud cenný majetek obíhá v decentralizované síti, může být účtován poplatek za každý vytvořený identifikátor. V tomto případě bude muset útočník korelovat náklady na organizaci útoku s očekávaným přínosem. Samozřejmě v takovém schématu nebude organizace opakovaného útoku útočníka nic stát. Této nevýhodě se lze vyhnout pravidelným placením. [jedenáct]
Metody prevence založené na charakteristikách konektivity sociálních grafů mohou omezit rozsah škod způsobených útokem Sibyly, aniž by účastníky sítě připravily o anonymitu. Tyto metody nemohou zcela zabránit útoku a jsou zvláště citlivé na rozsáhlé útoky malého rozsahu. Tyto metody však používají společnosti Advogato Trust Metric a SybilGuard. [12]
Doktor informatiky Nguyen Tran [13] navrhl decentralizovaný protokol Gate Keeper, který vytváří verifikaci uzlů odolných vůči Sibyl na základě mechanismu sociální sítě. Protokol umožňuje nejčestnějším hostitelům kontrolovat počet hostitelů schopných provést útok. [11] Autor protokolu vychází z předpokladu, že alias uzly se nacházejí poblíž. Pokud je pak hlasovací právo rozděleno mezi vzdálené uzly, je velmi nepravděpodobné, že by útočník ovládal většinu uzlů, které potvrzují ověření. Protokol používá koncept „úrovně“ založený na vzdálenosti mezi uzly. Omezený počet hlasů nechť se nejprve rovnoměrně rozdělí mezi uzly stejné úrovně, ty si nechají jeden hlas pro sebe, poté se hlasy posílají na další úroveň. Toto pokračuje, dokud nedojdou buď hlasy, nebo úrovně (nebudou žádné uzly bez hlasování na další úrovni). Na první pohled při takovém rozdělení není tak snadné rozdělit hlasy mezi bona fide uzly (při podrobnějším rozboru jich bude jen asi 60 %). Existuje také možnost, že velký podíl hlasů v prvních iteracích získá útočník, který je využije ve svůj prospěch. Proto je v protokolu náhodně vybráno několik vzdálených uzlů – primárních zdrojů hlasů. [čtrnáct]
Předpokládá se, že Nakamotův konsensus tím, že spojí identifikátor se skutečným výpočetním výkonem, zcela anuluje možnost útoku. Toto schéma má však také své nevýhody, především kvůli nákladům na energii. [15] Bylo navrženo používat náhodné identifikátory, o dispoziční právo, s nimiž soutěží účastníci sítě. S přijatým identifikátorem je přitom možné nakládat pouze po omezenou dobu, poté si musí účastník hledat nový. [16]