Dompet ekstensi peramban adalah program kecil yang hidup di dalam peramban web Anda — Chrome, Firefox, Brave, atau Edge — dan menyimpan kunci untuk kripto Anda. Anda memasangnya dengan cara yang sama seperti memasang pemblokir iklan: dari toko add-on peramban, dengan satu klik. Setelah terpasang, sebuah ikon dompet berada di samping bilah alamat, siap setiap kali Anda mengunjungi situs web yang perlu menangani kripto.
Panduan ini menjelaskan bagaimana dompet jenis itu sebenarnya bekerja, seperti apa model keamanannya, dan di mana risiko yang sesungguhnya berada. Jika Anda benar-benar baru mengenal dompet, mulailah dengan apa itu dompet kripto lalu perbandingan yang lebih luas antara dompet perangkat lunak dan dompet perangkat keras — artikel ini menyoroti secara khusus jenis yang berbasis peramban.
Apa sebenarnya sebuah "ekstensi"
Sebuah ekstensi peramban adalah perangkat lunak yang menambahkan fitur ke peramban Anda. Peramban adalah program tuan rumah; ekstensi adalah tamu yang diizinkan tuan rumah berjalan di dalam dirinya. Ekstensi dapat membaca dan mengubah halaman web yang Anda kunjungi, menampilkan jendela sembulan miliknya sendiri, dan menyimpan data di komputer Anda. Kuasa itulah yang membuat dompet ekstensi nyaman — dan justru itu pula yang perlu Anda pahami sebelum mempercayakan uang kepadanya.
Sebuah dompet ekstensi memakai kuasa itu untuk tiga tugas. Ia menyimpan kunci Anda di penyimpanan lokal peramban, biasanya dilindungi oleh sebuah kata sandi. Ia menampilkan kepada Anda sebuah jendela sembulan ketika Anda perlu menyetujui sesuatu. Dan ia berbicara dengan halaman web melalui sebuah teknik bernama injeksi.
Bagaimana injeksi bekerja
Injeksi berarti dompet menempatkan sepotong kecil kode di setiap halaman web yang Anda buka. Bayangkan dompet meninggalkan sebuah telepon di meja setiap situs yang Anda kunjungi. Ketika sebuah situs web ingin melakukan sesuatu dengan kripto — terhubung ke dompet Anda, menampilkan saldo Anda, atau meminta Anda mengirim sebuah transaksi — ia mengangkat telepon itu dan membuat sebuah permintaan.
Dompet Anda menerima permintaan itu dan tidak bertindak diam-diam. Ia membuka sebuah jendela sembulan dan bertanya kepada Anda. "Situs ini ingin terhubung." "Situs ini ingin Anda menandatangani sebuah transaksi yang mengirim 0,2 ETH." Tidak ada yang bergerak sampai Anda mengklik setujui. Situs web boleh meminta; hanya Anda yang boleh menyetujui. Langkah persetujuan itu adalah kebiasaan terpenting dalam memakai dompet peramban apa pun: baca jendela sembulan sebelum Anda mengklik.
Rancangan inilah yang memungkinkan sebuah aplikasi terdesentralisasi — sebuah dApp, yaitu situs web yang berjalan di atas sebuah blockchain — bekerja langsung dari tab peramban biasa tanpa perangkat lunak tambahan. Ini benar-benar berguna. Tetapi karena dompet dapat dijangkau dari setiap halaman, setiap halaman juga menjadi bagian dari gambaran ketika kita berbicara tentang keamanan.
Permukaan serangan
"Permukaan serangan" adalah istilah sederhana untuk setiap tempat sesuatu dapat diserang. Pintu depan, pintu belakang, dan jendela yang terbuka semuanya bagian dari permukaan serangan sebuah rumah. Sebuah dompet peramban punya beberapa di antaranya.
Halaman web jahat atau yang telah disusupi. Karena dompet menyuntikkan diri ke setiap situs, sebuah situs yang bermusuhan dapat mengirim permintaan kepadanya. Dompet tetap bertanya kepada Anda lebih dulu, jadi sebuah halaman jahat tidak bisa memindahkan dana sendirian — tetapi ia bisa menyusun permintaan yang membingungkan dan berharap Anda menyetujuinya tanpa membaca.
dApp pengelabuan. Sebuah situs pengelabuan adalah tiruan yang dibangun agar tampak seperti yang asli. Sebuah salinan dari sebuah bursa populer atau sebuah pasar NFT dapat meminta Anda untuk "memverifikasi dompet Anda" dan menyajikan sebuah transaksi yang sebenarnya menguras dompet itu. Jendela sembulan jujur tentang apa yang akan ia lakukan; situs web itulah yang berbohong tentang mengapa.
Izin yang terlalu luas. Ketika Anda memasang ekstensi apa pun, peramban mendaftar apa saja yang bisa ia akses. Banyak dompet meminta izin untuk membaca dan mengubah data di semua situs web — mereka membutuhkannya untuk menyuntikkan diri di mana-mana. Harganya adalah sebuah dompet dengan jangkauan luas merupakan hadiah yang lebih besar jika suatu saat ia diputar melawan Anda.
Risiko rantai pasok. Inilah yang halus. Sebuah serangan rantai pasok membidik bukan Anda, melainkan sesuatu yang Anda bergantung padanya. Perangkat lunak modern dirakit dari ratusan balok penyusun sumber terbuka yang lebih kecil yang disebut dependensi. Jika seorang penyerang menyelipkan kode buruk ke salah satu balok itu — sebuah dependensi yang diracuni — atau membajak pembaruan yang mendorong versi baru ekstensi ke peramban Anda, kode jahat itu tiba lewat sebuah saluran yang sudah Anda percayai. Anda memasang sebuah ekstensi yang aman; sebuah pembaruan kemudian, atau sebuah komponen yang terkubur di dalamnya, tidaklah aman.
Untuk tinjauan yang lebih mendalam dan netral terhadap vendor tentang bagaimana ekstensi peramban dibangun dan diamankan, dokumentasi ekstensi web MDN dari Mozilla adalah rujukan yang berwibawa, dan proyek OWASP menerbitkan panduan umum tentang ancaman web di atas.
Bagaimana SSP mengurangi risiko
Tidak satu pun dari ini berarti dompet peramban tidak aman dipakai. Itu berarti dompet yang dibangun dengan baik harus merencanakan untuk permukaan serangan alih-alih berpura-pura bahwa ia tidak ada. SSP melakukan ini dengan dua cara yang konkret.
Sandboxing waktu jalan LavaMoat. Sebuah sandbox (kotak pasir) adalah ruang tertutup tempat sesuatu dapat berjalan tanpa bisa menjangkau bagian sistem yang lain — seperti kotak pasir sungguhan menjaga pasir tetap di satu tempat. LavaMoat menerapkan gagasan itu pada ratusan dependensi tadi. Setiap dependensi berjalan dalam kompartemennya sendiri yang tersegel dengan akses hanya pada apa yang benar-benar ia butuhkan. Jadi jika sebuah dependensi yang diracuni memang menyelinap masuk lewat sebuah serangan rantai pasok, ia terkurung: ia tidak bisa diam-diam menjangkau menembus dompet untuk membaca kunci Anda, karena dinding kompartemennya tidak mengizinkannya. Serangan itu dibendung alih-alih menjadi malapetaka. Kami membahasnya secara terperinci dalam pos ruang berita tentang LavaMoat hadir di SSP.
Sebuah rancangan 2-dari-2. Inilah perlindungan struktural yang lebih besar. Sebagian besar dompet peramban menyimpan kunci seutuhnya — setujui sebuah jendela sembulan yang buruk dan dana itu lenyap. SSP membagi penandatanganan di antara dua perangkat: ekstensi peramban menyimpan satu kunci, dan aplikasi SSP Key di telepon Anda menyimpan yang kedua. Sebuah transaksi hanya sah ketika keduanya menandatanganinya. Ekstensi sendirian tidak bisa memindahkan satu koin pun.
Itu mengubah hitung-hitungan sepenuhnya. Bahkan jika sebuah halaman jahat menipu ekstensi, bahkan jika sebuah pembaruan yang disusupi menjangkaunya, penyerang hanya mengendalikan satu dari dua kunci yang dibutuhkan. Telepon Anda — sebuah perangkat terpisah, dengan sebuah layar terpisah yang menampilkan kepada Anda rincian transaksi — tetap harus menyetujui. Sebuah serangan yang akan menguras dompet peramban biasa terhenti di depan sebuah dinding yang tidak bisa ia lewati.
Jadi, apakah dompet peramban aman?
Sebuah dompet peramban cukup aman untuk pemakaian sehari-hari ketika dua hal benar: dompet dibangun untuk membendung kegagalan yang dijelaskan di atas, dan Anda memperlakukan jendela sembulan persetujuan sebagai sebuah keputusan yang sungguhan alih-alih sebuah refleks. Pasang ekstensi hanya dari toko resmi, jaga dompet tetap tersendiri di sebuah peramban yang Anda percayai, dan melambatlah setiap kali sebuah situs meminta Anda menandatangani sesuatu.
Kelemahan terbesar sebuah dompet peramban — bahwa ia hidup di dalam sebuah peramban yang sibuk dan tersambung internet — itu nyata. Jawaban SSP bukanlah mengabaikannya, melainkan mengandaikan bahwa peramban bisa disusupi dan membuat hal itu dapat dilewati: LavaMoat membendung sebuah dependensi yang buruk, dan rancangan 2-dari-2 berarti ekstensi sendirian tidak pernah cukup untuk membuat Anda kehilangan dana. Berikutnya dalam seri ini, dompet kripto seluler menelaah separuh lain dari pasangan itu — telepon yang harus ikut menandatangani.