BitsLab'a ait TonBit, TON Sanal Makine'deki kritik bir açığı tekrar keşfetti ve TON resmi olarak teşekkür etti.

robot
Abstract generation in progress

Yazar: TonBit

Giriş:

BitsLab'a ait TonBit, TON sanal makinesinde kritik bir güvenlik açığı daha keşfetti ve TON resmi teşekkür etti: INMSGPARAM komutu, mesaj parametrelerini işlerken boş işaretçi kontrolü yapmadığı için TON sanal makinesinin çökmesine neden olabilir.

TON resmi hata düzeltmeleri ve teşekkürler TonBit detay bağlantısı:

Son günlerde, BitsLab'a ait TonBit, en son TVM kaynak kodunda (master dalı / TON v2025.04) ciddi bir güvenlik açığı tespit etti - INMSGPARAM komutunun mesaj parametrelerini işlerken boş işaretçi kontrolü yapmaması, TON sanal makinesinin çökmesine neden olabilir. Bu güvenlik açığı, TVM'nin derin çağrı akışında gizlidir; bir saldırgan, özel mesaj parametreleri oluşturarak VM'nin çalışması sırasında null pointer dereference'i tetikleyebilir ve bu da yürütmenin kesilmesine neden olarak sözleşme yürütmesinin kullanılabilirliği ve kararlılığını ciddi şekilde etkileyebilir. Aşağıdaki içerik, geliştiricilerin derinlemesine değerlendirmesi ve önleme alması için teknik detayları içermektedir.

TVM11'in lansmanından önce bu açığı fark ettik ve hemen Ton Core'a bildirdik, böylece bu açığın herhangi bir zincir üstü varlık için güvenlik riski oluşturmasını engelledik. Ton Core, raporumuzu dikkatlice analiz etti, resmi lansmandan önce açığı düzeltti ve bize ödül ve teşekkür belgesi verdi. Ton Core'un profesyonelliği ve sözlerine sadık kalması için içten teşekkürlerimizi sunuyoruz.

Etkilenen kod (crypto/vm/tonops.cpp dosyasında) aşağıdaki gibidir:

Temel neden:

Bu kod satırı

Ref t = get_param(st, inmsgparams_idx).as_tuple();

t değişkeninin nullptr olup olmadığı kontrol edilmedi. Eğer c7 kaydının 0. slotu 17. elemanı Tuple tipi olmayan bir tuple olarak yapılandırılırsa, as_tuple() boş işaretçi döndürür. Bu boş işaretçi t, tuple_index'e geçirildiğinde, boş işaretçi dereferansı tetiklenecek ve sanal makinenin çökmesine neden olacaktır. Bu ciddi hata, Global Version 11'de kararlı bir şekilde tekrar edilebilir.

POC kodu:

Yerel testleri kolaylaştırmak için (çünkü global_version genellikle zincir yapılandırması tarafından belirlenir), run_vm_code fonksiyonunda sanal makinenin başlatılmasını değiştirdik ve global_version'ı zorla 11 olarak ayarladık:

PoC kodunu crypto/test/vm.cpp dosyasına kopyalayın.

Yukarıdaki şekilde run_vm_code'u değiştirin, global_version'ı 11 olarak ayarlayın.

test-vm yürütülebilir dosyasını derleyin ve çalıştırın.

Çöküş:

Sanal makine, boş işaretçi ile referans verme nedeniyle çökebilir:

Özetle, BitsLab'a ait TonBit, her zaman "güvenlikte derinleşme ve sorumluluk açıklaması" ilkesine bağlı kalarak, TON sanal makinesi ana kodunda kritik açıkları keşfetmeye ve düzeltmeye devam etmektedir. RUNVM talimatının atomik olmayan geçiş riskinden, bu sefer INMSGPARAM talimatının boş işaretçi çözümleme sorununa kadar, TonBit profesyonel teknik yetenekleri ve hızlı yanıt verme süresi ile, Ton Core'a rapor sunarak ve onarımda yardımcı olarak, sadece zincir üzerindeki varlıkların güvenliğini etkili bir şekilde sağlamakla kalmamış, aynı zamanda TVM'nin istikrarını ve güvenilirliğini artırmıştır. Gelecekte, TonBit, Ton Core ve topluluk ile yakın işbirliğine devam ederek daha sağlam bir Web3 güvenlik hattı inşa etmeye kararlıdır.

TonBit hakkında

TonBit, BitsLab'ın temel alt markası olarak, TON ekosistemindeki güvenlik uzmanı ve erken dönem inşaatçısıdır. TON blok zincirinin ana güvenlik sağlayıcısı olarak, TonBit, TON tabanlı projelerin bütünlüğünü ve dayanıklılığını sağlamak için Tact ve FunC dilleri dahil olmak üzere kapsamlı güvenlik denetimlerine odaklanmaktadır. Bugüne kadar, TonBit Catizen, Algebra, UTonic gibi birçok tanınmış projeyi başarıyla denetlemiş ve birkaç kritik açığı tespit etmiştir; bu da blok zinciri güvenliği alanındaki olağanüstü yeteneklerimizi göstermektedir. Ayrıca, TonBit, birçok katılımcıyı çeken ve geniş bir dikkat çeken TON CTF yarışmasını da başarıyla düzenlemiştir; bu da onun TON ekosistemindeki güvenlik uzmanı konumunu daha da pekiştirmiştir. Gelecekte, TonBit blok zinciri güvenliğini sağlamaya devam edecek ve teknoloji ile ekosistemin sürdürülebilir gelişimini teşvik edecektir.

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
  • Share
Comment
0/400
No comments
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)