Peneliti Zengo mengungkapkan bahwa bot jahat sedang memantau keberadaan alamat acak yang tidak aman di blockchain BTC dan segera mengeksploitasinya untuk melakukan pencurian, menyebabkan kerugian jutaan dolar – salah satunya terjadi pada 23 November 2023.
Sebagai bagian dari penelitian Zengo X yang sedang berlangsung di bidang keamanan blockchain, kami menyelidiki kasus 139 BTC yang baru-baru ini hilang, yang berjumlah sekitar $ 5,5 juta pada saat itu. Tanpa sepengetahuan kami, dengan melakukan itu, kami membuka kotak Pandora BTC dari Hutan Gelap.
Pada tahun 2020, peneliti Paradigm Dan Robinson dan Georgios Konstantopoulos menerbitkan posting blog berpengaruh berjudul “ETH Workshop is a Dark Forest”: mengungkapkan bot yang bersembunyi di kegelapan kumpulan memori ETH Workshop, memantau transaksi yang tertunda, dan mencoba memanfaatkan peluang menguntungkan yang mereka ciptakan. **
Hari ini, kami mengungkapkan bahwa fenomena ini tidak terbatas pada blockchain ETH, tetapi juga berlaku untuk blockchain BTC (dan mungkin banyak lainnya).
1, kasus biaya berlebihan ini
Pada 23 November, kesepakatan BTC menarik perhatian analis BTC. **Transaksi ini mencatat rekor pembayaran biaya, membayar lebih dari $3 juta (83 BTC) untuk transfer BTC senilai $2 juta. **
Meskipun penjelasan langsung untuk biaya selangit ini (yang biasanya seharusnya kurang dari $ 10) adalah menyalahkan mereka pada semacam kesalahan pengetikan manual, seperti yang telah terjadi di masa lalu, tidak butuh waktu lama bagi pengguna untuk mengklaim bahwa mereka adalah pemilik asli di X (sebelum Twitter) dan entah bagaimana diretas. **
Pemilik Akun X secara kriptografis membuktikan bahwa mereka benar-benar memiliki alamat BTC dengan menandatanganinya dengan kunci pribadi terkait.
2, penyelidikan kami telah dimulai
Ketika kita mulai menyelidiki kesepakatan biaya selangit ini secara lebih mendalam, beberapa fakta yang lebih halus namun menarik muncul.
Transaksi yang ditandai (Sumber: mempool.space)
Di atas menunjukkan beberapa wawasan menarik:
CPFP: Ini adalah singkatan dari “Child Pays For Parent”, yang berarti bahwa input ke transaksi ini adalah output dari transaksi lain yang belum dikonfirmasi. Dalam hal ini, itu berarti bahwa ketika transaksi pertama sedang menunggu di mempool, transaksi yang ditagih berlebihan terjadi. Menurut data penjelajah, itu sebenarnya dikirim pada menit yang sama dengan transaksi sebelumnya. **Biaya tepat 60% dari total yang dihabiskan (83,65 / 139,4), jadi tidak mungkin kesalahan, melainkan hasil dari beberapa jenis tindakan otomatis. **
RBF Dinonaktifkan: Pengirim transaksi telah menonaktifkan opsi untuk “Ganti Dengan Biaya” (RBF), atau telah mencegah transaksi lain menimpa transaksi dengan biaya yang lebih tinggi. Selain itu, pengguna X lain memperhatikan bahwa pada awalnya ada beberapa kandidat transaksi over-fee, saling menggantikan dengan membayar biaya yang lebih tinggi (tidak lagi terlihat di explorer, karena informasi transaksi yang diganti dihapus dalam waktu singkat).
3. Situasi aktual: Mari kita asumsikan dulu
Berdasarkan data, ada beberapa hipotesis yang mungkin untuk menjelaskan transaksi over-fee ini:
Pemilik asli membayar lebih untuk salah ketik: Pernyataan pemilik tentang X hanya untuk menyelamatkan muka, karena mengklaim telah diretas terdengar lebih dapat diterima daripada mengaku canggung.
Catatan: Ini tampaknya tidak terlalu masuk akal, karena transaksi dikirim saat transaksi sebelumnya masih dalam mempool (lihat CPFP di atas), yang membutuhkan keahlian teknis, dan sifat biaya yang tepat (tepat 60% dari total biaya) tidak cocok dengan kesalahan input atau teori kikuk umum.
Kunci pribadi pemilik asli diretas: Penyerang mengungkapkan kunci pribadi dan menunggu pemilik mengirim dana ke alamat tersebut.
Pendapat kami: Ini tidak mungkin karena transaksi didahului oleh RBF, yang berarti bahwa banyak pihak mengetahui kunci pribadi.
Kunci pribadi pemilik asli dapat diprediksi: Kunci pribadi dibuat dengan beberapa cara yang dapat diprediksi, seperti dengan hashing frasa sandi (“Brian-wallet”) atau memilih kunci dari set yang terlalu kecil (32 bit). Masalah-masalah ini dibahas secara mendalam dalam posting blog terbaru kami.
Penyerang menghasilkan koleksi semua kunci pribadi yang dapat diprediksi ini dan alamat yang sesuai, dan setiap kali transaksi untuk mengirim dana ke salah satu alamat ini ada di mempool, mereka segera cepat dan berebut untuk mengirim transaksi berikutnya untuk mentransfer dana tersebut ke alamat mereka.
Asumsi terakhir ini menjelaskan segalanya: Respons langsung (“CPFP” di atas) dan biaya selangit adalah apa yang harus dilakukan penyerang untuk mengalahkan penyerang lain. Sifat “tetap” dari biaya (60%) adalah karena sifat otomatis operasi, yang diperlukan untuk mengalahkan pihak lain. Menonaktifkan RBF adalah mekanisme lain yang digunakan oleh penyerang untuk meningkatkan peluang mereka mengalahkan pihak lain.
Asumsi ini juga konsisten dengan perilaku masa lalu dari alamat di ujung penerima transaksi biaya yang terlalu tinggi. Banyak transaksi yang mengalir ke alamat memiliki karakteristik yang sama dengan transaksi berbiaya tinggi ini (meskipun tidak menguntungkan seperti transaksi multi-juta dolar ini).
Perilaku penyerang konsisten (sumber: X / Twitter).
Kesimpulan ini, tentu saja, penjelasan yang sangat menakutkan dan berani yang membutuhkan bukti lebih lanjut. **
4. Bukti
Untuk memverifikasi klaim kami, kami memutuskan untuk membuat kunci pribadi yang dapat diprediksi, mengirim dana ke sana, dan mengamati hasilnya. Jika asumsi kita benar, maka dana tersebut harus segera dicuri. Untuk membuat kunci pribadi non-acak dan mendapatkan alamat yang dihasilkan, kami menggunakan alat web populer Ian Cloeman (yang telah bekerja dengan baik di masa lalu juga).
Atur kunci privat ke “1” (perhatikan bahwa frasa mnemonik yang dihasilkan terutama terdiri dari kata “ditinggalkan” dengan indeks 0)
Dengan menggunakan alat ini, kami mengatur kunci pribadi ke “1” dan mendapatkan alamat yang dihasilkan: bc1q4jgysxym8yvp6khka878njuh8dem4l7mneyefz. Kami memverifikasi bahwa itu belum pernah digunakan sebelumnya untuk mengesampingkan kemungkinan penjelasan lainnya.
Kemudian kami mengirim transaksi $ 10 ke alamat ini … Seperti yang diharapkan, kami menemukan bahwa ini diikuti oleh transaksi biaya selangit ($ 5, atau 50%) yang mengalihkan dana ke alamat lain!
Selain itu, kami mengamati persaingan sengit antara banyak pihak yang mencoba mendapatkan keuntungan melalui RBF dengan biaya yang lebih tinggi, yang bahkan mencapai hampir 99% dari dana, tetapi upaya ini tidak berhasil karena transaksi pertama menonaktifkan RBF.
4 transaksi RBF, yang terakhir menawarkan $ 9,87 dari total $ 10 sebagai biaya.
5. Kesimpulan: Monster memang ada
Jika frase benih atau kunci pribadi pengguna dihasilkan dengan cara yang dapat diprediksi atau tunduk pada keacakan yang tidak diinginkan, itu akan dieksploitasi setelah penyerang mempelajari detail yang tepat dari generasi yang dapat diprediksi. **
Seperti yang kami rinci dalam posting blog kami baru-baru ini, masalah pembuatan kunci aman di dompet kripto diabaikan oleh sebagian besar pengguna, tetapi ini terbukti menjadi masalah yang mengganggu dompet dan menyebabkan kerugian besar.
Karena pengguna tidak dapat menghasilkan kunci pribadi mereka sendiri, tetapi mereka tidak dapat membuktikan bahwa kunci pribadi itu acak, pengguna tidak dapat memverifikasi keacakan kunci mereka dan harus mempercayai dompet mereka.
Masalah ini merupakan manifestasi lain dari masalah inti yang lebih besar yang bergantung pada dompet pihak tunggal. Untuk memecahkan masalah inti ini, serta masalah spesifik keacakan, kita harus menerima kenyataan bahwa pengguna perlu mempercayai beberapa entitas eksternal dan pindah ke arsitektur yang lebih kuat yang mengurangi kepercayaan pada setiap pihak yang terlibat dengan meningkatkan jumlah pihak yang terlibat. **
Menambahkan peserta dapat mengurangi kepercayaan yang diperlukan untuk setiap peserta dan membuat sistem lebih kuat (lihat posting blog terbaru kami untuk detailnya).
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.
BTC juga memiliki Hutan Gelap: mengekspos bot jahat di rantai
Penulis: Tal Be'ery
Sumber:
Terjemahan: Blockchain vernakular
Peneliti Zengo mengungkapkan bahwa bot jahat sedang memantau keberadaan alamat acak yang tidak aman di blockchain BTC dan segera mengeksploitasinya untuk melakukan pencurian, menyebabkan kerugian jutaan dolar – salah satunya terjadi pada 23 November 2023.
Sebagai bagian dari penelitian Zengo X yang sedang berlangsung di bidang keamanan blockchain, kami menyelidiki kasus 139 BTC yang baru-baru ini hilang, yang berjumlah sekitar $ 5,5 juta pada saat itu. Tanpa sepengetahuan kami, dengan melakukan itu, kami membuka kotak Pandora BTC dari Hutan Gelap.
Pada tahun 2020, peneliti Paradigm Dan Robinson dan Georgios Konstantopoulos menerbitkan posting blog berpengaruh berjudul “ETH Workshop is a Dark Forest”: mengungkapkan bot yang bersembunyi di kegelapan kumpulan memori ETH Workshop, memantau transaksi yang tertunda, dan mencoba memanfaatkan peluang menguntungkan yang mereka ciptakan. **
Hari ini, kami mengungkapkan bahwa fenomena ini tidak terbatas pada blockchain ETH, tetapi juga berlaku untuk blockchain BTC (dan mungkin banyak lainnya).
1, kasus biaya berlebihan ini
Pada 23 November, kesepakatan BTC menarik perhatian analis BTC. **Transaksi ini mencatat rekor pembayaran biaya, membayar lebih dari $3 juta (83 BTC) untuk transfer BTC senilai $2 juta. **
Meskipun penjelasan langsung untuk biaya selangit ini (yang biasanya seharusnya kurang dari $ 10) adalah menyalahkan mereka pada semacam kesalahan pengetikan manual, seperti yang telah terjadi di masa lalu, tidak butuh waktu lama bagi pengguna untuk mengklaim bahwa mereka adalah pemilik asli di X (sebelum Twitter) dan entah bagaimana diretas. **
Pemilik Akun X secara kriptografis membuktikan bahwa mereka benar-benar memiliki alamat BTC dengan menandatanganinya dengan kunci pribadi terkait.
2, penyelidikan kami telah dimulai
Ketika kita mulai menyelidiki kesepakatan biaya selangit ini secara lebih mendalam, beberapa fakta yang lebih halus namun menarik muncul.
Transaksi yang ditandai (Sumber: mempool.space)
Di atas menunjukkan beberapa wawasan menarik:
CPFP: Ini adalah singkatan dari “Child Pays For Parent”, yang berarti bahwa input ke transaksi ini adalah output dari transaksi lain yang belum dikonfirmasi. Dalam hal ini, itu berarti bahwa ketika transaksi pertama sedang menunggu di mempool, transaksi yang ditagih berlebihan terjadi. Menurut data penjelajah, itu sebenarnya dikirim pada menit yang sama dengan transaksi sebelumnya. **Biaya tepat 60% dari total yang dihabiskan (83,65 / 139,4), jadi tidak mungkin kesalahan, melainkan hasil dari beberapa jenis tindakan otomatis. **
RBF Dinonaktifkan: Pengirim transaksi telah menonaktifkan opsi untuk “Ganti Dengan Biaya” (RBF), atau telah mencegah transaksi lain menimpa transaksi dengan biaya yang lebih tinggi. Selain itu, pengguna X lain memperhatikan bahwa pada awalnya ada beberapa kandidat transaksi over-fee, saling menggantikan dengan membayar biaya yang lebih tinggi (tidak lagi terlihat di explorer, karena informasi transaksi yang diganti dihapus dalam waktu singkat).
3. Situasi aktual: Mari kita asumsikan dulu
Berdasarkan data, ada beberapa hipotesis yang mungkin untuk menjelaskan transaksi over-fee ini:
Pemilik asli membayar lebih untuk salah ketik: Pernyataan pemilik tentang X hanya untuk menyelamatkan muka, karena mengklaim telah diretas terdengar lebih dapat diterima daripada mengaku canggung.
Catatan: Ini tampaknya tidak terlalu masuk akal, karena transaksi dikirim saat transaksi sebelumnya masih dalam mempool (lihat CPFP di atas), yang membutuhkan keahlian teknis, dan sifat biaya yang tepat (tepat 60% dari total biaya) tidak cocok dengan kesalahan input atau teori kikuk umum.
Kunci pribadi pemilik asli diretas: Penyerang mengungkapkan kunci pribadi dan menunggu pemilik mengirim dana ke alamat tersebut.
Pendapat kami: Ini tidak mungkin karena transaksi didahului oleh RBF, yang berarti bahwa banyak pihak mengetahui kunci pribadi.
Kunci pribadi pemilik asli dapat diprediksi: Kunci pribadi dibuat dengan beberapa cara yang dapat diprediksi, seperti dengan hashing frasa sandi (“Brian-wallet”) atau memilih kunci dari set yang terlalu kecil (32 bit). Masalah-masalah ini dibahas secara mendalam dalam posting blog terbaru kami.
Penyerang menghasilkan koleksi semua kunci pribadi yang dapat diprediksi ini dan alamat yang sesuai, dan setiap kali transaksi untuk mengirim dana ke salah satu alamat ini ada di mempool, mereka segera cepat dan berebut untuk mengirim transaksi berikutnya untuk mentransfer dana tersebut ke alamat mereka.
Asumsi terakhir ini menjelaskan segalanya: Respons langsung (“CPFP” di atas) dan biaya selangit adalah apa yang harus dilakukan penyerang untuk mengalahkan penyerang lain. Sifat “tetap” dari biaya (60%) adalah karena sifat otomatis operasi, yang diperlukan untuk mengalahkan pihak lain. Menonaktifkan RBF adalah mekanisme lain yang digunakan oleh penyerang untuk meningkatkan peluang mereka mengalahkan pihak lain.
Asumsi ini juga konsisten dengan perilaku masa lalu dari alamat di ujung penerima transaksi biaya yang terlalu tinggi. Banyak transaksi yang mengalir ke alamat memiliki karakteristik yang sama dengan transaksi berbiaya tinggi ini (meskipun tidak menguntungkan seperti transaksi multi-juta dolar ini).
Perilaku penyerang konsisten (sumber: X / Twitter).
Kesimpulan ini, tentu saja, penjelasan yang sangat menakutkan dan berani yang membutuhkan bukti lebih lanjut. **
4. Bukti
Untuk memverifikasi klaim kami, kami memutuskan untuk membuat kunci pribadi yang dapat diprediksi, mengirim dana ke sana, dan mengamati hasilnya. Jika asumsi kita benar, maka dana tersebut harus segera dicuri. Untuk membuat kunci pribadi non-acak dan mendapatkan alamat yang dihasilkan, kami menggunakan alat web populer Ian Cloeman (yang telah bekerja dengan baik di masa lalu juga).
Atur kunci privat ke “1” (perhatikan bahwa frasa mnemonik yang dihasilkan terutama terdiri dari kata “ditinggalkan” dengan indeks 0)
Dengan menggunakan alat ini, kami mengatur kunci pribadi ke “1” dan mendapatkan alamat yang dihasilkan: bc1q4jgysxym8yvp6khka878njuh8dem4l7mneyefz. Kami memverifikasi bahwa itu belum pernah digunakan sebelumnya untuk mengesampingkan kemungkinan penjelasan lainnya.
Kemudian kami mengirim transaksi $ 10 ke alamat ini … Seperti yang diharapkan, kami menemukan bahwa ini diikuti oleh transaksi biaya selangit ($ 5, atau 50%) yang mengalihkan dana ke alamat lain!
Selain itu, kami mengamati persaingan sengit antara banyak pihak yang mencoba mendapatkan keuntungan melalui RBF dengan biaya yang lebih tinggi, yang bahkan mencapai hampir 99% dari dana, tetapi upaya ini tidak berhasil karena transaksi pertama menonaktifkan RBF.
4 transaksi RBF, yang terakhir menawarkan $ 9,87 dari total $ 10 sebagai biaya.
5. Kesimpulan: Monster memang ada
Jika frase benih atau kunci pribadi pengguna dihasilkan dengan cara yang dapat diprediksi atau tunduk pada keacakan yang tidak diinginkan, itu akan dieksploitasi setelah penyerang mempelajari detail yang tepat dari generasi yang dapat diprediksi. **
Seperti yang kami rinci dalam posting blog kami baru-baru ini, masalah pembuatan kunci aman di dompet kripto diabaikan oleh sebagian besar pengguna, tetapi ini terbukti menjadi masalah yang mengganggu dompet dan menyebabkan kerugian besar.
Karena pengguna tidak dapat menghasilkan kunci pribadi mereka sendiri, tetapi mereka tidak dapat membuktikan bahwa kunci pribadi itu acak, pengguna tidak dapat memverifikasi keacakan kunci mereka dan harus mempercayai dompet mereka.
Masalah ini merupakan manifestasi lain dari masalah inti yang lebih besar yang bergantung pada dompet pihak tunggal. Untuk memecahkan masalah inti ini, serta masalah spesifik keacakan, kita harus menerima kenyataan bahwa pengguna perlu mempercayai beberapa entitas eksternal dan pindah ke arsitektur yang lebih kuat yang mengurangi kepercayaan pada setiap pihak yang terlibat dengan meningkatkan jumlah pihak yang terlibat. **
Menambahkan peserta dapat mengurangi kepercayaan yang diperlukan untuk setiap peserta dan membuat sistem lebih kuat (lihat posting blog terbaru kami untuk detailnya).