Orijinal kaynak: Max He@Safeheron Lab
Son zamanlarda, kripto para topluluğu bir haberi geniş çapta tartıştı: ABD kolluk kuvvetlerinin, 2020'de gizemli bir şekilde transfer edilen ve değeri 15 milyar dolara kadar ulaşan yaklaşık 120.000 Bitcoin'in özel anahtarlarını ele geçirdiğinden şüpheleniliyor. Elliptic raporuna [1] göre, bu varlıklar başlangıçta madencilik havuzu Lubian.com ile ilişkilendirilmiş ve daha sonra ABD Adalet Bakanlığı tarafından resmen el konulmuştur. Kolluk kuvvetlerinin, cüzdan oluşturulurken oluşturulan rastgele sayıdaki bir kusurdan yararlanarak özel anahtarları yeniden yapılandırmış veya ele geçirmiş olabileceği yaygın olarak tahmin ediliyor. Bazıları ayrıca bunun ABD hükümeti tarafından yürütülen teknik bir kırma operasyonu olduğuna inanıyor.
Haberin ortaya çıkmasının ardından, tüm kripto para endüstrisinde büyük bir şok etkisi yarattı ve hızla sektörde sıcak bir konu haline geldi. Bu durum, teknik ve güvenlik düzeylerinde yaygın tartışmalara yol açmakla kalmadı, aynı zamanda yatırımcıların kripto varlıklarının güvenilirliği ve risk önleme konusunda yeni endişeler duymasına da neden oldu. Bu makale, bu olayı ve altında yatan güvenlik temellerini hem teknik hem de olgusal bir bakış açısıyla sistematik olarak inceleyecek, temel teknik ayrıntıları derinlemesine analiz edecek, olayları kapsamlı bir şekilde inceleyecek ve bunların potansiyel geniş kapsamlı etkilerini araştıracaktır. Rastgele Sayılar ve Özel Anahtar Güvenliği: Blockchain Dünyasının Can Damarı Blockchain dünyasında, rastgele sayılar kriptografik güvenliğin temel taşıdır. Her Bitcoin veya Ethereum cüzdanının özel anahtarı, rastgele bir sayı kullanılarak üretilir. Bu rastgele sayı yeterli "rastgelelikten" yoksunsa, bilgisayar korsanları özel anahtarı tahmin edebilir ve dijital varlıkları çalabilir. Bu riski etkili bir şekilde azaltmak için, cüzdanların üretilen rastgele sayıların gerçekten öngörülemez ve yeniden üretilemez olduğundan emin olmak için Kriptografik Olarak Güvenli Rastgele Sayı Üreticisi (CSPRNG) kullanması gerekir. Güvenli olmayan rastgele algoritmalara dayanan cüzdanlar normal çalışıyor gibi görünebilir, ancak gerçekte gizli riskler barındırırlar: Rastgelelik başarıyla tahmin edilebilirse, varlık kayıpları geri döndürülemez hale gelir.
2022 ve 2023 yılları arasında, aynı rastgele sayı açığından kaynaklanan birkaç büyük güvenlik olayı birbiri ardına ortaya çıktı ve bu sorunun ciddiyetini ve yaygınlığını tamamen ortaya koydu.
20 Eylül 2022'de, tanınmış piyasa yapıcı Wintermute büyük bir güvenlik olayı yaşadı ve yaklaşık 160 milyon dolarlık dijital varlık çalındı [2]. Saldırgan, adres oluşturma aracı Profanity'nin zayıflıklarından ustaca yararlandı - araç, bazı kullanımlarda "güzel adresler" oluşturmak için sözde rastgele sayı kaynağı olarak Mersenne Twister'a (MT19937) güveniyor.
MT19937 çıktısı yeterli entropi enjeksiyonu olmadığında öngörülebilir olduğundan, saldırgan adres/özel anahtar oluşturma sürecinin bir kısmını yeniden oluşturabildi, ilgili özel anahtarı başarıyla hesapladı ve fonları transfer etti. Bu vaka, kripto tarihinde bir kurumsal cüzdanın rastgele sayıların kötüye kullanımı nedeniyle tehlikeye atıldığı ilk vaka oldu ve bu durum, rastgelelik sorunlarının basit bir geliştirici ihmalinden sistemik bir güvenlik riskine dönüştüğünü gösteriyor. Safeheron, saldırının teknik ayrıntılarını analiz eden ve saldırı sürecini yeniden oluşturan bir gönderi yayınladı. [3]Nisan 2023'te, güvenlik araştırmacıları Trust Wallet tarayıcı uzantısının (0.0.172–0.0.182 sürümleri) cüzdan anımsatıcıları oluştururken kriptografik olarak güvenli olmayan bir rastgele işlev [4] kullandığını keşfetti. Altta yatan katman da Mersenne Twister (MT19937) sözde rastgele sayı algoritmasına dayanıyordu (aşağıdaki şekilde gösterildiği gibi). Rastgele uzayda yalnızca yaklaşık 2^32 olasılık vardır ve bu, kapsamlı saldırılara karşı koymak için yeterli olmaktan uzaktır.
Bir saldırgan, sınırlı bir süre içinde tüm olası anımsatıcı kombinasyonları sıralayabilir, böylece özel anahtarı yeniden oluşturabilir ve kullanıcı varlıklarını çalabilir. Trust Wallet yetkilileri daha sonra bir duyuru yayınlayarak güvenlik açığının varlığını resmen doğruladı ve etkilenen kullanıcılara varlıklarını zamanında aktarmaları konusunda acilen hatırlatmada bulundu. Proje topluluk forumundaki resmi açıklamaya göre, saldırganların hedefli saldırılar gerçekleştirmek için bu güvenlik açığından başarıyla yararlanmış olması nedeniyle, güvenlik açığı yaklaşık 170.000 ABD doları tutarında potansiyel kayba neden oldu.

