Kuidas aitavad DAO nutikad lepinguauditid turvalisust tugevdada? PlatoBlockchaini andmete luure. Vertikaalne otsing. Ai.

Kuidas aitavad DAO nutikad lepinguauditid turvalisust tugevdada?

Lugemise aeg: 6 protokoll

DAO loomine on web3 jaoks ainulaadne, mis kasutab plokiahela pädevust protokollide haldamisel ilma tsentraliseeritud üksusi kaasamata.  

DAO keskendub suurel määral kahele tahule – krüptimisele ja hajutatud salvestusele. See annab neile võimaluse tegutseda kogukonna liikmete kollektiivse otsuse alusel.

Nagu iga Web3-protokolli puhul, on ka DAO-protokollide ümber turvaprobleemid. 

Selle artikli eesmärk on tuua välja DAO aluseks olev infrastruktuur ja juhised nende nutikate lepingute turvalisuse parandamiseks rünnakute vastupidamiseks.   

DAO eesmärk

Ethereumile kuulub alati au selle eest, et ta on kõigi aegade esimene programmeeritav plokiahel. Sellel on tohutu roll tõelise detsentraliseerimise tagamisel, võimaldades arendajatel koodiga mängida.

Selles suhtes DAO nutikad lepingud on loodud soodustama Ahelasisene juhtimine

Ahelasisene juhtimine on vahend, mille abil viiakse plokiahela projektides muudatusi. Reeglid on protokollidesse kodeeritud ja arendajad pakuvad koodivärskenduste kaudu muudatusi. Kavandatav muudatus teostatakse kogukonna liikmete/osalejate häälte põhjal.

” data-gt-translate-attributes=”[{“atribuut”:”data-cmtooltip”, “format”:”html”}]”>ahelasisene juhtimine, mis õigustab tõsiasja, et kogukonnad juhivad ainult plokiahelat. 

Nagu kõik teised nutikad lepingud, on DAO lepingud põhimõtteliselt loodud protsessi automatiseerimiseks ja toimingute tegemiseks, kui eelmääratletud tingimused on täidetud. 

Näite illustreerimiseks kaaluge ERC-20 märgi lepingut. See on loodud ERC-20 standardite alusel, mis sisaldab teavet, nagu lepingu aadress, märgi tarnimine, loa nimi, loa edastamise tingimused jne. 

Märgi toiming käivitatakse, kui seatud reeglid on täidetud. Samamoodi on DAO leping kodeeritud, et dikteerida organisatsiooni tööd, näiteks otsustada vahendite jaotamise üle vastavalt liikmete hääletusettepanekutele. 

Näiteks DAO-l on sisseehitatud riigikassad. Nendest saadud raha kulutatakse pärast grupi heakskiitu ja ühelgi asutusel pole juurdepääsu ühegi plaani elluviimiseks. 

Hääletusettepanekud projektiga seotud kriitiliste otsuste tegemiseks tagavad, et iga osaleja häält võetakse kuulda, mis toob kaasa parema usalduse ja läbipaistvuse ahelasiseses tegevuses. 

Organisatsioonide tegevust reguleerivad õigused on protokolliti erinevad ja see on puhtalt subjektiivne, kuidas DAO kodeerimine toimub. Seetõttu on oluline enne DAO-sse registreerumist pöörata tähelepanu kasutajate protokolli valitsevatele õigustele. 

DAO nutikate lepingute seadistamise sammud

Mehaanika Ahelasisene juhtimine

Ahelasisene juhtimine on vahend, mille abil viiakse plokiahela projektides muudatusi. Reeglid on protokollidesse kodeeritud ja arendajad pakuvad koodivärskenduste kaudu muudatusi. Kavandatav muudatus teostatakse kogukonna liikmete/osalejate häälte põhjal.

” data-gt-translate-attributes=”[{“atribuut”:”data-cmtooltip”, “format”:”html”}]”>ahelasisest juhtimist teostatakse lepingute komplekti kaudu – token, valitseja ja ajalukk . Uurime välja igaühe roll. 

Märk: Tokenid määravad kogukonna liikmete hääleõiguse, milles nad osalevad Ahelasisene juhtimine

Ahelasisene juhtimine on vahend, mille abil viiakse plokiahela projektides muudatusi. Reeglid on protokollidesse kodeeritud ja arendajad pakuvad koodivärskenduste kaudu muudatusi. Kavandatav muudatus teostatakse kogukonna liikmete/osalejate häälte põhjal.

” data-gt-translate-attributes=”[{“atribuut”:”data-cmtooltip”, “format”:”html”}]”>ahelasisene juhtimine. Märgileping tagab tasakaalu kontrollimise, et jõud tagasi saada ja võimaldada osalejatel väljendada oma valikut juhtimisettepanekute osas. 

