
Bug GoBalance Dedah Kunci Master Onion Tor
Bug GoBalance Dedah Kunci Master Onion Tor
Alamat .onion sebuah laman dark web kelihatan seperti rentetan rawak, tetapi sebenarnya ia ialah public key. Sesiapa yang memegang private key yang sepadan mengawal alamat itu. Pada 8 Oktober 2026, firma keselamatan Searchlight Cyber mendedahkan satu kelemahan dalam GoBalance, sebuah load balancer yang digunakan oleh banyak hidden service, yang membolehkan sesiapa memulihkan private key itu daripada satu kepingan data awam. Tiada pecah masuk, tiada akses ke server — hanya descriptor yang boleh diambil oleh sesiapa sahaja di rangkaian Tor (Searchlight Cyber).
Seminggu sebelum itu, dua alamat onion forum Dread telah dirampas dan dihalakan ke laman saingan. Pengendali Dread mula-mula menyalahkan kesilapan sendiri. Kelemahan ini memberikan penjelasan yang lebih munasabah untuk sekurang-kurangnya perampasan kedua — dan ia satu pengajaran yang jelas tentang bagaimana satu kesilapan memanggil fungsi boleh memusnahkan keselamatan keseluruhan satu skema kriptografi.
Apa sebenarnya alamat onion
Alamat onion v3 ialah pengekodan base32 bagi satu ed25519 public key, ditambah versi dan checksum (spesifikasi alamat Tor). Service itu memegang secret key yang sepadan dan menggunakannya untuk menandatangani satu rekod kecil — sebuah descriptor — yang memberitahu rangkaian Tor ke mana trafik perlu disalurkan. Sesiapa sahaja boleh mengambil descriptor itu; itulah tujuannya. Ia ditandatangani supaya klien boleh mengesahkannya tanpa pengendali perlu memberikan kunci itu.
Untuk menandatangani descriptor, anda perlukan master identity key service tersebut. Dalam dunia implementasi rujukan Tor, kunci itu agak luar biasa. Ia bukan seed 32 bait yang mungkin anda jangkakan. Tor menyimpan kunci itu dalam bentuk yang sudah expanded: satu fail bernama hs_ed25519_secret_key mengandungi 64 bait — scalar rahsia a sepanjang 32 bait, diikuti nilai 32 bait yang digunakan untuk menerbitkan nonce bagi setiap tandatangan. Panggil separuh kedua itu h.
Bentuk seed lebih selamat, kerana ia membolehkan software menerbitkan semula kedua-dua separuh itu dengan SHA-512 setiap kali diperlukan. Bentuk expanded melangkau langkah itu: apa yang ada pada disk itulah yang digunakan.
Kelemahannya: 64 bait masuk, 32 bait digunakan
GoBalance ialah penulisan semula OnionBalance Tor dalam Go, disertakan dalam toolkit EndGame yang digunakan pengendali dark web untuk bertahan daripada serangan DDoS. Dalam penulisan semula itu, laluan penandatanganan descriptor mempunyai bug halus: apabila menandatangani dengan kunci format Tor, ia menghantar kepada signer hanya 32 bait pertama daripada kunci 64 bait itu.
Itulah keseluruhan bug itu. Inilah bentuknya, diringkaskan kepada perkara yang penting:
// Tor hs_ed25519_secret_key is 64 bytes: scalar a (32) || nonce prefix h (32).
expanded := loadTorFormatKey() // len(expanded) == 64
// BUG: gobpk.Seed() returns ed25519.PrivateKey.Seed(), i.e. expanded[:32].
// Only "a" reaches the signer. "h" is silently dropped.
sig := util.BlindedSignWithTorKey(msg, privKey.Seed(), blindedKey, blindingNonce)
// FIXED: hand the signer the full expanded key so the nonce prefix survives.
sig := util.BlindedSignWithTorKey(msg, expanded, blindedKey, blindingNonce)
Dalam Go, ed25519.PrivateKey.Seed() ditakrifkan untuk memulangkan 32 bait pertama — iaitu seed. Itu betul untuk kunci biasa, kerana separuh yang satu lagi boleh diterbitkan semula. Tetapi untuk kunci format Tor, tidak ada seed untuk diterbitkan semula. Kod itu memanggil Seed() pada data yang tidak pernah menjadi seed, dan separuh h yang hilang itu terbuang.
Mengapa kehilangan h menyerahkan kunci
Tandatangan ed25519 ialah pasangan (R, S) dengan R = rB. Keselamatan skema ini bergantung pada nonce r yang kekal rahsia. Biasanya r diterbitkan daripada separuh rahsia h dan mesej itu, jadi penyerang melihat satu persamaan dengan dua pemboleh ubah tak diketahui — nonce dan scalar rahsia — dan tidak boleh menyelesaikannya.
Keluarkan h, dan nonce itu berhenti menjadi rahsia. Dalam GoBalance, kod itu memecahkan kunci itu dan menerbitkan prefix nonce daripada separuh keduanya. Dengan separuh kedua kosong, prefix itu menjadi SHA-512 bagi satu rentetan tetap yang awam — bait yang sama untuk setiap service, setiap descriptor. Nonce itu kemudiannya menjadi fungsi bagi mesej yang ditandatangani, dan mesej itu (sijil penandatanganan) diterbitkan bersama descriptor. Nonce itu awam.
Yang tinggal hanyalah satu perkara tak diketahui. Ambil satu descriptor, baca R, S, mesej, blinding nonce dan blinded public key, dan scalar rahsia master itu terhasil daripada satu persamaan linear. Oleh kerana descriptor itu juga membawa public blinding nonce, penyerang boleh membalikkan langkah blinding itu dan memulihkan master key jangka panjang service itu secara langsung (Searchlight Cyber).
Perincian terakhir itulah bahagian paling buruk. Ini bukan kunci jangka pendek yang berputar. Ia ialah identity key yang menjadi asas alamat itu, jadi kunci yang dipulihkan boleh menandatangani descriptor yang sah untuk alamat itu jauh ke masa hadapan.
Apa yang kelemahan ini beri dan tidak beri
Perlu tepat, kerana tajuk berita tidak begitu.
- Ia memberi penyerang alamat itu. Mereka boleh menerbitkan descriptor sendiri dan mengalihkan pelawat ke server yang mereka kawal, termasuk salinan laman asal yang meyakinkan.
- Ia tidak memberi mereka server itu. Bug ini membocorkan kunci penandatanganan, bukan pangkalan data, backend atau data pengguna yang disimpan. Mendapatkan data pengguna daripada satu perampasan memerlukan langkah tambahan seperti pemintasan trafik atau phishing.
- Ia tidak menjejaskan semua yang menjalankan GoBalance. Hanya service yang kunci masternya disimpan dalam format expanded Tor yang terjejas. Alat persediaan GoBalance sendiri menulis kunci dalam format seed 32 bait yang lebih selamat, dan laluan penandatanganan standard mengendalikannya dengan betul. Jadi "menjalankan GoBalance" tidak sama dengan "terdedah".
- Ia tidak menjejaskan Tor atau OnionBalance. Bug ini diperkenalkan dalam penulisan semula Go. Alat asal tidak terjejas.
Kesan selepas itu
Antara 5 dan 7 Oktober, Dread — salah satu forum dark web terbesar — kehilangan kedua-dua alamat onionnya. Alamat utama dicemari pada 5 Oktober dan dihalakan ke platform saingan; alamat kedua, sandaran yang dikhaskan untuk ahli premium, dirampas dua hari kemudian. Perampasan kedua itulah yang penting: satu muat naik kunci yang tersilap tidak menjelaskan dua kunci berasingan yang hilang. Dread kini telah berpindah ke alamat yang baru dijana dan meminta pengguna menukar kata laluan mereka.
Sekurang-kurangnya satu market lain, Omega, mengesahkan secara terbuka pada 8 Oktober bahawa ia telah menarik alamat lamanya "due to an issue caused by the GoBalance bug" dan berpindah ke alamat baharu. Berapa banyak service lain yang terjejas tidak jelas; pengendali Dread berkata beberapa market terjejas tetapi tidak menamakan atau menyatakan bilangannya.
Setakat 9 Oktober, tiada CVE, tiada advisory daripada Tor Project, dan tiada patch daripada penyelia GoBalance (The Hacker News). Seorang penyelidik bebas menerbitkan satu patch dan proof-of-concept yang berfungsi, yang memulihkan kunci master daripada satu descriptor awam (GitHub). Demo itu menggunakan kunci ujian sahaja, dan The Hacker News belum menjalankan kod itu.
Mengapa ini penting di luar dark web
Ketepikan latar belakangnya, dan ini ialah pengajaran umum tentang kod kriptografi.
Wrapper kemudahan boleh menyembunyikan perubahan makna. Seed() ialah nama yang sangat munasabah. Bug ini bukan pada namanya; ia pada hakikat bahawa kontrak fungsi itu ("pulangkan 32 bait pertama kerana selebihnya boleh diterbitkan") tidak lagi benar sebaik sahaja kunci itu datang daripada format expanded Tor. Kod itu terus memanggil fungsi seed pada sesuatu yang bukan seed.
Public key dan descriptor bukan sekadar metadata routing. Apa sahaja yang menandatangani descriptor sedang menyentuh identiti jangka panjang laman itu. Zon yang boleh terjejas oleh bug dalam laluan itu ialah identiti itu sendiri, bukan satu sesi.
Anda tidak boleh menarik balik descriptor yang sudah diterbitkan. Patch membaiki tingkah laku masa hadapan. Ia tidak boleh menarik kembali kunci yang sudah terdedah. Mana-mana service yang menjalankan versi terdedah perlu menganggap alamat itu sudah tidak selamat digunakan lagi dan berpindah ke alamat baharu — dan itulah yang Dread dan Omega lakukan.
Corak itu sepatutnya sudah biasa kepada sesiapa yang pernah mengendalikan credential yang bocor. Sebab itulah token yang dirotasi lebih baik daripada token yang ditampal: sebaik sahaja rahsia itu terkeluar, satu-satunya pembaikan sebenar ialah berhenti mempercayainya. Pengajaran yang sama boleh dilihat dalam tulisan kami tentang token issue-email GitLab yang tidak pernah luput, di mana penyelesaiannya ialah merotasi token itu dan bukan menampal di sekelilingnya.
Bagi kebanyakan developer, bug ini ialah amaran tentang sejenis kesilapan, bukan sistem yang anda jalankan. Tetapi jika anda menulis atau menyelia apa-apa yang mengendalikan kunci — service penandatanganan, penerbit token, integrasi kripto tersuai — kelemahan GoBalance ini wajar dibaca dua kali. Vulnerability itu hanyalah satu separuh daripada 64 bait kunci yang tercicir. Segala yang berlaku selepas itu tidak boleh dipulihkan.
Sumber
- Searchlight Cyber: Leaking the Keys to the Kingdom: How a Single Slip Handed Over a Darknet Empire
- The Hacker News: GoBalance Flaw Lets Attackers Hijack .onion Addresses by Recovering Tor-Format Keys
- GitHub: gobalance-patch - proof-of-concept key recovery
- The Tor Project: Tor v3 Onion Address Specification
- Go Documentation: crypto/ed25519
// penulis
Editor & Operator
Mohd Firdaus Abu Bakar (MrDodgerX) is an enterprise geospatial systems engineer in Malaysia and the editor behind hejes.my. He runs the briefing pipeline, curates and edits every draft, verifies each factual claim against primary sources, and presses the publish button — nothing ships without his review. He writes about AI, security and Malaysia's tech scene from a builder's perspective. Professional profile and code: the links below.
// sumber //
disahkan fakta · 12 OKT 2026 · hejes-content-fact-check
- Leaking the Keys to the Kingdom: How a Single Slip Handed Over a Darknet EmpireSearchlight Cyber · diakses 12 OKT 2026
- GoBalance Flaw Lets Attackers Hijack .onion Addresses by Recovering Tor-Format KeysThe Hacker News · diakses 12 OKT 2026
- gobalance-patch - proof-of-concept key recoveryGitHub · diakses 12 OKT 2026
- Tor v3 Onion Address SpecificationThe Tor Project · diakses 12 OKT 2026
- crypto/ed25519Go Documentation · diakses 12 OKT 2026
berkaitan //

CEO Flock kata hanya tembakan, laman web kata lain
CEO Flock kata sensor audio mereka mengesan "hanya tembakan", tetapi halaman produk dan FAQ syarikat menyenaraikan kemalangan, bunga api dan sideshow juga.
Pwn2Own: Pixel 10 Dipatch Ditembus Tiga Kali
Di Pwn2Own Ireland, tiga pasukan menembusi Google Pixel 10 yang sudah dipatch sepenuhnya melalui rangkaian pada hari yang sama, berkongsi hadiah $562,500.

LMCache CVE-2026-105192: RCE 9.8 Belum Ditampal
LMCache unpickle data terus daripada socket tanpa authentication. Satu mesej sudah memadai untuk RCE, pendedahan anda seluas satu flag, dan patch belum wujud.
// sertai suapan
satu ilmu seminggu. tiada spam.
ringkasan mingguan. berhenti bila-bila masa.