Kiedyś okrzyknięte jako nie do zhakowania, łańcuchy bloków są teraz hakowane

Otwarty blok ujawniający cyfrowe monety w środku

Otwarty blok ujawniający cyfrowe monety w środku Pani Tech





Na początku ubiegłego miesiąca zespół ds. bezpieczeństwa w Coinbase zauważył, że coś dziwnego dzieje się w Ethereum Classic, jednej z kryptowalut, które ludzie mogą kupować i sprzedawać za pomocą popularnej platformy wymiany Coinbase. Jego blockchain, historia wszystkich jego transakcji, został zaatakowany.

Atakujący w jakiś sposób przejął kontrolę nad ponad połową mocy obliczeniowej sieci i używał jej do przepisywania historii transakcji. Umożliwiło to wydawanie tej samej kryptowaluty więcej niż jeden raz – znane jako podwójne wydatki. Napastnik został zauważony, gdy osiągnął kwotę 1,1 miliona dolarów. Coinbase twierdzi, że żadna waluta nie została skradziona z żadnego z jego kont. Ale druga popularna giełda, Gate.io, przyznał to nie było takie szczęście, że napastnik stracił około 200 000 $ (który, o dziwo, zwróciło połowę tego dni później).

Jeszcze rok temu ten koszmarny scenariusz był w większości teoretyczny. Jednak tak zwany atak 51% na Ethereum Classic był ostatnim z serii niedawnych ataków na blockchainy, które podniosły stawkę dla rodzącej się branży.



W sumie od początku 2017 r. hakerzy ukradli kryptowalutę o wartości prawie 2 miliardów dolarów, głównie z giełd, i tylko to zostało ujawnione publicznie. To nie tylko oportunistyczni samotni napastnicy. Robią to teraz również wyrafinowane organizacje zajmujące się cyberprzestępczością: firma analityczna Chainalysis powiedziała niedawno, że tylko dwie grupy, z których obie najwyraźniej nadal są aktywne, mogły ukraść z giełd łącznie miliard dolarów.

Nie powinniśmy się dziwić. Blockchainy są szczególnie atrakcyjne dla złodziei, ponieważ nieuczciwych transakcji nie można cofnąć, jak to często bywa w tradycyjnym systemie finansowym. Poza tym od dawna wiemy, że tak jak łańcuchy bloków mają unikalne funkcje bezpieczeństwa, mają również unikalne luki w zabezpieczeniach. Hasła marketingowe i nagłówki, które nazywały tę technologię niemożliwą do zhakowania, były całkowicie błędne.

Zostało to zrozumiane, przynajmniej teoretycznie, odkąd Bitcoin pojawił się dekadę temu. Ale w zeszłym roku, pośród kambryjskiej eksplozji nowych projektów kryptowalutowych, zaczęliśmy dostrzegać, co to oznacza w praktyce – i co te nieodłączne słabości mogą oznaczać dla przyszłości blockchainów i zasobów cyfrowych.



Jak włamać się do łańcucha bloków?

Zanim przejdziemy dalej, wyjaśnijmy kilka terminów.

DO blockchain to kryptograficzna baza danych utrzymywana przez sieć komputerów, z których każdy przechowuje kopię najnowszej wersji. Łańcuch bloków protokół to zestaw reguł, które dyktują sposób działania komputerów w sieci, zwanych węzły , powinien weryfikować nowe transakcje i dodawać je do bazy danych. Protokół wykorzystuje kryptografię, teorię gier i ekonomię, aby stworzyć zachęty dla węzłów do pracy w celu zabezpieczenia sieci zamiast atakowania jej dla osobistych korzyści. Prawidłowo skonfigurowany system może sprawić, że dodanie fałszywych transakcji będzie niezwykle trudne i kosztowne, ale stosunkowo łatwo zweryfikować te ważne.



