Back to Blog

Küfür Aracı Açığına İlişkin Kısa Analizimiz

Code Auditing
21 Eylül 2022
4 min read

Wintermute 160 milyonun üzerinde kayıpla istismar edildi. Temel neden, Wintermute'un özel anahtarı ve Ethereum hesabını oluşturmak için kullandığı Profanity aracındaki bir güvenlik açığı nedeniyle Wintermute projesinin özel anahtarının ele geçirilmesidir.

Bu blogda, Profanity'deki güvenlik açığının temel nedenini ve bu açığın nasıl istismar edilebileceğini açıklayacağız.

Ethereum Adresi

Ethereum adresi, genel anahtarın Keccak-256 hash'inden oluşturulur ve onaltılık sayılarla temsil edilir. Genel anahtar, özel anahtardan eliptik eğri çarpımı kullanılarak oluşturulur; bu işlem geri döndürülemez. Özel anahtardan genel anahtar elde edebiliriz. Ancak, kaba kuvvet kullanmadan genel anahtardan özel anahtarı elde edemeyiz. Özel anahtarın uzunluğunun 256 bit olduğunu unutmayın. Bir genel anahtar verildiğinde, karşılık gelen özel anahtarı bulmak için en fazla 2^256 hesaplama yapmanız gerekir.

Özetle, özel/genel anahtar ile Ethereum adresi arasındaki ilişki aşağıdaki şekilde gösterilmektedir.

Güvenlik Açığının Temel Nedeni

Profanity'nin amacı, örneğin adresin ilk beş hanesi sıfır olan özel bir Ethereum adresi bulmaktır. Bu amaçla Profanity aşağıdaki yöntemi kullanır.

Ayrıntılı uygulama biraz farklı olabilir.

private_key'in uzunluğunun 256 bit (2^256 farklı değer) olduğuna dikkat edin. Ancak, özel anahtarın oluşturulmasında bir güvenlik açığı bulunmaktadır. Özellikle, tohum (1. adımda) yalnızca 32 bittir ve 1. adımdaki tohumdan 2. adımdaki private_key'e geçiş süreci deterministiktir.

Buradaki güvenlik etkisi nedir?

Nasıl İstismar Edilir

Diyelim ki çok değerli varlıklara sahip bir Ethereum adresimiz var. Özel anahtarını ele geçirebilirsek, bu hesabın sahibi olabilir ve tüm varlıkları transfer edebiliriz. Ancak daha önce tartışıldığı gibi, özel anahtarı bulmak için tüm 2^256 uzayını kaba kuvvetle taramak zorundayız; bu neredeyse imkânsızdır.

Peki ya Ethereum adresi Profanity aracıyla oluşturulmuşsa? Özel anahtarı çok daha düşük bir zorlukla kaba kuvvetle bulabiliriz. Yalnızca tohumun 0'dan 2^32-1'e kadar belirtilmesi ve aynı genel anahtarı (ve Ethereum adresini) oluşturabilecek özel anahtarı bulana kadar aynı işlemin tekrarlanması yeterlidir. En fazla 2^32 * loop_threashold hesaplama yapacağımızdan, güçlü bir GPU kümesine sahipsek bu işlem birkaç saat veya gün/hafta içinde gerçekleştirilebilir.

Ancak bu hâlâ optimize edilmiş bir algoritmadır. Daha fazla ayrıntı için Slowmist'in makalesine başvurabilirsiniz.

Sonuç

Bir DeFi projesini güvenli kılmak kolay bir iş değildir. Kod denetiminin yanı sıra, topluluğun proje durumunu izlemek için proaktif bir yöntem benimsemesi ve saldırı gerçekleşmeden önce engellenmesi gerektiğini düşünüyoruz.

BlockSec Hakkında

