Membongkar Implikasi Keamanan Struktur Biaya dalam sebuah protokol CDP

Lanjutan11/26/2024, 6:59:35 AM
Artikel ini bertujuan untuk mengeksplorasi peran penting biaya pinjaman satu kali dan biaya penarikan dalam konteks ini. Dengan memeriksa skenario eksploitasi khusus yang dapat timbul tanpa biaya ini, saya akan menunjukkan bagaimana struktur biaya yang tepat sangat penting untuk mencegah serangan yang merusak, sehingga memastikan keamanan jangka panjang dan keberlanjutan protokol.

Pengantar

Di dunia DeFi yang terus berkembang dengan cepat, memastikan stabilitas dan keamanan protokol adalah hal yang penting. Selama tinjauan keamanan terbaru dari proyek CDP, saya melihat bagaimana kerentanan spesifik bisa muncul dalam konfigurasi tertentu. Meskipun pengaturan parameter saat ini dalam proyek ini kuat, memahami risiko potensial ini sangat penting untuk menjaga integritas protokol.

Artikel ini bertujuan untuk menjelajahi peran kritis yang dimainkan oleh biaya pinjaman sekali pakai dan biaya penarikan dalam konteks ini. Dengan memeriksa skenario eksploitasi spesifik yang bisa muncul tanpa biaya ini, saya akan menunjukkan bagaimana struktur biaya yang tepat sangat penting untuk mencegah serangan yang merusak, sehingga memastikan keamanan jangka panjang dan keberlanjutan protokol.

Ikhtisar Mekanisme CDP Protokol

Mengambil inspirasi dari salah satu protokol asli, Liquity, dan turunannya, banyak model CDP (Collateralized Debt Position) menghasilkan stablecoin terdesentralisasi melalui over-collateralization. Model-model ini seringkali menggabungkan serangkaian mekanisme yang kompleks namun canggih yang dirancang untuk menjaga peg ke dolar AS sambil memastikan keamanan protokol dalam berbagai kondisi, yang secara efektif meminimalkan risiko utang buruk. Protokol-protokol ini membedakan diri melalui penyesuaian kunci, termasuk insentif ekonomi yang disesuaikan yang lebih erat sesuai dengan tujuan khusus protokol.

Konsep Kunci Protokol

  1. Meminjam
  • Pengguna dapat memanfaatkan jaminan mereka untuk meminjam stablecoin protokol.
  • Jaminan disimpan ke dalam Trove - sebuah brankas yang menyimpan jaminan dan melacak hutang terkait.
  1. Rasio Jaminan (CR)
  • Rasio Jaminan adalah rasio jaminan terhadap utang stablecoin dalam sebuah Trove.
  • Protokol menerapkan rasio jaminan minimum (MCR) sebesar 110%, artinya untuk setiap $1.000 stablecoin yang dipinjam, minimal harus ada $1.100 nilai jaminan yang dipegang.
  1. Penebusan
  • Untuk menjaga agar stablecoin tetap terikat dengan dolar AS, pengguna dapat menukarkan stablecoin dengan agunan yang mendasarinya dengan nilai 1 stablecoin sama dengan $1 agunan.
  • Selama penebusan, sistem memilih Troves dengan Collateral Ratio (CR) terendah untuk memenuhi penebusan, yang berarti bahwa pengguna dengan posisi paling berisiko adalah yang pertama kali ditebus.
  1. Likuidasi
  • Jika CR dari Trove jatuh di bawah MCR, Trove tersebut akan mengalami likuidasi.
  • Selama likuidasi, stablecoin di Stability Pool digunakan untuk melunasi utang, dan jaminan yang sesuai didistribusikan kembali ke Stability Pool, menguntungkan para pemegang saham.
  1. Mode Pemulihan
  • Mode Pemulihan diaktifkan ketika Total Collateral Ratio (TCR) dari seluruh sistem turun di bawah 150%.
  • Selama mode ini, hanya Troves dengan CR di atas TCR yang dapat dibuat, dan likuidasi diprioritaskan untuk memulihkan kesehatan sistem secara keseluruhan.
  • Dalam Mode Pemulihan, Troves dengan CR di bawah TCR dapat dilikuidasi, meskipun CR mereka di atas minimum collateral ratio (MCR). Ini dilakukan untuk mengembalikan kesehatan sistem secara keseluruhan.
  • Operasi pinjam dan bayar yang akan membawa sistem ke dalam Mode Pemulihan dilarang.

Memahami Biaya Penebusan Satu Kali dan Biaya Peminjaman

