Jenis-jenis Serangan Oracle Blockchain, Kasus, dan Strategi Pertahanan Multi-Layer

Lanjutan1/7/2025, 8:36:55 AM
Sejak munculnya DeFi, kualitas dan keamanan data on-chain telah menjadi perhatian utama bagi para pengembang, terutama mengenai oracle—penghubung kritis antara data on-chain dan off-chain yang sering kali menjadi target para penyerang. Artikel ini menjelajahi kasus penggunaan oracle, pola serangan umum, dan strategi pencegahan untuk manipulasi oracle. Ini memberikan panduan praktis bagi para pengembang mengenai integrasi oracle yang aman sambil menjelaskan peran penting mereka dalam ekosistem blockchain. Melalui analisis insiden terbaru seperti UwU Lend dan Banana Gun, kami menyoroti bagaimana keandalan data secara mendasar membentuk stabilitas ekosistem DeFi.

Pengantar

Dari munculnya DeFi pada tahun 2019 hingga kematangannya secara bertahap pada tahun 2024, masalah data secara konsisten menjadi perhatian utama bagi para pengembang. Hal ini karena operasi DeFi bergantung pada data on-chain yang akurat dan real-time, dan kualitas data secara langsung memengaruhi keamanan, efisiensi, dan pengalaman pengguna dari protokol. Data menjadi pusat pertukaran nilai dan menjadi sudut pandang utama dari mekanisme kepercayaan protokol. Untuk kontrak pintar, data berfungsi sebagai fakta masukan, tetapi kontrak pintar itu sendiri tidak dapat secara aktif memverifikasi otentisitas data. Sebaliknya, mereka sepenuhnya bergantung pada data yang disediakan oleh sumber eksternal. Karakteristik ini berarti bahwa jika data masukan dimanipulasi atau tidak akurat, kontrak pintar secara pasif menerimanya, berpotensi menyebabkan risiko sistemik. Oleh karena itu, memastikan desentralisasi, kepercayaan, dan kegunaan data tetap menjadi tantangan yang berkelanjutan. Tantangan-tantangan itu berasal dari dua masalah utama: pertama, sebagian besar data dikendalikan oleh institusi atau platform terpusat; kedua, akses data sulit karena mempertahankan kepercayaan di seluruh pipeline - dari sumber ke saluran transmisi ke tujuan akhir - menimbulkan tantangan yang signifikan.

Sebagai jembatan antara interaksi data on-chain dan off-chain, oracle sering menjadi target utama serangan. Setelah oracle dimanipulasi, penyerang dapat mengeksploitasi informasi harga atau pasar palsu untuk melakukan serangan ekonomi berskala besar, seperti manipulasi oracle dan serangan pinjaman kilat yang sering terjadi pada tahun 2021 dan 2022. Bahkan pada tahun 2024, ancaman ini masih ada, seperti yang diungkapkan dalam insiden terbaru yang melibatkan UwU Lend dan Banana Gun. Kejadian-kejadian ini terus mengingatkan kita bahwa kualitas dan keamanan data oracle menentukan keberhasilan atau kegagalan protokol individu dan berdampak langsung pada stabilitas seluruh ekosistem DeFi.

Artikel ini akan berfokus pada penerapan orakel dalam blockchain, jenis serangan, dan metode untuk mencegah manipulasi orakel umum. Tujuannya adalah untuk mendidik pembaca tentang konsep dasar dan pentingnya orakel, meningkatkan kesadaran keamanan, dan memberikan rekomendasi praktis bagi pengembang untuk mengintegrasikan orakel ke dalam kontrak pintar dengan aman.

Konsep Dasar Orakel

Definisi dan Peran Oracles

Seorang oracle adalah antarmuka kritis antara blockchain dan dunia eksternal. Ia bertanggung jawab untuk mengimpor data off-chain ke dalam blockchain, seperti harga pasar, informasi cuaca, atau hasil acara, memungkinkan smart contract untuk mengakses informasi eksternal. Mengingat sifat yang secara inheren tertutup dari blockchain, oracle memainkan peran yang sangat penting dalam bidang DeFi, pasar prediksi, asuransi, dan permainan. Selain mengatasi keterbatasan blockchain, oracle memfasilitasi interaksi antara smart contract dan data dunia nyata, memperluas cakupan aplikasi teknologi blockchain. Namun, oracle juga menghadapi tantangan dan titik-titik kesulitan tertentu:

  • Akurasi orakel sangat penting. Jika sumber data tidak dapat diandalkan atau terancam, hal ini dapat menyebabkan pelaksanaan kontrak pintar yang tidak benar, yang mengakibatkan kerugian finansial.
  • Oracle itu sendiri bisa menjadi target serangan, seperti dengan memanipulasi data oracle untuk mengirim informasi palsu, yang dapat menyebabkan manipulasi pasar dan mengganggu operasi protokol.
  • Sementara jaringan oracle terdesentralisasi dapat mengurangi titik-titik kegagalan tunggal, perdebatan masih berlanjut mengenai tingkat desentralisasi dan kehandalan mereka. Meningkatkan kehandalan dan keamanan oracle tetap menjadi tantangan teknologi utama.

Setelah memahami definisi dasar dan peran orakel, kita akan secara singkat menjelajahi jenis-jenis orakel, kasus penggunaannya, dan risiko keamanan yang dihadapi.

Jenis-jenis Oracle: Pusat vs. Terdesentralisasi

Oracles dapat secara umum dikategorikan ke dalam dua model implementasi: terpusat dan terdesentralisasi. Oracle terpusat seperti Oraclize biasanya bergantung pada satu sumber data untuk menyediakan informasi di luar rantai. Mereka menggabungkan solusi perangkat keras dan lunak, memanfaatkan teknologi seperti TLSNotary dan Android Proof untuk memastikan akurasi data. Oracles ini unggul dalam efisiensi dan kinerja stabil. Namun, ketergantungan mereka pada satu sumber tepercaya melemahkan sifat terdesentralisasi dari blockchain, memperkenalkan bottleneck titik tunggal, dan membatasi skalabilitas, menimbulkan tantangan dalam hal keamanan dan skalabilitas.

Sebaliknya, orakel terdesentralisasi seperti Chainlink memprioritaskan keamanan sistem dan transparansi kepercayaan. Dalam arsitektur Chainlink, pengumpulan data dan validasi dilakukan oleh beberapa node independen, yang tersebar di antara peserta yang berbeda, mengurangi risiko titik-titik kegagalan tunggal. Dengan mengkoordinasikan operasi on-chain dan off-chain, Chainlink memastikan keberagaman dan keandalan data. Desain terdesentralisasi ini sangat efektif dalam aplikasi keuangan, meningkatkan ketahanan orakel terhadap serangan. Namun, pendekatan ini melibatkan kompromi dalam efisiensi dan biaya, sehingga membuatnya kurang cocok untuk kasus penggunaan frekuensi rendah.

Keberadaan orakel terdesentralisasi sangat penting untuk mengurangi risiko manipulasi sumber data dan mencegah penyalahgunaan potensial oleh pihak tepercaya tunggal. Desentralisasi memastikan bahwa orakel tidak lagi bergantung pada beberapa sumber data tetapi meningkatkan keamanan dan keandalan data melalui beberapa node terdistribusi. Namun, orakel terdesentralisasi juga menghadapi tantangan, seperti menjaga mekanisme insentif jangka panjang yang efektif dan memastikan stabilitas keseluruhan jaringan orakel. Selanjutnya, kami akan menjelajahi risiko keamanan yang terkait dengan orakel terdesentralisasi dan solusi potensialnya.

Prinsip Operasional dan Risiko Orakel

Orakel dengan Sumber Data yang Berbeda: Off-Chain dan On-Chain

Dalam operasi Oracle, sumber dan metode transmisi data secara langsung mempengaruhi keamanan dan keandalannya. Oracle memperoleh data dari dua jenis sumber: off-chain dan on-chain. Asal dan metode memperoleh data berbeda antara kedua pendekatan tersebut:

  • Data Off-Chain: Kecepatan tanggapan terhadap volatilitas untuk data off-chain bergantung pada karakteristik sumber data dan mekanisme transmisi. Misalnya, data harga off-chain dari bursa biasanya diperbarui dengan cepat. Namun, data off-chain lainnya (seperti data dari pasar keuangan tradisional atau data yang dihasilkan melalui perhitungan kompleks) mungkin mengalami keterlambatan. Transmisi data off-chain sering bergantung pada sejumlah institusi berwenang untuk mendorong data ke blockchain. Oleh karena itu, memastikan bahwa institusi-institusi ini tidak dengan jahat mengubah data atau mendorong pembaruan yang tidak benar di bawah tekanan adalah sangat penting. Ketergantungan ini berpotensi mengancam kepercayaan dan kegunaan data pada blockchain terdesentralisasi.
  • Data On-Chain: Data on-chain tidak memerlukan akses istimewa dan selalu terbaru, menawarkan kemampuan real-time yang kuat. Namun, karakteristik yang sama ini membuatnya sangat rentan terhadap manipulasi oleh penyerang, yang dapat menyebabkan hasil yang sangat buruk. Pengembang dapat dengan mudah mengakses data on-chain dengan melakukan kueri ke pertukaran terdesentralisasi (DEX) untuk menghitung harga secara real-time.

