Apa yang dimaksud dengan Serangan Eclipse?
HomeArticles

Apa yang dimaksud dengan Serangan Eclipse?

Tingkat Lanjut
2mo ago
6m

Daftar isi


Serangan eclipse adalah serangan yang relatif sederhana yang dilakukan oleh oknum jahat untuk mengganggu nodes dalam sebuah jaringan. Sama seperti namanya, serangan ini bertujuan untuk mengaburkan pandangan partisipan jaringan peer-to-peer, untuk menyebabkan gangguan umum, atau untuk mempersiapkan serangan yang lebih canggih.

Mungkin serangan eclipse terdengar mirip dengan serangan Sybil. Walaupun kedua serangan ini memiliki kesamaan dalam hal tertentu – oknum jahat membanjiri jaringan dengan peers palsu – tetapi memiliki tujuan akhir yang berbeda. Serangan eclipse menyerang satu node (dengan alasan yang akan dijelaskan di bagian selanjutnya), sementara serangan Sybil adalah serangan jaringan-luas yang dirancang untuk mempermainkan sistem reputasi protokol.

Konsep ini didiskusikan dalam sebuah paper Serangan Eclipse pada Jaringan Peer-to-Peer Bitcoin pada tahun 2015, di mana para peneliti dari Boston University dan Hebrew University melaporkan temuan mereka dari percobaan dalam membuat serangan eclipse, serta kemungkinan tindakan balasan untuk memeranginya.


Bagaimana cara kerja serangan eclipse

Penambang Bitcoin membutuhkan peralatan khusus untuk menciptakan blok-blok baru, tetapi nodes yang tidak menambang (atau penuh) dapat dengan mudah dijalankan pada daya komputasi minimal. Ini membantu desentralisasi Bitcoin, karena siapa pun dapat menjalankan node pada perangkat dengan spesifikasi rendah. Perangkat lunak ini mengelola database transaksi yang disinkronkan dengan peers terdekatnya, sehingga tetap terhubung dengan jaringan.

Faktor pembatas bagi banyak node adalah bandwidth. Meskipun ada sejumlah besar perangkat yang menjalankan perangkat lunak, kebanyakan perangkat ini tidak dapat terhubung langsung ke perangkat lainnya karena keterbatasan yang dipasang dalam perangkat lunak Bitcoin (yang hanya mengizinkan maksimum 125 koneksi).

Dalam serangan eclipse, oknum jahat akan memastikan bahwa semua koneksi target dibuat untuk node yang dikendalikan oleh penyerang. Entitas akan terlebih dahulu membanjiri target dengan alamat IP-nya sendiri, yang kemungkinan akan terknoneksi dengan korban setelah merestart perangkat lunak mereka. Proses restart dapat dipaksakan (contohnya dengan serangan DDoS terhadap target), atau penyerang menunggu sampai proses ini terjadi. 

Keika ini terjadi, korban yang tidak sadar ada dalam kendali nodes jahat –  tanpa melihat jaringan yang lebih luas, mereka dapat diberi data yang salah oleh penyerang.


Akibat serangan eclipse

Jika penyerang memperluas resources untuk mengasingkan satu peer dari jaringan, mereka kemungkinan memiliki motif dibaliknya. Beberapa serangan berturut-turut dapat lebih mudah diluncurkan setelah sebuah node dilemahkan.


double spends 0-konfirmasi

Jika seseorang menerima transaksi tanpa konfirmasi, mereka berisiko mengalami pengeluaran ganda/double spend. Transaksi mungkin telah dibroadcast, tetapi jika belum dimasukkan ke dalam blok (dan kemudian dimasukkan ke blockchain), pengirim dapat dengan mudah membuat transaksi baru yang menghabiskan dana dengan jumlah yang sama di tempat lain. Jika transaksi baru memiliki biaya lebih tinggi, penambang kemungkinan akan memasukkannya sebelum yang asli, membatalkan yang sebelumnya. 

Beberapa bisnis dan individu menerima transaksi 0-konfirmasi ini. Bayangkan seorang pedagang, Bob, yang menjual kendaraan kelas atas. Dia tidak menyadari bahwa Alice telah menaklukkan nodenya, dan tidak curiga ketika dia memesan mobil sport mewah. Alice menciptakan transaksi, yang kemudian dibroadcast oleh Bob ke jaringan. Puas karena pembayaran sedang berlangsung, Bob menyerahkan kunci mobil dan Alice langsung cepat pergi.