Biaya Penebusan

Biaya penarikan dikenakan saat pengguna menebus stablecoin protokol untuk jaminan yang mendasarinya. Biaya ini dirancang untuk menstabilkan nilai stablecoin dengan membuat proses penarikan lebih mahal ketika penarikan sering terjadi, sehingga mencegah penarikan berlebihan yang dapat mengganggu protokol.

Biaya pengambilan kembali dihitung berdasarkan baseRate protokol, parameter penyesuaian dinamis yang mencerminkan aktivitas terkini dalam sistem. Secara khusus, baseRate meningkat dengan setiap pengambilan kembali, membuat pengambilan kembali selanjutnya menjadi lebih mahal.

Kenaikan ini sebanding dengan fraksi dari total pasokan stablecoin yang ditebus. Seiring waktu, jika tidak ada penebusan terjadi, baseRate secara bertahap terurai kembali menjadi nol, dengan setengah kehidupan sekitar 12 jam.

Biaya pencairan dihitung menggunakan rumus:

Misalnya, jika baseRate adalah 1% dan pengguna menebus 100 stablecoin ketika harga jaminan adalah $50.000, biaya penarikan akan menjadi:

Dengan demikian, pengguna akan menerima jaminan agak lebih sedikit setelah memperhitungkan biaya penarikan. Mekanisme ini memastikan bahwa penarikan tetap masuk akal secara ekonomi sambil melindungi protokol dari aktivitas arbitrase yang dapat membuat destabilisasi.

Biaya Pinjaman

Biaya pinjaman adalah biaya satu kali lagi yang dikenakan saat pengguna meminjam stablecoin terhadap jaminan mereka. Biaya ini juga didasarkan pada baseRate, namun dikenakan saat stablecoin ditarik dari Trove pengguna (suatu kontrak gudang yang memegang jaminan dan utang pengguna).

Biaya pinjaman dihitung sebagai berikut:

Sebagai contoh, jika seorang pengguna ingin meminjam 4.000 stablecoin dan baseRate diatur pada 0,5%, maka biayanya adalah:

Biaya ini ditambahkan ke utang pengguna, artinya total utang mereka akan menjadi jumlah yang dipinjam ditambah biaya (misalnya, 4.000 stablecoin + 20 stablecoin = 4.020 stablecoin).

Biaya-biaya ini juga berfungsi sebagai pegs lunak, secara tidak langsung mempengaruhi harga pasar stablecoin dengan membuatnya kurang menarik untuk dipinjam atau ditebus dalam kondisi tertentu, dengan demikian membantu menjaga stablecoin tetap berpegangan erat dengan $1.

Sekarang, mari kita jelajahi apa yang bisa terjadi jika biaya-biaya penting ini dihapus atau diatur menjadi nol.

Skenario Eksploitasi Tanpa Biaya Penebusan Satu Kali

Zero Slippage Swap DEX

Tanpa biaya penebusan satu kali, protokol bisa secara tidak sengaja berubah menjadi DEX pertukaran nol selip. Dalam skenario seperti itu, pemegang stablecoin besar bisa memanfaatkan mekanisme penebusan untuk menukar stablecoin dengan agunan tanpa mengeluarkan biaya yang signifikan, efektif melakukan perdagangan arbitrase dalam skala besar. Hal ini bisa menyebabkan beberapa hasil negatif, karena dalam lingkungan nol selip ini, penebusan dalam skala besar tidak hanya akan menguras likuiditas protokol tetapi juga memaksa peminjam untuk menjual agunannya dengan harga pasar saat ini. Meskipun utang mereka akan berkurang sesuai, likuidasi paksa ini bisa meningkatkan biaya operasional bagi pengguna, terutama jika stablecoin diperdagangkan di bawah $1.

Selain itu, ada risiko front-running oracle: jika pengguna memperhatikan bahwa transaksi akan memperbarui oracle harga jaminan untuk mencerminkan harga yang lebih tinggi, mereka dapat dengan cepat menebus sejumlah besar stablecoin sebelum pembaruan harga. Setelah harga jaminan diperbarui dan naik, pengguna dapat menjual jaminan yang ditebus dengan untung, menyelesaikan siklus arbitrase. Praktik ini tidak hanya mengeksploitasi protokol tetapi juga merugikan peminjam, karena mereka mungkin terpaksa menjual jaminan mereka dengan harga yang kurang menguntungkan.

Skenario Eksploitasi Tanpa Biaya Pinjaman Sekali Pakai

Manipulasi Biaya Penebusan

