Naprawiono błąd w sieci Aptos, który narażał 70 miliardów USD na atak za 3.000 USD
- Błąd pozwalał na przejęcie kontroli nad rolami uprawniającymi do emisji stablecoinów, takich jak USDC.
- Badacze wykazali, że między 17 a 18 z każdego 20 prób ataku kończyło się sukcesem.
Krytyczny błąd w sieci Aptos został naprawiony w lutym, po tym jak firma bezpieczeństwa Hexens wykazała, że ta luka mogła narażać do 70 miliardów USD funduszy w ekosystemie Aptos na atak kosztujący zaledwie 3.000 USD, co badacze określili jako koszt wynajęcia serwera o mocy komputera stacjonarnego. Poprawka została zastosowana przed tym, jak błąd został wykorzystany, więc żaden użytkownik nie stracił pieniędzy.
Chociaż odkrycie i jego naprawa miały miejsce w lutym, pełne szczegóły techniczne oraz dowód koncepcji (PoC) od Hexens zostały ujawnione dopiero w tym tygodniu, kiedy Hexens i zespół Aptos opublikowali je publicznie.
Z Hexens zapewnili, że z każdego 20 prób symulacji ataku, między 17 a 18 kończyło się sukcesem w środowisku testowym z ponad 30 węzłami (komputerami, które weryfikują i potwierdzają operacje w sieci). Zespół Aptos potwierdził 4 lipca w mediach, że odkrycie zostało zgłoszone 25 lutego w ramach programu nagród za zgłaszanie luk w zabezpieczeniach, a poprawka została opracowana, przetestowana i wdrożona w sieci głównej później.
Błąd pochodził z maszyny wirtualnej Move (MoveVM), programu, który wykonuje kod inteligentnych kontraktów w Aptos, aby realizować operacje w sieci, zaprojektowanego w języku programowania Move. Program ten organizuje dane każdego kontraktu w strukturach, w jaki sposób MoveVM przechowuje na przykład saldo konta lub uprawnienia administracyjne protokołu.
System przechowuje numer identyfikacyjny dla każdej z tych struktur w pamięci tymczasowej, aby nie powtarzać tego samego procesu przy każdej operacji. Problem pojawiał się, gdy system opróżniał część tej pamięci, aby zwolnić miejsce, ale nie całą: numer identyfikujący strukturę mógł zostać błędnie powiązany z danymi innej, zupełnie różnej. To, co nazywa się myleniem typów, jest błędem, w którym program kończy traktując informacje z jednego konta, jakby należały do innego.
Z tym błędem, jak opisało Hexens w swoim raporcie technicznym opublikowanym 6 lipca, atakujący mógł przejąć role administratora głównego, funkcję, która upoważnia do emisji stablecoina, lub zdolności podpisu, które kontrolują zarządzanie funduszami w ramach kontraktu. Badacze twierdzili, że przejęli kontrolę nad rolą administratora głównego i dotarli do kroku przed autoryzacją emisji, nie wykonując jej.
Zespół Hexens zauważył również, że błąd dotyczył tras łączących Aptos z mostami między sieciami, takimi jak te działające w Wormhole i LayerZero, oraz z protokołem, który firma Circle używa do przenoszenia swojego stablecoina USDC między różnymi sieciami, znanym pod angielskim skrótem CCTP (Cross-Chain Transfer Protocol).
Według firmy Hexens, atakujący mógł również wymusić całkowite opróżnienie tych pamięci tymczasowych (cache) po próbie, udanej lub nieudanej, aby nie pozostawić śladów manipulacji. To częściowo wyjaśnia, dlaczego firma podkreśla, że nieudane próby nie zatrzymywały sieci ani nie ujawniały trwającego ataku.
Dodatkowo, badacze z Hexens porównali problem do równoważnego scenariusza w sieci opartej na Ethereum, w której kod pod kontrolą atakującego mógłby bezpośrednio zapisać w przestrzeni pamięci innego kontraktu, omijając gwarancje systemu typów, które Move został zaprojektowany, aby utrzymać.
Hexens zgłosił błąd, stosując praktykę odpowiedzialnego ujawnienia, to znaczy informując prywatnie Aptos przed opublikowaniem jakichkolwiek szczegółów publicznie. Ponadto uruchomiono salę kryzysową koordynowaną przez SEAL911, sieć wolontariuszy odpowiedzi, którą różne projekty w sektorze wykorzystują do koordynowania reakcji na poważne incydenty bezpieczeństwa.
Zespół Aptos z kolei ocenił praktyczną wykonalność błędu jako <<ekstremalnie niską>>. Ta ocena kontrastuje z wskaźnikiem sukcesu wynoszącym od 17 do 18 z każdego 20 prób, które Hexens twierdził, że osiągnął w swoich symulacjach, a także z niezależnymi przeglądami dwóch stron trzecich: Mudit Gupta, dyrektor technologii (CTO) Polygon, stwierdził, że dowód koncepcji działał tak, jak opisano, podczas gdy firma Grego AI oszacowała ryzyko bezpośrednie dla aktywów natywnych Aptos na 250 milionów USD, co jest znacznie mniejszą kwotą niż 70 miliardów USD, które Hexens oszacował na rozszerzony wpływ na resztę ekosystemu.
Na koniec Charles Guillemet, dyrektor technologii Ledger, wskazał, że tego rodzaju odkrycia, z pełnymi śladami maszyny wirtualnej i dwoma funkcjonalnymi dowodami koncepcji, wcześniej wymagały miesięcy pracy specjalisty, a dziś, dzięki narzędziom sztucznej inteligencji, są szybsze i tańsze w produkcji. Według jego oceny, jeśli zespoły bezpieczeństwa mogą dziś przejrzeć każdy wiersz kodu i zbudować funkcjonalny atak po niskich kosztach, warto założyć, że grupy atakujące, w tym związane z Koreą Północną, takie jak Lazarus, mają podobne możliwości.


