Rastgele sayılar artık rastgele olmadığında: 120,000 BTC çalınma gerçeği

Orijinal kaynak: Max He@Safeheron Lab

Son zamanlarda, kripto para topluluğu, ABD yasama organlarının 2020 yılındaki gizemli transferle ilişkili yaklaşık 120.000 adet Bitcoin'in özel anahtarını ele geçirmiş olabileceği yönünde önemli bir haberi geniş çapta tartışıyor; bu da 15 milyar dolar değerinde. Elliptic'in raporuna göre, bu varlıklar başlangıçta madencilik havuzu Lubian.com ile bağlantılıydı ve daha sonra ABD Adalet Bakanlığı tarafından resmi olarak müsadere edildi. Dışarıda, yasama organlarının cüzdan oluşturulurken rastgele sayı eksikliğini kullanarak özel anahtarı yeniden oluşturmuş veya ele geçirmiş olabileceği yönünde yaygın bir spekülasyon var; bazı görüşler ise bunun ABD hükümetinin öncülüğünde bir teknik kırılma eylemi olduğunu öne sürüyor.

Bu mesajın yayımlanmasının ardından, tüm kripto para sektöründe güçlü bir sarsıntı meydana geldi ve hızla sektördeki odak konularından biri haline geldi. Sadece teknik ve güvenlik boyutlarında geniş tartışmalar başlatmakla kalmadı, aynı zamanda yatırımcıların kripto varlıkların güvenilirliği ve risk yönetimi konusundaki yeni endişelerini de artırdı. Bu makale, teknik ve gerçeklik perspektiflerinden hareketle, bu olayı ve arkasındaki güvenlik kökenlerini sistematik olarak ele alacak, kilit teknik detayları derinlemesine analiz edecek, olayın gelişim sürecini kapsamlı bir şekilde gözden geçirecek ve olası derin etkilerini tartışacaktır.

Rastgele Sayılar ve Özel Anahtar Güvenliği: Blok Zinciri Dünyasının Hayat Hattı

Blockchain dünyasında, rastgele sayılar kripto güvenliğinin temel taşı olarak kabul edilir. Her bir Bitcoin veya Ethereum cüzdanının özel anahtarı, rastgele sayılarla üretilir - eğer rastgele sayılar yeterli "rastgelelik"ten yoksunsa, bir hacker özel anahtarı tahmin edebilir ve dolayısıyla dijital varlıkları doğrudan çalabilir. Bu riski etkili bir şekilde önlemek için, cüzdanların şifreleme güvenli rastgele sayı üreticisi (CSPRNG) kullanması gerekir, böylece üretilen rastgele sayıların gerçekten tahmin edilemez ve yeniden üretilemez olmasını sağlanır.

Güvensiz rastgele algoritmalara dayanan cüzdanlar, yüzeyde normal çalışıyormuş gibi görünse de aslında gizli tehlikeler barındırır: Rastgelelik başarıyla tahmin edildiğinde, varlık kaybı geri alınamaz hale gelir.

Tarihin Tekerrürü: Birçok Önemli Güvenlik Olayının İpuçları

2022 ile 2023 yılları arasında, benzer rastgele sayı açığı nedeniyle bir dizi önemli güvenlik olayı ortaya çıktı ve bu sorunların ciddiyetini ve yaygınlığını tam olarak ortaya koydu.

Güvenlik Olayı 1: Wintermute'un 160 milyon dolarlık acı dersi

20 Eylül 2022'de, tanınmış piyasa yapıcısı Wintermute büyük bir güvenlik kazası yaşadı ve yaklaşık 160 milyon dolar değerinde dijital varlık çalındı. Saldırganlar, adres oluşturma aracı Profanity'nin zayıflığını ustaca kullandı - bu araç, belirli kullanımlarda “güzel numara adresleri” oluşturmak için Mersenne Twister (MT19937) adlı sahte rastgele sayı kaynağına bağımlıdır.