Salah satu skenario eksploitasi paling langsung melibatkan memanipulasi biaya penebusan untuk mengurangi biaya. Pada protokol di mana tidak ada biaya pinjaman satu kali, pengguna dapat meminjam jumlah besar stablecoin, secara artifisial membesarkan total hutang protokol. Setelah hutang tersebut terbengkala, mereka dapat menebus stablecoin mereka dengan biaya lebih rendah, karena biaya penebusan dihitung berdasarkan rasio ukuran penebusan terhadap total hutang.

Manipulasi ini merusak struktur biaya yang dimaksudkan dalam protokol, menyebabkan pendapatan yang berkurang bagi protokol dan dapat mengganggu sistem. Sebagai contoh, penyerang dapat menggunakan pinjaman kilat untuk meminjam sejumlah besar agunan, yang kemudian mereka gunakan untuk mencetak sejumlah besar stablecoin, dengan demikian meningkatkan utang total sistem. Mereka kemudian melakukan operasi penebusan, memanfaatkan biaya yang berkurang akibat utang yang terlalu tinggi, dan akhirnya membayar pinjaman kilat, meninggalkan protokol dengan pendapatan yang lebih sedikit dari yang diharapkan dan dapat menyebabkan ketidakstabilan lebih lanjut bagi pengguna yang mungkin tidak mengantisipasi menjadi sasaran penebusan.

Memaksa Mode Pemulihan Sistem melalui Transaksi Pembaruan Oracle Sandwich

Kerentanan kritis lainnya muncul dari kemampuan untuk memaksa protokol masuk ke Mode Pemulihan dalam satu blok, sehingga memungkinkan likuidasi posisi dengan rasio jaminan sebelumnya yang sehat. Eksploitasi ini bergantung pada memanfaatkan pinjaman kilat dan waktu serangan sekitar pembaruan harga oracle.

Serangan itu terungkap sebagai berikut:

  1. Flashloan dan Pinjam:

Penyerang pertama-tama menggunakan pinjaman kilat untuk meminjam sejumlah besar jaminan, yang kemudian disimpan sebagai jaminan dalam protokol. Dengan menggunakan jaminan ini, penyerang meminjam stablecoin pada Rasio Jaminan Minimum (MCR). Penyerang dapat melakukan tindakan ini untuk menurunkan Rasio Jaminan Total (TCR) menjadi 150%, ambang batas untuk memicu Mode Pemulihan.

  1. Pembaruan Harga Oracle:

Penyerang menunggu pembaruan oracle yang mencerminkan penurunan harga jaminan. Saat harga yang lebih rendah diperbarui dalam sistem, nilai jaminan turun, menyebabkan TCR jatuh di bawah 150%.

  1. Memicu Mode Pemulihan dan Likuidasi:

Dengan TCR sekarang di bawah 150%, protokol secara otomatis memasuki Mode Pemulihan. Dalam keadaan ini, protokol memungkinkan likuidasi Troves dengan Collateral Ratio (CR) di bawah TCR baru. Penyerang kemudian dapat melanjutkan untuk melikuidasi Troves pengguna lain yang sekarang memiliki CR di bawah TCR, menyebabkan kerugian bagi mereka dan mendapatkan keuntungan dari hadiah likuidasi.

Memaksa Mode Pemulihan Sistem melalui Penebusan yang Dibuat

Mengembangkan skenario serangan sebelumnya, eksploitasi canggih ini memungkinkan penyerang untuk memaksa protokol masuk ke Mode Pemulihan melalui proses penebusan yang dirancang dengan hati-hati. Berbeda dengan serangan sebelumnya, yang mungkin sementara mengembalikan sistem ke mode normal setelah likuidasi, metode ini memastikan sistem tetap berada dalam Mode Pemulihan, memungkinkan penyerang untuk secara berulang kali mengeksploitasi kerentanan.

Isu inti, yang muncul ketika sistem mendukung berbagai jenis agunan, masing-masing dikelola oleh Manajer Trove yang berbeda, terletak pada potensi penurunan Total Collateral Ratio (TCR) di seluruh sistem setelah penarikan, bahkan ketika kesehatan individu Manajer Trove membaik. Hasil yang kontra-intuitif ini adalah hasil dari interaksi kompleks antara rasio agunan global dan lokal.

Sebagai contoh, pertimbangkan sebuah skenario di mana TCR sistem berada pada 150%.

Jika pengguna menebus dengan rasio jaminan 160% terhadap Trove, yang menyebabkan Trove tersebut ditutup, perhitungan yang dihasilkan akan mendorong TCR di bawah 150%, memicu Mode Pemulihan.

