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

V tomto exkluzivním rozhovoru, který byl pořízen během konference Hack Seasons, se  Alp Bassa, vědecký pracovník společnosti Veridise, podělil o poznatky o inovativních nástrojích Veridise, o složitosti auditů s nulovými znalostmi a o budoucnosti zabezpečení blockchainu. Během diskuse prozkoumáme průnik matematiky, kryptografie a technologie blockchain očima jednoho z předních odborníků v oboru.

Mnoho podnikatelů přitáhne ke svému oboru konkrétní okamžik nebo událost. Jaká byla vaše cesta k Web3?

Pocházím z akademického prostředí. Jsem matematik, který dělal výzkum v teorii čísel se zaměřením na křivky nad konečnými poli, eliptické křivky a jejich aplikace v teorii kódování a kryptografii. Tyto nástroje jsou hojně využívány, zvláště nyní, kdy kryptografie s nulovými znalostmi má větší vliv v prostoru Web3. 

Viděl jsem, že se tam děje spousta zajímavých věcí. Poté jsem začal pracovat ve Veridise, kde provádějí bezpečnostní audity a specializují se zejména na doménu ZK, kam se moje odbornost velmi dobře hodí.

Proč vůbec potřebujeme bezpečnostní audity? Mohou vývojáři fungovat i bez nich, nebo jsou povinné?

Bezpečnost systémů vyžaduje jiné myšlení, které musíte přijmout již ve fázi vývoje. Ne všichni vývojáři se mohou soustředit na všechny aspekty vývojového procesu současně – zajistit správné specifikace, chování, efektivitu, integraci do většího nastavení a zabezpečení. Většinu času je zabezpečení aspektem, který není dobře pokryt během procesu vývoje.

Pro vývojáře se stalo téměř nemožné, aby si byl dostatečně jistý různými složitými nástroji, aby bylo zaručeno, že jsou používány správně a že neexistují žádná zranitelná místa. Je to jen jiný způsob myšlení, který je třeba aplikovat. Proto jsou audity užitečné.

Můžete přiblížit interní nástroje, které Veridise vyvinula, a jak zvyšují kvalitu auditu?

Existuje široké spektrum nástrojů, které lze použít. Některé jsou primitivnější, ale nevyžadují příliš mnoho pozadí a jsou snadno dostupné, jako fuzzery. Některé jsou uprostřed, například nástroje pro statickou analýzu. Jsou poměrně rychlé, ale ne příliš přesné – mohou poskytnout některé falešně pozitivní výsledky. 

Pak existují nástroje, které jsou silně podporovány matematikou, založené na SMT řešitelích a dalších matematických základech. Jsou velmi přesné, ale výpočetně náročné. K zachycení chyb a zranitelností používáme kombinaci všech těchto nástrojů, z nichž každý má své klady a zápory.

Jaké jsou některé z jedinečných bezpečnostních aspektů, které Veridise řeší pro protokoly DeFi?

Pro protokoly DeFi máme nástroj pro statickou analýzu, kde systému předem sdělíte, jaké druhy zranitelností má hledat nebo na jaké struktury se zaměřit. Je jich mnoho. Například reentrancy útoky byly zodpovědné za hack DAO z roku 2016. Útoky na půjčku Flash byly zneužity při útoku na Cream Finance, který způsobil odcizení asi 130 milionů dolarů. 

Díky našim zkušenostem za léta auditu máme dobrý přehled o tom, jaká jsou zranitelnosti, a naše nástroje jsou vytvořeny tak, aby je všechny kontrolovaly. Při našich auditech se na ně jeden po druhém podrobně díváme, abychom zjistili, zda se taková rizika neobjevují.

Popište prosím více, jak používáte technologii ZK a proč jsou audity ZK vaší hlavní prioritou?

ZK je zvláště zajímavý z hlediska formálního ověřování, protože se velmi dobře promítá do používání nástrojů. Máme nástroje, které jsou speciálně zaměřeny na kontrolu aplikací ZK. Protože je to tak vhodné pro naše metody, je to oblast, na kterou jsme se hodně zaměřili. 

Identifikovali jsme kritická zranitelnost v knihovnách základních okruhů. Náš tým je v této oblasti velmi silný, proto jsme se rozhodli být velmi přítomni a na hranici auditu ZK. Většina našich výzkumů je také motivována potřebami a požadavky z pohledu auditora v oblasti ZK.

Jak se vaše odbornost v obvodech ZK liší od jiných společností?

Řekl bych, že naše nástroje jsou tím, co nás hodně odlišuje, protože pocházíme z formálního ověřovacího pozadí. Máme velmi silné nástroje a rozsah projektů se nyní stal tak velkým, že samotné lidské úsilí k dobrému pokrytí kódové základny ve skutečnosti nestačí. Je to nutné, ale samo o sobě to nestačí. 