Kuberner: Kubernerileping on kodeeritud tingimustega, mis käsitlevad volituste jaotamist žetoonide omanikele, vastuvõetavate žetoonide tüüpe, foorumi jaoks vajalike häälte arvu arvestamist ja nii edasi. Arendajad saavad aga funktsioonide spetsiifikaga kodeerida, kuidas nad soovivad lepingute toimimist. 

Peale selle sisaldab kuberneri leping koodeksis ka hääletamise viivituse ja hääletamisettepaneku spetsiifikat. Selle eesmärk on anda juhiseid selle kohta, kui kaua on hääletamisettepanek osalejatel hääletamiseks avatud. 

Ajalukk: Timelock aspekt hõlmab AcessControli seadistust pakutud rolli, täitja rolli ja administraatori rolli jaoks. Ajaluku komponendi integreerimine juhtimissüsteemidega annab osalejatele vabaduse otsusega mittenõustumisel lahkuda. 

Kõrgetasemeline ülevaade DAO-de turvalisuse hirmudest. 

DAO-de toetumine nutikatele lepingutele sunnib neid vastutama juhtimise hääletamise ja riigikassa hoolduse eest. Ja igal neist elementidest on oma turvaprobleemid; kerime need allpool lahti. 

Turvaprobleemid nutikas lepingus

Kerime veidi tagasi ja meenutame tuntud 'DAO allakäiku'. Peamine põhjus oli viga DAO koodis. Häkker suutis seda haavatavust ära kasutada ja lepingust raha eraldada Rekursiivsed kõned

Rekursiivne kõne on tingimus, mis võib iseendale viidata ja neid tsüklina ikka ja jälle uuesti kutsuda. Rekursiivne funktsioon kasutab põhitähti (if) ja induktsiooni (muu). Taassisenemise rünnakud viiakse läbi koodis rekursiivsete kõnede abil.

” data-gt-translate-attributes=”[{“atribuut”:”data-cmtooltip”, “format”:”html”}]”>rekursiivsed kõned. 

Leping sisaldas 12.7 miljonit eetrit, millest häkker varastas 3.6 miljonit ETH-d, kasutades lepingus olevat lünka.

See juhtum näitab selgelt vajadust rohkemate kogemuste ja eksperimentide järele DAO turvalisusega. Kuigi DAO-d kiidetakse selle uuenduslikkuse eest palju, põhjustas koodi kvaliteet suuremat kahju.

Lisaks peaks nutikate lepingute kodeerimine olema täiesti läbipaistev, et ükski funktsioon ei muutuks hiljem veaks. 

Turvaprobleemid valitsemise kohta

Häkkerid võivad protokolli juhtimisse tungida mitmel viisil. Alustuseks on detsentraliseeritud teatised üks võimalus, kus häkker saab märguandeid blokeerida, et tuua sisse pahatahtlikke ettepanekuid, mis jäävad teistele DAO liikmetele märkamatuks. 

Järgmine on ettepanek, mis nõuab mitme kõne tehinguid. Kui DAO ettepanekut üle ei vaata ega auditeeri, saab ründaja neid kasutada keerukate tulemuste saamiseks. 

Valed läved ja sobimatud ajalukud toovad kaasa halva tegevuse võimaluse. Kiirlaenud on veel üks haldusturvalisuse probleem. Ründajad saavad laenata tohutu summa žetoone, mis annab neile enamuse ettepaneku läbi suruda. 

Pahatahtlike kavatsustega ettepanekud tõstatavad a tõsine turvaprobleem protokollis tehtud muudatuste üle. AAVE ja Compound on seda tüüpi häkkide all varem kannatanud. 

Turvaprobleemid täitmisel

2017. aastal Ethereumi võrgus käivitatud MakerDAO-l läks hästi. Kuni turukrahhini 2020. aastal, mil Etheri hind langes nii madalale kui 50%. See oli MakerDAO-s kasutatud kõige olulisem tagatis ja hinnakrahh vallandas tohutu likviidsuse.

MakerDAO ei olnud mõeldud nii tohutu likvideerimisega tegelemiseks, mis tõi kaasa suurema rahalise kahju. Kuigi kodeerimine oli siin tugev, oli viga likvideerimismehhanismi elluviimises. 

Sellest ajast alates lisati DAO mehhanismi täitmine ka muude olemasolevate turvaprobleemide nimekirja. 

DAO nutikate lepingute auditite kontroll-loend

Turvalisus on selles domineeriv aspekt Ahelasisene juhtimine