Serangan itu terungkap sebagai berikut:

  1. Penyiapan Posisi Awal:

Penyerang membuka posisi minimal dengan rasio agunan sedikit di atas 150% dalam Trove yang dipilih dengan hati-hati. Penyiapan ini penting untuk memastikan bahwa penarikan kembali langkah berikutnya secara efektif menurunkan TCR di bawah ambang batas kritis.

  1. Manipulasi TCR:

Penyerang menggunakan pinjaman kilat untuk membuka posisi lain dengan rasio agunan pada Minimum Collateral Ratio (MCR) sebesar 110% di Manajer Trove mana pun, menurunkan Total Collateral Ratio (TCR) sistem menjadi tepat 150%. Langkah ini mempersiapkan sistem untuk Mode Pemulihan.

  1. Penebusan yang Dibuat:

Pelaku kemudian menebus posisi yang dibuka pada langkah pertama. Karena posisi ini memiliki CR sedikit di atas 150%, menebusnya menyebabkan TCR turun di bawah 150%, sehingga memicu Mode Pemulihan. Penebusan tersebut tidak hanya mempengaruhi Trove tertentu yang ditebus tetapi juga menyebabkan efek sistemik yang mendorong TCR masuk ke Mode Pemulihan.

  1. Likuidasi Posisi Rentan:

Dengan sistem sekarang dalam Mode Pemulihan, penyerang dapat melikuidasi posisi apa pun dengan rasio jaminan di bawah 150%. Likuidasi ini mungkin mengembalikan TCR di atas 150%.

  1. Ulangi Proses:

Penyerang dapat mengulangi langkah-langkah tersebut sesuai kebutuhan, menjaga sistem dalam keadaan Mode Pemulihan untuk terus mengeksploitasi Troves dengan rasio jaminan di bawah 150%.

Peran Biaya Penebusan Sekali Saja dan Biaya Pinjaman dalam Memitigasi Serangan-serangan Ini

Dampak Ekonomi dari Biaya pada Vektor Serangan

Biaya pengambilan sekali dan biaya pinjaman memainkan peran penting dalam mitigasi risiko yang terkait dengan vektor serangan yang dijelaskan di atas. Dengan memperkenalkan biaya untuk meminjam dan menebus, biaya-biaya ini membuatnya ekonomis tidak memungkinkan bagi penyerang untuk melakukan manipulasi yang menguntungkan dalam skala besar dalam kebanyakan kasus.

Sebagai contoh, dalam skenario manipulasi biaya penebusan, biaya pinjaman satu kali akan meningkatkan biaya inflasi utang sistem, sehingga tidak menguntungkan bagi penyerang untuk mengeksploitasi biaya penebusan. Demikian juga, dalam skenario di mana penyerang mencoba memicu Mode Pemulihan, biaya pinjaman akan bertindak sebagai penghalang dengan meningkatkan biaya mengambil jumlah utang yang besar untuk memanipulasi TCR.

Pemikiran Akhir tentang Mengamankan Protokol DeFi

Saat DeFi berkembang, protokol akan menghadapi serangan yang semakin canggih. Untuk tetap unggul, penting untuk memahami bagaimana fitur-fitur yang berbeda berinteraksi dan berpotensi menciptakan kerentanan. Keamanan yang efektif memerlukan pemahaman yang mendalam tentang bagaimana komponen-komponen sistem yang berbeda berinteraksi, serta perhatian yang hati-hati terhadap pengaturan dan parameter yang mengatur interaksi tersebut. Dengan secara proaktif memperkirakan cara fitur-fitur dapat digabungkan untuk menciptakan kerentanan, para perancang dapat membangun protokol yang tidak hanya aman tetapi juga tangguh dan dapat beradaptasi dengan tantangan di masa depan.

Disclaimer:

  1. Artikel ini dicetak ulang dari [SunSec)]. Semua hak cipta milik penulis asli [Bill]. Jika ada keberatan dengan cetak ulang ini, silakan hubungi Gate Belajartim, dan mereka akan menanganinya dengan segera.
  2. Penyangkalan Tanggung Jawab: Pandangan dan opini yang terdapat dalam artikel ini semata-mata milik penulis dan tidak merupakan saran investasi apa pun.
  3. Tim Belajar gate melakukan terjemahan artikel ke dalam bahasa lain. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel yang diterjemahkan dilarang.

Membongkar Implikasi Keamanan Struktur Biaya dalam sebuah protokol CDP

