Sybil-attack är en typ av peer-to-peer- attack som gör att offret endast ansluter till värdar som kontrolleras av angriparen. Termen föreslogs 2002 av Microsoft-forskaren Brian Zeal. Namnet är valt efter pseudonymen för huvudpersonen i 1973 års bästsäljande bok The Sibyl, om behandling av dissociativ identitetsstörning . [1] Trots att i den ryska översättningen av boken – titelkällan – varianten "Sibyl" används, återfinns även användningen av translitterationen "Sibyl". Fram till 2002 var attacker av samma klass kända under termen pseudospoofing , som introducerades av L. Detweiler på cypherpunks e -postlista . [2]
I peer-to-peer-nätverk, där ingen nod är betrodd, dupliceras varje begäran till flera mottagare så att det inte finns en enda nod vars svar måste vara helt betrodd. Samtidigt kan nätverksanvändare ha flera identifierare som är fysiskt relaterade till olika noder. I god tro kan dessa identifierare användas för att dela gemensamma resurser eller ha flera kopior av dem. Det senare kommer att skapa redundans som gör att du kan kontrollera integriteten hos data som tas emot från nätverket oberoende. Nackdelen med detta tillvägagångssätt är att vid någon tidpunkt kan alla tillgängliga noder, som bör representera olika mottagare av någon begäran, kontrolleras av samma användare. Således, om denna användare visar sig vara en angripare, kommer han att ha alla möjligheter för en proxy i denna session , efter att ha fått det fulla förtroendet från sessionsinitiatorn. Ju fler identifierare en angripare äger, desto mer sannolikt är det att nästa session för en användare med ett p2p-nätverk kommer att stängas på dessa aliasnoder. Samtidigt är det viktigt för en angripare att det är tillräckligt enkelt att skapa en ny identifierare. [3]
På grund av avsaknaden av ett pålitligt center finns det två sätt att känna igen en ny identifierare i ett peer-to-peer-nätverk: antingen få garantier för dess goda tro från andra noder, eller självständigt verifiera det på något sätt. [3]
För direkt kontroll:
I en indirekt kontroll:
När den decentraliserade webben växer, ökar också antalet aliasidentifierare. Det blir opraktiskt att kräva att varje användare ska verifiera äganderätten till sina identiteter samtidigt och kontinuerligt, eftersom detta avsevärt hindrar skalbarheten av nätverket. [3] 2012 visades det att storskaliga attacker kan utföras billigt och effektivt på befintliga system som BitTorrent Mainline DHT . [4] [5] Aktiv uppmärksamhet ägnas åt att motverka Sibyllattacken som en del av utvecklingen av fordon-till-fordon (v2v) fordonsnätverk. [6]
Man tror att det enda direkta sättet att övertyga en deltagare om att två noder tillhör olika användare är att lösa ett problem som en användare inte kan lösa på egen hand. Detta tar hänsyn till att nodernas resurser är begränsade.
Du kan spara dina egna resurser om du delegerar uppgiften med nodvalidering till andra deltagare. Dessutom, med detta tillvägagångssätt, kommer ett ytterligare argument för att lyckas godkänna valideringen vara antalet kontroller som noden framgångsrikt har klarat tidigare. Chayan Banerjee föreslog ett tvåstegs indirekt nodverifieringssystem. I det första skedet rapporteras resultatet av kontrollen - graden av förtroende för den nod som kontrolleras - av de närmaste noderna, vilket gör det möjligt att inte skicka data långt. De erhållna värdena jämförs med resultaten av ett liknande test av flera andra, slumpmässigt utvalda fjärrnoder. I den överväldigande majoriteten av fallen gör detta det möjligt att upptäcka aliasnoder som deltog i kontrollen i det första skedet. [tio]
Om värdefulla tillgångar cirkulerar i ett decentraliserat nätverk kan en avgift tas ut för varje skapad identifierare. I det här fallet måste angriparen koppla kostnaden för att organisera en attack med den förväntade nyttan. Naturligtvis, i ett sådant schema kommer organiseringen av en upprepad attack att kosta ingenting för angriparen. Denna nackdel kan undvikas genom att kräva betalning regelbundet. [elva]
Förebyggande metoder baserade på anslutningsegenskaperna hos sociala grafer kan begränsa omfattningen av skadan från en Sibyllattack utan att beröva nätverksdeltagare anonymiteten. Dessa metoder kan inte helt förhindra en attack, och de är särskilt sårbara för utbredda, småskaliga attacker. Dessa metoder används dock av Advogato Trust Metric och SybilGuard. [12]
Datavetenskap PhD Nguyen Tran [13] föreslog ett decentraliserat Gate Keeper-protokoll som producerar Sibyl-resistent nodverifiering baserat på en social nätverksmekanism. Protokollet tillåter de mest ärliga värdarna att kontrollera antalet värdar som kan utföra en attack. [11] Författaren till protokollet utgår från antagandet att aliasnoder finns i närheten. Sedan, om rösträtten fördelas mellan de avlägsna noderna, är det mycket osannolikt att angriparen kontrollerar majoriteten av noderna som bekräftar valideringen. Protokollet använder konceptet "nivå" baserat på avståndet mellan noder. Låt ett begränsat antal röster först fördelas lika mellan noderna på samma nivå, de lämnar en röst för sig själva, sedan skickas rösterna till nästa nivå. Detta fortsätter tills antingen rösterna eller nivåerna tar slut (det kommer inga noder utan en röst på nästa nivå). Vid en första anblick, med en sådan fördelning, är det inte så lätt att fördela röster mellan bona fide noder (vid en mer detaljerad analys kommer de bara att vara cirka 60%). Det finns också en möjlighet att en stor del av rösterna i de första iterationerna går till en angripare som kommer att använda dem till hans fördel. Därför väljs flera avlägsna noder slumpmässigt i protokollet - de primära röstkällorna. [fjorton]
Man tror att Nakamotos konsensus, genom att koppla identifieraren till verklig datorkraft, helt omintetgör möjligheten för en attack. Detta system har dock också sina nackdelar, främst på grund av energikostnaderna. [15] Det föreslogs att använda slumpmässiga identifierare, för rätten att förfoga över vilka nätverksdeltagare som konkurrerar. Samtidigt kan den mottagna identifieraren endast kasseras under en begränsad tid, varefter deltagaren måste leta efter en ny. [16]