Ahelasisene juhtimine on vahend, mille abil viiakse plokiahela projektides muudatusi. Reeglid on protokollidesse kodeeritud ja arendajad pakuvad koodivärskenduste kaudu muudatusi. Kavandatav muudatus teostatakse kogukonna liikmete/osalejate häälte põhjal.

” data-gt-translate-attributes=”[{“atribuut”:”data-cmtooltip”, “format”:”html”}]”>ahelasisest juhtimist, et kaitsta võimu halbadesse kätesse sattumise eest. Niisiis, turvalisuse seisukohast leiame juhised tugevate DAO lepingute väljatöötamiseks.

Madala taseme kõned: Kõnedega suvalistele lepingutele, mis toovad meelevaldseid andmeid, tuleb suhtuda ettevaatlikult. 

Madala taseme kõnede käsitlemine on keeruline, kuna see võib avada võimaluse taassisenemise rünnakuvektoriteks. Seega on alati hea tava kontrollida kõnede õnnestumise tingimust ja seejärel käsitleda tagastatud andmeid. 

ETH osalused: Auditi leidude põhjal on olnud palju juhtumeid, kus ETH-d ei käsitleta õigesti valitsemisega seotud lepingutes. Seega on soovitatav tagada ETH saatmise viis, kui juhtimislepingud nõuavad ETH käsitlemist.

Veel üks ettevaatusabinõu, mida tuleb järgida, on msg.value kasutamine, mis võimaldab pakettkõnesid. On tõenäoline, et see muster võib valesti minna. 

Hoidu välklaenu kasutamisest: Välklaenudele loodavad ärakasutajad, kes soovivad mõjutada juhtimisotsuseid ja alustada rünnakut. Nad võtavad kiirlaene ja tagavad juhtimisotsuste manipuleerimiseks sümboolsete osaluste kaudu valitsemishääled. 

Seetõttu saate vältida hääletusvõimsuse mõõtmist praeguses plokis, kuna juhtimisõiguse saamiseks võetud kiirlaen seab süsteemi ohtu. 

Regulaarsed uuendused: Isegi kui lepingus ei pruugi olla vigu, peaksite alati kontrollima juhtimislubade turgu ja kohandama läve vastavalt. Vastasel juhul võimaldaks see pahatahtlikel osalejatel otsused üle võtta.

Veenduge, et pööraksite juhtimissüsteemi migreerimisel ja uuendamisel tähelepanu eripäradele. On olnud selliseid juhtumeid, mis juhtus Uniswapiga. Selle üleminek kuberner Bravole põhjustas lepinguvea, mis peatas ajutiselt juhtimisotsuste tegemise. 

Kaasake viivitused ajaluku lepingut kasutades: Viivitusega toimingud võimaldavad kogukonnal protokolli muudatused enne nende jõustumist üle vaadata. Neid viivitusi saab rakendada Timelocki lepingute kaudu. 

Protokolliga seotud haavatavused: Protokolli kodeerimiseks kasutatav tarkvara töötab konkreetse äriloogika alusel, mis võib üksteisest erineda. Nii ka probleemid, mis tekivad selles süsteemis muudatuste tegemisel. 

Tegelikult tekkis Compoundi protokollil probleem manipuleeriva kogukonna ettepaneku heakskiitmise tõttu. Seetõttu on alati hea lasta kolleegidel ja sõltumatutel osapooltel koodi põhjalikult üle vaadata, et tagada lepingu tugevus ja usaldusväärsus.

QuillAudits esiletõstmine DAO nutika lepingute auditeerimisel

Tänapäeval mõtlevad paljud projektid, et süsteem oleks puhtalt isetoimiv. Ahelasisene juhtimine

Ahelasisene juhtimine on vahend, mille abil viiakse plokiahela projektides muudatusi. Reeglid on protokollidesse kodeeritud ja arendajad pakuvad koodivärskenduste kaudu muudatusi. Kavandatav muudatus teostatakse kogukonna liikmete/osalejate häälte põhjal.

” data-gt-translate-attributes=”[{“atribuut”:”data-cmtooltip”, “format”:”html”}]”>ahelasisene juhtimine. Niisiis, valdkond areneb kiiresti ja õitseb vastavalt nende kogukonna vajadustele. 

Samuti muutuvad rünnakud keeruliseks, mis on nii keeruline kui ka kulukas. Seetõttu on vaja tagada, et protsessid oleksid paigas ja koodi järgitaks hoolikalt. QuillAudits viib läbi ulatusliku uuringu ja kontrollib koodi, et välistada võimalikud lõksud ja kaitsta projekti pahatahtliku tegevuse eest.

16 views

Ajatempel:

Veel alates Quillhash