Lanjutan11/26/2024, 6:59:35 AM
Artikel ini bertujuan untuk mengeksplorasi peran penting biaya pinjaman satu kali dan biaya penarikan dalam konteks ini. Dengan memeriksa skenario eksploitasi khusus yang dapat timbul tanpa biaya ini, saya akan menunjukkan bagaimana struktur biaya yang tepat sangat penting untuk mencegah serangan yang merusak, sehingga memastikan keamanan jangka panjang dan keberlanjutan protokol.

Pengantar

Di dunia DeFi yang terus berkembang dengan cepat, memastikan stabilitas dan keamanan protokol adalah hal yang penting. Selama tinjauan keamanan terbaru dari proyek CDP, saya melihat bagaimana kerentanan spesifik bisa muncul dalam konfigurasi tertentu. Meskipun pengaturan parameter saat ini dalam proyek ini kuat, memahami risiko potensial ini sangat penting untuk menjaga integritas protokol.

Artikel ini bertujuan untuk menjelajahi peran kritis yang dimainkan oleh biaya pinjaman sekali pakai dan biaya penarikan dalam konteks ini. Dengan memeriksa skenario eksploitasi spesifik yang bisa muncul tanpa biaya ini, saya akan menunjukkan bagaimana struktur biaya yang tepat sangat penting untuk mencegah serangan yang merusak, sehingga memastikan keamanan jangka panjang dan keberlanjutan protokol.

Ikhtisar Mekanisme CDP Protokol

Mengambil inspirasi dari salah satu protokol asli, Liquity, dan turunannya, banyak model CDP (Collateralized Debt Position) menghasilkan stablecoin terdesentralisasi melalui over-collateralization. Model-model ini seringkali menggabungkan serangkaian mekanisme yang kompleks namun canggih yang dirancang untuk menjaga peg ke dolar AS sambil memastikan keamanan protokol dalam berbagai kondisi, yang secara efektif meminimalkan risiko utang buruk. Protokol-protokol ini membedakan diri melalui penyesuaian kunci, termasuk insentif ekonomi yang disesuaikan yang lebih erat sesuai dengan tujuan khusus protokol.

Konsep Kunci Protokol

  1. Meminjam
  • Pengguna dapat memanfaatkan jaminan mereka untuk meminjam stablecoin protokol.
  • Jaminan disimpan ke dalam Trove - sebuah brankas yang menyimpan jaminan dan melacak hutang terkait.
  1. Rasio Jaminan (CR)
  • Rasio Jaminan adalah rasio jaminan terhadap utang stablecoin dalam sebuah Trove.
  • Protokol menerapkan rasio jaminan minimum (MCR) sebesar 110%, artinya untuk setiap $1.000 stablecoin yang dipinjam, minimal harus ada $1.100 nilai jaminan yang dipegang.
  1. Penebusan
  • Untuk menjaga agar stablecoin tetap terikat dengan dolar AS, pengguna dapat menukarkan stablecoin dengan agunan yang mendasarinya dengan nilai 1 stablecoin sama dengan $1 agunan.
  • Selama penebusan, sistem memilih Troves dengan Collateral Ratio (CR) terendah untuk memenuhi penebusan, yang berarti bahwa pengguna dengan posisi paling berisiko adalah yang pertama kali ditebus.
  1. Likuidasi
  • Jika CR dari Trove jatuh di bawah MCR, Trove tersebut akan mengalami likuidasi.
  • Selama likuidasi, stablecoin di Stability Pool digunakan untuk melunasi utang, dan jaminan yang sesuai didistribusikan kembali ke Stability Pool, menguntungkan para pemegang saham.
  1. Mode Pemulihan
  • Mode Pemulihan diaktifkan ketika Total Collateral Ratio (TCR) dari seluruh sistem turun di bawah 150%.
  • Selama mode ini, hanya Troves dengan CR di atas TCR yang dapat dibuat, dan likuidasi diprioritaskan untuk memulihkan kesehatan sistem secara keseluruhan.
  • Dalam Mode Pemulihan, Troves dengan CR di bawah TCR dapat dilikuidasi, meskipun CR mereka di atas minimum collateral ratio (MCR). Ini dilakukan untuk mengembalikan kesehatan sistem secara keseluruhan.
  • Operasi pinjam dan bayar yang akan membawa sistem ke dalam Mode Pemulihan dilarang.

Memahami Biaya Penebusan Satu Kali dan Biaya Peminjaman

Biaya Penebusan

