Serangan eclipse (gerhana) adalah serangan pada jaringan blockchain yang memanipulasi pesertanya dan membahayakan operasinya. Serangan eclipse menyerang node pada blockchain, memotongnya dari sisa jaringan untuk kemudian menerima dan memproses data spesifik yang diinginkan bagi pelaku.
Serangan Eclipse pada Blockchain: Apa itu?
Jaringan peer-to-peer (P2P) blockchain terdiri dari sejumlah node yang menyampaikan informasi tentang aktivitas blockchain satu sama lain. Jaringan ini seringkali sangat terdesentralisasi dan melibatkan node yang tersebar di area fisik yang besar di sejumlah lingkungan fisik yang berbeda. Untuk membuat blockchain berfungsi, mereka perlu mencapai konsensus tentang data yang dihasilkan untuk menghasilkan blok yang valid.
Bitcoin (BTC) adalah jaringan aset kripto pertama yang mengatasi tantangan ini, yang dikenal sebagai masalah Jenderal Bizantium, dalam skala besar, menggunakan algoritma Proof-of-Work (PoW) untuk memungkinkan node yang tidak dapat melihat operasi satu sama lain atau berkomunikasi dengan setiap node lain sekaligus untuk tetap meratifikasi dan memvalidasi transaksi.
Kurang terlihatnya hal ini, bagaimanapun, berarti bahwa potensi untuk mengaburkan pandangan node dari sisa jaringan dan memanipulasinya untuk menjalankan data "palsu" tetap ada. Salah satu cara peretas melakukan ini adalah melalui apa yang disebut serangan gerhana atau serangan eclipse.
Dalam serangan gerhana, peretas memaksa sebuah node untuk terhubung ke peers palsu di bawah kendali mereka. Mereka kemudian dapat mengontrol data yang diterima node, dan node akhirnya memvalidasi data palsu itu seolah data "nyata" yang sah seperti yang dilakukan oleh jaringan lainnya. Korban biasanya tidak tahu apa yang terjadi, dan dengan demikian, serangan eclipse sering kali menjadi landasan untuk serangan skala besar pada blockchain P2P.
Bagaimana Serangan Eclipse pada Blockchain Bekerja?
Serangan Eclipse dimulai dengan memilih dan menargetkan node pada jaringan blockchain. Penyerang membuat node palsu yang bergabung dengan jaringan — ini bisa berupa botnet atau jaringan hantu — yang kemudian secara efektif mengirim spam ke node target, menyegelnya dari sisa jaringan.
Penyerang dapat menggunakan serangan Distributed Denial of Service (DDoS) sehingga korban kemudian terhubung kembali pada node "palsu" baru mereka seolah itu adalah yang sebelumnya digunakan.
Setelah selesai, node target sebenarnya diberi aliran data palsu dari node yang membantu tujuan penyerang. Target akhirnya memvalidasi data ini, yang pada gilirannya membahayakan validitas seluruh blockchain.
Ini semua terjadi karena pada jaringan blockchain, tidak semua node dapat berkomunikasi dengan semua node lain secara langsung. Setiap node memiliki subset yang lebih kecil dari node lain yang berkomunikasi dengannya, dan mengganti jumlah node yang lebih kecil ini dengan yang tidak seharusnya adalah cara serangan eclipse dapat dimulai.
Alasan di balik nama serangan ini menjadi jelas — pandangan node dari sisa jaringan “terhalangi” atau dikaburkan.
Apa Dampak dari Serangan Eclipse?
Serangan eclipse sering berakhir tanpa diketahui oleh peserta jaringan, dan kesulitan untuk menyadarinya menjadikannya ideal sebagai 'batu loncatan' untuk meluncurkan serangan yang lebih kompleks pada blockchain.
Dengan mengaburkan pandangan beberapa node penambang dari jaringan, misalnya, serangan dapat membuat mereka memproses transaksi tidak sah yang seharusnya dibuang. Dengan demikian, terdapat pengeluaran ganda, di mana token blockchain yang sama digunakan dalam banyak transaksi, yang dilegitimasi oleh para penambang 'buta' yang tidak menyadari bahwa mereka menambang pada rantai yang tidak sah.
Hasil lain dari serangan eclipse adalah apa yang biasa disebut serangan 51%. Ini melibatkan pihak jahat yang mengendalikan lebih dari setengah kekuatan hashing blockchain serta menggunakannya untuk tujuan mereka sendiri. Serangan eclipse memungkinkan pelaku untuk membuat bagian jaringan itu menambang rantai yang tidak valid sebagai awal serangan semacam itu.
Sementara itu pada skala yang lebih kecil, serangan eclipse dapat menargetkan node tertentu untuk mengonfirmasi transaksi yang tidak sah. Mengingat bahwa pedagang dapat menerima transaksi tanpa konfirmasi alih-alih menunggu mereka mengonfirmasi, risiko menerima transaksi dengan koin yang telah digunakan meningkat.
Mirip dengan serangan zero-confirmation, serangan n-confirmation menargetkan pedagang dan penambang untuk mendapatkan transaksi tidak sah yang diterima di blok yang sebenarnya tidak valid.
Dalam situasi di atas, penambang akhirnya menghabiskan sumber daya tanpa imbalan, yang menyebabkan peningkatan biaya dan energi yang terbuang.
Bagaimana Mencegah Serangan Eclipse pada Jaringan <i>Blockchain</i>?
Sejak serangan eclipse pertama kali yang terkenal di tahun 2010an, jaringan blockchain telah beradaptasi untuk membuat eksekusi mereka lebih sulit — baik dari segi keamanan dan biaya.
Sistem Identifikasi <i>peer</i>
Saat memilih node mana yang akan terhubung di jaringan blockchain, setiap peserta dapat mengurangi risiko berkomunikasi dengan rekan yang tidak dikenal atau berpotensi tidak dapat dipercaya jika setiap node memiliki pengidentifikasi unik.
Proses pemilihgan <i>peer</i>
Pelaku serangan eclipse sangat bergantung pada node blockchain yang berkomunikasi dengan peer acak setiap kali mereka terhubung ke jaringan. Namun kini, ini tidak wajib, dan memungkinkan mengubah parameter jaringan sehingga node berinteraksi dengan peer secara berbeda, yang dapat membuat tugas penyerang menjadi lebih sulit.
Ada dua cara utama yang bisa dilakukan. Daripada terhubung grup yang sudah dikenal, node dapat terhubung pada peer acak, atau menggunakan penyisipan berulang dari alamat IP node tertentu yang dihubungkan dengan rekoneksi jangkauan — yang dikenal sebagai pemilihan node deterministik.
Mengendalikan koneksi masuk dan keluar
Cara kedua untuk mengurangi efektivitas potensi serangan eclipse adalah dengan meningkatkan jumlah koneksi keluar ke node lain. Di Bitcoin, ditemukan dalam makalah khusus tentang topik pada tahun 2015, ada lebih dari cukup ruang untuk melakukan ini tanpa risiko jaringan kehabisan kapasitas koneksi.
Pada makalah yang sama, yang memperkenalkan konsep serangan eclipse yang berkaitan dengan Bitcoin, menyoroti terlalu banyak jumlah koneksi masuk yang berasal dari alamat IP yang sama dengan praktik buruk. Ini malah harus didiversifikasi, sehingga membuat “sebuah node hanya menerima sejumlah koneksi dari alamat IP yang sama.”
Perbedaan Antara Serangan Eclipse vs Serangan Sybil
Pada masa awal aset kripto, serangan eclipse sebenarnya disebut serangan sybil, tetapi kedua fenomena itu sebenarnya berbeda.
Istilah "serangan eclipse" untuk Bitcoin secara khusus berasal dari makalah penelitian yang disebutkan di atas dari tahun 2015. Sampai saat itu, apa yang sekarang dikenal sebagai serangan eclipse disebut serangan sybil, sebagaimana dikonfirmasi oleh pengembang inti Bitcoin Peter Wuille.
Sekarang, bagaimanapun, serangan sybil mengacu pada pelaku jahat yang mengirim spam ke seluruh jaringan blockchain dalam upaya untuk mengubah fungsi atau etosnya. Ini berbeda dengan serangan eclipse, yang menargetkan node tertentu dan upaya untuk mengizinkan operasi khusus blockchain seperti membelanjakan dua kali token yang sama.
Pada jaringan yang sangat terdesentralisasi seperti Bitcoin, serangan sybil tidak terlalu diperhatikan oleh peserta jaringan. Ini karena PoW — sebuah node atau sekelompok node yang terindikasi beraktifitas aneh segera ditandai dan dikeluarkan dari konsensus.
Bagaimana Cara Menghindari Serangan Eclipse?
Bagian dari mengapa serangan eclipse dapat terjadi adalah karena sangat sulit bagi sebuah node untuk menyadari bahwa mereka adalah korbannya. Juga tidak mungkin bahwa peserta jaringan akan curiga bahwa transaksi mereka dikompromikan oleh serangan semacam itu.
Ada beberapa langkah yang dapat mengurangi potensi serangan.
- Jalankan node independen. Dengan demikian, tanggung jawab sebagian besar berpusat pada Anda sebagai operator node dan bukan pihak ketiga. Node yang independen penuh juga berkontribusi pada keamanan jaringan secara keseluruhan.
- Gunakan dompet Anda sendiri. Jangan mengandalkan perangkat lunak massal saat menjalankan node, karena kontrol yang akan dikorbankan demi kenyamanan dan paparan masalah host.
- Jangan secara otomatis mempercayai transaksi di blockchain. Menerima transaksi tanpa konfirmasi, berpotensi meningkatkan kemungkinan menjadi korban serangan penggunaan token ganda.
- Seperti disebutkan di atas, periksa dan atur koneksi node masuk dan keluar, batasi koneksi masuk dan keluar jika memungkinkan.
Pertanyaan Umum Serangan Eclipse
Apa itu serangan eclipse?
Serangan eclipse adalah bentuk serangan jaringan blockchain yang menargetkan node tertentu untuk memotongnya dari sisa jaringan, seringkali untuk membuat mereka memvalidasi data palsu.
Apa itu serangan <i>sybil </i>pada<i> blockchain? </i>
Serangan sybil sekarang mengacu pada penargetan node secara massal pada jaringan blockchain, bukan individu seperti dalam serangan eclipse. Seorang aktor jahat dapat mencapai hasil yang berbeda tergantung pada jenis serangan yang digunakan.
Apa yang bisa terjadi pada serangan <i>eclipse</i>?
Serangan eclipse bekerja membuat node memvalidasi data palsu yang tidak akan diterima oleh jaringan lainnya, misalnya mengizinkan pengeluaran ganda dari koin yang sama. Penyerang dapat menggunakan serangan eclipse sebagai batu loncatan untuk serangan yang lebih besar, seperti serangan 51%.
Bagaimana cara menghindari serangan <i>eclipse</i>?
Ada berbagai langkah pencegahan yang dapat dilakukan untuk menghindari menjadi korban serangan eclipse, yang mungkin sulit dideteksi apabila sudah terjadi. Ini termasuk memeriksa koneksi masuk untuk node dan menunggu beberapa konfirmasi sebelum menerima transaksi sebagai selesai.