Cơ chế bảo mật trích dẫn ngôn ngữ Move phát hiện lỗ hổng tràn số nguyên ảnh hưởng đến AptosMoveEVM

robot
Đang tạo bản tóm tắt

Phát hiện lỗ hổng tràn số nguyên mới trong cơ chế bảo mật tham chiếu của ngôn ngữ Move

Gần đây, các nhà nghiên cứu an ninh đã phát hiện ra một lỗ hổng tràn số nguyên mới khi phân tích sâu về Aptos MoveEVM. Lỗ hổng này tồn tại trong quá trình xác minh an toàn tham chiếu của ngôn ngữ Move, cụ thể là ở bước reference_safety.

Numen Cyber phát hiện độc quyền lỗ hổng nghiêm trọng khác trong ngôn ngữ move

Ngôn ngữ Move sẽ thực hiện xác minh đơn vị mã trước khi thực thi bytecode, chia thành 4 bước. Xác minh an toàn tham chiếu là một phần quan trọng trong đó, chủ yếu nhằm đảm bảo không có tham chiếu lơ lửng, việc truy cập tham chiếu biến là an toàn, việc truy cập tham chiếu lưu trữ toàn cầu là an toàn, v.v.

Numen Cyber phát hiện độc quyền một lỗ hổng nghiêm trọng trong ngôn ngữ move

Trích dẫn xác thực an ninh cốt lõi là phân tích các khối cơ bản trong mỗi hàm. Khối cơ bản là một chuỗi mã không có lệnh nhánh ngoại trừ điểm vào và điểm ra. Move xác định các khối cơ bản bằng cách duyệt qua mã byte, tìm tất cả các lệnh nhánh và lệnh vòng.

Numen Cyber phát hiện độc quyền lỗ hổng nghiêm trọng khác của ngôn ngữ move

Quá trình xác minh sử dụng cấu trúc AbstractState để biểu diễn trạng thái, bao gồm hai phần là borrow graph và locals. Trong quá trình xác minh, mã khối cơ bản sẽ được thực thi để tạo ra post state, sau đó sẽ kết hợp với pre state để cập nhật trạng thái khối và truyền đến các khối tiếp theo. Quá trình này tương tự như ý tưởng Sea of Nodes trong V8 turbofan.

Numen Cyber phát hiện độc quyền một lỗ hổng nghiêm trọng khác trong ngôn ngữ move

Lỗi xảy ra trong hàm join_. Khi tổng chiều dài tham số của hàm và chiều dài biến cục bộ lớn hơn 256, việc sử dụng kiểu u8 để lặp qua locals sẽ dẫn đến tràn số nguyên. Mặc dù Move có quy trình kiểm tra số lượng locals, nhưng chỉ kiểm tra locals mà không bao gồm chiều dài tham số.

Numen Cyber phát hiện độc quyền lỗ hổng nghiêm trọng khác trong ngôn ngữ move

Numen Cyber phát hiện độc quyền một lỗ hổng nghiêm trọng khác trong ngôn ngữ move

Numen Cyber phát hiện độc quyền một lỗ hổng nghiêm trọng khác trong ngôn ngữ move

Numen Cyber phát hiện độc quyền một lỗ hổng nghiêm trọng khác trong ngôn ngữ move

Numen Cyber phát hiện độc quyền một lỗ hổng nghiêm trọng khác trong ngôn ngữ move

Numen Cyber phát hiện độc quyền một lỗ hổng nghiêm trọng khác của ngôn ngữ move

Numen Cyber phát hiện độc quyền lỗ hổng nguy hiểm khác trong ngôn ngữ move

Numen Cyber phát hiện độc quyền lỗ hổng nghiêm trọng khác của ngôn ngữ move

Numen Cyber phát hiện độc quyền một lỗ hổng nghiêm trọng khác của ngôn ngữ move

Numen Cyber phát hiện độc quyền một lỗ hổng nghiêm trọng khác trong ngôn ngữ move

Bằng cách khai thác lỗ hổng này, kẻ tấn công có thể xây dựng một khối mã lặp, sử dụng tràn để thay đổi trạng thái của khối. Khi thực thi lại, nếu chỉ thị cần truy cập chỉ số không tồn tại trong bản đồ locals mới, điều này sẽ dẫn đến DoS.

Numen Cyber phát hiện lỗ hổng nghiêm trọng khác của ngôn ngữ move

Lỗ hổng này một lần nữa cho thấy ngay cả ngôn ngữ như Move, vốn rất coi trọng an ninh, cũng có thể gặp vấn đề. Khuyến nghị các nhà thiết kế ngôn ngữ Move nên tăng cường thêm nhiều kiểm tra tại thời điểm thực thi, không chỉ dựa vào các kiểm tra an ninh trong giai đoạn xác thực. Đồng thời cũng nhắc nhở các nhà phát triển về tầm quan trọng của việc kiểm tra mã.

Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • 5
  • Chia sẻ
Bình luận
0/400
BoredWatchervip
· 15giờ trước
Lỗi này thật là không thể tin được, sao lại đơn giản như vậy.
Xem bản gốcTrả lời0
WalletInspectorvip
· 15giờ trước
Hề, dùng move không bằng dùng rust
Xem bản gốcTrả lời0
MemecoinTradervip
· 15giờ trước
lmao một l1 khác bị rekt... rò rỉ alpha tràn số nguyên cổ điển
Xem bản gốcTrả lời0
LidoStakeAddictvip
· 15giờ trước
Move lại gặp vấn đề rồi, tsk tsk
Xem bản gốcTrả lời0
BuyHighSellLowvip
· 15giờ trước
Lại thả lỏng rồi, hãy hủy diệt đi, tất cả bắt đầu lại.
Xem bản gốcTrả lời0
  • Ghim
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)