Back to Blog

PolyNetwork Hack'inin İlk Analizi

Code Auditing
11 Ağustos 2021
3 min read

PolyNetwork saldırıya uğradı ve 300 milyon dolardan fazlası çalındı. Saldırgan, saldırıyı birden fazla zincir üzerinde gerçekleştirdi. Bu blogda, saldırının olası nedenini analiz etmek için Ethereum üzerindeki saldırı işlemini (0xd8c1f7424593ddba11a0e072b61082bf3d931583cb75f7843fc2a8685d20033a) kullanıyoruz. İlk analizimiz, olası bir nedenin ya zincirler arası mesajı imzalamak için kullanılan özel anahtarın sızdırılması ya da saldırgan tarafından hazırlanmış bir mesajı imzalamak amacıyla istismar edilen PolyNetwork'ün imzalama sürecindeki bir hata olduğunu göstermektedir.

Sorumluluk Reddi: Bu blog yalnızca Ethereum üzerindeki zincir içi verilere dayanarak gerçekleştirdiğimiz ilk analizin sonuçlarını içermektedir. Poly Network'ten daha fazla bilgi almadan bulgularımızı doğrulayamayız.

Güncelleme 2021/08/12: Daha fazla bilgi, saldırının nedeninin saldırgan tarafından değiştirilen tutucu (keeper) olduğunu göstermektedir (özel anahtarın sızdırılması nedeniyle değil). Tutucuyu değiştirmeye yönelik işlemin neden ilk etapta gerçekleştirilebildiği sorusunu yanıtlamak için daha kapsamlı bir analizimiz bulunmaktadır.

İşlem ve çağrı izleme

İzlemeyi kurtarmak için işlem analiz sistemimizi kullanıyoruz.

Saldırgan -> EthCrossChainManager -> EthCrossChainData -> LockProxy -> LockProxy için managerProxyContract

  • 0xc8a65fadf0e0ddaf421f28feab69bf6e2e589963: Saldırgan
  • 0x838bf9e95cb12dd76a54c9f9d2e3082eaf928270: EthCrossChainManager
  • 0xcf2afe102057ba5c16f899271045a0a37fcb10f2: EthCrossChainData
  • 0x250e76987d838a75310c34bf422ea9f1ac4cc906: LockProxy
  • 0x5a51e2ebf8d136926b9ca7b59b60464e7c44d2eb: LockProxy için managerProxyContract

Fonksiyon İmzaları:

  • d450e04c (verifyHeaderAndExecuteTx)
  • 69d48074 (getCurEpochConPubKeyBytes)
  • 5ac40790 (getCurEpochStartHeight)
  • 0586763c (checkIfFromChainTxExist)
  • e90bfdcf (markFromChainTxExist(uint64,bytes32))

Saldırının ana süreci

Saldırının ana süreci, saldırganın imzalanmış verileri verifyHeaderAndExecuteTx() fonksiyonuna iletmesidir. Bu fonksiyon, verilerin kodunu çözerek verileri imzalamak için kullanılan imzaları doğrular. Bu süreç başarıyla tamamlanırsa, mesajda belirtilen yöntem (ve sözleşme adresi) yürütülür. Bu saldırı sırasında, Fei'yi saldırgana aktarmak için 0x250e76987d838a75310c34bf422ea9f1ac4cc906 akıllı sözleşmesinin unlock fonksiyonu çağrılır.

Özetle, saldırı verifyHeaderAndExecuteTx fonksiyonuna iletilen geçerli parametreler nedeniyle gerçekleşmiştir. Bu parametreler, imza doğrulama sürecini geçebilmektedir. Bunun ardından, mesajda belirtilen işlem yürütülür (yazılım güvenliğindeki keyfi komut yürütmeye benzer şekilde).

Bu süreci daha iyi anlamak için, çağrı izlemesinin kritik değerlerini kurtarıyoruz.

Fonksiyon: verifyHeaderAndExecuteTx:

verifySig

unlock

LockProxy içindeki managerProxyContract değişkeni. Bu değer, unlock fonksiyonunun çağırıcı adresiyle eşleşmektedir.

Sonuç

Kurtarılan değerlerden şunları tespit ettik:

  1. Saldırgan, verifyHeaderAndExecuteTx fonksiyonuna geçerli bir imzalı mesaj sağlamaktadır
  2. LockProxy akıllı sözleşmesindeki onlyManagerContract değiştiricisi ATLANMAMAKTADIR.

Bu iki gözleme dayanarak şüpheleniyoruz ki:

  1. Saldırganın mesajları imzalamak için meşru anahtarlara sahip olması, imzalama anahtarlarının sızdırılmış olabileceğine işaret edebilir.

Ya da

  1. PolyNetwork'ün imzalama sürecinde, hazırlanmış bir mesajı imzalamak amacıyla istismar edilmiş bir hata bulunmaktadır.

Ancak, bulgularımızı doğrulamak için yeterli zincir dışı veriye sahip değiliz. Analizimizin daha ileri düzey araştırmalara katkı sağlamasını umuyoruz.

Katkıda Bulunanlar: Yufeng Hu, Siwei Wu, Lei Wu, Yajin Zhou @BlockSec

Twitter: 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