Tamsayı Taşma Zafiyeti Nedeniyle Truebit Protokolü 26,44 Milyon Dolarlık Hırsızlığa Uğradı

iconOdaily
Paylaş
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary iconÖzet

expand icon
Truebit Protokolü, 8 Ocak 2026'da token satın alma mantığındaki tamsayı taşma (integer overflow) açıklığı nedeniyle 26,44 milyon dolarlık bir saldırıya uğradı. Saldırgan, 0x1446 fonksiyonundaki bir hatayı kullanarak döngü yoluyla büyük giriş değerlerini manipüle edip yanlış ETH hesaplamalarını tetikledi. Açıklık, taşma kontrolleri olmayan Solidity ^0,6.10 sürümünden kaynaklandı. Bu olay, protokolün güncellenmesi ihtiyacını vurgularken, DeFi'de açıklıklarla ilgili bilgilerin ele alınmasının aciliğini de tekrar ortaya koydu. ExVul güvenlik ekibi, eski protokollere yönelik yapay zeka destekli saldırıların artabileceğini belirterek, ekiplerin denetimler yapmaları ve izleme sistemlerini uygulamaları çağrısında bulundu.

8 Ocak 2026 tarihinde Truebit Protocol protokolü hedef alınarak 8.535,36 ETH (yaklaşık 26,44 milyon ABD Doları) kaybedilmiştir. Olayın ardından Truebit Protocol resmi olarak bir sonraki gün sabahı açıklamayla bu saldırıyı doğrulamıştır. ExVul Güvenlik ekibi bu saldırı olayını ayrıntılı olarak açıklamış ve analiz sonuçları şu şekildedir:

Saldırı Akışı

Saldırgan adresi:

0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50

Saldırı işlemi hash:

0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014

Saldırgan, saldırı 4 turda getPurchasePrice→0xa0296215→0xc471b10b fonksiyonlarını çağırarak tamamlanmış. İlk tur üzerinden analiz yapalım.

1. Saldırgan önce getPurchasePrice(240442509453545333947284131) fonksiyonunu çağırır ve 0 döner.

2. Saldırgan, msg.value 0 olacak şekilde 0xa0296215(c6e3ae8e2cbab1298abaa3) fonksiyonunu çağırır. Sonuç olarak 240442509453545333947284131 adet TRU başarıyla basılır.

3. Saldırgan 0xc471b10b(c6e3ae8e2cbab1298abaa3) fonksiyonunu çağırır. Sonunda 240442509453545333947284131 TRU yok edilir ve 5105.06 ETH kazanılır.

Saldırı mantığı analizi

Yukarıdaki saldırı akışını anladıktan sonra, getPurchasePrice fonksiyonunun ve 0xa0296215 fonksiyonunun mantığında bir sorununun açıkça görülebileceğini fark edebilirsiniz. Şimdi daha derinlemesine analiz başlayacak (kontrat açık kaynaklı olmadığından, aşağıdaki kodlar tersine mühendislik yapılmış koddur).

İki fonksiyonun ortak yönlerini karşılaştırarak, 0x1446 fonksiyonunun belirli sayıda TRU satın almak için gerekli olan ETH miktarını hesaplamak için kullanıldığını görebiliriz. 0x1446 fonksiyonunun mantığında bir hata olduğu ve bu nedenle ETH hesaplamasının yanlış yapıldığı açıktır. Aşağıda 0x1446 fonksiyonundaki mantığı detaylı olarak analiz edeceğiz.

0x1446 fonksiyonundaki mantığı inceleyin. Son hesaplama sonucu v13 == 0 olduğu için, sorun kesinlikle yukarıdaki hesaplama mantığında olmalıdır. 0x18ef fonksiyonunun _SafeMul ile aynı işlevi görmediğini bilmek gerekir. Bu yüzden problem, v12 + v9 (native toplama) kullanmasından kaynaklanmaktadır (sözleşme sürümü ^0.6.10 olduğu için taşma kontrolü yoktur).

v12 ve v9, sırasıyla:

Yukarıdaki analizden, saldırganın saldırı fikri, çok büyük bir _amountIn girişi ile v12 + v9'ı taşırarak çok küçük bir değere dönüştürmek ve sonunda (v12 + v9) / v6 == 0 olacak şekilde ayarlamaktır.

Özetleme

Truebit Protocol saldırısının temel nedeni, token satın alma fiyatının hesaplanmasında ciddi bir tamsayı taşma (integer overflow) açıklığı olmasıdır. Sözleşmelerin Solidity ^0.6.10 sürümü kullanması ve kritik aritmetik işlemlerde güvenlik denetimlerinin yapılmaması, 8.535,36 ETH lik ciddi bir kayba neden olmuştur. Şu anda yeni Solidity sürümleri, taşma açıklarını kendileri çözümlüyor. Bu saldırı büyük ihtimalle, AI destekli otomatik taramalarla daha önceki Balancer ve yETH saldırıları gibi eski DeFi protokollerindeki açıkları tespit eden bir hacker tarafından gerçekleştirilmiştir. Bu tür AI destekli saldırıların yakın gelecekte artacağını düşünmekteyiz. Bu yüzden projelerin sözleşmelerinin yeni güvenlik denetimlerine tabi tutulması, açıkların bulunması durumunda sözleşmelerin hızlıca güncellenmesi veya varlıkların aktarılması ve zincir üzerindeki işlemleri izleyerek anormalliklerin zamanında tespit edilmesi ve zararların en aza indirilmesi önerilmektedir.

Yasal Uyarı: Bu sayfadaki bilgiler üçüncü şahıslardan alınmış olabilir ve KuCoin'in görüşlerini veya fikirlerini yansıtmayabilir. Bu içerik, herhangi bir beyan veya garanti olmaksızın yalnızca genel bilgilendirme amacıyla sağlanmıştır ve finansal veya yatırım tavsiyesi olarak yorumlanamaz. KuCoin, herhangi bir hata veya eksiklikten veya bu bilgilerin kullanımından kaynaklanan sonuçtan sorumlu değildir. Dijital varlıklara yapılan yatırımlar riskli olabilir. Lütfen bir ürünün risklerini ve risk toleransınızı kendi finansal koşullarınıza göre dikkatlice değerlendirin. Daha fazla bilgi için lütfen Kullanım Koşullarımıza ve Risk Açıklamamıza bakınız.