Orakel On-Chain dan Off-Chain
Pilihan antara sumber data off-chain dan on-chain bergantung pada persyaratan proyek tertentu dan kompromi inheren dari setiap pendekatan. Pengembang harus mengevaluasi dengan hati-hati dan mengatasi risiko yang terkait. Kebutuhan akan keseimbangan ini telah mengarah pada penelitian yang berkelanjutan terhadap metode penanganan data yang lebih aman dan dapat diandalkan. Bagian-bagian berikut akan menguji prinsip-prinsip operasional orakel dan kerentanan potensialnya.

Contoh Singkat Pengembangan Oracle

Bagian ini memperkenalkan skenario pengembangan yang disederhanakan untuk membantu pembaca memahami kasus penggunaan orakel dalam blockchain. Dalam pengembangan kontrak pintar blockchain sebenarnya, ada beberapa cara bagi kontrak pintar untuk mengakses data harga dari orakel. Metode umum termasuk langsung memanggil kontrak orakel atau menggunakan teknologi seperti Chainlink CCIP (Cross-Chain Interoperability Protocol). Perbedaan utama antara metode ini adalah:

  1. Jika aplikasi target berada di blockchain yang sama, para pengembang biasanya menghubungi kontrak oracle secara langsung untuk mengambil informasi harga secara real-time dengan cepat.
  2. Untuk aplikasi DeFi multi-rantai, Chainlink CCIP umumnya digunakan. CCIP menyediakan cara yang aman untuk mentransmisikan data antara berbagai blockchain dalam skenario lintas-rantai.

Di sini, kami menunjukkan penggunaan panggilan langsung ke kontrak oracle. Bayangkan Anda adalah pengembang kontrak pintar di ekosistem Ethereum, dan Anda perlu mengambil data harga ETH/USD menggunakan oracle dalam kontrak Anda. Pertama, Anda akan mendefinisikan antarmuka untuk terhubung ke kontrak oracle dan menulis fungsi untuk mengambil data harga.

Contoh kontrak sederhana ini menunjukkan bagaimana PriceConsumerkontrak mengambil data harga real-time dan menggunakannya untuk membuat keputusan. Ini memberikan pemahaman dasar tentang bagaimana kontrak pintar berinteraksi dengan orakel untuk mengakses data harga. Selanjutnya, kita akan menganalisis risiko terkait dari dua sudut pandang:

Dari perspektif kontrak internal menggunakan orakel, penyerang dapat mengeksploitasi pasar likuiditas rendah atau pertukaran kecil untuk memanipulasi harga ETH/USD melalui transaksi besar, menyebabkan fluktuasi harga yang tidak normal. Karena beberapa orakel bergantung pada agregasi data dari beberapa platform perdagangan, fluktuasi yang tidak normal ini dapat dengan cepat menyebar ke metode fetchPrice() PriceConsumer, mengakibatkan distorsi harga. Situasi ini umumnya muncul ketika sumber data orakel terlalu terpusat dan risiko tidak cukup terdiversifikasi, membuat sistem lebih rentan terhadap manipulasi harga.

Dari perspektif kontrak eksternal, analisis perlu mempertimbangkan berbagai skenario aplikasi. Misalkan kontrak PriceConsumer digunakan dalam platform peminjaman di mana pengguna dapat mendepositkan ETH sebagai jaminan untuk meminjam aset lain. Penyerang pertama-tama menggunakan pinjaman kilat untuk meminjam sejumlah dana besar dan sementara mendepositkan dana tersebut ke Automatic Market Makers (AMM) atau kolam likuiditas lainnya. Jika AMM memiliki kedalaman perdagangan rendah, sejumlah besar aset tunggal yang masuk ke kolam dengan cepat akan langsung menyebabkan selip harga.

Dalam skenario ini, transaksi besar penyerang mengubah harga yang dilaporkan oleh AMM, yang kemudian tercermin dalam harga yang dimanipulasi oleh oracle. Setelah memanipulasi harga, penyerang dapat memperoleh keuntungan dengan berbagai cara, seperti:

  1. Likuidasi Jaminan dalam Protokol Peminjaman: Harga yang dimanipulasi mungkin memicu likuidasi aset jaminan tertentu. Penyerang kemudian dapat membeli aset-aset ini dengan harga rendah selama likuidasi untuk mendapatkan keuntungan.
  2. Arbitrase Antar Platform: Jika harga yang dimanipulasi menciptakan ketimpangan harga yang signifikan antara platform, penyerang dapat memanfaatkan perbedaan ini untuk melakukan perdagangan arbitrase yang menguntungkan.

Setelah penyerang menyelesaikan operasinya, mereka dapat segera menarik dana, mengembalikan harga AMM, dan membayar kembali pinjaman kilat dengan bunga, yang mengakhiri proses manipulasi.

Selanjutnya, kami akan menyelami diskusi yang lebih dalam, menganalisis kasus-kasus spesifik serangan oracle, metodenya, dan menguji dampak merusaknya terhadap protokol DeFi dan ekosistem on-chain, sambil memecah logika mendasar dan detail teknis kunci.

Risiko yang Disebabkan Langsung dan Tidak Langsung oleh Oracles

Meskipun manipulasi pasar dan serangan oracle mungkin memiliki konsekuensi yang serupa, seperti distorsi harga dan kerugian aset, metode dan titik kegagalan mereka berbeda. Sebagian besar kerugian dalam ruang blockchain berasal dari manipulasi pasar daripada kecacatan desain yang melekat pada oracle. Perbedaan kunci adalah sebagai berikut:

  • Manipulasi pasar melibatkan mengubah pasokan dan permintaan secara artifisial untuk membesarkan atau mengecilkan harga aset. Taktik umum termasuk perdagangan palsu dan manipulasi lintas pasar. Sebagai contoh, aset dengan likuiditas rendah lebih rentan terhadap manipulasi, yang berpotensi menyebabkan utang buruk dan risiko likuiditas bagi protokol DeFi.
  • Serangan Oracle mengganggu sumber data oracle, menyebabkannya melaporkan harga yang tidak konsisten dengan pasar sebenarnya. Ini bisa disebabkan oleh manipulasi yang disengaja, sumber data yang tidak memadai, atau kerentanan keamanan oracle. Penyerang mengeksploitasi perbedaan antara feed dan harga pasar yang sebenarnya untuk memanipulasi operasi dalam protokol DeFi, seperti kolateralisasi atau likuidasi.

Mari kita analisis kasus ini:

Pada intinya, manipulasi pasar dicapai dengan mengubah harga pasar aktual, dengan orakel dengan setia mencerminkan harga yang dimanipulasi ini, sedangkan serangan orakel melibatkan pelaporan harga yang salah sementara harga pasar tetap normal. Setelah memahami perbedaan antara orakel dan manipulasi harga, langkah berikutnya adalah mengeksplorasi perbedaan antara akuisisi data on-chain dan off-chain, untuk lebih memahami bagaimana orakel mentransmisikan data.

Kasus Serangan yang Berhubungan dengan Oracle

Di antara banyak insiden serangan oracle, jenis umum meliputi manipulasi harga, pinjaman kilat yang dikombinasikan dengan distorsi oracle, kesalahan data off-chain, dan eksploitasi kerentanan desain protokol. Di bawah, kita membahas dua kasus khas: insiden manipulasi harga UwU Lend, yang mengungkapkan kerentanan oracles on-chain terhadap manipulasi jahat, dan kegagalan oracle off-chain Synthetix, yang menunjukkan dampak mendalam kesalahan data eksternal pada kontrak on-chain.

Insiden Manipulasi Harga UwU Lend

Pada 10 Juni 2024, UwU Lend, sebuah platform peminjaman aset digital berbasis rantai EVM, mengalami serangan yang mengakibatkan kerugian sekitar $19,3 juta. Insiden ini mengekspos kerentanan potensial dalam mekanisme oracle dalam protokol DeFi.

UwU Lend menggunakan cryptocurrency yang disebut sUSDE, yang harganya ditentukan oleh price oracle. Sebagai komponen penting dari protokol peminjaman, tanggung jawab utama oracle adalah untuk memperoleh dan menyediakan data harga yang akurat untuk memastikan bahwa operasi penting seperti peminjaman dan likuidasi didasarkan pada harga yang adil dan stabil. Namun, mekanisme penting ini menjadi titik masuk untuk serangan tersebut.

Penyerang memanipulasi harga pasar sUSDE dengan melakukan operasi pertukaran dalam skala besar di dalam kolam likuiditas Curve Finance. Tindakan ini mengubah data harga yang dihasilkan oleh oracle yang diandalkan oleh UwU Lend. Dengan memanfaatkan nilai yang terlalu tinggi dari sUSDE, penyerang menggunakannya sebagai jaminan untuk mengambil aset lain dari UwU Lend, akhirnya menyebabkan penurunan aset yang signifikan untuk platform.

Akar masalah dari insiden ini terletak pada desain yang tidak memadai untuk anti-manipulasi oracle UwU Lend. Kerentanan ini memungkinkan penyerang untuk memanipulasi harga pasar, mengubah data yang dilaporkan oleh oracle, dan melakukan serangan yang ditargetkan. Kasus ini menyoroti kekurangan umum dalam platform DeFi - mekanisme anti-manipulasi yang buruk dalam oracle, terutama dalam lingkungan pasar likuiditas rendah, di mana risiko semacam ini lebih terasa.

