Atak Sybil jest stałą groźbą, wiszącą nad głowami programistów. Jak rozpoznać, kto jest przyjacielem, a kto wrogiem? Blockchain zaczyna przypominać świat z filmu „Inwazja porywaczy ciał”, gdzie nikt nie musi być tym, za kogo się podaje.
Przygotowania do ataku
Blockchain opiera się na sieci węzłów, które przetwarzają transakcje, współpracując ze sobą. W zgodzie z zasadą decentralizacji węzły te zazwyczaj są sobie równe, większość sieci nie wymaga także wyrażenia zgody na ich utworzenie. Jest to sytuacja podobna do tej, w której terrorysta może wstąpić w szeregi policji i infiltrować ją od środka. Jeden terrorysta w tłumie policjantów nie jest jeszcze wielkim problemem. Poważne kłopoty zaczną się, gdy zacznie on w policyjne mundury przebierać setki nowych terrorystów.
Czy atak Sybil jest charakterystyczny tylko dla blockchaina? Nie, ten rodzaj ukrytej agresji istniał na długo przed powstaniem łańcuchów bloków. Może być zastosowany w prawie każdym rodzaju sieci P2P i stanowi potencjalne zagrożenie dla wielu aplikacji. Mylące może być jedynie, że niekiedy ten sam rodzaj ataku określany jest jako spoofing.
Czym jest atak Sybil?
Termin „atak Sybil” został po raz pierwszy użyty w 2002 roku przez Briana Zilla, pracownika Microsoftu. Nazwa ma związek z tytułem książki, opisującej przypadek kobiety, u której zdiagnozowano aż 16 osobowości. Podobnie jak w jej wypadku, atak Sybil opiera się na kontrolowaniu przez jedno centrum wielu tożsamości. Chociaż wydają się być całkowicie odrębnymi bytami, w rzeczywistości wszystkie sterowane są przez tę sama osobę.
Wirtualne tożsamości w sieci są nie do odróżnienia od prawdziwych. Mogą mieć różne IP, adresy email czy nazwy użytkowników, a ponieważ nie ma ścisłego związku między węzłem a konkretną osobą (lub instytucją), namierzenie fałszywych węzłów jest trudnym zadaniem. Udany atak Sybil zapewnia zaś atakującemu możliwość wykonywania potencjalnie niebezpiecznych działań w systemie, a nawet zastopować jego działanie.
Dwa rodzaje ataków
Doświadczenie wskazuje, że atak Sybilli może mieć dwojaki charakter:
- Atak bezpośredni. Ma miejsce, gdy złośliwy węzeł wchodzi w interakcję z uczciwymi węzłami w protokole. Legalne węzły nie są w stanie wykryć, że dane są dostarczane przez intruzów, w rezultacie atakujący może nimi manipulować, aby podejmowały one działania zgodne z jego interesem.
- Atak pośredni. W przeciwieństwie do bezpośredniego, hakerzy używają węzłów pośredniczących (proxy) do przeprowadzenia ataku. Wykorzystanie pośredników powoduje, że taki atak jest trudniejszy do wykrycia niż klasyczny.
Efekty skutecznego ataku
To, jakie szkody wyrządzi atak, zależne jest od zamiarów atakującego oraz odporności sieci. Niektóre efekty mogą wyglądać następująco:
- Zablokowanie uczciwych węzłów: atakujący może wykorzystać swój wpływ na sieć, aby utrudnić dostęp dotychczasowym walidatorom.
- Przepisanie transakcji: gorzej zabezpieczone blockchainy pozwalają na manipulację danymi transakcyjnymi, co haker może wykorzystać do zgarnięcia darmowych monet.
- Przewaga w głosowaniu: większość łańcuchów ma procedury głosowania oparte na smartkontraktach, co czyni je podatnymi na manipulacje podczas ataku Sybil. Jeśli jeden podmiot kontroluje ponad 50% węzłów w łańcuchu bloków, może wymusić zmiany w pożądanym kierunku.
- Naruszenie prywatności: haker może wykorzystać atak Sybil do pozyskania danych, takich jak adresy IP czy salda wszystkich użytkowników.
- Spam: po przejęciu kontroli zły aktor może utworzyć tysiące kont i sprzedać je temu, kto da więcej. Takie konta mogą następnie robić wszystko, od oszukiwania użytkowników po sianie propagandy.
Ochrona przed atakiem Sybil
To, jak odporny na atak jest dany blockchain zależy od jego konstrukcji i przyjętych procedur bezpieczeństwa. Nie ma systemów całkowicie odpornych, są jednak sposoby, by zniechęcić atakujących lub przynajmniej zminimalizować szkody.
- Wielkość sieci PoW. Bitcoin nie został do tej pory skutecznie zaatakowany, co wynika z faktu, że algorytm konsensusu wymusza użycie dużej mocy obliczeniowej, bardzo mocno utrudniając jednemu aktorowi przejęcie kontroli nad połową sieci.
- Łączenie metod konsensusu. Jeśli protokół wymusza spełnienie zarówno warunków stawianych przez PoW jak i PoS, bezpieczeństwo sieci znacząco rośnie, atakujący musi bowiem spełnić dwa trudne warunki zamiast jednego. To podejście stosuje np. Decred.
- Motywacja ekonomiczna. Wejście do sieci może być obwarowane spełnieniem wymagań finansowych. Jeśli utworzenie nowego węzła kosztuje sporo forsy, to choćby przejęcie kontroli było możliwe, może być nieopłacalne.
- System reputacji. Najczęściej uzależnia on wagę głosu danego węzła od stażu w sieci. Ci, którzy byli w systemie przez dłuższy czas, otrzymują większy wpływ na działanie sieci od jej nowych członków.
- Weryfikacja bez KYC. Proof of Humanity czy Proof of Personhood to przykłady testów, mających zagwarantować, że za danym portfelem krypto stoi konkretny, żywy człowiek. W połączeniu z Zero Knowledge pozwalają one potwierdzić ten fakt bez ujawniania tożsamości.
- Wykrywanie algorytmiczne. Programiści blockchain pracują nad algorytmami, które stale monitorują węzły w sieciach P2P, szukając zachowań odbiegających od normy. Ich wykrycie powoduje alarm lub automatycznie wdraża zabezpieczenia.
- Blockchain prywatny. Niezgodne z etosem krypto, ale bezpieczne. Jeśli nowy walidator musi zostać wcześniej zatwierdzony przez innych, znacząco spada prawdopodobieństwo wpuszczenia wilka do owczarni. Tą drogą poszła np. Energy Web.
Przykłady udanych ataków
Ataki Sybil są częstsze niż się wydaje i wciąż spędzają sen z oczu programistom. Przykładowe ataki z ostatnich lat:
- Monero, rok 2020 – deweloperzy projektu ujawnili, że atakujący próbował obejść zabezpieczenia sieci i uzyskać adresy IP zestawione z danymi transakcji. Zabezpieczenia Monero złagodziły większość szkód spowodowanych tym atakiem.
- Ethereum Classic, rok 2000 – w swojej historii ETC padło ofiarą kilku ataków Sybil oraz 51%. Powszechnie znany jest atak Sybil, kiedy haker zreorganizował listę transakcji i ukradł ETC o wartości przeszło 5 milionów dolarów.
- Verge, rok 2021 – podobnie jak Monero, Verge jest private coinem. Atak Sybil pozwolił na przejęcie kontroli i usunięcie transakcje z 200 dni poprzedzających włamanie. Protokół jednak przetrwał ten kataklizm.
Jak mawiał mistrz Jerzy Kulej: Nie ma odpornych na ciosy, są tylko źle trafieni. Żaden blockchain, nawet Bitcoin nie jest całkowicie odporny na atak. Dobrze opracowany mechanizm konsensusu i solidne zabezpieczenia mogą jednak zniechęcić atakującego i skłonić go, by poszukał łatwiejszego celu.
Inwestowanie jest ryzykowne. Inwestuj odpowiedzialnie.