Move dilinin referans güvenlik modülü tam sayı taşması açığı veya düğüm hizmet reddine yol açabilir.

robot
Abstract generation in progress

Move dilindeki güvenlik modülü, tam sayı taşma açığına sahip

Son zamanlarda, güvenlik araştırmacıları Move dilini derinlemesine analiz ettiklerinde ciddi bir tamsayı taşma açığı keşfettiler. Bu açık, referans güvenlik doğrulama modülünde bulunmaktadır ve hizmet reddi saldırısına yol açabilir. Bu yazıda, bu açığın prensibi ve etkileri detaylı bir şekilde ele alınacaktır.

Açık Arka Plan

Move dili, byte kodunu yürütmeden önce kod doğrulaması yapar ve bu, referans güvenliği kontrolünü içerir. Bu süreç birkaç adımdan oluşur ve bu sefer keşfedilen açık, reference_safety doğrulama aşamasında meydana gelmiştir.

Güvenlik doğrulamasının ana süreci şudur:

  1. Kodu temel bloklara ayırın
  2. Her temel bloğu analiz et
  3. Analizden önce ve sonraki durumu birleştirin
  4. Yayılma sonuçları sonraki bloklara

Analiz durumunu temsil etmek için AbstractState yapısı kullanılmıştır, locals ve borç grafiği bilgilerini içermektedir.

Numen Cyber, move dilinde başka bir yüksek riskli güvenlik açığı keşfetti

Açık Detayları

Hata, birleştirme analiz durumu için join_fonksiyonunda ortaya çıkmaktadır. Bu fonksiyon, locals'ı u8 türü ile yinelemekte, ancak parametre uzunluğu ve yerel değişken uzunluğunun toplamı 256'dan fazla olduğunda tam sayı taşması meydana gelmektedir.

Özellikle:

  • join_fonksiyonunda self.iter_locals() ile locals'ı yinele
  • iter_locals() u8 türünde bir iteratör döndürür
  • Eğer parametre uzunluğu + yerel değişken uzunluğu > 256 ise, yineleyici taşacaktır.

Move yerel değişken sayısını kontrol etme sürecine sahip olsa da, yalnızca yerel değişken sayısını kontrol eder, parametre uzunluğunu dahil etmez.

Numen Cyber özel keşfi move dilinde bir başka yüksek riskli güvenlik açığı

Numen Cyber'ın özel keşfi move dilinde bir yüksek riskli açık daha bulundu

Numen Cyber özel olarak move dilinde bir başka yüksek riskli açık keşfetti

Numen Cyber'ın özel keşfi: move dilinde bir başka yüksek riskli açık

Numen Cyber'ın özel buluşu move dilinde bir başka yüksek riskli açık

Numen Cyber özel keşfi move dilinde bir başka yüksek riskli güvenlik açığı

Numen Cyber özel keşfi move dilinde bir başka yüksek riskli güvenlik açığı

Numen Cyber'in özel keşfi: move dilinde bir başka yüksek riskli güvenlik açığı

Numen Cyber özel keşfi move dilinde bir başka yüksek riskli güvenlik açığı

Numen Cyber, move dilinde bir başka yüksek riskli güvenlik açığını keşfetti

Açık Kullanımı

Saldırganlar, bir döngü kod bloğu oluşturarak taşmayı kullanıp bloğun durumunu değiştirebilirler:

  1. Parametreleri ve yerel değişkenlerin toplam sayısını 256'dan büyük ayarlayın.
  2. İlk çalıştırmadan sonra, yeni locals haritasının uzunluğu taşacak ve küçülecek.
  3. Tekrar çalıştırıldığında, mevcut olmayan locals dizinine erişim panic'e neden olur

Bu, düğümün hizmet reddine yol açabilir.

Numen Cyber özel keşif move dilinde bir başka yüksek riskli açık

Numen Cyber, move dilinde başka bir yüksek riskli açık keşfetti

Numen Cyber'ın özel bulgusu move dilinde bir başka yüksek tehlikeli açık

Açığın Etkisi

Bu açık, şunlara neden olabilir:

  1. Move bytecode doğrulayıcısı çöktü
  2. Move'a bağımlı blok zinciri düğümleri hizmeti reddetti
  3. Bazı güvenlik kontrollerinden kaçınma

Onarım Önerisi

  1. locals sınır kontrolünde parametre uzunluğunun doğrulanmasını ekleyin
  2. locals'ı yinelemek için u16 gibi daha büyük tamsayı türleri kullanın
  3. Çalışma zamanında ek güvenlik kontrolleri ekleyin

Özet

Bu güvenlik açığı, dikkatli bir şekilde tasarlanmış dillerin bile güvenlik riskleri içerebileceğini bir kez daha göstermiştir. Move dili için, doğrulama aşamasının ötesinde, çalışma zamanında da gerekli güvenlik kontrollerinin eklenmesi önerilmektedir. Güvenlik araştırmacıları, Move dilini daha derinlemesine analiz etmeye devam edeceklerdir, böylece daha fazla potansiyel sorun keşfedebileceklerdir.

Numen Cyber özel olarak move dilinde bir başka yüksek riskli açık keşfetti

MOVE2.8%
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
  • 6
  • Repost
  • Share
Comment
0/400
BackrowObservervip
· 08-11 11:51
move bir kez daha başarısız oldu
View OriginalReply0
MidnightTradervip
· 08-10 07:32
Bu da hangi acemi tarafından yazılmış bir kod? Diz çöküyorum.
View OriginalReply0
MevShadowrangervip
· 08-10 07:30
Yine tam sayı taşması oynuyor.
View OriginalReply0
WagmiOrRektvip
· 08-10 07:29
Neyse ki daha önce tüm pozisyonları kapatın Move yaptım.
View OriginalReply0
CommunityWorkervip
· 08-10 07:27
move yine mi patlayacak? Ne acele var?
View OriginalReply0
CryingOldWalletvip
· 08-10 07:26
Başka bir açık mı? move artık çekici değil sanırım.
View OriginalReply0
  • Pin
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)