MT19937'nin çıktısının yeterli entropi enjeksiyonu olmadan öngörülebilir olması nedeniyle, saldırganlar bazı adres/özel anahtar oluşturma süreçlerini yeniden oluşturabilmiş ve böylece ilgili özel anahtarı başarıyla hesaplayarak fonları transfer etmiştir. Bu durum, şifreleme tarihindeki, rastgele sayıların yanlış kullanımının kurumsal düzeyde bir cüzdanın kırılmasına yol açtığı ilk olay olma özelliği taşımakta ve rastgelelik sorunlarının yalnızca geliştirici dikkatsizliğinden sistematik bir güvenlik riskine dönüştüğünü göstermektedir.

zFxMzJ8scYA8LqmIuqxhaAMB8wwmtd8gVvhIthv8.jpeg

Bu saldırı hakkında, Safeheron o sırada saldırının teknik detaylarını analiz etti ve saldırı sürecini yeniden oluşturdu.

Güvenlik Olayı 2: Trust Wallet'ın rastgele sayılarındaki açık nedeniyle ortaya çıkan güven krizi

Nisan 2023'te, güvenlik araştırmacıları Trust Wallet tarayıcı uzantısının (sürüm 0.0.172–0.0.182) cüzdan kurtarma kelimelerini oluştururken, kriptografik olarak güvenli olmayan bir rastgele fonksiyon kullandığını keşfettiler. Bu, temel olarak Mersenne Twister (MT19937) sahte rastgele sayı algoritmasına dayanıyor (aşağıdaki şekilde gösterildiği gibi) ve rastgele alan yalnızca yaklaşık 2^32 olasılığa sahip olup, brute force saldırılarına karşı oldukça yetersiz.

Saldırganlar, sınırlı bir süre içinde tüm olası kelime grubu kombinasyonlarını sıralayarak özel anahtarı yeniden oluşturabilir ve kullanıcı varlıklarını çalabilir. Trust Wallet resmi olarak bir açıklama yayınlayarak açığın varlığını resmen onayladı ve etkilenen kullanıcıları varlıklarını zamanında taşımaları için acil olarak uyardı. Proje topluluğu forumunun resmi açıklamasına göre, bu açık yaklaşık 170.000 dolar potansiyel kayba neden olmuştur, çünkü saldırganların bu açığı hedefli saldırılar gerçekleştirmek için başarıyla kullanmış olabileceği belirtiliyor.

X1IA68D6xKfdDmtZLF6JF0tru2PIfNgd98oGCFYJ.jpeg

Bu olay, ana akım cüzdan son kullanıcılarını etkileyen ilk rastgele sayı açığı vakası oldu ve “rastgele sayı güvenliği” sorunu ilk kez büyük çapta kamu dikkatini çekti.

Güvenlik Olayı 3: Libbitcoin Explorer (bx seed) zayıf rastgele sayı olayı

Ağustos 2023'te, güvenlik araştırma ekibi Distrust, komut satırı aracı Libbitcoin Explorer (bx)'in 3.x sürümünde ciddi bir rastgele sayı açığı keşfettiğini açıkladı. Bu araç, bx seed komutunu kullanarak cüzdan tohumunu oluştururken, içsel olarak Mersenne Twister (MT19937) sahte rastgele sayı üreteci kullanmakta ve yalnızca sistem zamanını tohum kaynağı olarak almaktadır. Bu durum, rastgeleliği son derece düşük ve çıktıyı tahmin edilebilir hale getirmektedir. Saldırganlar, sınırlı bir süre içinde tüm tohum değerlerini sıralayarak cüzdan özel anahtarını yeniden oluşturabilir ve doğrudan varlıkları çalabilir.

u4KBm4P8ULfEoyCB0AJK8AO3UPhy2ELXZcFmxJsQ.jpeg

Bu güvenlik açığı, Libbitcoin Explorer 3.x kullanarak cüzdan oluşturan tüm kullanıcıları ve libbitcoin-system 3.6 kütüphanesine bağımlı ilgili uygulamaları etkilemektedir. 2023 yılının Ağustos ayı itibarıyla, bu güvenlik açığı nedeniyle 900,000 dolardan fazla kripto para varlığı çalınmıştır. Güvenlik açığı açıklandıktan sonra CVE-2023-39910 olarak resmi olarak kaydedilmiştir.

