Move dilinin güvenlik modülünde tamsayı taşma açığı tespit edildi, bu da DoS saldırısına yol açabilir.

Move dilinde güvenlik modülünde yeni bir tam sayı taşma açığı bulundu

Son zamanlarda, Move dilini derinlemesine araştırırken yeni bir tamsayı taşma açığı bulduk. Bu açık, referans güvenliği doğrulama sürecinde mevcut olup, tetiklenme süreci oldukça ilginç. Bu yazıda, bu açığı derinlemesine analiz edecek ve Move dilinin bazı arka plan bilgilerini inceleyeceğiz.

Move dili, bytecode'u yürütmeden önce kod birimi doğrulaması yapar ve bu dört adıma ayrılır. Bu açık, reference_safety adımında ortaya çıkar. Bu adım, referansların güvenliğini doğrulamaktan sorumludur ve boş referansların var olup olmadığını, değişken referans erişiminin güvenliğini, global depolama referans erişiminin güvenliğini kontrol eder.

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

Güvenlik doğrulama için kullanılan giriş fonksiyonu, her bir temel bloğu doğrulamak üzere analyze_function'ı çağıracaktır. Temel blok, giriş ve çıkış dışında hiçbir dallanma talimatı içermeyen bir kod dizisidir. Move dili, bytecode'u tarayarak tüm dallanma talimatlarını ve döngü talimatı dizilerini bularak temel blokları tanımlar.

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

Move dili, iki tür referans türünü destekler: değiştirilemez referans (&) ve değiştirilebilir referans (&mut). Referans güvenliği modülü, tüm referans işlemlerinin geçerliliğini doğrulamak için işlevdeki temel blokların bayt kodu talimatlarını tarar. Doğrulama süreci, fonksiyondaki referansların güvenliğini sağlamak için borç grafiği ve yerelleri içeren AbstractState yapısını kullanır.

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

Hata, join_ fonksiyonunda ortaya çıkıyor. Parametre uzunluğu ile yerel değişken uzunluğu 256'yı aştığında, iter_locals() fonksiyonu u8 türünde bir iteratör döndürdüğünden, tam sayı taşmasına neden oluyor. Move'un locals sayısını kontrol eden bir süreci olmasına rağmen, check bounds modülünde sadece locals kontrol ediliyor, parametre uzunluğu dahil edilmiyor.

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

Bu tam sayı taşması, hizmet reddi (DoS) saldırısına neden olabilir. Döngüsel kod blokları mevcut olduğunda ve taşma, bloğun durumunu değiştirmek için kullanıldığında, yeni yerel harita öncekinden farklıdır. execute_block fonksiyonu tekrar çalıştırıldığında, eğer komutun erişmesi gereken indeks yeni AbstractState yerel haritasında yoksa, DoS'a neden olacaktır.

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

Git'te yeniden üretilebilen bir PoC sağladık. Bu PoC'deki kod bloğu, son talimat her çalıştırıldığında ilk talimata geri dönen koşulsuz bir dalga talimatı içeriyor ve bu da execute_block ve join fonksiyonlarını birden fazla kez çağırıyor.

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

Bu açık, Move gibi güvenliğe önem veren dillerin bile güvenlik açıkları barındırabileceğini göstermektedir. Kod denetiminin önemi tartışılmaz, programcıların dikkatsizliği kaçınılmazdır. Move dilinin güvenlik araştırmaları konusunda lider olarak, Move'un güvenlik sorunlarını derinlemesine araştırmaya devam edeceğiz.

Move dil tasarımcılarının, beklenmedik durumları önlemek için çalışma zamanında daha fazla kontrol kodu eklemelerini öneriyoruz. Şu anda Move, güvenlik kontrolünü esas olarak doğrulama aşamasında gerçekleştiriyor, ancak bu yeterli olmayabilir. Doğrulama atlatıldığında, çalışma aşamasında yeterli güvenlik sağlamanın eksikliği daha ciddi sorunlara yol açabilir.

Numen Cyber'ın özel keşfi move dilinde bir yüksek risk açığı daha

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

Numen Cyber'un özel bulgusu: move dilinde bir yüksek riskli güvenlik açığı daha

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 özel keşfi move dilinde başka bir yüksek riskli güvenlik açığı

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

Numen Cyber özel olarak move dilinde bir başka kritik açık keşfetti

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

MOVE1.34%
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
  • 5
  • Repost
  • Share
Comment
0/400
GasFeeWhisperervip
· 08-16 04:23
move yine çöktü
View OriginalReply0
StopLossMastervip
· 08-16 03:33
Yine kendi adamlarımızın kazdığı çukur.
View OriginalReply0
LiquidationWatchervip
· 08-16 03:31
Yine bir güvenlik açığı ortaya çıktı.
View OriginalReply0
ZKProofEnthusiastvip
· 08-16 03:28
Bu hata büyüdü.
View OriginalReply0
ZenMinervip
· 08-16 03:08
Zehirli, move yine yamanacak.
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)