Penulis asli: Carl Hua, mitra dan CTO Shima Capital
Setelah eksploitasi masuk kembali Curve baru-baru ini, saya merenungkan waktu saya di JPL NASA, tempat saya mempelajari prinsip-prinsip utama dalam mengembangkan perangkat lunak yang andal dan tangguh. Bagi industri kripto, wawasan ini kini menjadi lebih penting dari sebelumnya, dan inilah alasannya:
Pada akhirnya, hanya ada dua jenis perangkat lunak yang sangat dipedulikan orang: perangkat lunak yang dapat membunuh Anda dan perangkat lunak yang dapat membuat Anda kehilangan uang.
Mayoritas anggaran (80%+) perangkat lunak penting mesin dirgantara tidak dialokasikan untuk pengembangan itu sendiri, namun untuk integrasi dan pengujian. Jika perangkat lunak gagal, kendaraan terbang akan jatuh dari langit — jet tempur, drone, pesawat ruang angkasa, dll.
Sebagian besar kode dalam perangkat lunak luar angkasa (jika diklasifikasikan sebagai modul penting) mematuhi standar pengujian/pengembangan yang sangat ketat, seperti DO-178B Level A. Tidak hanya setiap baris kode yang perlu diuji, tetapi jika terdapat logika bersarang, setiap kondisi logika juga diuji secara khusus.
Di JPL NASA, filosofi penulisan perangkat lunak penerbangan luar angkasa yang canggih bukanlah untuk menulis kode yang tercantik dan terbersih, namun untuk menulis kode yang mudah untuk diuji unit. Mengapa? Sederhana saja: saat Anda mengirim pesawat luar angkasa ke luar angkasa, Anda hanya mendapat satu peluang, dan tidak ada yang mau mengambil risiko dengan kemungkinan kegagalan yang tinggi. Logikanya sama dengan blockchain, karena kode yang tidak dapat diubah adalah fitur pentingnya, dan kita hanya memiliki satu kesempatan untuk membelanjakan dana kita dengan benar di setiap transaksi, jadi mengapa kita tidak melakukan proses pengembangan dApps dengan lebih serius?
Meskipun proses pengembangan, pengujian, dan audit kode yang ketat, cara ini jelas tidak cukup untuk mengurangi semua bug dan serangan, karena sebenarnya hampir tidak mungkin untuk menghilangkan semua bug runtime melalui pengujian dan audit. Jadi bagaimana kita melindungi perangkat lunak kita dari kegagalan?
Perlindungan Waktu Proses
Perlindungan runtime adalah teknik keamanan yang melindungi aplikasi perangkat lunak dari serangan jahat saat sedang berjalan. Prinsipnya adalah melakukan deteksi real-time ketika kode benar-benar berjalan, dan menganalisis perilaku program yang sebenarnya untuk melindungi program dari data dan serangan berbahaya.
Perlindungan runtime untuk perangkat lunak dengan keandalan tinggi memerlukan upaya dan desain yang signifikan karena merupakan garis pertahanan terakhir untuk memastikan bahwa perangkat lunak tidak memasuki keadaan yang tidak diketahui atau gagal. Ini bukan sekedar argumen, tapi praktik yang sudah terbukti selama puluhan tahun.
Hari ini di Web3, menurut saya aplikasi DeFi membutuhkan keandalan tinggi yang sama dan harus mempertimbangkan pendekatan yang sama. Namun, karena potensi keterbatasannya, EVM tidak didesain untuk menangani tugas kompleks seperti perlindungan runtime. Jadi, bagaimana kami memberikan perlindungan runtime?
Salah satu caranya adalah melalui pemrograman Aspect, Aspects dirancang oleh jaringan blockchain Artela, yang mampu mengubah konteks eksekusi selama siklus hidup setiap transaksi kontrak pintar untuk melakukan pemeriksaan lanjutan pada keadaan program secara real-time. Artela memberikan desain perlindungan runtime yang unik melalui kompatibilitas Aspect dan EVM, dan memiliki peluang untuk menjadi fondasi masa depan keamanan kontrak pintar terenkripsi.
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
Merefleksikan peristiwa Curve mengapa kita membutuhkan Runtime Protection
Penulis asli: Carl Hua, mitra dan CTO Shima Capital
Setelah eksploitasi masuk kembali Curve baru-baru ini, saya merenungkan waktu saya di JPL NASA, tempat saya mempelajari prinsip-prinsip utama dalam mengembangkan perangkat lunak yang andal dan tangguh. Bagi industri kripto, wawasan ini kini menjadi lebih penting dari sebelumnya, dan inilah alasannya:
Pada akhirnya, hanya ada dua jenis perangkat lunak yang sangat dipedulikan orang: perangkat lunak yang dapat membunuh Anda dan perangkat lunak yang dapat membuat Anda kehilangan uang.
Mayoritas anggaran (80%+) perangkat lunak penting mesin dirgantara tidak dialokasikan untuk pengembangan itu sendiri, namun untuk integrasi dan pengujian. Jika perangkat lunak gagal, kendaraan terbang akan jatuh dari langit — jet tempur, drone, pesawat ruang angkasa, dll.
Sebagian besar kode dalam perangkat lunak luar angkasa (jika diklasifikasikan sebagai modul penting) mematuhi standar pengujian/pengembangan yang sangat ketat, seperti DO-178B Level A. Tidak hanya setiap baris kode yang perlu diuji, tetapi jika terdapat logika bersarang, setiap kondisi logika juga diuji secara khusus.
Di JPL NASA, filosofi penulisan perangkat lunak penerbangan luar angkasa yang canggih bukanlah untuk menulis kode yang tercantik dan terbersih, namun untuk menulis kode yang mudah untuk diuji unit. Mengapa? Sederhana saja: saat Anda mengirim pesawat luar angkasa ke luar angkasa, Anda hanya mendapat satu peluang, dan tidak ada yang mau mengambil risiko dengan kemungkinan kegagalan yang tinggi. Logikanya sama dengan blockchain, karena kode yang tidak dapat diubah adalah fitur pentingnya, dan kita hanya memiliki satu kesempatan untuk membelanjakan dana kita dengan benar di setiap transaksi, jadi mengapa kita tidak melakukan proses pengembangan dApps dengan lebih serius?
Meskipun proses pengembangan, pengujian, dan audit kode yang ketat, cara ini jelas tidak cukup untuk mengurangi semua bug dan serangan, karena sebenarnya hampir tidak mungkin untuk menghilangkan semua bug runtime melalui pengujian dan audit. Jadi bagaimana kita melindungi perangkat lunak kita dari kegagalan?
Perlindungan Waktu Proses
Perlindungan runtime adalah teknik keamanan yang melindungi aplikasi perangkat lunak dari serangan jahat saat sedang berjalan. Prinsipnya adalah melakukan deteksi real-time ketika kode benar-benar berjalan, dan menganalisis perilaku program yang sebenarnya untuk melindungi program dari data dan serangan berbahaya.
Perlindungan runtime untuk perangkat lunak dengan keandalan tinggi memerlukan upaya dan desain yang signifikan karena merupakan garis pertahanan terakhir untuk memastikan bahwa perangkat lunak tidak memasuki keadaan yang tidak diketahui atau gagal. Ini bukan sekedar argumen, tapi praktik yang sudah terbukti selama puluhan tahun.
Hari ini di Web3, menurut saya aplikasi DeFi membutuhkan keandalan tinggi yang sama dan harus mempertimbangkan pendekatan yang sama. Namun, karena potensi keterbatasannya, EVM tidak didesain untuk menangani tugas kompleks seperti perlindungan runtime. Jadi, bagaimana kami memberikan perlindungan runtime?
Salah satu caranya adalah melalui pemrograman Aspect, Aspects dirancang oleh jaringan blockchain Artela, yang mampu mengubah konteks eksekusi selama siklus hidup setiap transaksi kontrak pintar untuk melakukan pemeriksaan lanjutan pada keadaan program secara real-time. Artela memberikan desain perlindungan runtime yang unik melalui kompatibilitas Aspect dan EVM, dan memiliki peluang untuk menjadi fondasi masa depan keamanan kontrak pintar terenkripsi.