Biaya penarikan dikenakan saat pengguna menebus stablecoin protokol untuk jaminan yang mendasarinya. Biaya ini dirancang untuk menstabilkan nilai stablecoin dengan membuat proses penarikan lebih mahal ketika penarikan sering terjadi, sehingga mencegah penarikan berlebihan yang dapat mengganggu protokol.

Biaya pengambilan kembali dihitung berdasarkan baseRate protokol, parameter penyesuaian dinamis yang mencerminkan aktivitas terkini dalam sistem. Secara khusus, baseRate meningkat dengan setiap pengambilan kembali, membuat pengambilan kembali selanjutnya menjadi lebih mahal.

Kenaikan ini sebanding dengan fraksi dari total pasokan stablecoin yang ditebus. Seiring waktu, jika tidak ada penebusan terjadi, baseRate secara bertahap terurai kembali menjadi nol, dengan setengah kehidupan sekitar 12 jam.

Biaya pencairan dihitung menggunakan rumus:

Misalnya, jika baseRate adalah 1% dan pengguna menebus 100 stablecoin ketika harga jaminan adalah $50.000, biaya penarikan akan menjadi:

Dengan demikian, pengguna akan menerima jaminan agak lebih sedikit setelah memperhitungkan biaya penarikan. Mekanisme ini memastikan bahwa penarikan tetap masuk akal secara ekonomi sambil melindungi protokol dari aktivitas arbitrase yang dapat membuat destabilisasi.

Biaya Pinjaman

Biaya pinjaman adalah biaya satu kali lagi yang dikenakan saat pengguna meminjam stablecoin terhadap jaminan mereka. Biaya ini juga didasarkan pada baseRate, namun dikenakan saat stablecoin ditarik dari Trove pengguna (suatu kontrak gudang yang memegang jaminan dan utang pengguna).

Biaya pinjaman dihitung sebagai berikut:

Sebagai contoh, jika seorang pengguna ingin meminjam 4.000 stablecoin dan baseRate diatur pada 0,5%, maka biayanya adalah:

Biaya ini ditambahkan ke utang pengguna, artinya total utang mereka akan menjadi jumlah yang dipinjam ditambah biaya (misalnya, 4.000 stablecoin + 20 stablecoin = 4.020 stablecoin).

Biaya-biaya ini juga berfungsi sebagai pegs lunak, secara tidak langsung mempengaruhi harga pasar stablecoin dengan membuatnya kurang menarik untuk dipinjam atau ditebus dalam kondisi tertentu, dengan demikian membantu menjaga stablecoin tetap berpegangan erat dengan $1.

Sekarang, mari kita jelajahi apa yang bisa terjadi jika biaya-biaya penting ini dihapus atau diatur menjadi nol.

Skenario Eksploitasi Tanpa Biaya Penebusan Satu Kali

Zero Slippage Swap DEX

Tanpa biaya penebusan satu kali, protokol bisa secara tidak sengaja berubah menjadi DEX pertukaran nol selip. Dalam skenario seperti itu, pemegang stablecoin besar bisa memanfaatkan mekanisme penebusan untuk menukar stablecoin dengan agunan tanpa mengeluarkan biaya yang signifikan, efektif melakukan perdagangan arbitrase dalam skala besar. Hal ini bisa menyebabkan beberapa hasil negatif, karena dalam lingkungan nol selip ini, penebusan dalam skala besar tidak hanya akan menguras likuiditas protokol tetapi juga memaksa peminjam untuk menjual agunannya dengan harga pasar saat ini. Meskipun utang mereka akan berkurang sesuai, likuidasi paksa ini bisa meningkatkan biaya operasional bagi pengguna, terutama jika stablecoin diperdagangkan di bawah $1.

Selain itu, ada risiko front-running oracle: jika pengguna memperhatikan bahwa transaksi akan memperbarui oracle harga jaminan untuk mencerminkan harga yang lebih tinggi, mereka dapat dengan cepat menebus sejumlah besar stablecoin sebelum pembaruan harga. Setelah harga jaminan diperbarui dan naik, pengguna dapat menjual jaminan yang ditebus dengan untung, menyelesaikan siklus arbitrase. Praktik ini tidak hanya mengeksploitasi protokol tetapi juga merugikan peminjam, karena mereka mungkin terpaksa menjual jaminan mereka dengan harga yang kurang menguntungkan.

Skenario Eksploitasi Tanpa Biaya Pinjaman Sekali Pakai

Manipulasi Biaya Penebusan