To właśnie sprawiło, że technologia jest tak atrakcyjna dla wielu branż, poczynając od finansów. Wkrótce uruchomione usługi znanych instytucji, takich jak Fidelity Investments i Intercontinental Exchange, właściciel giełdy nowojorskiej, zaczną wiązać blockchainy z istniejącym systemem finansowym. Nawet banki centralne rozważają teraz wykorzystanie ich w nowych cyfrowych formach waluty krajowej.

Ale im bardziej złożony jest system blockchain, tym więcej sposobów na popełnianie błędów podczas jego konfiguracji. Na początku tego miesiąca firma odpowiedzialna za Zcash — kryptowalutę, która wykorzystuje niezwykle skomplikowaną matematykę, aby umożliwić użytkownikom zawieranie transakcji prywatnych — ujawniła, że ​​potajemnie naprawiła subtelna wada kryptograficzna przypadkowo upieczony w protokole. Atakujący mógł go wykorzystać do stworzenia nieograniczonej liczby fałszywych Zcash. Na szczęście wydaje się, że nikt tego nie zrobił.

Protokół nie jest jedyną rzeczą, która musi być bezpieczna. Aby samodzielnie handlować kryptowalutą lub uruchomić węzeł, musisz uruchomić oprogramowanie klient , który może również zawierać luki w zabezpieczeniach. We wrześniu twórcy głównego klienta Bitcoina, zwanego Bitcoin Core, musieli wygrzebać się, aby naprawić błąd ( także w tajemnicy ), które mogły pozwolić atakującym wybić więcej bitcoinów, niż system powinien.



Mimo to większość ostatnich hacków, które trafiły na nagłówki gazet, nie dotyczyła samych blockchainów, ale giełdy , strony internetowe, na których ludzie mogą kupować, handlować i przechowywać kryptowaluty. Wiele z tych napadów można obwiniać o słabe podstawowe praktyki bezpieczeństwa. Zmieniło się to w styczniu wraz z atakiem 51% na Ethereum Classic.

Zasada 51%

Podatność na 51% ataków jest nieodłączną cechą większości kryptowalut. To dlatego, że większość opiera się na łańcuchach bloków, które używają dowód pracy jako ich protokół weryfikacji transakcji. W tym procesie znany również jako górnictwo , węzły zużywają ogromne ilości mocy obliczeniowej, aby udowodnić, że są wystarczająco godne zaufania, aby dodać informacje o nowych transakcjach do bazy danych. Górnik, który w jakiś sposób przejmie kontrolę nad większością mocy wydobywczej sieci, może oszukać innych użytkowników, wysyłając im płatności, a następnie tworząc alternatywną wersję łańcucha bloków, w którym płatności nigdy nie miały miejsca. Ta nowa wersja nazywa się a widelec . Atakujący, który kontroluje większość mocy wydobywczej, może uczynić widelec autorytatywną wersją łańcucha i ponownie wydać tę samą kryptowalutę.

W przypadku popularnych blockchainów próba tego rodzaju napadu może być niezwykle kosztowna. Według strony internetowej Krypto51 , wynajęcie wystarczającej mocy wydobywczej do ataku na Bitcoina kosztowałoby obecnie ponad 260 000 USD za godzinę. Ale szybko staje się znacznie tańszy, gdy przesuwasz się w dół listy ponad 1500 kryptowalut. Spadające ceny monet sprawiają, że jest to jeszcze mniej kosztowne, ponieważ powoduje, że górnicy wyłączają swoje maszyny, pozostawiając sieci mniej chronione.

W połowie 2018 r. napastnicy zaczęli przeprowadzać 51% ataków na serię stosunkowo niewielkich monet, którymi handlowano w lekkim obrocie, w tym Verge, Monacoin i Bitcoin Gold, kradnąc w sumie około 20 milionów dolarów. Jesienią hakerzy ukradli około 100 000 dolarów za pomocą seria ataków na walucie zwanej Vertcoin. Trafienie przeciwko Ethereum Classic, które zarobiło ponad 1 milion dolarów, było pierwszym w walce z walutą z pierwszej dwudziestki.