Jak Veridise vyvažuje manuální kontrolu kódu s automatizovanou analýzou nástrojů v procesu auditu?

Je potřeba obojí. Všímáme si toho i při auditech. Ve většině případů, když provádíme velmi přísný audit lidí a poté spouštíme nástroje na kódové základně, najdeme některá zranitelná místa, která unikla naší pozornosti. Někdy nejprve spustíme nástroje, ale nástroje mohou detekovat pouze určité druhy struktur. 

Protože v těchto systémech existuje tolik vrstev komplikací a abstrakce, spoléhat se na nástroje také nestačí. Mám pocit, že se bez ani jednoho z nich neobejdete, a nemyslím si, že se to v budoucnu změní.

Jaké jsou klíčové funkce nástroje Veridise Vanguard a jak zlepšuje zabezpečení chytrých smluv?

Vanguard je jedním z našich hlavních nástrojů. Používá se pro statickou analýzu. Ve statické analýze poskytnete určitou specifikaci zamýšleného chování a poté zkontrolujete, zda je splněno – zda ​​určité vlastnosti platí bez spuštění kódu. Není to dynamické; nespustíte kód, ale staticky se snažíte posoudit, zda existují určité vzorce, které by mohly způsobit zranitelnost. 

Vanguard přichází v mnoha příchutích. Máme jeho části, které jsou docela dobré pro vylepšené zabezpečení inteligentních smluv, a části zaměřené na aplikace zk. 

Můžete rozvést více o zranitelnostech, se kterými jste se setkali v chytrých smlouvách a okruzích ZK?

V obvodech ZK, na kterých pracuji více, by jednou z nejčastěji se vyskytujících zranitelností byly nedostatečně omezené obvody. V aplikaci ZK se vaše kódová základna skládá ze dvou částí: samotného programu (normální provádění) a omezení. Vyžadujete, aby omezení odrážela chování provádění programu způsobem jedna ku jedné. 

Podle nedávného článku je asi 95 % všech zranitelností v obvodech ZK způsobeno nedostatečně omezenými obvody. Máme nástroje, jako je PICUS, který je zaměřený zejména na detekci těchto nedostatečně omezených obvodů.

Jak Veridise přistupuje k procesu zveřejňování zranitelností objevených během auditů?

Chyby zabezpečení samozřejmě v žádném okamžiku nezveřejňujeme, protože někdo jiný by mohl chybu zneužít, než bude opravena, zvláště pokud se kódová základna již používá. Na konci procesu auditu doručíme zprávu o auditu, kde zákazníkovi poskytneme seznam všech chyb a zranitelností, které jsme objevili. 

Dáme zákazníkovi nějaký čas, aby je napravil, a pak nám pošle své opravy, které zkontrolujeme, abychom zkontrolovali, zda skutečně řeší všechny problémy, na které jsme upozornili. Vše jsme dali dohromady do závěrečné zprávy. Zpráva je majetkem zákazníka. Nezveřejňujeme to, pokud s tím zákazník nesouhlasí.

Pokud přejdete na webovou stránku Veridise, uvidíte seznam všech zpráv o auditu, jejichž zveřejnění zákazníci souhlasili. Ve většině případů jim nevadí, že to zveřejníme. Ve skutečnosti to chtějí jako certifikát, že kód byl auditován a je tak bez chyb, jak jen může být po auditu. 

Jak Veridise přizpůsobuje své procesy auditu různým blockchainovým platformám a jazykům?

Jak víte, pole je velmi živé a každý den se objevují nové řetězce, nové jazyky a nové způsoby vyjádření obvodů ZK. Vidíme to také u příchozích projektů a požadavků na audity, které jsou založeny na různých prostředích nebo jazycích. Jdeme s proudem, vidíme, odkud přicházejí požadavky, a máme pocit, jakým směrem se bude obor v blízké budoucnosti vyvíjet. 

Snažíme se přizpůsobit naše nástroje potřebám komunity. To bude pokračovat i v budoucnu, kde budeme věci dynamicky měnit podle toho, jak se bude obor vyvíjet.

Můžete více přiblížit nástroje, které plánujete implementovat v budoucnu? 

Jedním směrem, kterým se nástroje v blízké budoucnosti změní, je to, že budeme nabízet zabezpečení jako službu. Jmenuje se to naše platforma SaaS, kde lidem zpřístupníme nástroje, které mohou používat během procesu vývoje. 

Namísto prvního dokončení celého projektu a následného auditu využijeme naše nástroje v nastavení, kde je vývojáři mohou používat při vývoji, aby zajistili, že kód, který vyvíjejí, je bezpečný a neobsahuje žádné zranitelnosti. Služba SaaS by měla být dostupná v blízké budoucnosti.

The post Cracking the Code of DeFi Vulnerabilities: Alp Bassa’s Deep Dive into Smart Contract Security appeared first on Metaverse Post.