Cracking the Code of DeFi Vulnerabilities: Alp Bassa's Deep Dive into Smart Contract Security

În acest interviu exclusiv, luat în timpul Conferinței Hack Seasons,  Alp Bassa, cercetător la Veridise, împărtășește informații despre instrumentele inovatoare Veridise, complexitatea auditurilor cu dovezi fără cunoștințe și viitorul securității blockchain. În timpul discuției, vom explora intersecția dintre matematică, criptografie și tehnologia blockchain prin ochii unuia dintre cei mai importanți experți ai industriei.

Mulți antreprenori sunt atrași de domeniul lor de un anumit moment sau eveniment. Care a fost călătoria ta către Web3?

Vin dintr-un mediu academic. Sunt un matematician care făcea cercetări în teoria numerelor, concentrându-se pe curbe peste câmpuri finite, curbe eliptice și aplicațiile lor în teoria codificării și criptografie. Aceste instrumente sunt foarte utilizate, mai ales acum cu criptografia cu cunoștințe zero având o influență mai mare în spațiul Web3. 

Am văzut că acolo s-au întâmplat multe lucruri interesante. Apoi am început să lucrez la Veridise, unde fac audituri de securitate și se specializează în special în domeniul ZK, unde expertiza mea se potrivește foarte bine.

De ce avem nevoie chiar de audituri de securitate? Pot dezvoltatorii să opereze fără ele sau sunt obligatorii?

Securitatea sistemelor necesită o mentalitate diferită pe care trebuie să o iei deja în stadiul de dezvoltare. Nu toți dezvoltatorii se pot concentra pe toate aspectele procesului de dezvoltare simultan – asigurând specificațiile corecte, comportamentul, eficiența, integrarea într-o configurație mai mare și securitatea. De cele mai multe ori, securitatea este un aspect care nu este bine acoperit pe tot parcursul procesului de dezvoltare.

A devenit aproape imposibil pentru un dezvoltator să fie suficient de încrezător cu diverse instrumente complexe pentru a garanta că acestea sunt utilizate corect și că nu există vulnerabilități. Este doar o mentalitate diferită care trebuie aplicată. De aceea auditurile sunt utile.

Puteți detalia instrumentele interne dezvoltate de Veridise și modul în care acestea îmbunătățesc calitatea auditului?

Există o gamă largă de instrumente care pot fi utilizate. Unele sunt mai primitive, dar nu necesită prea mult fundal și sunt ușor accesibile, cum ar fi fuzzers. Unele sunt la mijloc, precum instrumentele de analiză statică. Sunt destul de rapidi, dar nu prea exacti - pot da unele rezultate false pozitive. 

Apoi, există instrumente care sunt puternic susținute de matematică, bazate pe rezolvatori SMT și alte baze matematice. Acestea sunt foarte precise, dar grele din punct de vedere computațional. Folosim o combinație a tuturor acestor instrumente, fiecare cu avantajele și dezavantajele lor, pentru a detecta erori și vulnerabilități.

Care sunt unele dintre considerentele unice de securitate pe care Veridise le abordează pentru protocoalele DeFi?

Pentru protocoalele DeFi, avem un instrument de analiză statică în care îi spuneți sistemului în prealabil ce fel de vulnerabilități să căutați sau ce structuri să urmăriți. Sunt multe dintre ele. De exemplu, atacurile de reintrare au fost responsabile pentru hack-ul DAO din 2016. Atacurile de împrumut flash au fost exploatate în atacul asupra Cream Finance, care a cauzat furtul de aproximativ 130 de milioane de dolari. 

Prin experiența noastră de-a lungul anilor de auditare, avem o bună imagine de ansamblu asupra vulnerabilităților, iar instrumentele noastre sunt create pentru a verifica toate acestea. În timpul auditurilor noastre, le analizăm unul câte unul în detaliu pentru a vedea dacă apar astfel de riscuri.

Vă rugăm să detaliați mai multe despre modul în care utilizați tehnologia ZK și de ce auditurile ZK sunt prioritatea dvs. principală?

ZK este deosebit de interesant din perspectiva verificării oficiale, deoarece se traduce foarte bine în utilizarea instrumentelor. Avem instrumente care vizează în special verificarea aplicațiilor ZK. Pentru că este atât de potrivit pentru metodele noastre, acesta este domeniul pe care ne-am concentrat foarte mult. 

Am identificat vulnerabilități critice în bibliotecile de circuite de bază. Echipa noastră este foarte puternică în acest domeniu, așa că am decis să fim foarte prezenți și la frontiera auditului ZK. Majoritatea cercetărilor noastre sunt, de asemenea, motivate de nevoi și cerințe din perspectiva auditorului asupra domeniului ZK.

Cum se diferențiază expertiza dumneavoastră în circuitele ZK de alte companii?

Aș spune că instrumentele noastre sunt cele care ne diferențiază foarte mult pentru că venim dintr-un mediu formal de verificare. Avem instrumente foarte puternice și, până acum, amploarea proiectelor a devenit atât de mare încât doar efortul uman nu este suficient pentru a avea o bună acoperire a bazei de cod. Este necesar, dar în sine, nu este suficient. 

