Pemantauan runtime
Dikenal juga sebagai Pemantauan keamanan real-time · Deteksi ancaman onchain
Pemantauan runtime adalah pengawasan berkelanjutan atas aktivitas onchain sebuah protokol secara langsung untuk menandai, dan terkadang memblokir, transaksi mencurigakan saat terjadi. Pemantauan ini melengkapi audit, yang meninjau kode pada satu titik waktu, dengan mengawasi apa yang benar-benar dilakukan kode.
Banyak eksploit DeFi bukan satu transaksi saja. Penyerang men-deploy kontrak, mengujinya, meminjam dana, menggeser harga, dan baru kemudian menguras targetnya, terkadang selama beberapa menit atau jam. Setiap langkah meninggalkan jejak di blockchain publik. Pemantauan runtime adalah praktik membaca jejak itu cukup cepat untuk bertindak.
Cara kerjanya
Sistem pemantauan mengawasi blockchain, dan sering kali juga antrean transaksi yang menunggu dimasukkan ke blok, untuk mencari pola yang terkait dengan serangan. Sinyal yang umum antara lain:
- kontrak yang baru di-deploy memanggil fungsi protokol dalam urutan yang tidak biasa
- flash loan besar yang diikuti transaksi yang menggeser harga di oracle
- perubahan mendadak pada harga share sebuah vault atau saldo sebuah pool
- tindakan administratif, seperti pengalihan kepemilikan atau upgrade, yang tidak diumumkan siapa pun
- dana yang berpindah ke alamat yang terkait dengan eksploit sebelumnya
Deteksi biasanya berjalan dalam dua tahap. Filter cepat menilai setiap transaksi atau kontrak baru terhadap pola serangan yang sudah dikenal, dan yang mencurigakan disimulasikan pada kondisi chain saat ini untuk melihat apa yang sebenarnya akan dilakukannya: saldo mana yang berubah, harga mana yang bergeser, dan ke mana dana berakhir. Simulasi itulah yang memungkinkan sistem membedakan transaksi besar yang biasa dari langkah pembuka sebuah eksploit.
Ketika sebuah sinyal muncul, sistem memberi peringatan kepada tim. Dalam beberapa pengaturan, sistem juga dapat memicu respons otomatis: menghentikan sementara kontrak, memblokir fungsi, atau memindahkan dana ke luar jangkauan sebelum serangan selesai.
Contoh sederhana
Seorang penyerang men-deploy kontrak yang meminjam dana besar melalui flash loan, menukarkannya melalui liquidity pool yang tipis untuk mendistorsi harga, lalu bersiap meminjam berdasarkan harga itu. Sistem pemantauan menyimulasikan kontrak baru tersebut, mengenali polanya, dan menandainya berisiko tinggi sebelum transaksi sungguhan masuk. Guardian protokol menghentikan sementara fitur pinjaman, serangan gagal, dan tim melakukan penyelidikan. Tanpa pemantauan, tanda pertamanya mungkin adalah vault yang sudah kosong.
Pemantauan vs. audit dan bounty
Audit smart contract memeriksa kode sebelum atau tidak lama setelah deployment, dan bug bounty mengundang peneliti untuk terus memeriksanya. Pemantauan runtime justru mengawasi perilaku. Pemantauan dapat menangkap serangan yang memakai kode yang tidak terpikirkan untuk ditinjau, seperti interaksi dengan protokol yang baru diluncurkan, dan mencakup peristiwa operasional, seperti aktivitas administratif yang mencurigakan, yang tidak pernah terlihat oleh tinjauan kode.
Risiko dan batasan
Pemantauan tidak dapat menghentikan apa yang tidak dilihatnya tepat waktu. Sebagian serangan selesai dalam satu transaksi, hanya menyisakan jeda singkat sebelum transaksi itu masuk ke blok, dan jalur transaksi privat bahkan dapat menyembunyikan jeda tersebut. Respons otomatis perlu dirancang dengan cermat: penghentian yang terlalu mudah terpicu mengganggu pengguna yang jujur, sedangkan yang terpicu terlalu lambat tidak berguna. Kewenangan untuk menghentikan sementara juga merupakan risiko jika kunci di baliknya tidak terlindungi dengan baik. Dan sistem pemantauan hanya sebaik model-modelnya, sehingga jenis serangan baru mungkin tidak cocok dengan pola apa pun yang dikenal. Itulah sebabnya pemantauan bekerja bersama audit, bounty, dan bukti cadangan, bukan menggantikannya.
Bagaimana Tori Finance menggunakannya
Tori Finance menggunakan pemantauan runtime oleh Hypernative untuk mengawasi aktivitas onchain smart contract-nya. Pemantauan ini menambah lapisan langsung pada audit smart contract oleh Sherlock dan Nethermind. Tori juga menjalankan program bug bounty internalnya sendiri.
Pertanyaan yang sering diajukan
Bisakah peretasan DeFi dihentikan secara real-time?
Terkadang. Jika serangan membutuhkan beberapa langkah, atau transaksinya terlihat sebelum masuk ke blok, pemantauan dapat menandainya dan respons otomatis dapat menghentikan sementara fungsi yang menjadi sasaran. Serangan yang selesai dalam satu transaksi tersembunyi jauh lebih sulit dihentikan.
Apa perbedaan audit dan pemantauan?
Audit meninjau kode sebelum atau tidak lama setelah deployment. Pemantauan mengawasi apa yang terjadi setelah kode aktif, termasuk interaksi dan tindakan administratif yang tidak pernah terlihat oleh audit.
Apa yang dicari sistem pemantauan?
Pola yang tidak biasa: kontrak baru yang menjajaki sebuah protokol, flash loan besar yang menggeser harga, perubahan mendadak pada saldo atau harga share, upgrade yang tidak diumumkan, dan dana yang berpindah ke alamat yang terkait dengan eksploit sebelumnya.
Istilah terkait
Audit smart contract
Audit smart contract adalah tinjauan keamanan independen atas kode sebuah protokol untuk mencari kerentanan sebelum, atau tidak lama setelah, protokol itu beroperasi. Audit menurunkan risiko dalam cakupan dan tanggal yang disebutkan, tetapi bukan janji bahwa kodenya bebas bug.
Bug bounty
Program bug bounty membayar peneliti keamanan yang melaporkan kerentanan secara bertanggung jawab alih-alih mengeksploitasinya, dengan imbalan yang disesuaikan dengan tingkat keparahan masalah. Program ini menjaga kode protokol tetap ditinjau jauh setelah audit-auditnya selesai.
Oracle harga
Oracle harga membawa data dari luar, seperti harga sebuah token, ke blockchain agar smart contract dapat menggunakannya. Pasar pinjaman menilai jaminan melalui oracle, sehingga harga yang salah atau dimanipulasi dapat memicu likuidasi yang seharusnya tidak pernah terjadi.
Sumber
- Hypernativewww.hypernative.io
- ethereum.org: Smart contract securityethereum.org
Ditulis oleh tim Tori Finance. Bukan saran investasi. Imbal hasil dapat berubah; modal Anda berisiko.