Definisi
Attack surface adalah keseluruhan kumpulan antarmuka, komponen, dan interaksi yang dapat dimanfaatkan penyerang untuk mencoba menjalankan sebuah exploit terhadap suatu sistem. Dalam lingkungan blockchain (blockchain) dan smart contract, ini mencakup semua fungsi yang dapat diakses dari luar, titik masuk protokol, dependensi, dan aliran data yang bisa disalahgunakan untuk mengubah perilaku yang diharapkan. Konsep ini digunakan untuk menilai seberapa terekspos sebuah protokol, smart contract, atau infrastruktur pendukung terhadap aktivitas berbahaya. Attack surface yang lebih besar atau lebih kompleks umumnya berarti lebih banyak jalur potensial untuk kompromi, meskipun tidak semuanya mengandung kerentanan nyata.
Dalam sistem kripto, attack surface mencakup elemen on-chain dan off-chain yang berinteraksi dengan smart contract atau protokol. Ini dapat meliputi fungsi-fungsi kontrak, mekanisme upgrade, feed oracle, kunci administratif, serta integrasi lintas-kontrak atau lintas-chain. Setiap elemen ini dapat menambah asumsi dan batas kepercayaan baru, sehingga memperluas jumlah cara yang bisa digunakan penyerang untuk mencoba melemahkan jaminan keamanan. Memahami attack surface karena itu menjadi hal yang sangat penting untuk menilai risiko sistemik dan memprioritaskan langkah-langkah pertahanan.
Konteks dan Penggunaan
Profesional keamanan dan auditor menggunakan istilah attack surface untuk menggambarkan cakupan hal-hal yang harus dianalisis selama audit keamanan terhadap sebuah protokol blockchain (blockchain) atau smart contract. Pemetaan attack surface melibatkan identifikasi semua potensi titik masuk dan interaksi yang dapat mengarah pada sebuah exploit, termasuk perilaku-perilaku halus seperti pola reentrancy atau perubahan state yang dipicu oleh oracle. Pemetaan ini tidak mengasumsikan bahwa setiap elemen tidak aman, tetapi memperlakukan masing-masing sebagai lokasi kandidat di mana sebuah cacat bisa saja ada.
Dalam desain protokol tingkat lanjut, meminimalkan dan memperkuat attack surface adalah tujuan keamanan utama. Perancang dapat mengurangi fungsi yang terekspos, menyederhanakan logika kontrak, atau membatasi dependensi eksternal untuk mengecilkan jumlah jalur serangan yang layak. Konsep attack surface dengan demikian menyediakan abstraksi tingkat tinggi untuk memikirkan seberapa kompleks postur keamanan suatu sistem, dan bagaimana perubahan pada arsitektur, integrasi, atau tata kelola dapat meningkatkan atau mengurangi tingkat keterpaparannya terhadap eksploitasi.