BlockSec, 2021 yılında küresel çapta tanınan güvenlik uzmanlarından oluşan bir grup tarafından kurulmuş öncü bir blok zinciri güvenlik şirketidir. Şirket, kitlesel benimsenmesini kolaylaştırmak amacıyla gelişmekte olan Web3 dünyasının güvenliğini ve kullanılabilirliğini artırmaya kararlıdır. Bu doğrultuda BlockSec, akıllı sözleşme ve EVM zinciri güvenlik denetim hizmetleri, güvenlik geliştirme ve tehditleri proaktif olarak engelleme için Phalcon platformu, fon takibi ve araştırma için MetaSleuth platformu ve web3 geliştiricilerinin kripto dünyasında verimli gezinmesi için MetaSuites eklentisi sunmaktadır.

Şirket bugüne kadar MetaMask, Uniswap Foundation, Compound, Forta ve PancakeSwap gibi 300'den fazla saygın müşteriye hizmet vermiş; Matrix Partners, Vitalbridge Capital ve Fenbushi Capital gibi önde gelen yatırımcılardan iki tur finansmanda on milyonlarca ABD doları almıştır.

Resmi web sitesi: https://blocksec.com/

Resmi Twitter hesabı: https://twitter.com/BlockSecTeam

Sign up for the latest updates
Yaklaşık 5,57 milyon USD Kayıp: X100 Freezer ve NEM İstismarları | BlockSec Haftalık Bülteni
Security Insights

Yaklaşık 5,57 milyon USD Kayıp: X100 Freezer ve NEM İstismarları | BlockSec Haftalık Bülteni

Bu haftalık rapor, 19.10.2026–25.10.2026 tarihleri arasında Ethereum ve BNB Chain'de yaşanan iki güvenlik olayını ele alıyor. X100 Freezer'ın flaş krediyle finanse edilen yönetişim kontrolünün ele geçirilmesini ve BNB Chain'deki bir NEM tokeninin likidite havuzunu etkileyen vergi hesaplaşması kusurunu inceliyor. Raporun kapsamındaki tahmini kayıplar toplam yaklaşık 5,57 milyon USD: temsili X100 işleminden ~4,75 milyon USD, NEM havuzu olayından ise ~820 bin USD. Bu toplama, ayrıca bildirilen sonraki X100 fon çıkışları dahil değil.

Yaklaşık 3,87 milyon USD kayıp: Autheo Network ve UNCX saldırıları | BlockSec Haftalık Bülteni
Security Insights

Yaklaşık 3,87 milyon USD kayıp: Autheo Network ve UNCX saldırıları | BlockSec Haftalık Bülteni

Bu haftalık rapor, 12.10.2026–18.10.2026 tarihleri arasındaki 3 güvenlik olayını ve toplamda yaklaşık 3,87 milyon USD tutarındaki tahmini kaybı ele alıyor. Autheo Network, yaklaşık 1,76 milyon USD tutarında kayba yol açan bir özel anahtar ele geçirilmesi olayı yaşadı; Qubic Wallet, zayıf seed oluşturma nedeniyle yaklaşık 1,30 milyon USD kaybetti. UNCX Network’ün Smart Token Vesting V2 sözleşmelerinde ise Ethereum, BNB Chain, Base ve Robinhood Chain üzerinde yaklaşık 807 bin USD tutarında bir muhasebe hatası meydana geldi. Öne çıkarılan UNCX analizi, hatalı toplam pay hesaplamasının farklı token/pay oranlarıyla oluşturulan hak ediş dilimlerini nasıl birbirine karıştırdığını ve ortak havuzlardan hak edilenden fazla çekim yapılmasına nasıl olanak tanıdığını açıklıyor.

~542 bin dolar kayıp: MakerDaoBot Açığı | BlockSec Haftalık Bülteni
Security Insights

~542 bin dolar kayıp: MakerDaoBot Açığı | BlockSec Haftalık Bülteni

Ethereum'da 2026/10/05-2026/10/11 döneminde 1 güvenlik olayı yaşandı; kayıp yaklaşık 542 bin $. Kötü amaçlı adaptör, erişim kontrolü olmayan MakerDaoBot işleviyle botun MakerDAO bakiyelerinde yetki aldı; 4 eski ETH-A ihalesini kapatıp 200 ETH-A teminatını WETH'ye çevirdi. WETH, 200 ETH olarak saldırgana gönderildi.

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit