Rekap Pembicaraan OKEx Academy: DCEP – Bagaimana cara memastikan keamanan bagi investor DeFi?
DeFi, kependekan dari keuangan Terdesentralisasi, telah menjadi kata kunci di dunia cryptocurrency sejak 2019. Seiring dengan pertumbuhan DeFi, kami melangkah lebih jauh ke masa depan keuangan. Menciptakan kerangka kerja global dan lebih transparan untuk setiap layanan keuangan saat ini: tabungan, pinjaman, perdagangan, dan banyak lagi.
OKEx Academy telah menyusun Webinar online dengan beberapa tamu istimewa untuk berbagi wawasan mereka tentang keamanan DeFi dan bagaimana investor DeFi dapat memastikan bahwa investasi mereka aman.
Artikel ini akan memandu Anda melalui rekap diskusi.
Pembicara Tamu:
Yu Guo – Pendiri SECBIT Labs
Dominik Teiml – Memimpin Auditor Ethereum di Certik
Zhengchao Du – Insinyur Keamanan Senior di Slowmist
Moderator:
Michael Gui – Boxmining
Michael: Keuangan terdesentralisasi tumbuh dengan pesat, saat ini kami memiliki lebih dari $ 800 Juta dolar dengan crypto yang terkunci dalam kontrak DeFi Smart. Karena kontrak ini terdesentralisasi, pembuat perlu memastikan bahwa kode di balik kontrak ini aman. Kegagalan untuk melakukannya dapat mengakibatkan bencana peretasan – misalnya, kurang dari 2 minggu yang lalu seorang peretas berhasil “mencuri” crypto senilai $ 25 Juta dari kontrak dForce. Keamanan dari peretasan sangat penting untuk memastikan pertumbuhan jangka panjang DeFi. Untungnya hari ini kami memiliki panel ahli keamanan.
Mulailah dengan kutipan kritis dari DeFi Critic "Saya hanya belajar tentang DeFi ketika proyek gagal dan kehilangan dana". Menurut Anda, apa risiko keamanan terbesar bagi keuangan yang terdesentralisasi?
SECBIT: DeFi dibangun di atas kode, yang terdiri dari banyak modul, yang dikembangkan oleh tim yang berbeda. Kesalahpahaman modul dasar, blok bangunan akan membawa kerugian yang lebih besar. Antarmuka setiap modul tidak mudah untuk diklarifikasi, ditentukan, atau diformalkan.
Certik: Terlepas dari hal-hal off-chain seperti keamanan kunci, pembajakan front-end dan / atau server DNS, OpSec, dll. Menurut saya, risiko on-chain terbesar adalah kesalahan eksekusi (bug Hegic) dan interaksi dengan akun lain, yaitu : oracle yang dapat dimanipulasi (bZx hack) dan serangan masuk kembali (Uniswap & Lendf.me hack)
Slowmist: Keuangan terdesentralisasi memberi kita tiga fitur utama: interoperabilitas, programabilitas, dan Komposabilitas. Berkat ketiga fitur ini, kami dapat menggabungkan semua jenis kontrak pintar seperti menggabungkan blok lego, yang memberi kami produk keuangan yang melimpah dan kemungkinan yang tak terbatas. Namun, DeFi adalah sistem yang rumit sehingga risikonya akan semakin besar. Dengan kata lain, untuk sistem keuangan terpusat, skenario risiko yang mungkin dapat dikendalikan dengan bekerja pada standar dan membatasi izin akses, sedangkan untuk DeFi, salah satu dari dua kontrak yang memenuhi standar perjanjian dapat digabungkan bersama, yang berarti banyak lebih banyak skenario yang mungkin dan setiap skenario baru membawa potensi risiko baru. Dan yang paling penting dari semuanya, fitur standar bisa menjadi cacat dalam keadaan apa pun.
Michael: Bisakah kita mencapai keamanan lengkap dengan DeFi?
SECBIT: Ini cawan suci. Tidak mungkin mencapai tujuan, baik secara teoritis maupun praktis. Keamanan apa pun didasarkan pada asumsi. Semakin kompleks sistemnya, semakin banyak asumsi keamanan yang diandalkan. Tetapi keandalan asumsi keamanan ini tidak diketahui. Dalam banyak kasus, asumsi keamanan ini mungkin lepas.
Secara teori, definisi keselamatan agak kabur. Kami dapat mendefinisikan keamanan khusus, misalnya, bebas dari bilangan bulat yang meluap. Tetapi umumnya tidak lengkap. Karena konsep DeFi terus berkembang, arti keselamatan juga berkembang. Kami tidak bagaimana mendefinisikan konsep keselamatan yang lengkap.
Keuangan pada dasarnya berisiko. Secara konvensional, keuntungan berasal dari pengambilan risiko. Sekarang, risiko finansial bercampur dengan kompleksitas komputasi, sehingga risiko gabungan lebih sulit dikendalikan. Dalam praktiknya, keamanan sulit dilihat, sulit diverifikasi. Ada masalah keamanan yang mungkin terjadi di berbagai level, asumsi keamanan, blockchain, mesin virtual dan kompiler, pustaka, logika kode, antarmuka layanan. Tak satu pun dari mereka yang mudah dicapai tanpa bug.
Salah satu fitur DeFi yang menjanjikan adalah kontrak pintar sangat mudah disusun, bahkan jika kontrak pintar dikembangkan oleh tim yang berbeda. Tetapi kami telah melihat bug yang ditemukan di antarmuka — misalnya, ERC777, ERC827, ERC 233. Komposabilitas akan membuat sistem lebih terbuka dan dinamis. Banyak pendekatan tradisional tentang membuat sistem statis aman tidak akan berfungsi untuk sistem baru, terbuka, dinamis, dan besar.
Certik: Keamanan adalah masalah hasil yang semakin berkurang. Kita tidak pernah bisa memastikan penalaran logis mana pun itu valid karena kita bisa saja membuat kesalahan dalam verifikasi itu sendiri, paradoks logika. Dengan cara yang sama, kita tidak pernah bisa 100% yakin bahwa ada sesuatu yang aman. Namun, saya sangat optimis kita bisa mencapai jaminan keamanan yang tinggi dengan langkah-langkah yang tepat. Audit ekstensif dan intensif, verifikasi formal, hadiah bug murah hati …
Pertanyaan yang lebih menarik adalah apakah skala ini. Bisakah kita menemukan alat yang mengotomatiskan keamanan? Belum ada yang mencapai itu; ini masih merupakan pertanyaan terbuka.
Slowmist: Keamanan lengkap tidak mungkin untuk produk apa pun termasuk DeFi. Kita harus menyadari bahwa keamanan melibatkan tindakan pencegahan, dengan tujuan bahwa peretas akan menelan biaya lebih banyak daripada manfaat yang mungkin didapatnya. Dan keamanan itu dinamis, skenario baru, teknik baru, dan iterasi produk DeFi dapat menyebabkan masalah keamanan baru, jadi aman sekali dan untuk semua tidak mungkin..
Michael: Dengan bahasa pemrograman baru yang diadopsi – Vyper (Ethereum), Haskell (Cardano) – apakah menurut Anda ini akan membantu keamanan blockchain?
SECBIT: Vyper sangat mirip dengan soliditas, sebagian besar peningkatannya. Haskell, di sisi lain, lebih bersifat matematis. Tapi, seperti yang saya katakan, masalah keamanan terbesar adalah dari level logika, bukan level bahasa. Serangan baru tidak murni pada level bahasa, dan datang dari seluruh sistem blockchain, yang sangat rumit. Para peretas terus menciptakan serangan baru yang belum pernah kami lihat sebelumnya. Kerentanan baru sulit dideteksi oleh alat yang disematkan di kompiler. Kita tidak dapat membayangkan bahwa serangan akan dicegah secara otomatis. Kami akan melihat lebih banyak kerentanan yang berakar dari tingkat logika, bahkan jika alat bahasa meningkat. Kode tersebut harus diaudit oleh para ahli.
Saya menghargai pekerjaan dari komunitas bahasa pemrograman, di mana pengetikan statis mencegah pemrogram membuat kesalahan konyol. Misalnya, bahasa yang diusulkan oleh Facebook, bernama MOVE, berjalan di rantai Libra. Ini meminjam ide dari RUST of "pindahkan vs. salin", "kepemilikan dan peminjaman". Sistem tipe statis memastikan bahwa jumlah total aset digital tidak berubah, sehingga baik pengembang maupun peretas tidak bisa.
Di sisi lain, kami membutuhkan spesifikasi formal atau verifikasi formal untuk memastikan "ketepatan" sampai batas tertentu. Bukan 100%, tapi keamanan maksimal kita hanya bergantung pada matematika. Namun, alat dan praktiknya masih dalam proses. Saya menyarankan pekerjaan dari tim CertiK.
Certik: Mungkin. Saya pikir kami meremehkan keamanan di fase awal ekosistem kami. Kami membuat keputusan arsitektural yang sangat sulit diubah sesudahnya. EVM memiliki lompatan dinamis, yang membuat analisis statis menjadi sangat rumit, dan hampir tidak ada manfaat sama sekali. Soliditas sejak 0,5, menurut saya, telah menjadi fokus pada keamanan, membalikkan sebagian dari apa yang tadinya dengan keputusan desain bahasa yang buruk..
Vyper lebih baik, tetapi sayangnya, Vyper tidak siap produksi untuk proyek besar dan tidak memiliki banyak fitur penting.
Saya benar-benar senang dengan DeapSEA, bahasa pemrograman bertarget EVM yang mencoba mengatasi tantangan yang diberlakukan EVM ini dan memungkinkan verifikasi formal yang lebih mudah untuk kontrak pintar Ethereum. Ini sedang dikembangkan oleh Certik dan Yale, dan kami akan segera mendengar lebih banyak tentangnya.
Meskipun itu berada di cakrawala yang lebih panjang, saya pikir transisi ke eWASM akan bagus untuk keamanan. Wasm tidak hanya lebih berfokus pada detik, tetapi kami juga dapat memanfaatkan ekosistem alat keamanannya.
Slowmist: Bahasa-bahasa ini memiliki fitur keamanannya sendiri. Misalnya, Vyper melakukan banyak pemeriksaan overflow yang diterapkan pada kalkulasi aritmatika, dan bahasa fungsional seperti Haskell dapat membantu verifikasi formal. Tetapi keamanan bersifat multidimensi, dan terlepas dari fitur keamanan bahasa pemrograman, keamanan pengembangan produk dan keamanan logika bisnis sama pentingnya dengan bahasa..
Michael: Apa peretasan akun paling merusak yang pernah Anda temui? Pengalaman pribadi apa pun yang dapat Anda bagikan?
SECBIT: Kunci dicuri. Beberapa ratus ETH dari salah satu klien kami. Tapi, lebih banyak kasus yang datang ke arah kami untuk meminta bantuan kehilangan kunci. Orang-orang hanya lupa kode mnemonik atau kata sandi. Ini adalah dilema lain dalam dunia keamanan. Bagaimana kita bisa mengingat kata sandi yang aman? Kata sandi yang lemah mudah diingat tetapi dengan entropi rendah. Itu rentan terhadap serangan brute-force. (mis. Rainbow Table Attack); sedangkan kata sandi yang lebih acak sangat sulit untuk diingat. Tuliskan di atas kertas? Kita mungkin lupa tentang koran tadi pagi.
Certik: Saya beruntung tidak ada proyek yang pernah saya kerjakan yang diretas.
Slowmist: Hari Valentine Hitam Ethereum, dinamai oleh tim kami. Insiden keamanan ini pertama kali diamati pada Maret 2018. Peretas telah mencuri eths dan token lainnya dari dompet pengguna dengan skrip otomatis selama dua tahun sebelum kami pertama kali menemukannya. Saat ini, sekitar 54864 ETH dengan nilai 10 juta dolar saat ini telah dicuri dari 6679 dompet. Peretasan ini sangat mengesankan mengingat pengaruhnya dan waktu durasinya.
Mikhael: Jika ada SATU tip keamanan untuk pemirsa kami – Tip yang menurut Anda akan menghemat potensi pemirsa kami ribuan dolar – apakah itu?
SECBIT: Berlatih untuk mengingat kode mnemonik; Saya tahu ini sulit. Ini sangat sulit. Tapi, percayalah, itulah satu-satunya cara untuk menjaga aset digital Anda tetap aman. Tanyakan kepada penyedia layanan berapa banyak anggaran yang mereka keluarkan untuk keamanan dan pengendalian risiko, tindakan pencegahan apa yang telah mereka ambil, dan baca materi seperti laporan audit, dokumen desain sistem di situs web. Saya pikir penyedia yang serius menjalankan bisnis di blockchain harus memiliki kebijakan yang ketat tentang itu.
Certik: Baca laporan. Baca laporan audit sebelum menggunakan aplikasi terdesentralisasi apa pun. Dari waktu ke waktu kami melihat kerentanan yang ditunjukkan selama audit, tidak pernah diperbaiki, dan kemudian dieksploitasi. Periksa apakah laporan terakhir yang dikeluarkan menyebutkan adanya kerentanan kritis atau signifikan.
Slowmist: Untuk aset pribadi, sebaiknya lindungi kunci pribadi Anda dari Internet.
Untuk mata uang kripto dalam produk DeFi, kami menyarankan bahwa ketika memilih produk dan platform DeFi, pengguna harus memperhatikan mekanisme kontrol risiko dan dukungan laporan audit keamanan dari tim keamanan pihak ketiga yang luar biasa. Selain itu, keamanan bersifat dinamis sehingga setiap orang harus memeriksa latar belakang keamanan produk dan platform defi dari sekarang dan nanti.