Move dilindeki tam sayı taşma açığı: referans güvenlik doğrulama riski içeriyor

Move dili yine yüksek riskli bir açıkla karşı karşıya: Tam sayı taşması düğüm çökmesine neden olabilir.

Son zamanlarda, güvenlik araştırmacıları Aptos Moveevm'yi derinlemesine analiz ederken yeni bir tamsayı taşma açığı keşfettiler. Bu açık, Move dilinin referans güvenlik doğrulama sürecinde bulunmaktadır ve düğüm çökmesine neden olabilir.

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

Move dili, byte kodunu yürütmeden önce kod doğrulaması yapar ve bu dört adıma ayrılır. Bu açık, reference_safety adımında ortaya çıkmaktadır. Bu adım, referansların güvenliğini doğrulamak için kullanılır ve boş referansların varlığını kontrol etmek, değişken referans erişiminin güvenli olup olmadığını kontrol etmek gibi işlemleri içerir.

Numen Cyber'ın özel keşfi move dilinde bir başka kritik güvenlik açığı

Doğrulama süreci her temel bloğu dolaşacak ve analiz edecektir. Temel blok, giriş ve çıkış dışında dalga komutları olmayan bir kod dizisidir. Move dili, dal ve döngü komutlarını arayarak temel blokları tanımlar.

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

Referans güvenliğini doğrularken, bir AbstractState yapısı korunur ve bu yapı borrow graph ve locals bilgilerini içerir. Doğrulama süreci, temel blok kodunu çalıştırır, ardından yürütme sonrası durumu oluşturur ve bu durumu yürütme öncesi durumla birleştirir, blok durumunu günceller ve bunu sonraki bloklara yayar.

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

Hata, join_ fonksiyonunda ortaya çıkmaktadır. Bu fonksiyon, yürütme öncesi ve sonrası durumu birleştirmek, locals ve borç grafiğini güncellemek için kullanılır. Parametre uzunluğu ve yerel değişkenlerin toplam uzunluğu 256'dan büyük olduğunda, u8 türü ile locals'ı yinelemek, tamsayı taşmasına neden olacaktır.

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

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

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

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

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

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

Numen Cyber'a özel move dilinde bir yüksek tehlikeli açık daha keşfedildi

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

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

Numen Cyber özel olarak move dilinde bir yüksek riskli güvenlik açığı daha keşfetti

Bu taşma kullanılarak temel bloğun durumunu değiştirmek mümkündür. Döngü içeren kodlarda, aynı temel bloğun birden fazla kez çalıştırılması durumunda, mevcut olmayan locals indekslerine erişilebilir ve bu da panik oluşturarak düğümün çökmesine neden olabilir.

Araştırmacılar, belirli parametreler ve yerel değişken sayısını ayarlayarak tam sayı taşmasına neden olan bir PoC kodu sağladılar ve bu da nihayetinde panik ile sonuçlandı.

Numen Cyber özel buluşu move dilinde bir başka yüksek tehlike açığı

Bu açık, Move gibi güvenliğe önem veren dillerin bile güvenlik açıkları barındırabileceğini ortaya koyuyor. Move dilinin tasarımcılarına, yalnızca doğrulama aşamasındaki kontrolere güvenmekle kalmayıp, çalışma zamanında daha fazla güvenlik kontrolü eklemeleri önerilir. Aynı zamanda kod denetiminin önemini de vurgulamaktadır.

MOVE2.27%
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
  • 2
  • Repost
  • Share
Comment
0/400
BlockchainDecodervip
· 08-08 08:49
Alıntı testi çok zayıf.
View OriginalReply0
Hash_Banditvip
· 08-06 01:22
Güvenlik sorunlarına önem verilmelidir.
View OriginalReply0
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)