Perlu dicatat kesamaan antara insiden ini dan serangan pinjaman kilat. Serangan pinjaman kilat biasanya melibatkan penciptaan anomali harga melalui aliran modal jangka pendek yang substansial, dengan demikian mengganggu mekanisme umpan balik harga orakel untuk mencapai arbitrase aset atau tujuan jahat lainnya. Kesamaan ini lebih menekankan pentingnya desain anti-manipulasi yang kuat dalam orakel, komponen kritis keamanan sistem DeFi.

Di masa depan, platform DeFi seharusnya fokus pada strategi seperti agregasi data harga dari berbagai sumber, optimisasi frekuensi pembaruan harga, dan pemantauan harga anomali saat membangun mekanisme oracle. Meningkatkan kemampuan anti-manipulasi dapat mengurangi risiko sistemik yang disebabkan oleh kegagalan titik tunggal atau volatilitas pasar.

Kegagalan Oracle Synthetix

Pada 25 Juni 2019, Synthetix, protokol likuiditas derivatif di Ethereum, mengalami kegagalan kritis dalam sistem orakel harga off-chain kustomnya, yang mengakibatkan satu transaksi menghasilkan keuntungan yang sangat besar yang tidak terduga. Synthetix bergantung pada sumber-sumber yang bersifat rahasia untuk umpan harganya, mengumpulkan dan mempublikasikan harga on-chain pada interval tetap untuk memberikan harga perdagangan kepada pengguna untuk aset sintetis long atau short.

Namun, salah satu saluran harga secara keliru melaporkan nilai tukar Won Korea (KRW) sebanyak 1.000 kali dari nilai sebenarnya. Sistem gagal menyaring data anomali ini, menyebabkan penerimaan dan publikasi harga yang salah di rantai. Sebuah bot perdagangan mendeteksi kesalahan ini dan dengan cepat melakukan operasi jual beli di pasar sKRW, mengumpulkan keuntungan substansial melalui arbitrase. Penemuan cepat tim terhadap isu ini memungkinkan mereka untuk bernegosiasi dengan pedagang, yang mengembalikan keuntungan sebagai imbalan untuk bug bounty, menghindari potensi kerugian melebihi $1 miliar.

Meskipun tim Synthetix telah menerapkan langkah-langkah untuk menggabungkan data harga dari berbagai sumber untuk melindungi diri dari ketidakakuratan dari satu sumber, insiden ini menyoroti risiko yang melekat pada orakel data di luar rantai. Ketika sumber data hulu melakukan kesalahan, kontrak di rantai tidak memiliki wawasan terhadap proses perhitungan harga dan oleh karena itu tidak dapat mendeteksi anomali secara otomatis.

Tindakan Pencegahan

Kasus di atas menyoroti bahwa tantangan yang dihadapi orakel tidak hanya tentang akurasi sumber data, termasuk resistensi terhadap manipulasi dan keamanan integrasi data off-chain. Oleh karena itu, mencegah serangan orakel sangat penting. Meningkatkan keamanan, kehandalan, dan kemampuan anti-manipulasi orakel menjadi faktor kunci dalam perancangan dan pemanfaatannya. Pada bagian ini, kami mengeksplorasi langkah-langkah efektif untuk melawan berbagai jenis serangan dan memperkuat keseluruhan keamanan sistem orakel.

1. Gunakan Berbagai Sumber Data untuk Memastikan Ketepatan Data

Analisis Kasus: Dalam insiden manipulasi harga UwU Lend, para penyerang berhasil memanipulasi oracle harga UwU Lend dengan mempengaruhi harga sUSDE di kolam keuangan Curve. Dengan memanfaatkan kerentanan manipulasi harga, para penyerang mengekstrak aset yang sistem gagal mengevaluasi dengan benar. Jika UwU Lend telah menggunakan beberapa sumber data untuk menentukan harga sUSDE, sistem dapat memverifikasi harga melalui sumber lain, mengurangi risiko serangan.

Analisis Mendalam: Insiden ini melibatkan manipulasi harga dan mengungkapkan masalah terkait likuiditas yang tidak mencukupi. Ketika sebuah token kekurangan likuiditas pasar yang cukup, kedalaman perdagangan yang dangkal membuat harganya mudah dipengaruhi oleh sejumlah kecil transaksi, sehingga meningkatkan kerentanan oracle. Oleh karena itu, ketika meluncurkan token baru, tim proyek harus dengan hati-hati menilai likuiditas pasar untuk mencegah distorsi harga dan risiko keamanan terkait. Misalnya, protokol peminjaman seperti Aave, Kamino, dan Scallop memberlakukan batasan yang lebih ketat pada token dengan likuiditas rendah dalam desain mereka untuk memastikan stabilitas dan keamanan pasar.

Pendekatan Optimasi: Untuk memastikan keakuratan data, protokol harus mengadopsi strategi multi-sumber data dengan menggabungkan beberapa oracle terdesentralisasi, seperti Chainlink atau Band Protocol, untuk menggabungkan data dari berbagai pertukaran atau kolam likuiditas. Pendekatan ini mengurangi dampak pada keamanan sistem secara keseluruhan jika ada sumber data tunggal yang dimanipulasi.

2. Agregator Data Terdesentralisasi untuk Memastikan Keamanan Transmisi Data

Analisis Kasus: Kegagalan orakel luar rantai Synthetix mengungkapkan risiko kesalahan dalam sumber data luar rantai. Dalam insiden ini, dilaporkan harga Korean Won (KRW) yang tidak benar, memungkinkan bot perdagangan untuk memanfaatkan kesalahan tersebut untuk arbitrase. Jika Synthetix telah menggunakan pengumpul data terdesentralisasi, sumber data luar rantai lainnya dapat segera memperbaiki masalah tersebut, bahkan jika satu sumber data luar rantai gagal.

Pendekatan Optimisasi: Mirip dengan perbaikan di Uniswap V3, menggunakan agregator data terdesentralisasi dapat meningkatkan keamanan transmisi data. Dengan memanfaatkan protokol kriptografi (seperti TLS) dan verifikasi tanda tangan, yang dikombinasikan dengan node relay terdesentralisasi, sistem dapat mencegah serangan man-in-the-middle dan pemalsuan data. Misalnya, dalam oracle Chainlink, setiap sumber data divalidasi oleh beberapa node independen dan dilindungi dengan teknik enkripsi untuk memastikan integritas dan ketahanan data yang ditransmisikan.

4. Desain Modular dalam Arsitektur Aplikasi untuk Mengurangi Risiko Kegagalan Titik Tunggal

Analisis Kasus: Banyak insiden serangan mengungkapkan kekurangan dalam desain modular protokol DeFi, yang seringkali kurang memiliki mekanisme pertahanan yang memadai. Dengan merancang dan membangun modul-modul independen secara hati-hati, dimungkinkan untuk mencegah penyerang mengeksploitasi kerentanan tunggal untuk menyebabkan kerusakan yang sangat parah pada seluruh sistem. Misalnya, dalam kegagalan orakel off-chain Synthetix, jika tim pengembangan telah secara preemptif merancang sistem peringatan modular, mereka dapat mengidentifikasi dan memperbaiki data yang tidak normal dengan lebih cepat.

Pendekatan Optimisasi: Untuk meningkatkan ketahanan terhadap serangan, para pengembang dapat mengadopsi arsitektur berlapis selama proses pengembangan dan memastikan bahwa setiap modul (sumber data, logika validasi, modul transmisi) beroperasi secara independen. Sebagai contoh, seperti pada Uniswap V3, menyimpan informasi harga dari berbagai kolam likuiditas dalam kolam observasi terpisah memungkinkan protokol untuk membandingkan harga di beberapa kolam, mengurangi risiko manipulasi di setiap kolam tunggal. Dalam pengembangan praktis, teknik seperti enkapsulasi antarmuka dan injeksi dependensi dapat memisahkan modul validasi data dari logika lainnya, memastikan fleksibilitas dan keberlanjutan sistem.

5. Mekanisme Pertahanan Adaptif dalam Kontrak Pintar

Sementara kebanyakan orakel mengandalkan langkah-langkah pertahanan statis, kontrak pintar dapat mengadopsi strategi pertahanan adaptif untuk melawan metode serangan yang sangat dinamis. Misalnya, dengan memantau frekuensi fluktuasi harga yang abnormal, sistem dapat menentukan apakah serangan sedang terjadi dan memicu validasi tambahan atau mekanisme rollback sebagai respons terhadap anomali tersebut. Pendekatan adaptif ini dapat secara otomatis melindungi sistem dari kerugian potensial selama manipulasi harga tiba-tiba.

Aplikasi Praktis: Beberapa protokol DeFi menerapkan mekanisme "peringatan ambang batas" untuk mendeteksi fluktuasi harga yang signifikan secara real time. Jika fluktuasi harga melebihi ambang batas yang telah ditetapkan, sistem secara otomatis memulai proses validasi tambahan atau memicu rollback untuk mencegah manipulasi meningkat. Misalnya, protokol Balancer menggunakan ambang deviasi harga; Jika harga terdeteksi terlalu tinggi atau rendah, itu menghentikan transaksi tertentu sampai konfirmasi lebih lanjut dari validitas harga.

