DeFi audito apimties tyrimas: ką reiškia 94 % nuostolių skaičius
Decentralizuotuose finansuose „audituotas“ dažnai pateikiamas kaip nuosprendis visam projektui. Praktiškai auditas paprastai apima įvardytą kodą, komponentus ir versijas tam tikru momentu. Viskas, kas pridėta, neįtraukta arba naudojama aplink tą ribą, gali turėti skirtingą užtikrinimo lygį.
Naujas išankstinis atspaudas uždeda skaičių ant šio tarpo. Tyrėjai, susiję su saugos įmone ack3 ir Čekijos technikos universitetu Prahoje, ištyrė 135 praneštus incidentus per pirmąjį 2026 m. pusmetį, su 939,86 mln. USD nuostoliais. Jie nustatė identifikuojamus viešuosius auditus prieš incidentą 68 incidentams.
Šiame 68 incidentų pogrupyje autoriai priskyrė 46 atakų kelius, kurie nepatenka į kiekvieną audito sritį, kurią jie galėjo nustatyti, 20 kaip bent vienoje srityje ir du kaip neišspręstus. Išorinė grupė sudarė 67,6 % incidentų, bet 94,4 % jų praneštų nuostolių.
Šis ryškus procentas nėra audito efektyvumo įvertinimas ar įrodymas, kad audito ribos sukėlė nuostolių. Jame aprašomas pasirinktų incidentų, apie kuriuos pranešta, rinkinio nuostolių pasiskirstymas. Jame taip pat dominuoja du dideli atvejai: atmetus 292 mln. USD Kelp DAO ir 285 mln. USD „Drift Protocol“, išorės apimties dalis sumažėja iki 72,1 % nuostolių tame pačiame audituotų incidentų pogrupyje.
Net ir nepaisant šių ribų, tyrimas atskleidžia pagrindinę užtikrinimo problemą. Projektas gali teisingai pasakyti, kad jis buvo patikrintas, o naudotojai negali pasakyti, ar buvo peržiūrėta veikianti sistema, kelias, kuriame yra jų lėšos, ir su juo susijusios kontrolės priemonės.
Ką iš tikrųjų rodo duomenys
Ack3 duomenų rinkinys apima incidentus nuo sausio 1 d. iki birželio 29 d. Jo autoriai įvertino 122 balus kaip patvirtintus ir 13 kaip tikėtinus. Iš viso rinkinio 35 nebuvo nustatytas auditas ir 32 buvo nežinoma audito istorija, todėl nė viena grupė nėra įtraukta į 68 incidentų apimties apskaičiavimą.
Šioje 68 incidentų grupėje neįvykdyti incidentai sudarė 680,97 mln. USD iš 721,24 mln. USD nuostolių, o tai sudaro 94,4 proc. Pašalinus Kelp DAO ir Drift Protocol, liko 103,97 mln. USD iš 144,24 mln. USD, arba 72,1 proc. Mašininiu būdu nuskaitoma knygelė atkuria kibirų skaičių ir nuostolių sumas.
Vidinės ar išorinės etiketės išlieka mokslininkų sprendimais dėl viešųjų įrodymų. Jie ieškojo projektų ir auditorių archyvuose, surado ataskaitas prieš incidentą ir palygino galimus atakų kelius su peržiūrėtu kodu, versijomis ir išskyrimais. Darbas yra šešių puslapių išankstinis spaudinys, sukurtas kartu su duomenų rinkinio leidėju, o du autoriai yra susiję su ack3, parduodančia saugos apžvalgas.
Tyrime taip pat trūksta neišnaudotos palyginimo grupės ir matavimo, kiek laiko kiekviena sistema buvo veikiama. Jis negali nustatyti, ar audituoti protokolai apskritai yra saugesni, įvertinti incidento tikimybę arba parodyti, kad kiekvieną nuostolį sukėlė nepatekimas į taikymo sritį. Gali trūkti neatskleistų auditų ir privačių incidentų, o praneštų nuostolių skaičius nėra visiškai palyginamas.
Todėl tyrimas patvirtina ribotą išvadą: audito istorija ir audito apimtis yra skirtingi kintamieji. Peržiūrėta išmanioji sutartis automatiškai nesuteikia tos pačios garantijos dėl naujovinimo, privilegijuoto rakto, priekinės dalies, perdavimo sistemos, orakulo, debesies paslaugos ar reagavimo į incidentus proceso.
Du rugpjūčio mėn. įvykiai skirtingai iliustruoja tą skirtumą. „ICON Network“ yra tiesioginis pavyzdys, kai peržiūrėtas kodas nepavyksta ties dviejų patikrinimų riba. August Aelf incidentas yra priešingas atvejis, nes turimų audito įrodymų dar negalima susieti su praneštu vykdymo keliu.
Rugpjūčio 27 d. ICON tinklo pakartotinio išnaudojimo metu dvi pasitraukimo kelio dalys tą patį pranešimą interpretavo skirtingai.
Remiantis ICON fondo rugpjūčio 30 d. pomirtiniu pranešimu, perkėlimo sutartyje buvo naudojami dideli pasitraukimo pranešimo serijos numerio bitai, siekiant nuspręsti, ar jis unikalus. Kriptografinis parašas apėmė tik mažus 256 bitus. Pakeitęs nepasirašytus didelius bitus, užpuolikas iš naujo pateikė du teisėtai pasirašytus pasitraukimo pranešimus 1 492 kartus per maždaug 20 minučių. ICON teigė, kad pavyko 1 490 skambučių.
Audituota riba ICON praleista
Pakartojimai išleido 119,866 mln. ICX ir 531 600 mlrd. USD. Pomirtinio tyrimo metu ICON patvirtino grynąjį nuostolį apie 150,2 ETH plius 31 204 USDC. Teigiama, kad buvo susigrąžinta 531 600 milijardų JAV dolerių ir 1,366 milijono SODA, o vartotojų indėliai, likučiai ir pozicijos neturėjo įtakos.
ICON teigė, kad migracijos sutarties buvo atliktas išorės auditas ir kad rekomendacijos buvo įgyvendintos, įskaitant pakeitimus toje pačioje srityje. Taip pat teigiama, kad atitinkama relės logika buvo specialiai peržiūrėta. SODAX audito archyve pateikiamos aštuonios skirtingų komponentų ataskaitos, įskaitant 2025 m. lapkričio mėn. perdavimo auditą.
Tačiau pomirtinis teigė, kad tikslus neatitikimas tarp unikalumo patikrinimo ir pasirašytos vertės nepatenka į šias išvadas. Projekto lygio ženklelis negalėjo pasakyti vartotojui, ar abu pasitraukimo kelio galai sutiko dėl to, kas padarė pranešimą unikalų.
Atsakymo laiko juosta prideda antros rūšies ribą. Pirmasis automatinis ICON perspėjimas suveikė 02:08 UTC, praėjus maždaug septynioms minutėms po išnaudojimo pradžios. Darbuotojai pradėjo tyrimą apie 03:40, pristabdė paveiktą sutartį 03:53 ir sustabdė tinklą 06:18:54.
ICON perspėjimo derinimui priskyrė maždaug 90 minučių tarpą tarp pirmojo įspėjimo ir visiško atsako į incidentą. Per nesusijusius ryšio incidentus įspėjimo klasė pateikė klaidingus teigiamus rezultatus ir nenurodė budinčios komandos reikiamo sunkumo. Fondas teigė, kad planuoja automatinį išjungimo paleidiklį, žemesnes grandinės pertraukiklių slenksčius ir tolesnę peržiūrą, daugiausia dėmesio skiriant pranešimų unikalumui ir atkūrimo apsaugai.
Šios kontrolės priemonės nepakeičia audito. Jie pateikia kitokio klausimo įrodymą: kai prevencija nepavyksta, kaip greitai aptikimas gali tapti izoliavimu?
| Viešasis užtikrinimas | Vartotojai vis dar turi atsakyti į klausimą |
|---|---|
| „Audituota“ | Kuri saugykla, įsipareigojimas, įdiegtas adresas ir komponentas buvo peržiūrėti? |
| „Išvados ištaisytos“ | Ar pataisymai buvo įdiegti ir kas pasikeitė vėliau? |
| „Stebima“ | Kuris įspėja apie žmogų arba automatiškai sustabdo paveiktą kelią? |
| „Atgautos lėšos“ | Kuris turtas patvirtinta, kad jis buvo atkurtas, įšaldytas, atskleistas ar vis dar tiriamas? |
aelf parodo, kodėl užtikrinimas turi išlikti aktualus
Aelfo rugpjūčio incidentas išbando argumentą iš kitos pusės. Jo viešajame įraše aprašomas vykdymo laiko kompromisas ir kontroliuojamas atkūrimas, tačiau jame nepateikiama pakankamai įrodymų, kad būtų galima atlikti tam tikrą auditą prieš incidentą ar už jo ribų.
Bendrovė paskelbė apie tinklo pristabdymą rugpjūčio 18 d. Savo rugpjūčio 26 d. eigos atnaujinime aelf teigė, kad neteisėtai išmaniajai sutartyje gali būti naudojami operacijos parametrai, kad būtų pateikti užkoduoti .NET rinkiniai ir instrukcijos į mazgo vykdymo kelią.
Laikinoji ataskaita susiejo incidentą su vykdymo laiko atspindžio ir dinaminės apkrovos patikrų spragomis, taip pat su silpna sutarties vykdymo ir jautrių mazgų ar infrastruktūros išteklių izoliacija. aelf nustatė 155 susijusias operacijas ir penkis unikalius naudingojo krovinio rinkinius, turinčius galimybes, įskaitant pagrindinio kompiuterio komandų vykdymą, bandymą išeinantį ryšį, mazgo rakto prieigą ir infrastruktūros žvalgybą.
Galimybė nėra tas pats, kas patvirtintas vykdymas. Aelf teigė, kad naudingieji kroviniai neįrodė, kad buvo vykdoma kiekviena surinkimo sistema, kad visi tiksliniai kredencialai buvo gauti arba kad neskelbtini duomenys paliko jos sistemas. Bendrovė teigė, kad pasirašymo raktus ir infrastruktūros kredencialus keičia pagal galimo poveikio standartą.
Rugsėjo 11 d. viešasis statusas išliko laikinas: aelf tinklaraščio indekse nebuvo su įvykiu susijusių elementų, paskelbtų po rugpjūčio 26 d. Rugpjūčio 26 d.
„aelf“ nuolatinėje saugos dokumentacijoje teigiama, kad jos blokų grandinės ir ELF prieigos raktų sutartys buvo kelis kartus tikrintos ir nebuvo nustatyta jokių saugumo problemų. Tačiau galimi puslapiai nesusieja konkrečios ataskaitos prieš incidentą su rugpjūčio mėn. aprašytu vykdymo keliu. Todėl jei incidentas būtų netinkamas auditui arba gedimas už taikymo srities ribų, būtų pranoksta įrodymų.
Pats tas netikrumas yra naudingas. Datuota audito istorija gali būti atskirta nuo dabartinio sistemos kodo, priklausomybių ir veikimo būsenos. Naudotojams reikalingas patikinimo įrašas, kurio versija būtų pakankamai konkreti, kad atskleistų tą nukrypimą.
Tokiame įraše turėtų būti nurodyta peržiūrėta saugykla ir įsipareigojimas, įdiegti adresai, neįtraukti komponentai, privilegijuoti vaidmenys ir priklausomybės. Ji taip pat turėtų įrašyti atnaujinimus po peržiūros, raktų saugojimą ir sukimąsi, veikimo laiko izoliaciją, įspėjimo ir grandinės pertraukiklio veikimą ir datą atkūrimo būseną, kuri atskirtų patvirtintus praradimus nuo užšaldyto ar neišspręsto poveikio.
Tai nesumažina audito vertės. Tai padaro pretenziją proporcingą atliktam darbui ir susieja tą darbą su dabar veikiančia sistema.
Audito ženklelis negali atsakyti, ar peržiūrėtas artefaktas, įdiegta sistema ir į gedimą reaguojanti įranga vis dar turi tą pačią saugos ribą.