Libbitcoin-explorer doğru güvenlik yamasını zamanında almış olmasına rağmen, işler burada bitmedi.

Su yüzeyine çıkan devasa buzdağı

Libbitcoin Explorer 3.x güvenlik olayı ifşasından sonra, Distrust ekibi öncülüğünde beyaz şapkalı araştırmacılar MilkSad projesini kurdular, açıkların etkisini takip etmeye ve topluluk yanıtını teşvik etmeye devam ediyorlar.

2024 yılına kadar, araştırmacılar ilk kez bu “zayıf cüzdanların” üretim mekanizmalarını, cüzdan türlerini ve sahte rastgele sayı üreteci (PRNG) yapılandırmalarını sistematik olarak incelemiş ve bunların Bitcoin madencilik havuzu Lubian.com ile potansiyel bağlantılarını ve ilgili fonların dağılım özelliklerini ortaya koymuşlardır.

2025 yılında, anonim bir beyaz şapkalı araştırmacının sağladığı kritik ipuçları sayesinde, uzun süredir duraklayan analiz çalışmaları bir atılım gerçekleştirdi. MilkSad ekibi, etkilenen yazılımın özel anahtarları oluştururken yeni bir parametre - PRNG kaydırma değeri (offset) - eklediğini keşfetti. Bu keşif, araştırmacıların daha önce dağılmış olan cüzdan gruplarını yeniden ilişkilendirmesine olanak tanıyarak, arka planda birleştirici bir rastgele sayı üretim modelini ortaya çıkardı. Bu bulgu, tüm “zayıf cüzdan” olayının nedenini anlamanın anahtarı haline geldi.

Ekip tarafından yapılan daha derinlemesine analizlere göre, 2023 yılında ilk olarak tespit edilen 2.630 problemli cüzdan, yalnızca buzdağının görünen kısmıdır. PRNG çıktısının farklı bölümlerinde arama yaparak, araştırmacılar artık 227.200'den fazla bağımsız cüzdanı başarıyla yeniden inşa edip tanımladılar (aşağıdaki şekilde gösterildiği gibi). Bu cüzdanlar, ana ağda geçerli kullanım kayıtlarına sahip olup, şimdiye kadar tespit edilen en büyük “zayıf rastgele cüzdanlar” kümesini oluşturuyor.

cNOM0XUq9qXdYFAjEWUve8yDBfF4z58rLL9Erikg.jpeg

Zincir üzerindeki veriler, rastgele sayı hataları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 yoğun bir şekilde boşaltıldı ve bakiye 137.000'den 200'ün altına düştü. Bu cüzdanlardan yaklaşık 9.500 BTC, Lubian madencilik havuzunun ödeme adresine aktarıldı ve geri kalan yaklaşık 120.000 BTC'nin, saldırganların kontrolündeki cüzdana transfer edildiği tahmin ediliyor. Tüm şüpheli işlemler aynı işlem ücreti ile gerçekleştirildi ve belirgin bir otomatik toplu transfer özelliği sergiledi.

Bu olay daha sonra yeni önemli ipuçları ortaya çıkardı ve bu büyük ölçekli hırsızlık olayının gerçek varlığını daha da doğruladı. Araştırmacılar, Bitcoin ana ağında bazı mağdur cüzdanlarının 3 Temmuz 2022 ve 25 Temmuz 2024 tarihlerinde hala anormal işlem etkinliği gösterdiğini buldu. Bu işlemler, OP_RETURN mekanizması aracılığıyla tamamen aynı bilgiyi gömülü olarak içermektedir:

“LB'den MSG. Varlığımızı kurtaran beyaz şapkalı kişiye, varlığın iadesi ve ödülünüzü tartışmak için 1228btc@gmail.com üzerinden bizimle iletişime geçebilirsiniz.”

Araştırmacılar, "LB"nin Lubian.com'u temsil edebileceğini ve “saving our asset” ifadesinin 28 Aralık 2020'deki büyük çaplı fon transferi olayına atıfta bulunabileceğini öne sürüyor. Bu haberler, farklı adreslere birkaç kez iletildi ve görünüşe göre Lubian tarafının varlıkları kontrol eden “beyaz şapkalılar” ile bağlantı kurma, varlıkların geri verilmesi ve ödüller hakkında kamuya açık bir görüşme yapma girişiminde bulunduğu anlaşılıyor.