Membangun pada diskusi optimasi desain dan aplikasi oracle, kita dapat mengeksplorasi solusi-solusi spesifik dalam aplikasi DeFi. Selanjutnya, kami akan memperkenalkan mekanisme harga rata-rata tertimbang waktu di Uniswap V2 dan perbaikannya di V3.

Kasus Optimasi Keamanan dalam Aplikasi Oracle DeFi

Keamanan oracle adalah perhatian inti bagi protokol DeFi. Banyak protokol DeFi telah memperkenalkan inovasi berharga untuk mencegah serangan oracle secara efektif. Misalnya, Uniswap telah memberikan ide-ide baru untuk desain oracle melalui optimalisasinya dalam generasi harga on-chain dan mekanisme pertahanan. Perbandingan antara Uniswap V2 dan V3 menunjukkan bagaimana perbaikan teknis dapat meningkatkan kemampuan anti-manipulasi dari oracle, menawarkan jalur yang jelas untuk desain smart contract yang aman.

TWAP di Uniswap V2

Uniswap V2 memperkenalkan oracle TWAP (Time-Weighted Average Price) untuk pertama kalinya, memungkinkan pengembang on-chain untuk mengakses data harga dari pertukaran terdesentralisasi (DEX). TWAP adalah oracle on-chain yang mengambil data dari data perdagangan on-chain Uniswap sendiri tanpa mengandalkan data off-chain apa pun.

Di UniswapV2Pairkontrak, the_update() Fungsi adalah fungsi pribadi inti yang bertanggung jawab untuk memperbarui cadangan dan akumulator harga untuk pasangan perdagangan. Tujuan utamanya adalah menggunakan akumulator harga tertimbang waktu untuk membantu mencegah serangan oracle.

