„Bitget“ turėjo 30 minučių suvaldyti įsilaužimą, kol 290 mln
„Bitget“ aptiko neteisėtus piniginės pervedimus maždaug 30 minučių prieš tai, kai užpuolikai pradėjo nusausinti šimtus milijonų dolerių iš kriptovaliutų biržos, todėl kilo klausimų, kodėl jos saugumo atsakas nesugebėjo sulaikyti pažeidimo.
Birža pranešė, kad jos sistemos rugsėjo 24 d. 18:31 UTC pažymėjo neteisėtus perkėlimus ir kad jos apsaugos komanda nedelsdama suaktyvino avarinius protokolus.
Tačiau blokų grandinės saugos įmonės „Hypernative“ atakos rekonstrukcija rodo, kad daugiausia nuostolių patyrė vėliau: 87,6 mln. USD paliko karštas pinigines 19:01, o dar 202,8 mln. USD paliko šiltas pinigines 19:16.
Šios dvi serijos, įvykdytos per 24 sekundes, sudarė apie tris ketvirtadalius 387,5 mln.
Seka rodo, kad „Bitget“ turėjo maždaug pusvalandį po pradinio įspėjimo, kad išvengtų pirmosios didelės bangos, ir maždaug 45 minutes iki didžiausio perdavimo sprogimo. Tai taip pat perkelia kontrolę nuo to, kaip užpuolikas pirmą kartą gavo prieigą, prie to, kaip birža reagavo, kai jos pačios sistemos nurodė, kad kažkas negerai.
„Hypernative“ teigė, kad užpuolikas iš pradžių išbandė pažeistą maršrutą 18:31, pervesdamas 0,84 ETH ir 93 TRX į naujus adresus. Palaukęs maždaug 28 minutes, užpuolikas 18:58 pervedė 34,75 mln. USD USD, o vėliau pagreitino nutekėjimą keliose blokų grandinėse.
Bitget izoliavimo valdikliai nesustabdė pasirašymo?
„Bitget“ teigė, kad atlikus tyrimą nustatyta, kad užpuolikas sukompromitavo savo piniginės infrastruktūros foninę sistemą, suklastojo išėmimo duomenis ir apgavo biržos įgaliojimo procesą, kad patvirtintų pervedimus. Bendrovė teigė, kad privatūs raktai nebuvo pažeisti.
Šis puolimo kelias daro atsako langą ypač reikšmingą. „Hypernative“ teigė, kad sandorius pasirašė pačios „Bitget“ piniginės ir jie pakankamai panašūs į įprastus klientų pinigų išėmimus, kad galėtų praeiti per jos infrastruktūrą.
Apsaugos įmonė po pirminio įspėjimo nustatė keletą kontrolės priemonių, kurios galėjo nutraukti ataką.
Reikėtų, kad kiekvienas pasirašytas pervedimas atitiktų atskirai saugomą kliento atsiėmimo ar patvirtintą iždo operaciją. Toks patikrinimas galėjo neleisti pažeistai užpakalinei paslaugai sukurti savo prieigos teisę.
„Hypernative“ taip pat aptiko neįprastų operacijų parametrų užpuoliko prašymuose, įskaitant dujų limitus, kurie skyrėsi nuo įprasto „Bitget“ pašalinimo vamzdyno. Siūlomų sandorių palyginimas su parametrais, paprastai generuojamais biržoje, galėjo pažymėti 18:31 bandomąją operaciją prieš prasidedant didesniems išėmimams.
Greičio ribos suteikė dar vieną galimą kliūtį. „Hypernative“ teigė, kad šiltos piniginės penkiuose tinkluose per devynias sekundes, 19:16, perėjo 202,8 mln. Apribojimas, kiek atskiros piniginės pakopos gali pervesti per trumpą laiką, kartu su antriniais patvirtinimo reikalavimais galėjo atidėti arba užblokuoti didelę šios bangos dalį.
Svarbiausia, kad „Hypernative“ teigė, kad perspėjimai apie nenormalų perdavimą gali sukelti automatinį paveikto pasirašiusiojo sustabdymą, o ne pasikliauti rankiniu įsikišimu. Vietoj to, su užpuolikais susiję perdavimai tęsėsi iki 21:23 UTC, beveik trims valandoms po Bitget nurodyto aptikimo laiko.
Nuo to laiko „Bitget“ teigė, kad pašalino pažeidžiamumą ir kad po izoliavimo neįvyko daugiau neteisėtų perdavimų. „Mandiant“ ir „SlowMist“ ir toliau dalyvauja teismo tyrime.
Dabar neišspręstas klausimas yra tai, ką Bitget apsaugos sistemos padarė su 18:31 įspėjimu ir kodėl pažeistas pasirašymo maršrutas veikė pakankamai ilgai, kad per dvi pagrindines bangas, kilusias po to, buvo palikta maždaug 290 mln.
