Randar: Kerentanan Minecraft yang meretas RNG server dengan memanfaatkan reduksi kisi LLL
(github.com/spawnmason)Here are the key points from the Randar explanation and information, summarized in Markdown format:
Ikhtisar eksploit Randar
- Randar adalah eksploit untuk Minecraft versi Beta 1.8 hingga 1.12.2 yang dapat mengungkap lokasi pemain lain dengan meretas
java.util.Randomyang digunakan ulang secara keliru di server Minecraft - Eksploit ini bekerja dengan memakai reduksi kisi LLL untuk menentukan state internal RNG berdasarkan koordinat presisi item jatuh saat sebuah blok dihancurkan
- Eksploit ini ditemukan oleh n0pf0x (pcm1k) pada 7 Oktober 2022
Cara kerja eksploit Randar
- Kode Minecraft secara keliru menggunakan ulang RNG antara pembuatan terrain (seperti Woodland Mansions) dan aksi dalam game (seperti menambang blok)
- Saat sebuah chunk dimuat, game memeriksa struktur seperti Woodland Mansions, lalu mereset seed RNG berdasarkan koordinat chunk
- Saat pemain menambang blok tidak lama setelah itu, koordinat item yang jatuh ditentukan oleh state RNG
- Dengan menggunakan reduksi kisi, state internal RNG yang tepat dapat ditentukan dari koordinat item jatuh
- Dengan melangkahkan state RNG ke belakang, koordinat chunk yang paling baru dimuat dapat diketahui, sehingga lokasi pemain terekspos
Melindungi stash dari Randar
- Membangun stash di wilayah Woodland "umpan" tertentu, saat ada wilayah lain dalam 4 langkah RNG, dapat mengecoh pelaku eksploit
- Memastikan seluruh stash berada di dalam wilayah tersebut dan menempatkan akun AFK di lokasi umpan memberi perlindungan tambahan
Kode eksploit lengkap dan patch
- Kode Java lengkap untuk meretas state RNG dari koordinat item jatuh dan melangkah mundur untuk menemukan lokasi pemain disediakan
- Untuk server Minecraft yang masih memakai versi rentan, patch-nya adalah mengubah fungsi
World.setRandomSeed()agar memakai instance RNG terpisah untuk pembuatan world
Catatan tambahan dari n0pf0x
- n0pf0x menggunakan sistem caching untuk lookup seed-ke-koordinat yang lebih cepat dibanding pendekatan GPU hashmap milik Mason
- Dijelaskan juga teknik untuk melacak hit di dimensi The End, yang lebih rumit karena chunk hanya memengaruhi RNG saat pembuatan pertama kali
- Sebuah "End Occupancy Tracker" memperkirakan pemain mana yang berada di The End berdasarkan panggilan RNG per tick untuk membantu mengidentifikasi siapa yang menyebabkan hit tertentu
Opini GN⁺
- Randar adalah eksploit serius karena dapat mengetahui seed dan membocorkan lokasi pemain di seluruh world. Jika server belum diperbarui ke 1.13 atau belum menerapkan patch, ini bisa menjadi ancaman besar
- Khususnya pada server anarchy yang mengizinkan peretasan, potensi penyalahgunaan sebagai alat cheat sangat besar sehingga langkah penanganan perlu segera disiapkan
- Penggunaan satu RNG tunggal yang berlaku untuk seluruh world mungkin dipilih demi kemudahan, tetapi jika kerentanan ditemukan, ini tampak seperti cacat struktural yang dapat memengaruhi keseluruhan game. Bagian yang membutuhkan seed yang dapat diprediksi dan berulang sebaiknya dikelola dengan RNG terpisah
- Namun karena hal ini juga dapat disimpulkan dari replay PoC pada versi sebelum 1.12, perlu ditinjau kembali apakah basis penting pernah terekspos dalam replay lama
- Tidak hanya Minecraft, game lain juga pernah menemukan kerentanan akibat penggunaan ulang seed. Seed atau RNG yang dipakai dalam sistem inti game memerlukan perhatian khusus. Periode pseudorandom, kerandoman seed, dan penggunaan ulang seed perlu diperiksa
1 komentar
Opini Hacker News
Berikut poin-poin utama yang dirangkum dari komentar Hacker News:
Dalam "International RoShamBo Programming Competition" 1999-2000, sebuah bot bernama "Nostradamus" menang dengan membalik state generator angka acak untuk memprediksi langkah bot baseline acak dengan akurasi 100%.
Reduksi kisi LLL, algoritme yang sama yang digunakan dalam bot "Nostradamus", juga dapat dipakai untuk membobol kunci PuTTY dari nonce yang bias seperti dijelaskan dalam komentar Hacker News terbaru oleh 'tptacek.
Server Minecraft SciCraft menggunakan setup canggih untuk memanipulasi state RNG game secara deterministik agar memicu sambaran petir "acak" di setiap frame demi drop item yang lebih baik, seperti ditunjukkan dalam video YouTube.
Beberapa komentator menganggap eksploit ini menarik sekaligus menjadi peringatan, karena menyoroti risiko ketika sumber acak saling berinteraksi di dalam kode. Ini dianggap sebagai salah satu eksploit paling canggih dengan hasil paling minim.
Gagasan tentang "server penyalahgunaan bug bebas untuk semua" di Minecraft dibandingkan dengan seperti apa pertarungan nyata dalam metaverse hipotetis.
Komunitas modding/hacking Minecraft dipuji atas kecanggihannya, dengan beberapa contoh pembobolan RNG di dalam game yang mengesankan ditunjukkan dalam video YouTube lain.
Manipulasi RNG ini dibandingkan dengan plot phase space dari RNG ISN TCP yang lemah.
Sebagian pemain menikmati server "anarki" di Minecraft seperti 2b2t, dan menganggapnya sebagai cara permainan ini seharusnya dimainkan, meskipun server semacam itu kadang menjadi terlalu populer.
Seorang komentator penasaran dengan latar belakang profesional seorang peretas game Minecraft terkemuka bernama Leijurv, menebak bahwa mereka mungkin bekerja di bidang infosec atau algorithmic trading mengingat kemampuan mereka yang mengesankan.