Tentu saja, transaksi itu tidak dibroadcast ke jaringan – Bob hanya menyampaikannya ke nodes jahat Alice, yang tidak akan meneruskannya ke nodes jujur. Sementara transaksi ini menggantung, Alice menghabiskan dana yang sama di jaringan (nyata), baik ke pihak lain atau ke alamat yang dimilikinya. Bahkan meskipun transaksi awal untuk Bob akhirnya terlihat, itu akan ditolak karena koin sudah dihabiskan.


Double spends N-konfirmasi

Double spends N-konfirmasi mirip dengan 0-konfirmasi, tetapi membutuhkan persiapan yang lebih. Banyak bisnis lebih memilih untuk menunggu beberapa konfirmasi sebelum menandai pembayaran valid. Untuk melakukan ini penyerang harus menaklukkan penambang dan juga pedagang. Setelah penyerang mengatur pesanan dengan pedagang, mereka membroadcast transaksi ke penambang (yang ditaklukkan). Transaksi dikonfirmasi dan dimasukkan ke blockchain – tetapi blockchain ini bukanlah chain yang diamati mayoritas jaringan, karena penambang telah teputus koneksinya.

Dari sana, penyerang meneruskan versi ini ke blockchain pedagang, yang mengeluarkan barang-barang karena percaya bahwa transaksi telah dikonfirmasi. Ketika node yang ditaklukkan bergabung kembali dengan jaringan yang sebenarnya, jaringan yang sebelumnya dipercaya valid dijadikan yatim oleh salah satu jaringan yang selama ini terhubung (Ini mirip dengan serangan 51%).


Memperlemah penambang yang bersaing

Node yang ditaklukkan oleh penyerang akan terus beroperasi, tidak menyadari bahwa mereka telah dipisahkan dari jaringan. Penambang akan terus menambang blok dalam aturan yang ditetapkan oleh protokol, tetapi blok yang ditambahkan akan dibuang saat disinkronkan dengan peers jujur. 

Secara teoritis, serangan eclipse dalam skala besar terhadap penambang besar dapat digunakan untuk mempermudah serang 51%. Dalam kondisi saat ini, biaya untuk mengambil alih daya hashing mayoritas Bitcoin sangat tinggi bahkan untuk penyerang yang paling licik – ~80TH/s, entitas akan butuh lebih dari 40TH/s untuk melakukan manuver seperti itu. 

Dalam skenario hipotetis di mana daya hashing ini didistribusikan antara 10 pihak (sehingga masing-masing memiliki 8TH/s), penyerang dapat secara signifikan menurunkan persyaratan untuk serangan 51% dengan memotong pihak-pihak ini dari jaringan. Jika lima ditaklukkan, 40TH/s dihapus dari perlombaan untuk menemukan blok berikutnya, dan penyerang sekarang hanya perlu memperoleh sedikit di atas 20TH/s untuk mengambil kendali.

Sabotase lain yang dapat dicapai dengan menaklukkan target adalah manipulasi nodes untuk penambangan egois, atau rekayasa perlombaan antar penambang untuk menemukan blok berikutnya.


Mitigasi

Dengan alamat IP yang cukup, seorang penyerang dapat menaklukkan node. Metode yang paling mudah untuk mencegah ini terjadi adalah dengan memblok koneksi masuk oleh operator, dan membuat koneksi keluar hanya untuk nodes khusus (seperti misalnya yang sudah ditandai whitelisted oleh peers yang lain). Seperti yang ditunjukkan oleh makalah penelitian, ini bukan pendekatan yang bekerja pada skala besar – jika semua partisipan mengadopsi langkah-langkah ini, node baru tidak akan dapat bergabung dengan jaringan.

Para penulis mengusulkan beberapa penyesuaian pada perangkat lunak Bitcoin, beberapa di antaranya telah terintegrasi sejak makalah diluncurkan. Ini membuat serangan eclipse lebih mahal melalui modifikasi kecil pada kode, seperti pemilihan acak koneksi baru dan kapasitas yang lebih besar untuk menyimpan alamat.


Penutup

Serangan eclipse dilakukan pada level peer-to-peer, dipasang sebagai serangan tunggal, serangan ini dapat menjadi gangguan merugikan. Tujuan efektif serangan ini sebenarnya adalah untuk mempermudah potensi serangan lainnya yang targetnya adalah dampak finansial, atau memberikan penyerang keuntungan di sisi pertambangan.

Belum ada konsekuensi serius yang dihasilkan dari serangan eclipse, tetapi ancaman masih ada terlepas dari tindakan pencegahan yang diintegrasikan ke dalam jaringan. Seperti sebagian besar vektor serangan yang ada terhadap Bitcoin dan mata uang kripto lainnya, pertahanan terkuat adalah yang menjadikannya secara finansial sangat sulit bagi pihak jahat untuk mencobanya.