Salah satu skenario eksploitasi paling langsung melibatkan memanipulasi biaya penebusan untuk mengurangi biaya. Pada protokol di mana tidak ada biaya pinjaman satu kali, pengguna dapat meminjam jumlah besar stablecoin, secara artifisial membesarkan total hutang protokol. Setelah hutang tersebut terbengkala, mereka dapat menebus stablecoin mereka dengan biaya lebih rendah, karena biaya penebusan dihitung berdasarkan rasio ukuran penebusan terhadap total hutang.

Manipulasi ini merusak struktur biaya yang dimaksudkan dalam protokol, menyebabkan pendapatan yang berkurang bagi protokol dan dapat mengganggu sistem. Sebagai contoh, penyerang dapat menggunakan pinjaman kilat untuk meminjam sejumlah besar agunan, yang kemudian mereka gunakan untuk mencetak sejumlah besar stablecoin, dengan demikian meningkatkan utang total sistem. Mereka kemudian melakukan operasi penebusan, memanfaatkan biaya yang berkurang akibat utang yang terlalu tinggi, dan akhirnya membayar pinjaman kilat, meninggalkan protokol dengan pendapatan yang lebih sedikit dari yang diharapkan dan dapat menyebabkan ketidakstabilan lebih lanjut bagi pengguna yang mungkin tidak mengantisipasi menjadi sasaran penebusan.

Memaksa Mode Pemulihan Sistem melalui Transaksi Pembaruan Oracle Sandwich

Kerentanan kritis lainnya muncul dari kemampuan untuk memaksa protokol masuk ke Mode Pemulihan dalam satu blok, sehingga memungkinkan likuidasi posisi dengan rasio jaminan sebelumnya yang sehat. Eksploitasi ini bergantung pada memanfaatkan pinjaman kilat dan waktu serangan sekitar pembaruan harga oracle.

Serangan itu terungkap sebagai berikut:

  1. Flashloan dan Pinjam:

Penyerang pertama-tama menggunakan pinjaman kilat untuk meminjam sejumlah besar jaminan, yang kemudian disimpan sebagai jaminan dalam protokol. Dengan menggunakan jaminan ini, penyerang meminjam stablecoin pada Rasio Jaminan Minimum (MCR). Penyerang dapat melakukan tindakan ini untuk menurunkan Rasio Jaminan Total (TCR) menjadi 150%, ambang batas untuk memicu Mode Pemulihan.

  1. Pembaruan Harga Oracle:

Penyerang menunggu pembaruan oracle yang mencerminkan penurunan harga jaminan. Saat harga yang lebih rendah diperbarui dalam sistem, nilai jaminan turun, menyebabkan TCR jatuh di bawah 150%.

  1. Memicu Mode Pemulihan dan Likuidasi:

Dengan TCR sekarang di bawah 150%, protokol secara otomatis memasuki Mode Pemulihan. Dalam keadaan ini, protokol memungkinkan likuidasi Troves dengan Collateral Ratio (CR) di bawah TCR baru. Penyerang kemudian dapat melanjutkan untuk melikuidasi Troves pengguna lain yang sekarang memiliki CR di bawah TCR, menyebabkan kerugian bagi mereka dan mendapatkan keuntungan dari hadiah likuidasi.

Memaksa Mode Pemulihan Sistem melalui Penebusan yang Dibuat

Mengembangkan skenario serangan sebelumnya, eksploitasi canggih ini memungkinkan penyerang untuk memaksa protokol masuk ke Mode Pemulihan melalui proses penebusan yang dirancang dengan hati-hati. Berbeda dengan serangan sebelumnya, yang mungkin sementara mengembalikan sistem ke mode normal setelah likuidasi, metode ini memastikan sistem tetap berada dalam Mode Pemulihan, memungkinkan penyerang untuk secara berulang kali mengeksploitasi kerentanan.

Isu inti, yang muncul ketika sistem mendukung berbagai jenis agunan, masing-masing dikelola oleh Manajer Trove yang berbeda, terletak pada potensi penurunan Total Collateral Ratio (TCR) di seluruh sistem setelah penarikan, bahkan ketika kesehatan individu Manajer Trove membaik. Hasil yang kontra-intuitif ini adalah hasil dari interaksi kompleks antara rasio agunan global dan lokal.

Sebagai contoh, pertimbangkan sebuah skenario di mana TCR sistem berada pada 150%.

Jika pengguna menebus dengan rasio jaminan 160% terhadap Trove, yang menyebabkan Trove tersebut ditutup, perhitungan yang dihasilkan akan mendorong TCR di bawah 150%, memicu Mode Pemulihan.