Ide inti dari fungsi ini adalah membatasi kemampuan seorang penyerang untuk memanipulasi harga pada satu titik waktu dengan mencatat perubahan harga berbobot waktu untuk setiap blok. Secara khusus, fungsi menghitung perbedaan waktu (timeElapsed) antara waktu saat ini dan pembaruan terakhir, kalikan perbedaan ini dengan harga pasangan perdagangan saat ini, lalu tambahkan hasilnya ke akumulator harga (harga0KumulatifTerakhirdan price1CumulativeLastAkumulasi ini mencatat harga rata-rata terimbang berdasarkan waktu untuk meratakan fluktuasi harga potensial. Karena harga dikumpulkan selama periode tertentu, para penyerang perlu beroperasi secara terus menerus melalui beberapa blok untuk secara signifikan mengubah harga, sehingga meningkatkan biaya manipulasi.

Selain itu, fungsi memperbarui akumulator harga hanya jika waktu yang telah berlaluadalah lebih besar dari 0, yang berarti harga hanya akan diperbarui sekali per blok. Desain ini membatasi frekuensi operasi penyerang dalam waktu singkat. Untuk memanipulasi harga secara efektif, penyerang perlu terus-menerus melakukan intervensi selama beberapa blok daripada hanya satu blok, yang lebih mengurangi kemungkinan manipulasi.

Dari perspektif keamanan, mekanisme ini sangat kuat. Fungsi ini mencakup pemeriksaan overflow untuk memastikan bahwa nilai maksimum cadangan tidak melebihi batas sistem, dan perhitungan harga kumulatif juga dilindungi dari overflow. Elemen desain ini membuat manipulasi eksternal menjadi jauh lebih sulit.

Namun, versi V2 dari oracle memiliki beberapa keterbatasan praktis. Misalnya, kontrak resmi hanya menyediakan nilai harga kumulatif terbaru, yang memerlukan pengembang untuk mencatat dan mengambil data harga historis, menimbulkan hambatan teknis yang lebih tinggi. Selain itu, oracle V2 tidak langsung mencatat kedalaman pasangan perdagangan. Kedalaman pasangan perdagangan sangat penting untuk stabilitas oracle dalam menghadapi serangan - kedalaman yang lebih rendah membuatnya lebih mudah untuk memanipulasi harga.

Uniswap V3

Untuk mengatasi keterbatasan pendahulunya, Uniswap meningkatkan fungsionalitas oracle dalam versi V3. Kontrak V3 mempertahankan nilai harga kumulatif dari waktu ke waktu dan menambahkan kemampuan untuk menyimpan informasi harga historis, mendukung hingga 65.535 catatan. Hal ini menghilangkan kebutuhan bagi pengembang untuk menyimpan data historis secara manual.

Selain itu, rekaman oracle versi V3 mencatat nilai likuiditas berbobot waktu untuk tingkat biaya yang berbeda. Ini memungkinkan pengembang untuk memilih kolam likuiditas dengan volume yang lebih tinggi sebagai sumber referensi harga, memastikan akurasi harga yang lebih besar. Semua logika terkait oracle dienkapsulasi dalam pustaka Oracle, memungkinkan kontrak untuk secara otomatis mencatat informasi harga dan likuiditas kumulatif untuk setiap transaksi tanpa memerlukan pemeliharaan pengguna eksternal.

Peningkatan lain yang patut dicatat adalah penyesuaian metode perhitungan harga. Dalam Uniswap V2, perhitungan TWAP didasarkan pada rata-rata aritmatika, sedangkan V3 mengadopsi rata-rata geometri. Dibandingkan dengan rata-rata aritmatika, rata-rata geometri memberikan stabilitas yang lebih besar dalam implementasi dan lebih cocok untuk lingkungan dengan volatilitas harga tinggi, sehingga lebih mengurangi risiko manipulasi.

Tren Masa Depan

Penyerang oracle termasuk kelompok terorganisir, peretas independen, dan pihak dalam yang berpotensi berkolaborasi dengan pihak eksternal. Serangan semacam itu biasanya melibatkan kompleksitas teknis yang sedang, membutuhkan penyerang untuk memiliki pemahaman dasar tentang blockchain dan kontrak pintar serta keterampilan khusus untuk mengeksploitasi kerentanan. Seiring dengan penurunan hambatan teknis, kompleksitas serangan oracle semakin berkurang, memungkinkan peretas dengan keahlian teknis yang lebih sedikit untuk berpartisipasi.

Serangan Oracle sangat bergantung pada otomatisasi. Sebagian besar penyerang menggunakan alat otomatis untuk memindai dan menganalisis data on-chain, dengan cepat mengidentifikasi dan mengeksploitasi kerentanan keamanan seperti fluktuasi harga atau keterlambatan data dalam oracle. Sebagai contoh, bot arbitrase dan skrip otomatis dapat merespons perubahan harga dalam hitungan milidetik, memastikan penyerang mendapatkan keuntungan sebelum pasar menyesuaikan. Seiring dengan terus terjadinya desentralisasi jaringan blockchain, metode otomatis ini menjadi semakin efisien, membuat serangan oracle lebih presisi dan sulit terdeteksi.

Melihat ke depan, keandalan data oracle dan resistensi manipulasi kemungkinan akan meningkat melalui adopsi luas mekanisme penetapan harga standar seperti harga rata-rata berbobot waktu (TWAP) dan validasi data multi-sumber yang ditandai secara kriptografis. Meskipun hal ini dapat mengurangi kelayakan serangan oracle, ancaman baru bisa muncul—terutama metode yang canggih yang mengombinasikan berbagai teknik arbitrase untuk mengelabui pemeriksaan keamanan. Pengembang DeFi harus tetap waspada, karena masa depan keamanan oracle bergantung pada peningkatan terus menerus dari langkah-langkah perlindungan data terdesentralisasi dan pertahanan proaktif terhadap vektor serangan yang muncul.

Kesimpulan

Artikel ini telah menjelajahi peran kritis orakel dalam sistem DeFi dan kerentanan keamanan mereka, meneliti jenis-jenis orakel, contoh pengembangan, studi kasus, dan langkah-langkah pencegahan. Analisis difokuskan pada dua area kunci: serangan orakel berbasis pinjaman kilat dan serangan acak yang berasal dari kegagalan orakel. Melalui pemeriksaan ini, kami telah menunjukkan pentingnya fundamental orakel dalam arsitektur keamanan DeFi dan kebutuhan mereka akan ketahanan manipulasi sambil memberikan metode praktis untuk mencegah serangan orakel.

Penyangkalan: Konten artikel ini hanya untuk referensi dan dimaksudkan untuk pembelajaran dan pertukaran pengetahuan tentang serangan oracle. Ini tidak merupakan panduan untuk operasi aktual atau kasus instruksional.

Penulis: Doris
Penerjemah: Sonia
Pengulas: Piccolo、Edward、Elisa
Peninjau Terjemahan: Ashely、Joyce
* Informasi ini tidak bermaksud untuk menjadi dan bukan merupakan nasihat keuangan atau rekomendasi lain apa pun yang ditawarkan atau didukung oleh Gate.io.
* Artikel ini tidak boleh di reproduksi, di kirim, atau disalin tanpa referensi Gate.io. Pelanggaran adalah pelanggaran Undang-Undang Hak Cipta dan dapat dikenakan tindakan hukum.

Jenis-jenis Serangan Oracle Blockchain, Kasus, dan Strategi Pertahanan Multi-Layer

Lanjutan1/7/2025, 8:36:55 AM
Sejak munculnya DeFi, kualitas dan keamanan data on-chain telah menjadi perhatian utama bagi para pengembang, terutama mengenai oracle—penghubung kritis antara data on-chain dan off-chain yang sering kali menjadi target para penyerang. Artikel ini menjelajahi kasus penggunaan oracle, pola serangan umum, dan strategi pencegahan untuk manipulasi oracle. Ini memberikan panduan praktis bagi para pengembang mengenai integrasi oracle yang aman sambil menjelaskan peran penting mereka dalam ekosistem blockchain. Melalui analisis insiden terbaru seperti UwU Lend dan Banana Gun, kami menyoroti bagaimana keandalan data secara mendasar membentuk stabilitas ekosistem DeFi.

Pengantar

Dari munculnya DeFi pada tahun 2019 hingga kematangannya secara bertahap pada tahun 2024, masalah data secara konsisten menjadi perhatian utama bagi para pengembang. Hal ini karena operasi DeFi bergantung pada data on-chain yang akurat dan real-time, dan kualitas data secara langsung memengaruhi keamanan, efisiensi, dan pengalaman pengguna dari protokol. Data menjadi pusat pertukaran nilai dan menjadi sudut pandang utama dari mekanisme kepercayaan protokol. Untuk kontrak pintar, data berfungsi sebagai fakta masukan, tetapi kontrak pintar itu sendiri tidak dapat secara aktif memverifikasi otentisitas data. Sebaliknya, mereka sepenuhnya bergantung pada data yang disediakan oleh sumber eksternal. Karakteristik ini berarti bahwa jika data masukan dimanipulasi atau tidak akurat, kontrak pintar secara pasif menerimanya, berpotensi menyebabkan risiko sistemik. Oleh karena itu, memastikan desentralisasi, kepercayaan, dan kegunaan data tetap menjadi tantangan yang berkelanjutan. Tantangan-tantangan itu berasal dari dua masalah utama: pertama, sebagian besar data dikendalikan oleh institusi atau platform terpusat; kedua, akses data sulit karena mempertahankan kepercayaan di seluruh pipeline - dari sumber ke saluran transmisi ke tujuan akhir - menimbulkan tantangan yang signifikan.

Sebagai jembatan antara interaksi data on-chain dan off-chain, oracle sering menjadi target utama serangan. Setelah oracle dimanipulasi, penyerang dapat mengeksploitasi informasi harga atau pasar palsu untuk melakukan serangan ekonomi berskala besar, seperti manipulasi oracle dan serangan pinjaman kilat yang sering terjadi pada tahun 2021 dan 2022. Bahkan pada tahun 2024, ancaman ini masih ada, seperti yang diungkapkan dalam insiden terbaru yang melibatkan UwU Lend dan Banana Gun. Kejadian-kejadian ini terus mengingatkan kita bahwa kualitas dan keamanan data oracle menentukan keberhasilan atau kegagalan protokol individu dan berdampak langsung pada stabilitas seluruh ekosistem DeFi.

Artikel ini akan berfokus pada penerapan orakel dalam blockchain, jenis serangan, dan metode untuk mencegah manipulasi orakel umum. Tujuannya adalah untuk mendidik pembaca tentang konsep dasar dan pentingnya orakel, meningkatkan kesadaran keamanan, dan memberikan rekomendasi praktis bagi pengembang untuk mengintegrasikan orakel ke dalam kontrak pintar dengan aman.

Konsep Dasar Orakel

Definisi dan Peran Oracles

Seorang oracle adalah antarmuka kritis antara blockchain dan dunia eksternal. Ia bertanggung jawab untuk mengimpor data off-chain ke dalam blockchain, seperti harga pasar, informasi cuaca, atau hasil acara, memungkinkan smart contract untuk mengakses informasi eksternal. Mengingat sifat yang secara inheren tertutup dari blockchain, oracle memainkan peran yang sangat penting dalam bidang DeFi, pasar prediksi, asuransi, dan permainan. Selain mengatasi keterbatasan blockchain, oracle memfasilitasi interaksi antara smart contract dan data dunia nyata, memperluas cakupan aplikasi teknologi blockchain. Namun, oracle juga menghadapi tantangan dan titik-titik kesulitan tertentu:

  • Akurasi orakel sangat penting. Jika sumber data tidak dapat diandalkan atau terancam, hal ini dapat menyebabkan pelaksanaan kontrak pintar yang tidak benar, yang mengakibatkan kerugian finansial.
  • Oracle itu sendiri bisa menjadi target serangan, seperti dengan memanipulasi data oracle untuk mengirim informasi palsu, yang dapat menyebabkan manipulasi pasar dan mengganggu operasi protokol.
  • Sementara jaringan oracle terdesentralisasi dapat mengurangi titik-titik kegagalan tunggal, perdebatan masih berlanjut mengenai tingkat desentralisasi dan kehandalan mereka. Meningkatkan kehandalan dan keamanan oracle tetap menjadi tantangan teknologi utama.

Setelah memahami definisi dasar dan peran orakel, kita akan secara singkat menjelajahi jenis-jenis orakel, kasus penggunaannya, dan risiko keamanan yang dihadapi.

Jenis-jenis Oracle: Pusat vs. Terdesentralisasi

Oracles dapat secara umum dikategorikan ke dalam dua model implementasi: terpusat dan terdesentralisasi. Oracle terpusat seperti Oraclize biasanya bergantung pada satu sumber data untuk menyediakan informasi di luar rantai. Mereka menggabungkan solusi perangkat keras dan lunak, memanfaatkan teknologi seperti TLSNotary dan Android Proof untuk memastikan akurasi data. Oracles ini unggul dalam efisiensi dan kinerja stabil. Namun, ketergantungan mereka pada satu sumber tepercaya melemahkan sifat terdesentralisasi dari blockchain, memperkenalkan bottleneck titik tunggal, dan membatasi skalabilitas, menimbulkan tantangan dalam hal keamanan dan skalabilitas.

Sebaliknya, orakel terdesentralisasi seperti Chainlink memprioritaskan keamanan sistem dan transparansi kepercayaan. Dalam arsitektur Chainlink, pengumpulan data dan validasi dilakukan oleh beberapa node independen, yang tersebar di antara peserta yang berbeda, mengurangi risiko titik-titik kegagalan tunggal. Dengan mengkoordinasikan operasi on-chain dan off-chain, Chainlink memastikan keberagaman dan keandalan data. Desain terdesentralisasi ini sangat efektif dalam aplikasi keuangan, meningkatkan ketahanan orakel terhadap serangan. Namun, pendekatan ini melibatkan kompromi dalam efisiensi dan biaya, sehingga membuatnya kurang cocok untuk kasus penggunaan frekuensi rendah.

Keberadaan orakel terdesentralisasi sangat penting untuk mengurangi risiko manipulasi sumber data dan mencegah penyalahgunaan potensial oleh pihak tepercaya tunggal. Desentralisasi memastikan bahwa orakel tidak lagi bergantung pada beberapa sumber data tetapi meningkatkan keamanan dan keandalan data melalui beberapa node terdistribusi. Namun, orakel terdesentralisasi juga menghadapi tantangan, seperti menjaga mekanisme insentif jangka panjang yang efektif dan memastikan stabilitas keseluruhan jaringan orakel. Selanjutnya, kami akan menjelajahi risiko keamanan yang terkait dengan orakel terdesentralisasi dan solusi potensialnya.

Prinsip Operasional dan Risiko Orakel

Orakel dengan Sumber Data yang Berbeda: Off-Chain dan On-Chain

Dalam operasi Oracle, sumber dan metode transmisi data secara langsung mempengaruhi keamanan dan keandalannya. Oracle memperoleh data dari dua jenis sumber: off-chain dan on-chain. Asal dan metode memperoleh data berbeda antara kedua pendekatan tersebut:

  • Data Off-Chain: Kecepatan tanggapan terhadap volatilitas untuk data off-chain bergantung pada karakteristik sumber data dan mekanisme transmisi. Misalnya, data harga off-chain dari bursa biasanya diperbarui dengan cepat. Namun, data off-chain lainnya (seperti data dari pasar keuangan tradisional atau data yang dihasilkan melalui perhitungan kompleks) mungkin mengalami keterlambatan. Transmisi data off-chain sering bergantung pada sejumlah institusi berwenang untuk mendorong data ke blockchain. Oleh karena itu, memastikan bahwa institusi-institusi ini tidak dengan jahat mengubah data atau mendorong pembaruan yang tidak benar di bawah tekanan adalah sangat penting. Ketergantungan ini berpotensi mengancam kepercayaan dan kegunaan data pada blockchain terdesentralisasi.
  • Data On-Chain: Data on-chain tidak memerlukan akses istimewa dan selalu terbaru, menawarkan kemampuan real-time yang kuat. Namun, karakteristik yang sama ini membuatnya sangat rentan terhadap manipulasi oleh penyerang, yang dapat menyebabkan hasil yang sangat buruk. Pengembang dapat dengan mudah mengakses data on-chain dengan melakukan kueri ke pertukaran terdesentralisasi (DEX) untuk menghitung harga secara real-time.

Orakel On-Chain dan Off-Chain
Pilihan antara sumber data off-chain dan on-chain bergantung pada persyaratan proyek tertentu dan kompromi inheren dari setiap pendekatan. Pengembang harus mengevaluasi dengan hati-hati dan mengatasi risiko yang terkait. Kebutuhan akan keseimbangan ini telah mengarah pada penelitian yang berkelanjutan terhadap metode penanganan data yang lebih aman dan dapat diandalkan. Bagian-bagian berikut akan menguji prinsip-prinsip operasional orakel dan kerentanan potensialnya.

Contoh Singkat Pengembangan Oracle

Bagian ini memperkenalkan skenario pengembangan yang disederhanakan untuk membantu pembaca memahami kasus penggunaan orakel dalam blockchain. Dalam pengembangan kontrak pintar blockchain sebenarnya, ada beberapa cara bagi kontrak pintar untuk mengakses data harga dari orakel. Metode umum termasuk langsung memanggil kontrak orakel atau menggunakan teknologi seperti Chainlink CCIP (Cross-Chain Interoperability Protocol). Perbedaan utama antara metode ini adalah:

  1. Jika aplikasi target berada di blockchain yang sama, para pengembang biasanya menghubungi kontrak oracle secara langsung untuk mengambil informasi harga secara real-time dengan cepat.
  2. Untuk aplikasi DeFi multi-rantai, Chainlink CCIP umumnya digunakan. CCIP menyediakan cara yang aman untuk mentransmisikan data antara berbagai blockchain dalam skenario lintas-rantai.

Di sini, kami menunjukkan penggunaan panggilan langsung ke kontrak oracle. Bayangkan Anda adalah pengembang kontrak pintar di ekosistem Ethereum, dan Anda perlu mengambil data harga ETH/USD menggunakan oracle dalam kontrak Anda. Pertama, Anda akan mendefinisikan antarmuka untuk terhubung ke kontrak oracle dan menulis fungsi untuk mengambil data harga.

Contoh kontrak sederhana ini menunjukkan bagaimana PriceConsumerkontrak mengambil data harga real-time dan menggunakannya untuk membuat keputusan. Ini memberikan pemahaman dasar tentang bagaimana kontrak pintar berinteraksi dengan orakel untuk mengakses data harga. Selanjutnya, kita akan menganalisis risiko terkait dari dua sudut pandang:

Dari perspektif kontrak internal menggunakan orakel, penyerang dapat mengeksploitasi pasar likuiditas rendah atau pertukaran kecil untuk memanipulasi harga ETH/USD melalui transaksi besar, menyebabkan fluktuasi harga yang tidak normal. Karena beberapa orakel bergantung pada agregasi data dari beberapa platform perdagangan, fluktuasi yang tidak normal ini dapat dengan cepat menyebar ke metode fetchPrice() PriceConsumer, mengakibatkan distorsi harga. Situasi ini umumnya muncul ketika sumber data orakel terlalu terpusat dan risiko tidak cukup terdiversifikasi, membuat sistem lebih rentan terhadap manipulasi harga.

Dari perspektif kontrak eksternal, analisis perlu mempertimbangkan berbagai skenario aplikasi. Misalkan kontrak PriceConsumer digunakan dalam platform peminjaman di mana pengguna dapat mendepositkan ETH sebagai jaminan untuk meminjam aset lain. Penyerang pertama-tama menggunakan pinjaman kilat untuk meminjam sejumlah dana besar dan sementara mendepositkan dana tersebut ke Automatic Market Makers (AMM) atau kolam likuiditas lainnya. Jika AMM memiliki kedalaman perdagangan rendah, sejumlah besar aset tunggal yang masuk ke kolam dengan cepat akan langsung menyebabkan selip harga.

Dalam skenario ini, transaksi besar penyerang mengubah harga yang dilaporkan oleh AMM, yang kemudian tercermin dalam harga yang dimanipulasi oleh oracle. Setelah memanipulasi harga, penyerang dapat memperoleh keuntungan dengan berbagai cara, seperti:

  1. Likuidasi Jaminan dalam Protokol Peminjaman: Harga yang dimanipulasi mungkin memicu likuidasi aset jaminan tertentu. Penyerang kemudian dapat membeli aset-aset ini dengan harga rendah selama likuidasi untuk mendapatkan keuntungan.
  2. Arbitrase Antar Platform: Jika harga yang dimanipulasi menciptakan ketimpangan harga yang signifikan antara platform, penyerang dapat memanfaatkan perbedaan ini untuk melakukan perdagangan arbitrase yang menguntungkan.

Setelah penyerang menyelesaikan operasinya, mereka dapat segera menarik dana, mengembalikan harga AMM, dan membayar kembali pinjaman kilat dengan bunga, yang mengakhiri proses manipulasi.

Selanjutnya, kami akan menyelami diskusi yang lebih dalam, menganalisis kasus-kasus spesifik serangan oracle, metodenya, dan menguji dampak merusaknya terhadap protokol DeFi dan ekosistem on-chain, sambil memecah logika mendasar dan detail teknis kunci.

Risiko yang Disebabkan Langsung dan Tidak Langsung oleh Oracles

Meskipun manipulasi pasar dan serangan oracle mungkin memiliki konsekuensi yang serupa, seperti distorsi harga dan kerugian aset, metode dan titik kegagalan mereka berbeda. Sebagian besar kerugian dalam ruang blockchain berasal dari manipulasi pasar daripada kecacatan desain yang melekat pada oracle. Perbedaan kunci adalah sebagai berikut:

  • Manipulasi pasar melibatkan mengubah pasokan dan permintaan secara artifisial untuk membesarkan atau mengecilkan harga aset. Taktik umum termasuk perdagangan palsu dan manipulasi lintas pasar. Sebagai contoh, aset dengan likuiditas rendah lebih rentan terhadap manipulasi, yang berpotensi menyebabkan utang buruk dan risiko likuiditas bagi protokol DeFi.
  • Serangan Oracle mengganggu sumber data oracle, menyebabkannya melaporkan harga yang tidak konsisten dengan pasar sebenarnya. Ini bisa disebabkan oleh manipulasi yang disengaja, sumber data yang tidak memadai, atau kerentanan keamanan oracle. Penyerang mengeksploitasi perbedaan antara feed dan harga pasar yang sebenarnya untuk memanipulasi operasi dalam protokol DeFi, seperti kolateralisasi atau likuidasi.

Mari kita analisis kasus ini:

Pada intinya, manipulasi pasar dicapai dengan mengubah harga pasar aktual, dengan orakel dengan setia mencerminkan harga yang dimanipulasi ini, sedangkan serangan orakel melibatkan pelaporan harga yang salah sementara harga pasar tetap normal. Setelah memahami perbedaan antara orakel dan manipulasi harga, langkah berikutnya adalah mengeksplorasi perbedaan antara akuisisi data on-chain dan off-chain, untuk lebih memahami bagaimana orakel mentransmisikan data.

Kasus Serangan yang Berhubungan dengan Oracle

Di antara banyak insiden serangan oracle, jenis umum meliputi manipulasi harga, pinjaman kilat yang dikombinasikan dengan distorsi oracle, kesalahan data off-chain, dan eksploitasi kerentanan desain protokol. Di bawah, kita membahas dua kasus khas: insiden manipulasi harga UwU Lend, yang mengungkapkan kerentanan oracles on-chain terhadap manipulasi jahat, dan kegagalan oracle off-chain Synthetix, yang menunjukkan dampak mendalam kesalahan data eksternal pada kontrak on-chain.

Insiden Manipulasi Harga UwU Lend

Pada 10 Juni 2024, UwU Lend, sebuah platform peminjaman aset digital berbasis rantai EVM, mengalami serangan yang mengakibatkan kerugian sekitar $19,3 juta. Insiden ini mengekspos kerentanan potensial dalam mekanisme oracle dalam protokol DeFi.

UwU Lend menggunakan cryptocurrency yang disebut sUSDE, yang harganya ditentukan oleh price oracle. Sebagai komponen penting dari protokol peminjaman, tanggung jawab utama oracle adalah untuk memperoleh dan menyediakan data harga yang akurat untuk memastikan bahwa operasi penting seperti peminjaman dan likuidasi didasarkan pada harga yang adil dan stabil. Namun, mekanisme penting ini menjadi titik masuk untuk serangan tersebut.

Penyerang memanipulasi harga pasar sUSDE dengan melakukan operasi pertukaran dalam skala besar di dalam kolam likuiditas Curve Finance. Tindakan ini mengubah data harga yang dihasilkan oleh oracle yang diandalkan oleh UwU Lend. Dengan memanfaatkan nilai yang terlalu tinggi dari sUSDE, penyerang menggunakannya sebagai jaminan untuk mengambil aset lain dari UwU Lend, akhirnya menyebabkan penurunan aset yang signifikan untuk platform.

Akar masalah dari insiden ini terletak pada desain yang tidak memadai untuk anti-manipulasi oracle UwU Lend. Kerentanan ini memungkinkan penyerang untuk memanipulasi harga pasar, mengubah data yang dilaporkan oleh oracle, dan melakukan serangan yang ditargetkan. Kasus ini menyoroti kekurangan umum dalam platform DeFi - mekanisme anti-manipulasi yang buruk dalam oracle, terutama dalam lingkungan pasar likuiditas rendah, di mana risiko semacam ini lebih terasa.

Perlu dicatat kesamaan antara insiden ini dan serangan pinjaman kilat. Serangan pinjaman kilat biasanya melibatkan penciptaan anomali harga melalui aliran modal jangka pendek yang substansial, dengan demikian mengganggu mekanisme umpan balik harga orakel untuk mencapai arbitrase aset atau tujuan jahat lainnya. Kesamaan ini lebih menekankan pentingnya desain anti-manipulasi yang kuat dalam orakel, komponen kritis keamanan sistem DeFi.

Di masa depan, platform DeFi seharusnya fokus pada strategi seperti agregasi data harga dari berbagai sumber, optimisasi frekuensi pembaruan harga, dan pemantauan harga anomali saat membangun mekanisme oracle. Meningkatkan kemampuan anti-manipulasi dapat mengurangi risiko sistemik yang disebabkan oleh kegagalan titik tunggal atau volatilitas pasar.

Kegagalan Oracle Synthetix

Pada 25 Juni 2019, Synthetix, protokol likuiditas derivatif di Ethereum, mengalami kegagalan kritis dalam sistem orakel harga off-chain kustomnya, yang mengakibatkan satu transaksi menghasilkan keuntungan yang sangat besar yang tidak terduga. Synthetix bergantung pada sumber-sumber yang bersifat rahasia untuk umpan harganya, mengumpulkan dan mempublikasikan harga on-chain pada interval tetap untuk memberikan harga perdagangan kepada pengguna untuk aset sintetis long atau short.

Namun, salah satu saluran harga secara keliru melaporkan nilai tukar Won Korea (KRW) sebanyak 1.000 kali dari nilai sebenarnya. Sistem gagal menyaring data anomali ini, menyebabkan penerimaan dan publikasi harga yang salah di rantai. Sebuah bot perdagangan mendeteksi kesalahan ini dan dengan cepat melakukan operasi jual beli di pasar sKRW, mengumpulkan keuntungan substansial melalui arbitrase. Penemuan cepat tim terhadap isu ini memungkinkan mereka untuk bernegosiasi dengan pedagang, yang mengembalikan keuntungan sebagai imbalan untuk bug bounty, menghindari potensi kerugian melebihi $1 miliar.

Meskipun tim Synthetix telah menerapkan langkah-langkah untuk menggabungkan data harga dari berbagai sumber untuk melindungi diri dari ketidakakuratan dari satu sumber, insiden ini menyoroti risiko yang melekat pada orakel data di luar rantai. Ketika sumber data hulu melakukan kesalahan, kontrak di rantai tidak memiliki wawasan terhadap proses perhitungan harga dan oleh karena itu tidak dapat mendeteksi anomali secara otomatis.

Tindakan Pencegahan

Kasus di atas menyoroti bahwa tantangan yang dihadapi orakel tidak hanya tentang akurasi sumber data, termasuk resistensi terhadap manipulasi dan keamanan integrasi data off-chain. Oleh karena itu, mencegah serangan orakel sangat penting. Meningkatkan keamanan, kehandalan, dan kemampuan anti-manipulasi orakel menjadi faktor kunci dalam perancangan dan pemanfaatannya. Pada bagian ini, kami mengeksplorasi langkah-langkah efektif untuk melawan berbagai jenis serangan dan memperkuat keseluruhan keamanan sistem orakel.

1. Gunakan Berbagai Sumber Data untuk Memastikan Ketepatan Data

Analisis Kasus: Dalam insiden manipulasi harga UwU Lend, para penyerang berhasil memanipulasi oracle harga UwU Lend dengan mempengaruhi harga sUSDE di kolam keuangan Curve. Dengan memanfaatkan kerentanan manipulasi harga, para penyerang mengekstrak aset yang sistem gagal mengevaluasi dengan benar. Jika UwU Lend telah menggunakan beberapa sumber data untuk menentukan harga sUSDE, sistem dapat memverifikasi harga melalui sumber lain, mengurangi risiko serangan.

Analisis Mendalam: Insiden ini melibatkan manipulasi harga dan mengungkapkan masalah terkait likuiditas yang tidak mencukupi. Ketika sebuah token kekurangan likuiditas pasar yang cukup, kedalaman perdagangan yang dangkal membuat harganya mudah dipengaruhi oleh sejumlah kecil transaksi, sehingga meningkatkan kerentanan oracle. Oleh karena itu, ketika meluncurkan token baru, tim proyek harus dengan hati-hati menilai likuiditas pasar untuk mencegah distorsi harga dan risiko keamanan terkait. Misalnya, protokol peminjaman seperti Aave, Kamino, dan Scallop memberlakukan batasan yang lebih ketat pada token dengan likuiditas rendah dalam desain mereka untuk memastikan stabilitas dan keamanan pasar.

Pendekatan Optimasi: Untuk memastikan keakuratan data, protokol harus mengadopsi strategi multi-sumber data dengan menggabungkan beberapa oracle terdesentralisasi, seperti Chainlink atau Band Protocol, untuk menggabungkan data dari berbagai pertukaran atau kolam likuiditas. Pendekatan ini mengurangi dampak pada keamanan sistem secara keseluruhan jika ada sumber data tunggal yang dimanipulasi.

2. Agregator Data Terdesentralisasi untuk Memastikan Keamanan Transmisi Data

Analisis Kasus: Kegagalan orakel luar rantai Synthetix mengungkapkan risiko kesalahan dalam sumber data luar rantai. Dalam insiden ini, dilaporkan harga Korean Won (KRW) yang tidak benar, memungkinkan bot perdagangan untuk memanfaatkan kesalahan tersebut untuk arbitrase. Jika Synthetix telah menggunakan pengumpul data terdesentralisasi, sumber data luar rantai lainnya dapat segera memperbaiki masalah tersebut, bahkan jika satu sumber data luar rantai gagal.

Pendekatan Optimisasi: Mirip dengan perbaikan di Uniswap V3, menggunakan agregator data terdesentralisasi dapat meningkatkan keamanan transmisi data. Dengan memanfaatkan protokol kriptografi (seperti TLS) dan verifikasi tanda tangan, yang dikombinasikan dengan node relay terdesentralisasi, sistem dapat mencegah serangan man-in-the-middle dan pemalsuan data. Misalnya, dalam oracle Chainlink, setiap sumber data divalidasi oleh beberapa node independen dan dilindungi dengan teknik enkripsi untuk memastikan integritas dan ketahanan data yang ditransmisikan.

4. Desain Modular dalam Arsitektur Aplikasi untuk Mengurangi Risiko Kegagalan Titik Tunggal

Analisis Kasus: Banyak insiden serangan mengungkapkan kekurangan dalam desain modular protokol DeFi, yang seringkali kurang memiliki mekanisme pertahanan yang memadai. Dengan merancang dan membangun modul-modul independen secara hati-hati, dimungkinkan untuk mencegah penyerang mengeksploitasi kerentanan tunggal untuk menyebabkan kerusakan yang sangat parah pada seluruh sistem. Misalnya, dalam kegagalan orakel off-chain Synthetix, jika tim pengembangan telah secara preemptif merancang sistem peringatan modular, mereka dapat mengidentifikasi dan memperbaiki data yang tidak normal dengan lebih cepat.

Pendekatan Optimisasi: Untuk meningkatkan ketahanan terhadap serangan, para pengembang dapat mengadopsi arsitektur berlapis selama proses pengembangan dan memastikan bahwa setiap modul (sumber data, logika validasi, modul transmisi) beroperasi secara independen. Sebagai contoh, seperti pada Uniswap V3, menyimpan informasi harga dari berbagai kolam likuiditas dalam kolam observasi terpisah memungkinkan protokol untuk membandingkan harga di beberapa kolam, mengurangi risiko manipulasi di setiap kolam tunggal. Dalam pengembangan praktis, teknik seperti enkapsulasi antarmuka dan injeksi dependensi dapat memisahkan modul validasi data dari logika lainnya, memastikan fleksibilitas dan keberlanjutan sistem.

5. Mekanisme Pertahanan Adaptif dalam Kontrak Pintar

Sementara kebanyakan orakel mengandalkan langkah-langkah pertahanan statis, kontrak pintar dapat mengadopsi strategi pertahanan adaptif untuk melawan metode serangan yang sangat dinamis. Misalnya, dengan memantau frekuensi fluktuasi harga yang abnormal, sistem dapat menentukan apakah serangan sedang terjadi dan memicu validasi tambahan atau mekanisme rollback sebagai respons terhadap anomali tersebut. Pendekatan adaptif ini dapat secara otomatis melindungi sistem dari kerugian potensial selama manipulasi harga tiba-tiba.

Aplikasi Praktis: Beberapa protokol DeFi menerapkan mekanisme "peringatan ambang batas" untuk mendeteksi fluktuasi harga yang signifikan secara real time. Jika fluktuasi harga melebihi ambang batas yang telah ditetapkan, sistem secara otomatis memulai proses validasi tambahan atau memicu rollback untuk mencegah manipulasi meningkat. Misalnya, protokol Balancer menggunakan ambang deviasi harga; Jika harga terdeteksi terlalu tinggi atau rendah, itu menghentikan transaksi tertentu sampai konfirmasi lebih lanjut dari validitas harga.

Membangun pada diskusi optimasi desain dan aplikasi oracle, kita dapat mengeksplorasi solusi-solusi spesifik dalam aplikasi DeFi. Selanjutnya, kami akan memperkenalkan mekanisme harga rata-rata tertimbang waktu di Uniswap V2 dan perbaikannya di V3.

Kasus Optimasi Keamanan dalam Aplikasi Oracle DeFi

Keamanan oracle adalah perhatian inti bagi protokol DeFi. Banyak protokol DeFi telah memperkenalkan inovasi berharga untuk mencegah serangan oracle secara efektif. Misalnya, Uniswap telah memberikan ide-ide baru untuk desain oracle melalui optimalisasinya dalam generasi harga on-chain dan mekanisme pertahanan. Perbandingan antara Uniswap V2 dan V3 menunjukkan bagaimana perbaikan teknis dapat meningkatkan kemampuan anti-manipulasi dari oracle, menawarkan jalur yang jelas untuk desain smart contract yang aman.

TWAP di Uniswap V2

Uniswap V2 memperkenalkan oracle TWAP (Time-Weighted Average Price) untuk pertama kalinya, memungkinkan pengembang on-chain untuk mengakses data harga dari pertukaran terdesentralisasi (DEX). TWAP adalah oracle on-chain yang mengambil data dari data perdagangan on-chain Uniswap sendiri tanpa mengandalkan data off-chain apa pun.

Di UniswapV2Pairkontrak, the_update() Fungsi adalah fungsi pribadi inti yang bertanggung jawab untuk memperbarui cadangan dan akumulator harga untuk pasangan perdagangan. Tujuan utamanya adalah menggunakan akumulator harga tertimbang waktu untuk membantu mencegah serangan oracle.

Ide inti dari fungsi ini adalah membatasi kemampuan seorang penyerang untuk memanipulasi harga pada satu titik waktu dengan mencatat perubahan harga berbobot waktu untuk setiap blok. Secara khusus, fungsi menghitung perbedaan waktu (timeElapsed) antara waktu saat ini dan pembaruan terakhir, kalikan perbedaan ini dengan harga pasangan perdagangan saat ini, lalu tambahkan hasilnya ke akumulator harga (harga0KumulatifTerakhirdan price1CumulativeLastAkumulasi ini mencatat harga rata-rata terimbang berdasarkan waktu untuk meratakan fluktuasi harga potensial. Karena harga dikumpulkan selama periode tertentu, para penyerang perlu beroperasi secara terus menerus melalui beberapa blok untuk secara signifikan mengubah harga, sehingga meningkatkan biaya manipulasi.

Selain itu, fungsi memperbarui akumulator harga hanya jika waktu yang telah berlaluadalah lebih besar dari 0, yang berarti harga hanya akan diperbarui sekali per blok. Desain ini membatasi frekuensi operasi penyerang dalam waktu singkat. Untuk memanipulasi harga secara efektif, penyerang perlu terus-menerus melakukan intervensi selama beberapa blok daripada hanya satu blok, yang lebih mengurangi kemungkinan manipulasi.

Dari perspektif keamanan, mekanisme ini sangat kuat. Fungsi ini mencakup pemeriksaan overflow untuk memastikan bahwa nilai maksimum cadangan tidak melebihi batas sistem, dan perhitungan harga kumulatif juga dilindungi dari overflow. Elemen desain ini membuat manipulasi eksternal menjadi jauh lebih sulit.

Namun, versi V2 dari oracle memiliki beberapa keterbatasan praktis. Misalnya, kontrak resmi hanya menyediakan nilai harga kumulatif terbaru, yang memerlukan pengembang untuk mencatat dan mengambil data harga historis, menimbulkan hambatan teknis yang lebih tinggi. Selain itu, oracle V2 tidak langsung mencatat kedalaman pasangan perdagangan. Kedalaman pasangan perdagangan sangat penting untuk stabilitas oracle dalam menghadapi serangan - kedalaman yang lebih rendah membuatnya lebih mudah untuk memanipulasi harga.

Uniswap V3

Untuk mengatasi keterbatasan pendahulunya, Uniswap meningkatkan fungsionalitas oracle dalam versi V3. Kontrak V3 mempertahankan nilai harga kumulatif dari waktu ke waktu dan menambahkan kemampuan untuk menyimpan informasi harga historis, mendukung hingga 65.535 catatan. Hal ini menghilangkan kebutuhan bagi pengembang untuk menyimpan data historis secara manual.

Selain itu, rekaman oracle versi V3 mencatat nilai likuiditas berbobot waktu untuk tingkat biaya yang berbeda. Ini memungkinkan pengembang untuk memilih kolam likuiditas dengan volume yang lebih tinggi sebagai sumber referensi harga, memastikan akurasi harga yang lebih besar. Semua logika terkait oracle dienkapsulasi dalam pustaka Oracle, memungkinkan kontrak untuk secara otomatis mencatat informasi harga dan likuiditas kumulatif untuk setiap transaksi tanpa memerlukan pemeliharaan pengguna eksternal.

Peningkatan lain yang patut dicatat adalah penyesuaian metode perhitungan harga. Dalam Uniswap V2, perhitungan TWAP didasarkan pada rata-rata aritmatika, sedangkan V3 mengadopsi rata-rata geometri. Dibandingkan dengan rata-rata aritmatika, rata-rata geometri memberikan stabilitas yang lebih besar dalam implementasi dan lebih cocok untuk lingkungan dengan volatilitas harga tinggi, sehingga lebih mengurangi risiko manipulasi.

Tren Masa Depan

Penyerang oracle termasuk kelompok terorganisir, peretas independen, dan pihak dalam yang berpotensi berkolaborasi dengan pihak eksternal. Serangan semacam itu biasanya melibatkan kompleksitas teknis yang sedang, membutuhkan penyerang untuk memiliki pemahaman dasar tentang blockchain dan kontrak pintar serta keterampilan khusus untuk mengeksploitasi kerentanan. Seiring dengan penurunan hambatan teknis, kompleksitas serangan oracle semakin berkurang, memungkinkan peretas dengan keahlian teknis yang lebih sedikit untuk berpartisipasi.

Serangan Oracle sangat bergantung pada otomatisasi. Sebagian besar penyerang menggunakan alat otomatis untuk memindai dan menganalisis data on-chain, dengan cepat mengidentifikasi dan mengeksploitasi kerentanan keamanan seperti fluktuasi harga atau keterlambatan data dalam oracle. Sebagai contoh, bot arbitrase dan skrip otomatis dapat merespons perubahan harga dalam hitungan milidetik, memastikan penyerang mendapatkan keuntungan sebelum pasar menyesuaikan. Seiring dengan terus terjadinya desentralisasi jaringan blockchain, metode otomatis ini menjadi semakin efisien, membuat serangan oracle lebih presisi dan sulit terdeteksi.

Melihat ke depan, keandalan data oracle dan resistensi manipulasi kemungkinan akan meningkat melalui adopsi luas mekanisme penetapan harga standar seperti harga rata-rata berbobot waktu (TWAP) dan validasi data multi-sumber yang ditandai secara kriptografis. Meskipun hal ini dapat mengurangi kelayakan serangan oracle, ancaman baru bisa muncul—terutama metode yang canggih yang mengombinasikan berbagai teknik arbitrase untuk mengelabui pemeriksaan keamanan. Pengembang DeFi harus tetap waspada, karena masa depan keamanan oracle bergantung pada peningkatan terus menerus dari langkah-langkah perlindungan data terdesentralisasi dan pertahanan proaktif terhadap vektor serangan yang muncul.

Kesimpulan

Artikel ini telah menjelajahi peran kritis orakel dalam sistem DeFi dan kerentanan keamanan mereka, meneliti jenis-jenis orakel, contoh pengembangan, studi kasus, dan langkah-langkah pencegahan. Analisis difokuskan pada dua area kunci: serangan orakel berbasis pinjaman kilat dan serangan acak yang berasal dari kegagalan orakel. Melalui pemeriksaan ini, kami telah menunjukkan pentingnya fundamental orakel dalam arsitektur keamanan DeFi dan kebutuhan mereka akan ketahanan manipulasi sambil memberikan metode praktis untuk mencegah serangan orakel.

Penyangkalan: Konten artikel ini hanya untuk referensi dan dimaksudkan untuk pembelajaran dan pertukaran pengetahuan tentang serangan oracle. Ini tidak merupakan panduan untuk operasi aktual atau kasus instruksional.

Penulis: Doris
Penerjemah: Sonia
Pengulas: Piccolo、Edward、Elisa
Peninjau Terjemahan: Ashely、Joyce
* Informasi ini tidak bermaksud untuk menjadi dan bukan merupakan nasihat keuangan atau rekomendasi lain apa pun yang ditawarkan atau didukung oleh Gate.io.
* Artikel ini tidak boleh di reproduksi, di kirim, atau disalin tanpa referensi Gate.io. Pelanggaran adalah pelanggaran Undang-Undang Hak Cipta dan dapat dikenakan tindakan hukum.
Mulai Sekarang
Daftar dan dapatkan Voucher
$100
!