David Vorick, współzałożyciel platformy przechowywania plików opartej na blockchain Sia, przewiduje, że 51% ataków będzie nadal rosło w częstotliwości i dotkliwości, a wymiany przyjmą główny ciężar szkód spowodowanych podwójnymi wydatkami. Jedną z rzeczy napędzających ten trend, jak mówi, jest wzrost tak zwanych rynków hashrate, które atakujący mogą wykorzystać do wynajmowania mocy obliczeniowej do ataków. Giełdy ostatecznie będą musiały być znacznie bardziej restrykcyjne przy wyborze obsługiwanych kryptowalut, napisał Vorick po włamaniu do Ethereum Classic.

Całkowicie nowa puszka robaków z robakami

Oprócz 51% ataków, istnieje zupełnie nowy poziom słabości bezpieczeństwa blockchain, których implikacje badacze dopiero zaczynają badać: błędy w inteligentnych umowach. Przypadkowo, Ethereum Classic – a konkretnie historia jego powstania – jest również dobrym punktem wyjścia do ich zrozumienia.

DO inteligentna umowa to program komputerowy działający w sieci blockchain. Może być używany do automatyzacji ruchu kryptowaluty zgodnie z określonymi zasadami i warunkami. Ma to wiele potencjalnych zastosowań, takich jak ułatwienie rzeczywistych umów prawnych lub skomplikowanych transakcji finansowych. Innym zastosowaniem — interesującym nas przypadkiem — jest stworzenie mechanizmu głosowania, dzięki któremu wszyscy inwestorzy w funduszu venture capital mogą wspólnie decydować o alokacji pieniędzy.

Właśnie taki fundusz, zwany Zdecentralizowaną Organizacją Autonomiczną (DAO), został utworzony w 2016 roku przy użyciu systemu blockchain o nazwie Ethereum. Niedługo potem atakujący ukradł kryptowalutę o wartości ponad 60 milionów dolarów, wykorzystując nieprzewidzianą lukę w inteligentnej umowie, która zarządzała DAO. W gruncie rzeczy usterka pozwalała hakerowi na ciągłe żądanie pieniędzy z kont bez rejestrowania przez system, że pieniądze zostały już wypłacone.

Jak ilustruje hack, błąd w żywej inteligentnej umowie może stworzyć wyjątkowy rodzaj sytuacji awaryjnej. W tradycyjnym oprogramowaniu błąd można naprawić za pomocą łatki. W świecie blockchain nie jest to takie proste. Ponieważ transakcji na blockchain nie można cofnąć, wdrożenie inteligentnego kontraktu jest trochę jak wystrzelenie rakiety, mówi Petar Tsankov, naukowiec z ETH Zurich i współzałożyciel startupu zajmującego się bezpieczeństwem inteligentnych kontraktów o nazwie Bezpieczeństwo łańcucha . Oprogramowanie nie może popełnić błędu.

Są pewne poprawki. Chociaż nie można ich załatać, niektóre umowy można uaktualnić, wdrażając dodatkowe inteligentne umowy w celu interakcji z nimi. Deweloperzy mogą również budować w sieci scentralizowane wyłączniki awaryjne, aby zatrzymać wszelką aktywność po wykryciu włamania. Ale dla użytkowników, których pieniądze zostały już skradzione, będzie za późno.

Jedynym sposobem na odzyskanie pieniędzy jest, w praktyce, przepisanie historii na nowo — cofnięcie się do punktu w łańcuchu bloków sprzed ataku, utworzenie rozwidlenia do nowego łańcucha bloków i sprawienie, by wszyscy w sieci zgodzili się zamiast tego użyć tego. To właśnie postanowili zrobić programiści Ethereum. Większość, ale nie wszyscy, społeczności przeszli na nowy łańcuch, który teraz znamy jako Ethereum. Mniejsza grupa zawieszek przyklejona do oryginalnego łańcucha, który stał się Ethereum Classic.