Ancak, bu cüzdanların özel anahtarları çoktan ifşa durumda olduğundan, teorik olarak herkes bu adreslerden işlem başlatabilir veya mesaj yazabilir. Bu nedenle, bu bilgilerin gerçekten Lubian ekibinden gelip gelmediğini veya yanıltıcı ya da şaka amaçlı bir operasyon olup olmadığını kesin olarak belirlemek mümkün değildir.

Böylece, buzulun ana gövdesi nihayet su yüzüne çıktı - rastgele sayı hatası nedeniyle ortaya çıkan bu sistemik zayıflık, Bitcoin tarihindeki en büyük ve en derin etki yaratan güvenlik olaylarından biri haline geldi.

Teknik Detaylar: 220.000 BTC Cüzdanının Kırılması Süreci

Peki, bu 220.000 BTC zayıf rastgele cüzdan nasıl oluşturuldu? Gelin, belirli teknik arama sürecini detaylı bir şekilde inceleyelim.

İlk adım: Rastgele sayı oluşturmak için aynı sahte rastgele sayı üreteci (PRNG) MT19937'yi seçin. Tekrar vurgulamak gerekirse, bu PRNG tamamen kriptografik güvenlikten yoksundur.

İkinci adım: MT19937'yi başlatmak için çok düşük entropi tohumları (0~2^32-1) kullanın. Bu BTC cüzdan özel anahtarları bu kadar hızlı bir şekilde tahmin edilebilir, düşük entropi tohumu en büyük suçludur.

Üçüncü adım: MT19937 her turda bir 32 bit tamsayı üretir, ancak hepsini kullanmaz, yalnızca en yüksek 8 biti seçer, yani her turda MT19937 bir byte elde eder.

Dördüncü adım: OFFSET özelliğini tanıtmak, özel anahtar aralığını genişletmek içindir. BTC'deki özel anahtar tohumu 32 bayttır (yani 24 kelimelik bir yedekleme, yani 256 bit), bu 32 bayt (32* OFFSET) turlarından (32 * OFFSET + 31) turlarına kadar elde edilir ve böylece BTC özel anahtar tohumu oluşturulur. BTC'deki özel anahtar tohumunun 32 bayt olduğunu belirtmek gerekir, daha spesifik olarak:

(1) 0 ile 31. turlar arasında, 32 baytlık özel anahtar çıktı.

(2) 32 - 63. turda, 32 bayt özel anahtarını çıkartın.

(3) 32 * 2 ~ 95 turlarında, 32 baytlık özel anahtar çıktısı.

(4) Aynı şekilde, OFFSET en fazla 3232'ye kadar alınabilir.

Beşinci adım: Özel anahtar tohumunun temelinde, açık BIP32 cüzdan türetme algoritmasını kullanarak, türetme yolu m/49'/0'/0'/0/0 ile çocuk kamu-özel anahtar çiftlerini türetin.

Altıncı adım: Alt anahtara dayalı olarak, 3 ile başlayan P2WPKH-nested-in-P2SH türü cüzdan adresi oluşturun.

Yedinci adım: Eğer oluşturulan adresin zincirde gerçekten bir kullanım kaydı varsa, bu zayıf rastgele sayı cüzdanının başarıyla bulunduğunu gösterir, cüzdan adresini ve ilgili özel anahtarı not edin.

Yukarıdaki tüm arama süreci belirleyicidir, tek değişken düşük entropi tohumunun seçimi olup, toplamda 2^32 olasılık vardır, bu da BTC standart özel anahtar alanı olan 2^256'dan çok daha düşüktür. Bu nedenle, tüm 220.000 zayıf rastgele cüzdan ve bunların karşılık gelen özel anahtarlarını kaba kuvvet araması ile elde etmek mümkündür.

Tam hikayenin arka planı

Olayın gelişim sürecini tam olarak gözden geçirelim.

