Definícia
Attack surface je celkový súbor rozhraní, komponentov a interakcií, cez ktoré by sa útočník mohol pokúsiť spustiť exploit proti systému. V prostredí blockchainu (blockchain) a smart kontraktov (smart contract) to zahŕňa všetky zvonka dostupné funkcie, vstupné body protokolu, závislosti a toky dát, ktoré by sa dali zneužiť na zmenu očakávaného správania. Tento koncept sa používa na posúdenie, nakoľko je protokol, smart kontrakt alebo podporná infraštruktúra vystavená škodlivej aktivite. Väčší alebo zložitejší attack surface vo všeobecnosti znamená viac potenciálnych ciest ku kompromitácii, aj keď nie všetky z nich musia obsahovať skutočné zraniteľnosti.
V krypto systémoch attack surface zahŕňa on-chain aj off-chain prvky, ktoré interagujú so smart kontraktom alebo protokolom. Môže ísť o funkcie kontraktu, mechanizmy upgradovania, oracle feedy, administrátorské kľúče a prepojenia medzi kontraktmi alebo medzi rôznymi chainami. Každý z týchto prvkov môže priniesť dodatočné predpoklady a hranice dôvery, čím rozširuje počet spôsobov, akými sa útočník môže pokúsiť obísť bezpečnostné garancie. Pochopenie attack surface je preto kľúčové pre hodnotenie systémového rizika a určovanie priorít obranných opatrení.
Kontext a použitie
Bezpečnostní špecialisti a audítori používajú pojem attack surface na opísanie rozsahu toho, čo musí byť analyzované počas bezpečnostného auditu blockchainového (blockchain) protokolu alebo smart kontraktu (smart contract). Mapovanie attack surface zahŕňa identifikáciu všetkých potenciálnych vstupných bodov a interakcií, ktoré by mohli viesť k exploitu, vrátane jemných správaní, ako sú reentrancy vzory alebo zmeny stavu riadené oraclami. Toto mapovanie nepredpokladá, že každý prvok je nebezpečný, ale pristupuje k nemu ako ku kandidátnemu miestu, kde sa môže nachádzať chyba.
V pokročilom návrhu protokolov je minimalizácia a spevnenie attack surface jedným z hlavných bezpečnostných cieľov. Dizajnéri môžu znížiť množstvo vystavenej funkcionality, zjednodušiť logiku kontraktu alebo obmedziť externé závislosti, aby zmenšili počet reálnych ciest k útoku. Koncept attack surface tak poskytuje vysokoúrovňovú abstrakciu na premýšľanie o tom, aká zložitá je bezpečnostná situácia systému a ako zmeny v architektúre, integráciách alebo governance môžu zvýšiť alebo znížiť jeho vystavenie exploitom.