Bu olay, ana akım cüzdan terminali kullanıcılarını etkileyen bir rastgele sayı güvenlik açığının ilk örneği oldu ve ayrıca "rastgele sayı güvenliği" sorununun ilk kez geniş çaplı kamuoyunun dikkatini çekmesini sağladı.
Ağustos 2023'te, güvenlik araştırma ekibi Distrust, komut satırı aracı Libbitcoin Explorer (bx) 3.x sürümünde [5] ciddi bir rastgele sayı güvenlik açığı keşfettiğini duyurdu. Cüzdan tohumları oluşturmak için bx seed komutunu çalıştırırken, araç dahili olarak Mersenne Twister (MT19937) sözde rastgele sayı üretecini de kullanır ve tohum kaynağı olarak yalnızca sistem zamanını kullanır, bu da son derece düşük rastgelelik ve öngörülebilir çıktı sağlar. Bir saldırgan, sınırlı bir süre içerisinde tüm başlangıç değerlerini sıralayabilir, böylece cüzdanın özel anahtarını yeniden oluşturabilir ve varlıkları doğrudan çalabilir.

Bu güvenlik açığı, cüzdan oluşturmak için Libbitcoin Explorer 3.x kullanan tüm kullanıcıları ve libbitcoin-system 3.6 kütüphanesine dayanan ilgili uygulamaları etkilemektedir. Ağustos 2023 itibarıyla, bu güvenlik açığı nedeniyle 900.000 ABD dolarından fazla kripto para birimi varlığı çalınmıştır [6]. Güvenlik açığı ifşa edildikten sonra, resmi olarak CVE-2023-39910 olarak kaydedilmiştir.
Libbitcoin-explorer zamanında doğru güvenlik yamasıyla yamalanmış olsa da, sorun henüz bitmemiştir.
Libbitcoin Explorer 3.x güvenlik olayının ifşa edilmesinin ardından, Distrust ekibi liderliğindeki beyaz şapkalı araştırmacılar, güvenlik açığının etkisini sürekli olarak izlemek ve topluluk tepkisini teşvik etmek için MilkSad projesini kurdu.
2024 yılına gelindiğinde, araştırmacılar bu "zayıf cüzdanların" üretim mekanizmasını, cüzdan türünü ve sözde rastgele sayı üreteci (PRNG) yapılandırmasını ilk kez sistematik olarak çözdüler [7] ve bunların Bitcoin madencilik havuzu Lubian.com ve ilgili fonların dağıtım özellikleriyle potansiyel bağlantılarını ortaya koydular.
2025 yılında, anonim bir beyaz şapkalı araştırmacının sağladığı önemli ipuçlarının yardımıyla, uzun süredir durgun olan analiz çalışmaları çığır açtı. MilkSad ekibi, etkilenen yazılımın özel anahtarlar üretirken yeni bir parametre - PRNG ofseti (ofset) - ortaya çıkardığını keşfetti. Bu keşif, araştırmacıların daha önce dağılmış cüzdan gruplarını yeniden ilişkilendirmelerini ve bunların ardındaki birleşik rastgele sayı üretme modelini ortaya çıkarmalarını sağladı. Bu keşif, tüm "zayıf cüzdan" olayının nedenini anlamanın anahtarı oldu [8].
Ekibin daha derinlemesine analizine göre, 2023'te keşfedilen 2.630 sorunlu cüzdan, buzdağının sadece görünen kısmıydı. PRNG çıktısının farklı bölümlerini tarayan araştırmacılar, 227.200'den fazla benzersiz cüzdanı başarıyla yeniden yapılandırıp tanımladılar (aşağıdaki şekilde gösterildiği gibi), bunların tümü ana ağda aktif kullanım geçmişine sahip ve bugüne kadarki en büyük "zayıf rastgele cüzdan" kümesini oluşturuyor. Zincir içi veriler, rastgele sayı hatasıyla oluşturulan bu cüzdanların toplamda yaklaşık 137.000 Bitcoin (BTC) tuttuğunu gösteriyor. 28 Aralık 2020'de, sadece iki saat içinde, bu cüzdanlar toplu olarak boşaltıldı ve bakiye 137.000'den 200'ün altına düştü. Yaklaşık 9.500 BTC, Lubian madencilik havuzuna ait bir ödeme adresine aktarılırken, kalan yaklaşık 120.000 BTC'nin saldırganın kontrolündeki cüzdanlara aktarıldığı tahmin ediliyor. Tüm şüpheli işlemlerde aynı ücret kullanılıyordu ve bu da otomatik toplu transferlerin açık işaretlerini gösteriyordu.
Daha sonra, bu büyük çaplı hırsızlığın varlığını daha da doğrulayan yeni önemli ipuçları ortaya çıktı [9]. Araştırmacılar, Bitcoin ana ağında bazı kurban cüzdanlarında 3 Temmuz 2022 ve 25 Temmuz 2024 tarihlerinde hala anormal işlem faaliyetleri olduğunu tespit etti. Bu işlemler, OP_RETURN mekanizması aracılığıyla tam olarak aynı bilgileri içeriyordu:
"LB'den MSG. Varlığımızı kurtaran beyaz şapkalıya, varlığın iadesi ve ödülünüz hakkında görüşmek üzere 1228btc@gmail.com adresinden bizimle iletişime geçebilirsiniz."
Araştırmacılar, "LB"nin Lubian.com anlamına gelebileceğini ve "varlığımızı kurtarıyoruz" ifadesinin de 28 Aralık 2020'deki büyük ölçekli fon transferi olayına atıfta bulunabileceğini tahmin ettiler. Bu mesajlar farklı adreslere defalarca yayınlandı ve Lubian'ın varlıkları kontrol eden "beyaz şapkalı" ile varlıkların iadesi ve ödüller hakkında görüşmek üzere iletişim kurma yönünde açık bir girişimi olduğu anlaşılıyor.
Ancak, bu cüzdanların özel anahtarları uzun zamandır sızdırıldığı için, teorik olarak herkes bu adreslerden işlem başlatabilir veya mesaj yazabilir. Bu nedenle, bu bilginin gerçekten Lubian ekibinden mi yoksa yanıltıcı veya şaka amaçlı bir operasyondan mı kaynaklandığını kesin olarak doğrulamak hâlâ mümkün değil.
Bu noktada, buzdağının asıl kısmı nihayet ortaya çıktı: Rastgele sayı hatasından kaynaklanan bu sistemsel güvenlik açığı, Bitcoin tarihindeki en büyük ve en kapsamlı güvenlik ihlallerinden birine dönüştü.
Peki, bu 220.000 BTC'lik zayıf rastgele cüzdanlar nasıl oluşturuluyor? Belirli teknik arama sürecini ayrıntılı olarak açıklayalım [8]
1. Adım: Rastgele sayılar üretmek için aynı sözde rastgele sayı üreteci (PRNG) MT19937'yi seçin. Bir kez daha, bu PRNG'nin hiçbir kriptografik güvenliği yoktur.
2. Adım: MT19937'yi son derece düşük entropili bir tohum (0 ila 2^32-1) kullanarak başlatın. Düşük entropili tohumlar, bu BTC cüzdan özel anahtarlarının hızlı türetilmesinin temel nedenidir.
3. Adım: MT19937, tur başına 32 bitlik bir tam sayı üretir, ancak tamamı kullanılmaz. Yalnızca en üstteki 8 bit seçilir, yani MT19937 tur başına bir bayt üretir.
Adım 4: Özel anahtar aralığını genişletmek için OFFSET özelliğini tanıtın. BTC'deki özel anahtar tohumunun 32 bayt (24 anımsatıcıya veya 256 bit'e eşdeğer) olduğunu unutmayın. Bu 32 bayt, BTC özel anahtar tohumunu oluşturmak için (32 * OFFSET) ile (32 * OFFSET + 31) arasındaki turlardan elde edilir. BTC'deki özel anahtar tohumunun 32 bayt olduğunu unutmayın. Özellikle:
(1) 0'dan 31'e kadar olan turlar, 32 baytlık bir özel anahtar çıktısı verir.
(2) 32'den 63'e kadar olan turlar, 32 baytlık bir özel anahtar çıktısı verir.
(3) 32 * 2'den 95'e kadar olan turlar, 32 baytlık bir özel anahtar çıktısı verir.
(4) Benzer şekilde, OFFSET'in maksimum değeri 3232 olabilir.
Adım 5: Özel anahtar tohumuna dayanarak, genel BIP32 cüzdan türetme algoritmasını ve m/49'/0'/0'/0/0 türetme yolunu kullanarak alt genel-özel anahtar çiftini türetin.
Adım 6: Alt genel anahtara dayanarak, 3 önekine sahip P2WPKH-nested-in-P2SH türünde bir cüzdan adresi oluşturun.
Adım 7: Oluşturulan adresin zincirde bir kullanım kaydı varsa, bu zayıf rastgele sayı cüzdanının başarıyla bulunduğu anlamına gelir. Cüzdan adresini ve karşılık gelen özel anahtarı kaydedin. Yukarıda açıklanan tüm arama süreci kesindir. Tek değişken, 2^256 BTC standart özel anahtar alanından çok daha az olan, toplam 2^32 olasılığa sahip düşük entropili bir başlangıç noktasının seçiminde yatmaktadır. Bu nedenle, kaba kuvvet araması 220.000 zayıf rastgele cüzdanın ve bunlara karşılık gelen özel anahtarların tamamını elde edebilir. Hikayenin Tamamı: Hikayenin tamamını inceleyelim. Birkaç yıl önce (2018 gibi erken bir tarihte), birkaç dijital varlık projesi, geliştirme süreçlerine yanlışlıkla kriptografik olarak güvenli olmayan sözde rastgele sayı üreteçlerini (PRNG'ler) dahil ederek, bunları cüzdan özel anahtarlarını üretme gibi son derece hassas bir süreç için kullandı. O dönemdeki geliştiricilerin kriptografik güvenlik konusundaki bilgi eksikliği nedeniyle, bu hata fark edilmeden kaldı ve daha sonraki büyük ölçekli güvenlik açıklarının zeminini hazırladı. Ne yazık ki, zamanla bu sorun yavaş yavaş keşfedildi ve bilgisayar korsanları tarafından istismar edildi. Farklı saldırı grupları, Wintermute hırsızlığı, Trust Wallet rastgele sayı güvenlik açığı olayı ve Libbitcoin zayıf cüzdan olayı da dahil olmak üzere aynı prensibe dayalı çok sayıda yüksek profilli saldırı başlattı. Bu saldırılar toplamda yüz milyonlarca dolarlık varlık kaybına yol açtı ve daha önce göz ardı edilen teknik bir ayrıntı olan rastgele sayı güvenliğini sektörün odak noktası haline getirdi.Araştırmacılar, bu olaylar arasındaki ortak noktaları analiz ettiklerinde, etkilenen tüm cüzdanlarda benzer rastgelelik kusurları keşfettiler ve bağlantıyı daha önceki Lubian madencilik havuzu hırsızlığına dayandırdılar. Daha ileri araştırmalar, Lubian tarafından kullanılan cüzdanların da güvenli olmayan bir rastgele sayı üretme mekanizmasına dayandığını ve bu nedenle "zayıf cüzdanlar" grubunun bir parçası olduğunu doğruladı. Daha sonraki sistematik analizler daha da şaşırtıcı gerçekleri ortaya çıkardı: Ağ genelinde yaklaşık 220.000 zayıf rastgele sayı cüzdanı bulundu ve toplamda 120.000 BTC tutuldu; bu da bugüne kadarki en büyük ve en kapsamlı rastgele sayı güvenlik olayı oldu. ABD Adalet Bakanlığı'nın Lubian.com hırsızlığının arkasında olduğu söylentisi, esasen ince bir gerçeğe dayanıyor: Adalet Bakanlığı'nın ilgili varlıkların yönetimine resmi olarak dahil olduğu dönemde, Lubian ile ilişkili daha önce kullanılmayan Bitcoin adreslerinden büyük ölçekli bir fon transferi aniden gerçekleşti. Bu dönemde, örtüşen zincir içi adresler arasındaki bu doğrudan ilişki, birçok gözlemcinin hükümetin ilgili özel anahtarları ele geçirmek için kaba kuvvet kullanmış olabileceğinden şüphelenmesine yol açtı. Başka bir olasılık daha var: ABD hükümeti özel anahtarı doğrudan kaba kuvvetle ele geçirmemiş, bunun yerine özel anahtarı elinde bulunduran kişi veya kuruluşu kontrol ederek fon transferini kolaylaştırmıştır.
Bu cüzdanlar hacklenebilen zayıf rastgele cüzdanlar olsa da, özel anahtarları teorik olarak teknik yollarla çoğaltılabilir; ancak şu an itibarıyla, ABD hükümetinin ilgili özel anahtarlara karşı "kaba kuvvet" operasyonunu yönettiğine dair kamuya açık ve doğrulanabilir bir kanıt bulunmamaktadır. İlgili kurumlar teknik müdahale gerçeğini resmi ve aleni olarak kabul etmedikçe, olayın gerçek süreci gizemini koruyacaktır.
Güvenli rastgele sayıların önemini anladığımıza göre, bunları gerçek geliştirme ve uygulamada doğru bir şekilde nasıl elde edebiliriz? Aşağıdaki ilkelere uyulmalıdır:
(1) İşletim sistemi tarafından sağlanan güvenlik arayüzünü kullanmaya öncelik verin ve sistem entropi havuzuna dayalı rastgele sayılar oluşturun.
(2) Koşullar izin verdiğinde, Intel SGX CPU'nun donanım rastgele sayı talimatları gibi güvenli donanım entropi kaynaklarını kullanın.
(3) MPC senaryosunda, genel güvenliği iyileştirmek için birden fazla entropi kaynağı entegre edilebilir; örneğin, tek bir entropi kaynağının başarısız olma veya tahmin edilme riskini önlemek için Linux sistem entropi havuzunu Intel SGX CPU'nun donanım rastgele sayısıyla birleştirmek gibi.
(4) libsodium, BoringSSL, OpenSSL vb. gibi yaygın olarak doğrulanmış kriptografik kütüphanelerde güvenli rastgele sayı üretme arayüzlerini kullanın.
(5) Tohum entropisinin 128–256 bitten az olmamasını sağlayın ve zaman damgaları ve işlem numaraları gibi düşük entropili kaynakların tohum olarak kullanılmasını yasaklayın.
(6) Mersenne Twister (MT19937), Math.random() ve rand() gibi kriptografik olarak güvenli olmayan sözde rastgele sayı üreteçlerinin (CSPRNG olmayan) kullanılması kesinlikle yasaktır.
Tek taraflı bir sistemle karşılaştırıldığında, MPC'nin doğal bir entropi füzyon avantajı vardır: her katılımcı bağımsız olarak rastgele bir entropi kaynağı sağlayabilir ve nihai rastgele sonuç tüm taraflarca üretilir. Herhangi bir taraf dürüst kaldığı sürece, tüm sistemin rastgeleliği tahmin edilemez veya değiştirilemez. Bu çok kaynaklı rastgele yapı, sistemin genel güvenliğini ve kurcalamaya karşı direncini önemli ölçüde artırır ve MPC protokolünün temel güvenlik avantajlarından biridir.
Safeheron, MPC ve TEE teknolojisine dayalı bir dijital varlık güvenlik saklama protokolü oluşturmuştur. Bu çözümde, MPC protokolündeki her katılımcı, Linux sistem entropi havuzu ve TEE donanım entropi kaynakları (Intel SGX donanım rastgele sayı talimatları gibi) dahil olmak üzere birden fazla bağımsız güvenli entropi kaynağı kullanır. Bu çok kaynaklı entropi birleştirme mekanizması, sistemin güvenlik çevresini güçlendirmekle kalmaz, aynı zamanda güvenilir bir yürütme ortamı (TEE) ve dağıtılmış imza sistemi oluşturmak için daha yüksek bir güvenlik temeli oluşturur.
Görünüşte gizemli olan "120.000 Bitcoin hırsızlığı" olayı, belirli bir algoritmanın tehlikeye atıldığını değil, ilk geliştiricilerin özel anahtar üretimi sırasında kriptografik olarak güvenli olmayan bir rastgele sayı algoritmasını kötüye kullanarak tüm sistemin güvenliğini temelden zayıflattığını ortaya koymaktadır.
Kripto varlıkların güvenliği, nihayetinde kriptografik uygulamanın titizliğine bağlıdır. Herhangi bir ince mühendislik hatası, bilgisayar korsanları tarafından istismar edilebilir ve nihayetinde dijital varlıkların mülkiyetini belirleyebilir. Yalnızca güvenilir entropi kaynakları ve kanıtlanmış kriptografik kütüphaneler kullanılarak kaynaktan rastgele sayı güvenliği sağlanarak "rastgelelik" orijinal anlamına, yani öngörülemez ve bozulmaya karşı dayanıklı hale getirilebilir.
Safeheron Baş Bilim İnsanı Max He liderliğindeki Safeheron Lab ekibi, blok zinciri güvenliği ve güvenilir bilgi işlem gibi en son alanlardaki temel araştırmalara odaklanarak kriptografi ve güvenlik alanında uluslararası uzmanları bir araya getiriyor. Safeheron Lab, Turing Yapay Zeka Araştırma Enstitüsü gibi ortaklarla iş birliği yaparak araştırma bulgularının ve endüstriyel uygulamaların ticarileştirilmesini teşvik ediyor ve dijital varlık güvenliği için yenilikçi çözümler sunuyor.
[3] href="https://safeheron.com/blog/how-profanity-caused-wintermute-to-lose-160m/" target="">Küfür Nedeniyle Wintermute'un 160 Milyon Dolar Kaybetmesinin Derinlemesine İncelemesi
[4] Trust Wallet: CVE-2023-31290 Detayı
[5] Libbitcoin Explorer: CVE-2023-39910 Detayı
[6] CZ: Trust Wallet ve Binance Wallet, anımsatıcılar oluşturmak için Libbitcoin Explorer'ı kullanmaz
[7] Güncelleme #7 - Milyar Dolarlık Cüzdan Yelpazesi, Artık Boş
[8] Güncelleme #13 - 224.000'den Fazla Yeni Cüzdan Keşfedildi
[9] Güncelleme #14 - Şüpheli Lubian.com Saldırısı Hakkında Daha Fazla Bilgi
Bu makale bir gönderimden alınmıştır ve BlockBeats'in bakış açısını temsil etmemektedir.
BlockBeats Resmi Topluluğuna Katılın:
Telegram Abonelik Grubu: https://t.me/theblockbeats
Telegram Sohbet Grubu: https://t.me/BlockBeats_App
Twitter Resmi Hesabı: https://twitter.com/BlockBeatsAsia