Back to Blog

Zerogoki Saldırısının Analizi

Code Auditing
August 9, 2021
2 min read

8 Ağustos 2021'de (Pekin Saati, blok yüksekliği 12982491), Zerogoki saldırıya uğradı ve bu durum 670 bin USD'lik bir kayba yol açtı. Yapılan araştırmanın ardından bunun ele geçirilmiş bir fiyat oracle'ıyla ilişkili olduğunu tespit ettik. Saldırgan, takas edilecek token sayısını içeren özel olarak hazırlanmış verilerle birlikte meşru özel anahtarlar tarafından imzalanmış bir fiyat oracle'ı sağladı. Ancak saldırganın neden geçerli bir imza oluşturabildiği henüz bilinmemektedir.

Kod Analizi

İlk olarak saldırıya uğrayan sözleşme üzerinde bir analiz gerçekleştirdik (0x80ecdb90).

Swap fonksiyonu, oracle'daki bilgileri almak için decode_op'u çağırır. Doğrulama işlemini gerçekleştirdikten sonra sözleşme, ns[0] x.token'ı yakar, ns[1] y.token basar ve takas ücretini GOV sözleşmesine öder.

decode_op'un uygulamasından, parametrede üç imzanın bulunduğu görülmektedir. Token takasını (yakma ve basma) gerçekleştirmeden önce bu imzaların kontrol edilmesi (ve yetkilendirilmesi) gerekmektedir.

Özetle, swap fonksiyonunun ilk parametresi ns, takas edilecek token sayısını tanımlar. İkinci parametre ise doğrulanması gereken imzaları içerir. Doğrulama başarılı olduğunda, takas edilen token sayısı birinci parametrede (ns) tanımlanır.

Saldırı Analizi

Saldırı işleminde, 0x81e5f715, saldırgan geçerli imzalar içeren bir mesaj oluşturdu ve özel olarak hazırlanmış bir ns parametresi iletti (bu parametre büyük miktarda zUSD içermektedir). Sonuç olarak saldırgan, 300 REI kullanarak 700 bin zUSD takas etti.

İmzalarla ilişkilendirilen üç adres şunlardır:

0x0d93A21b4A971dF713CfC057e43F5D230E76261C
0x3054e19707447800f0666ba274a249fc9a67aa4a
0x4448993f493b1d8d9ed51f22f1d30b9b4377dfd2

Ancak mevcut aşamada bu adreslerin özel anahtarlarının neden sızdırıldığına dair herhangi bir bilgiye sahip değiliz.

Çıkarımlar

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 dünyaca tanınmış bir grup güvenlik uzmanı tarafından kurulmuş öncü bir blokzincir 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 kendini adamıştır. Bu doğrultuda BlockSec; akıllı sözleşme ve EVM zinciri güvenlik denetimi hizmetleri, güvenli geliştirme ve tehditleri proaktif olarak engelleme için Phalcon platformu, fon takibi ve araştırması için MetaSleuth platformu ve kripto dünyasında verimli şekilde gezinen web3 geliştiricileri için MetaSuites eklentisini sunmaktadır.

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

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

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

Best Security Auditor for Web3

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

BlockSec Audit