Giá tài sản tạm thời bị trễMột số tài sản đã ngừng nhận dữ liệu giá mới. Cập nhật sẽ tự động tiếp tục khi kết nối dữ liệu được khôi phục.
Bitculator

Tải Bitculator cho Android

Vốn hóa thị trường:

$1,993,178,180,086

Khối lượng 24h:

$198,583,650,129

thg 6 23 Thanh lý:

$0

24H Dài/Ngắn:

Sắp ra mắt

Bitculator · Học

Integer Overflow Attack

Thuật ngữ Integer Overflow Attack có nghĩa là gì trong lĩnh vực tiền điện tử?

# 400·Đã cập nhật Tháng 6 2026·4 phút đọc

Một Integer Overflow Attack xảy ra khi một phép toán toán học tạo ra một số quá lớn so với hệ thống có thể xử lý, khiến nó 'tràn' và có thể tạo ra những lỗ hổng bảo mật.

Integer Overflow Attack là gì?

Integer Overflow Attack xảy ra khi một giá trị số trong chương trình đạt giới hạn tối đa rồi quay vòng về, cho phép kẻ tấn công bóp méo số dư hoặc giới hạn. Trong tiền mã hóa, vòng quay này có thể biến một kiểm tra như “bạn có đủ token không?” thành có trong khi lẽ ra là không. Hãy tưởng tượng đồng hồ đo công tơ số của xe cũ lật từ 999999 về 000000, nhưng lần này là tiền.


Ngộ nhận

“Các trình biên dịch hiện đại khiến điều này không thể xảy ra.” Không hẳn vậy. Nhiều hợp đồng thông minh vẫn dùng phép toán không kiểm tra ở vài chỗ, toán học tự viết, hoặc assembly có thể tái phát sinh lỗi tràn số.


Cách Integer Overflow Attack hoạt động

Sau đây là mô tả nhanh lấy hợp đồng token làm ví dụ.

  • Bước 1: Hợp đồng lưu số dư bằng số nguyên kích thước cố định và có hàm cộng, trừ, hoặc nhân các khoản.
  • Bước 2: Kẻ tấn công chọn đầu vào đẩy con số vượt quá giới hạn tối đa, khiến nó quay vòng về một giá trị rất nhỏ hoặc gần bằng không.
  • Bước 3: Vòng quay đó lật ngược một kiểm tra. Ví dụ: sau khi quay vòng, số dư trông lớn bất thường hoặc giới hạn chuyển khoản trông rất nhỏ, nên yêu cầu kiểm tra được thông qua.
  • Bước 4: Kẻ tấn công tạo token chưa được hưởng, phá giới hạn tối đa, hoặc chuyển tiền mà họ không đáng lẽ được phép di chuyển.
  • Bước 5: Họ luân chuyển khoản lời qua giao dịch hoặc cầu nối rồi rút đi trước khi ai phát hiện.

Thực tế: một vài token ERC 20 từng có lỗi tràn theo lô cho phép kẻ tấn công tạo lượng cung phi lý, rồi bán ồ ạt trên sàn. Đúng vậy, điều đó đã xảy ra.


Tại sao Integer Overflow Attack quan trọng

Nếu bạn giữ token, phát triển ứng dụng, hoặc giao dịch DeFi, bạn nên quan tâm. Vấn đề liên quan đến số học, và số học điều khiển tiền mã hóa.

  • Lợi ích: Hiểu cách hoạt động giúp bạn phát hiện dấu hiệu nguy hiểm sớm và bảo vệ tài sản.
  • Góc nhìn: Lỗi số học luôn tồn tại. Chuỗi mới và công cụ mới xuất hiện, nhưng sai sót trong phép toán vẫn bị kẻ tấn công khai thác.
  • Sự liên quan: Bạn sẽ gặp nó trong toán học lượng cung token, hệ thống phần thưởng, bộ đếm NFT, và các dApps phổ biến quản lý số dư người dùng.

Mẹo

Trong Solidity, để phép toán luôn được kiểm tra theo mặc định và giữ các khối unchecked thật nhỏ và được kiểm toán. Thêm kiểm thử fuzz thử các giá trị cực đại, không chỉ các trường hợp thành công.


Đặc điểm chính của Integer Overflow Attack

Điều làm nó khác các lỗi khác:

  • Vòng quay: Số nhảy từ giá trị tối đa về 0 như bộ đếm vòng.
  • Im lặng: Không có lỗi gốc nếu phép toán không được kiểm tra, nên kết quả sai trông như hợp lệ.
  • Có thể kích hoạt: Thường thì đầu vào do người dùng kiểm soát có thể khiến sự kiện xảy ra đúng lúc.
  • Có thể lặp lại: Một khi tìm ra, kẻ tấn công có thể tự động hóa và tấn công nhiều mục tiêu.

Các biến thể

Các dạng chính bạn sẽ nghe, cùng họ nhưng đường tấn công khác nhau:

  1. Underflow: Phép trừ xuống dưới 0 và quay vòng thành giá trị rất lớn.
  2. Cộng: Thêm vào số dư hoặc lượng cung làm vượt giới hạn tối đa và quay về số nhỏ.
  3. Nhân: Các hệ số thưởng hoặc yếu tố tỉ lệ khiến giá trị vượt quá giới hạn.
  4. Bộ đếm: ID token hoặc bộ đếm lượng cung quay vòng và cho phép mint tiếp vượt quá giới hạn.

Nhắc nhở

Integer Overflow Attack không chỉ là vấn đề của Solidity. Nó có thể xuất hiện trên Vyper, Rust, Move, hoặc assembly tùy chỉnh, và nhiều vụ khai thác được công bố cuối cùng đều do phép toán không kiểm tra quanh số dư hoặc lượng cung.


Ví dụ

Một hàm thưởng nhân số người dùng cung cấp với hệ số thưởng lớn, giá trị quay vòng, kiểm tra giới hạn bị vượt qua, và Integer Overflow Attack cho phép kẻ tấn công tạo nhiều token hơn dự định.


Thông tin thú vị

Màn arcade cổ điển với màn 256 bị khóa? Hiện tượng đóng băng nổi tiếng đó là do tràn số nguyên, chứng tỏ ngay cả trò chơi retro cũng có thể vô tình hé lộ lỗi tương tự trên tiền mã hóa.


Tổng kết

Hãy nghĩ Integer Overflow Attack như những con số chạy một vòng và kẻ trộm lợi dụng khoảng trống; giữ phép toán được kiểm tra để bạn yên tâm hơn.

Chúng tôi có quên gì không??

Ý kiến đóng góp của bạn giúp chúng tôi giữ mọi thứ chính xác. Liên hệ với chúng tôi nếu có bất kỳ điều gì không chính xác hoặc thiếu sót.

Liên hệ