W zeszłym miesiącu zespół Tsankova w ChainSecurity uratował Ethereum przed możliwą powtórką katastrofy DAO. Zaledwie dzień przed planowaną poważną aktualizacją oprogramowania, firma powiedziała wiodącym programistom Ethereum, że będzie to niezamierzoną konsekwencją pozostawienia niektórych kontraktów na blockchain, które są podatne na ten sam rodzaj błędu, który doprowadził do włamania DAO. Deweloperzy szybko odłożyli aktualizację i jeszcze w tym miesiącu dadzą jej kolejną szansę.

Niemniej jednak setki cennych inteligentnych kontraktów Ethereum były już podatne na ten tak zwany błąd ponownego wejścia, według Victora Fanga, współzałożyciela i dyrektora generalnego firmy AnChain.ai zajmującej się bezpieczeństwem blockchain. Według badań przeprowadzonych w zeszłym roku dziesiątki tysięcy umów może zawierać inny rodzaj luki. Sama natura publicznych łańcuchów bloków oznacza, że ​​jeśli istnieje błąd w inteligentnym kontrakcie, hakerzy go znajdą, ponieważ kod źródłowy jest często widoczny w łańcuchu bloków. To bardzo różni się od tradycyjnego cyberbezpieczeństwa, mówi Fang, który wcześniej pracował dla firmy FireEye zajmującej się cyberbezpieczeństwem.

Kontrakty buggy, zwłaszcza te, które mają tysiące lub miliony dolarów, przyciągają hakerów tak samo zaawansowanych, jak ci, którzy atakują banki lub rządy. W sierpniu AnChain zidentyfikował pięć adresów Ethereum stojących za niezwykle wyrafinowanym atakiem, w którym wykorzystano lukę w kontrakcie w popularnej grze hazardowej, aby ukraść 4 miliony dolarów.

Czy hakerów można pokonać?

AnChain.ai jest jednym z kilku niedawnych startupów stworzonych w celu rozwiązania problemu hakerskiego łańcucha bloków. Wykorzystuje sztuczną inteligencję do monitorowania transakcji i wykrywania podejrzanej aktywności, a także może skanować kod inteligentnej umowy w poszukiwaniu znanych luk w zabezpieczeniach.

Inne firmy, w tym ChainSecurity firmy Tsankov, rozwijają usługi audytu w oparciu o ugruntowaną technikę informatyczną zwaną weryfikacją formalną. Celem jest matematyczne udowodnienie, że kod kontraktu faktycznie zrobi to, co zamierzali jego twórcy. Te narzędzia audytowe, które zaczęły pojawiać się w ciągu ostatniego roku, pozwoliły twórcom inteligentnych kontraktów wyeliminować wiele błędów, które były nisko wiszącymi owocami, mówi Tsankov. Ale proces ten może być kosztowny i czasochłonny.

Możliwe jest również użycie dodatkowych inteligentnych kontraktów, aby skonfigurować nagrody za błędy oparte na blockchain. To zachęciłoby ludzi do zgłaszania błędów w zamian za nagrodę w kryptowalucie, mówi Filip Daian , badacz z Cornell University’s Initiative for Cryptocurrencies and Contracts.

Ale upewnienie się, że kod jest czysty, zajdzie tylko do tego stopnia. W końcu blockchain to złożony system ekonomiczny, który zależy od nieprzewidywalnych zachowań ludzi, a ludzie zawsze będą szukać nowych sposobów na ogranie go. Daian i jego koledzy pokazali, jak napastnicy już zorientowali się, w jaki sposób zarabiać na grach w popularne inteligentne kontrakty Ethereum , na przykład.

Krótko mówiąc, chociaż technologia blockchain jest od dawna zachwalana ze względu na jej bezpieczeństwo, w pewnych warunkach może być dość podatna na ataki. Czasami można winić tandetne wykonanie lub niezamierzone błędy oprogramowania. Innym razem jest to bardziej szara strefa — skomplikowany wynik interakcji między kodem, ekonomią łańcucha bloków i ludzką chciwością. Jest to znane w teorii od początku istnienia technologii. Teraz, gdy na świecie pojawiło się tak wiele łańcuchów bloków, dowiadujemy się, co to właściwie oznacza — często w trudny sposób.

ukryć