Serangan itu terungkap sebagai berikut:

  1. Penyiapan Posisi Awal:

Penyerang membuka posisi minimal dengan rasio agunan sedikit di atas 150% dalam Trove yang dipilih dengan hati-hati. Penyiapan ini penting untuk memastikan bahwa penarikan kembali langkah berikutnya secara efektif menurunkan TCR di bawah ambang batas kritis.

  1. Manipulasi TCR:

Penyerang menggunakan pinjaman kilat untuk membuka posisi lain dengan rasio agunan pada Minimum Collateral Ratio (MCR) sebesar 110% di Manajer Trove mana pun, menurunkan Total Collateral Ratio (TCR) sistem menjadi tepat 150%. Langkah ini mempersiapkan sistem untuk Mode Pemulihan.

  1. Penebusan yang Dibuat:

Pelaku kemudian menebus posisi yang dibuka pada langkah pertama. Karena posisi ini memiliki CR sedikit di atas 150%, menebusnya menyebabkan TCR turun di bawah 150%, sehingga memicu Mode Pemulihan. Penebusan tersebut tidak hanya mempengaruhi Trove tertentu yang ditebus tetapi juga menyebabkan efek sistemik yang mendorong TCR masuk ke Mode Pemulihan.

  1. Likuidasi Posisi Rentan:

Dengan sistem sekarang dalam Mode Pemulihan, penyerang dapat melikuidasi posisi apa pun dengan rasio jaminan di bawah 150%. Likuidasi ini mungkin mengembalikan TCR di atas 150%.

  1. Ulangi Proses:

Penyerang dapat mengulangi langkah-langkah tersebut sesuai kebutuhan, menjaga sistem dalam keadaan Mode Pemulihan untuk terus mengeksploitasi Troves dengan rasio jaminan di bawah 150%.

Peran Biaya Penebusan Sekali Saja dan Biaya Pinjaman dalam Memitigasi Serangan-serangan Ini

Dampak Ekonomi dari Biaya pada Vektor Serangan

Biaya pengambilan sekali dan biaya pinjaman memainkan peran penting dalam mitigasi risiko yang terkait dengan vektor serangan yang dijelaskan di atas. Dengan memperkenalkan biaya untuk meminjam dan menebus, biaya-biaya ini membuatnya ekonomis tidak memungkinkan bagi penyerang untuk melakukan manipulasi yang menguntungkan dalam skala besar dalam kebanyakan kasus.

Sebagai contoh, dalam skenario manipulasi biaya penebusan, biaya pinjaman satu kali akan meningkatkan biaya inflasi utang sistem, sehingga tidak menguntungkan bagi penyerang untuk mengeksploitasi biaya penebusan. Demikian juga, dalam skenario di mana penyerang mencoba memicu Mode Pemulihan, biaya pinjaman akan bertindak sebagai penghalang dengan meningkatkan biaya mengambil jumlah utang yang besar untuk memanipulasi TCR.

Pemikiran Akhir tentang Mengamankan Protokol DeFi

Saat DeFi berkembang, protokol akan menghadapi serangan yang semakin canggih. Untuk tetap unggul, penting untuk memahami bagaimana fitur-fitur yang berbeda berinteraksi dan berpotensi menciptakan kerentanan. Keamanan yang efektif memerlukan pemahaman yang mendalam tentang bagaimana komponen-komponen sistem yang berbeda berinteraksi, serta perhatian yang hati-hati terhadap pengaturan dan parameter yang mengatur interaksi tersebut. Dengan secara proaktif memperkirakan cara fitur-fitur dapat digabungkan untuk menciptakan kerentanan, para perancang dapat membangun protokol yang tidak hanya aman tetapi juga tangguh dan dapat beradaptasi dengan tantangan di masa depan.

Disclaimer:

  1. Artikel ini dicetak ulang dari [SunSec)]. Semua hak cipta milik penulis asli [Bill]. Jika ada keberatan dengan cetak ulang ini, silakan hubungi Gate Belajartim, dan mereka akan menanganinya dengan segera.
  2. Penyangkalan Tanggung Jawab: Pandangan dan opini yang terdapat dalam artikel ini semata-mata milik penulis dan tidak merupakan saran investasi apa pun.
  3. Tim Belajar gate melakukan terjemahan artikel ke dalam bahasa lain. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel yang diterjemahkan dilarang.
เริ่มตอนนี้
สมัครและรับรางวัล
$100
It seems that you are attempting to access our services from a Restricted Location where Gate.io is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.