Yıllar önce (ilk olarak 2018'e kadar izlenebilir), bazı dijital varlık projeleri geliştirme aşamasında kriptografik güvenlikten yoksun sahte rastgele sayı üreteçlerini (PRNG) yanlış bir şekilde tanıttı ve bunları cüzdan özel anahtarı oluşturma gibi son derece hassas bir aşamada kullandı. O dönemde geliştiricilerin kriptografik güvenlik konusundaki anlayış eksikliği nedeniyle bu hata o zaman fark edilmedi, ancak daha sonraki büyük ölçekli güvenlik açıkları için bir tehdit oluşturdu.

Ne yazık ki, zamanla bu sorun hackerlar tarafından keşfedildi ve kötüye kullanıldı. Farklı saldırı grupları, aynı ilkeye dayanarak ardışık olarak birkaç tanınmış saldırı olayı gerçekleştirdi - bunlar arasında Wintermute'un çalınması, Trust Wallet'ın rastgele sayı açığı olayı ve Libbitcoin'in zayıf cüzdan olayı gibi olaylar bulunmaktadır. Bu saldırılar toplamda yüz milyonlarca dolarlık varlık kaybına neden oldu ve “rastgele sayı güvenliği” olarak bilinen, daha önce göz ardı edilen bu teknik ayrıntıyı sektörün merkezine taşıdı.

Araştırmacılar bu olayların ortak yönlerini analiz ederken, tüm mağdur cüzdanlarının benzer rastgelelik kusurlarına sahip olduğunu ve bunun daha önceki Lubian madencilik havuzunun çalınma olayına kadar uzandığını buldular. Derinlemesine araştırmalar sonucunda, Lubian'ın kullandığı cüzdanların da güvensiz rastgele sayı üretim mekanizmalarına dayandığını ve bu tür “zayıf cüzdanlar” grubunun bir parçası olduğunu doğruladılar. Sonrasında yapılan sistematik analiz, daha şaşırtıcı bir gerçeği ortaya koydu: Tüm ağda toplamda yaklaşık 220.000 zayıf rastgele cüzdan bulunmakta, toplam tutar 120.000 BTC'yi kapsamaktadır ve bu durum, şimdiye kadar ki en büyük ve en derin etkili rastgele sayı güvenlik olayını oluşturmaktadır.

“Lubian.com'un çalınma olayının ABD Adalet Bakanlığı tarafından yönetildiği” iddiası, esasen ince bir gerçeğe dayanmaktadır: Adalet Bakanlığı ilgili varlıkları ele almaya resmi olarak müdahil olduğunda, uzun süre hareketsiz kalan Lubian ile ilişkili Bitcoin adreslerinde aniden büyük ölçekli varlık transferleri gerçekleşmiştir. Bu zaman dilimindeki zincir üzerindeki adreslerin doğrudan bağlantısı, birçok gözlemcinin şüphelenmesine neden olmuş ve hükümetin muhtemelen ilgili özel anahtarları geri kazanmak için şiddetli bir kırma yöntemi kullanabileceği düşüncesini doğurmuştur. Başka bir olasılık da vardır - ABD hükümeti doğrudan özel anahtarları şiddetle kırmamış olabilir, bunun yerine özel anahtarları elinde bulunduran birey veya varlıkları kontrol ederek fon transferini sağlamıştır.

Bu cüzdanlar kırılabilir zayıf rastgele cüzdanlar olmasına rağmen, özel anahtarlarının teorik olarak teknik yollarla yeniden üretilebileceği doğrudur. Ancak şu ana kadar, ABD hükümetinin ilgili özel anahtarların “zorla kırılması” eylemini yönlendirdiğine dair herhangi bir kamuya açık ve doğrulanabilir kanıt bulunmamaktadır. İlgili kurumlar, teknik müdahale gerçeğini resmi olarak kabul etmedikçe, tüm olayın gerçek süreci hala bir muamma olarak kalacaktır.

Kriptografik güvenli rastgele sayılar nasıl elde edilir?

Bugün güvenli rastgele sayıların önemini anladık, peki gerçek geliştirme ve uygulama sürecinde bunları doğru bir şekilde nasıl elde etmeliyiz? Aşağıdaki birkaç prensibe uymalıyız:

(1) Öncelikle, sistem entropi havuzunu temel alarak rastgele sayılar üretmek için işletim sistemi tarafından sağlanan güvenlik arayüzlerini kullanın.

(2) Şartlar sağlandığında, Intel SGX CPU'nun donanım rastgele sayı talimatları gibi güvenli donanım entropi kaynakları kullanın.

(3) MPC senaryosunda, genel güvenliği artırmak için birden fazla entropi kaynağının birleştirilmesi mümkündür; örneğin, Linux sisteminin entropi havuzunu Intel SGX CPU'nun donanım rastgele sayısıyla birleştirerek, tek bir entropi kaynağının arızalanma veya tahmin edilme riskini önleyebilirsiniz.

(4) Geniş çapta test edilmiş kriptografik kütüphanelerdeki güvenli rastgele sayı üreteci arayüzleri kullanın, örneğin libsodium, BoringSSL, OpenSSL vb.

(5) Tohum entropisinin en az 128–256 bit olmasını garanti edin, zaman damgası, işlem numarası gibi düşük entropi kaynaklarını tohum olarak kullanmak yasaktır.

(6) Kriptografik olarak güvenli olmayan sahte rastgele sayı üreteçlerinin (CSPRNG dışındaki) kullanımı kesinlikle yasaktır; örneğin Mersenne Twister (MT19937), Math.random(), rand().

MPC'nin Çok Kaynaklı Entropi Birleştirme Avantajları

Tek taraflı sistemlere kıyasla, MPC'nin doğal bir entropi birleşim avantajı vardır: Her bir katılımcı bağımsız olarak rastgele entropi kaynakları sağlayabilir ve nihai rastgele sonuç taraflar tarafından birlikte üretilir. İçinde herhangi bir tarafın dürüst kalması durumunda, sistemin rastgeleliği tahmin edilemez veya manipüle edilemez. Bu çok kaynaklı rastgele yapı, sistemin genel güvenliğini ve değiştirilemezliğini önemli ölçüde artırır ve bu, MPC protokolünün güvenlikteki temel avantajlarından biridir.

Safeheron, MPC ve TEE teknolojilerine dayalı dijital varlık güvenli depolama protokolü geliştirmiştir. Bu çözümde, MPC protokolüne katılan taraflar, Linux sistem entropi havuzları ve TEE donanım entropi kaynakları (örneğin Intel SGX donanım rastgele sayı talimatları) gibi çeşitli bağımsız güvenlik entropi kaynaklarını kullanmaktadır. Bu çok kaynaklı entropi entegrasyon mekanizması, sistemin güvenlik sınırlarını güçlendirmekle kalmaz, aynı zamanda güvenilir yürütme ortamı (TEE) ve dağıtılmış imza sisteminin kurulması için daha yüksek bir güvenlik tabanı oluşturur.

Sonuç

Bu görünüşte gizemli “120.000 Bitcoin hırsızlığı” olayı, bir algoritmanın kırıldığına değil, erken dönem geliştiricilerin özel anahtar üretim sürecinde kriptografik güvenliğe sahip olmayan rastgele sayı algoritmasını yanlış kullandıklarını ve bunun sonucunda sistemin güvenliğini kökten zayıflattığını ortaya koymaktadır.

Kripto varlıkların güvenliği nihayetinde kriptografi uygulamalarının titizliğine bağlıdır; herhangi bir küçük mühendislik hatası, hackerlar tarafından başarılı bir şekilde kullanılabilir ve sonunda dijital varlıkların mülkiyetini belirleyebilir. Sadece rastgele sayıların güvenliğini kaynağında sağlamak, güvenilir entropi kaynakları ve doğrulanmış kriptografi kütüphaneleri kullanmak, “rastgele” kavramını gerçek anlamına geri döndürebilir - tahmin edilemez ve değiştirilemez.

BTC-1.82%
ETH-2.19%
View Original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Reward
  • Comment
  • Repost
  • Share
Comment
0/400
No comments
  • Pin
Trade Crypto Anywhere Anytime
qrCode
Scan to download Gate App
Community
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)