Cum echilibrează Veridise revizuirea manuală a codului cu analiza automată a instrumentelor în procesul său de audit?

Este nevoie de amândoi. O observăm și în audituri. De cele mai multe ori, când facem un audit uman foarte riguros și apoi rulăm instrumentele pe baza de cod, găsim câteva vulnerabilități care ne-au scăpat atenției. Uneori, rulăm mai întâi instrumentele, dar instrumentele pot detecta doar anumite tipuri de structuri. 

Deoarece există atât de multe straturi de complicații și abstractizări în aceste sisteme, nu este suficient să te bazezi doar pe instrumente. Simt că nu te poți descurca fără niciunul dintre ele și nu cred că asta se va schimba în viitor.

Care sunt caracteristicile cheie ale instrumentului Vanguard de la Veridise și cum îmbunătățește securitatea contractelor inteligente?

Vanguard este unul dintre instrumentele noastre principale. Este folosit pentru analiza statică. În analiza statică, furnizați o anumită specificație a comportamentului dorit și apoi verificați dacă aceasta este satisfăcută - dacă anumite proprietăți sunt valabile fără a rula codul. Nu este dinamic; nu executați codul, dar încercați static să evaluați dacă există anumite modele care ar putea cauza vulnerabilități. 

Vanguard vine în multe arome. Avem părți din acesta care sunt destul de bune pentru securitatea îmbunătățită a contractelor inteligente și părți care se concentrează pe aplicațiile zk. 

Puteți detalia mai multe despre vulnerabilitățile pe care le-ați întâlnit în contractele inteligente și circuitele ZK?

În circuitele ZK, la care lucrez mai mult, una dintre vulnerabilitățile cele mai frecvent întâlnite ar fi circuitele sub constrângeri. Într-o aplicație ZK, baza de cod constă din două părți: programul în sine (execuția normală) și constrângeri. Cereți ca constrângerile să reflecte comportamentul execuției programului într-un mod unu-la-unu. 

Potrivit unei lucrări recente, aproximativ 95% din toate vulnerabilitățile din circuitele ZK sunt cauzate de circuite sub-constrânse. Avem instrumente, cum ar fi PICUS, care vizează în special detectarea acelor circuite sub constrângeri.

Cum abordează Veridise procesul de dezvăluire a vulnerabilităților descoperite în timpul auditurilor?

Desigur, vulnerabilitățile nu le facem publice în niciun moment, deoarece altcineva ar putea exploata eroarea înainte de a fi remediată, mai ales dacă baza de cod este deja utilizată. La sfârșitul procesului de audit, oferim un raport de audit în care oferim clientului o listă cu toate erorile și vulnerabilitățile pe care le-am descoperit. 

Oferim clientului puțin timp să le rezolve, apoi ne trimit remedierea lor, pe care le examinăm pentru a verifica dacă abordează cu adevărat toate problemele pe care le-am ridicat. Am pus totul împreună într-un raport final. Raportul este proprietatea clientului. Nu îl facem public decât dacă clientul este de acord.

Dacă accesați pagina web Veridise, puteți vedea o listă cu toate rapoartele de audit pe care clienții au acceptat să le facă publice. În cele mai multe cazuri, sunt de acord ca noi să-l facem public. De fapt, ei doresc ca un certificat că codul a fost auditat și că este la fel de lipsit de erori pe cât poate fi după un audit. 

Cum își adaptează Veridise procesele de audit pentru diferite platforme și limbi blockchain?

După cum știți, domeniul este foarte vibrant și în fiecare zi apar noi lanțuri, noi limbi și noi moduri de a exprima circuitele ZK. Vedem asta și cu proiectele primite și cererile de audit care se bazează pe medii sau limbi diferite. Mergem cu fluxul, vedem de unde vin cererile și avem un sentiment în ce direcție va evolua domeniul în viitorul apropiat. 

Încercăm să ne adaptăm instrumentele pentru a răspunde nevoilor comunității. Acest lucru va continua și în viitor, unde vom schimba lucrurile în mod dinamic în funcție de modul în care evoluează domeniul.

Puteți detalia mai multe despre instrumentele pe care intenționați să le implementați în viitor? 

O direcție în care instrumentele se vor schimba în viitorul apropiat este aceea că vom oferi securitate ca serviciu. Se numește platforma noastră SaaS, unde vom pune instrumentele disponibile pentru ca oamenii să le folosească în timpul procesului de dezvoltare. 

În loc să terminăm mai întâi întregul proiect și apoi să facem un audit, vom face instrumentele noastre utile într-o configurare în care dezvoltatorii le pot folosi în timpul dezvoltării pentru a ne asigura că codul pe care îl dezvoltă este sigur și nu conține vulnerabilități. SaaS ar trebui să fie disponibil în viitorul apropiat.

Postarea Despărțirea codului vulnerabilităților DeFi: scufundarea profundă a lui Alp Bassa în securitatea Smart Contract a apărut mai întâi pe Metaverse Post.