Di sản chết người: Phân tích sự kiện 300.000 đô la trên chuỗi do lưu trữ tạm thời gây ra
Vào ngày 30 tháng 3 năm 2025, một hệ thống giám sát an ninh trên chuỗi phát hiện một dự án giao dịch đòn bẩy trên mạng Ethereum bị tấn công, gây thiệt hại tài sản lên đến hơn 300.000 đô la. Đội ngũ an ninh đã tiến hành phân tích sâu về sự kiện này và hiện chia sẻ kết quả như sau:
Bối cảnh
Phiên bản Solidity 0.8.24 đã giới thiệu tính năng lưu trữ tạm thời dựa trên EIP-1153. Đây là một vị trí lưu trữ dữ liệu mới, cung cấp cho các nhà phát triển cách lưu trữ tạm thời hiệu quả về chi phí trong suốt thời gian giao dịch. Các đặc điểm chính của lưu trữ tạm thời bao gồm:
Chi phí gas thấp: Hoạt động tiêu tốn cố định 100 gas, thấp hơn nhiều so với các thao tác lưu trữ thông thường.
Tính bền vững trong giao dịch: Dữ liệu vẫn có hiệu lực trong suốt thời gian giao dịch.
Tự động xóa: Sau khi giao dịch kết thúc, bộ nhớ tạm thời sẽ tự động được đặt lại về không.
Phân tích sự kiện
Nguyên nhân cơ bản của sự kiện này là giá trị được sử dụng trong hàm với tstore để lưu trữ tạm thời không được xóa sau khi kết thúc cuộc gọi hàm, kẻ tấn công đã lợi dụng đặc điểm này để xây dựng địa chỉ độc hại cụ thể, vượt qua kiểm tra quyền và chuyển ra token.
Các bước tấn công như sau:
Kẻ tấn công tạo ra hai token độc hại A và B, và tạo một bể thanh khoản cho hai token này trên một DEX.
Gọi hàm initialize của hợp đồng mục tiêu, sử dụng token A làm tài sản thế chấp và token B làm token nợ để tạo ra thị trường giao dịch đòn bẩy.
Gọi hàm mint, lưu vào token nợ B để đúc token đòn bẩy. Trong quá trình này, địa chỉ pool DEX và số lượng đúc được lưu trữ tạm thời.
Tạo một địa chỉ với hợp đồng độc hại có số lượng đúc giống như trong lưu trữ tạm thời.
Thông qua việc gọi hàm callback của hợp đồng mục tiêu bằng hợp đồng độc hại, tận dụng giá trị còn lại trong bộ nhớ tạm thời để vượt qua xác thực.
Cuối cùng, kẻ tấn công gọi trực tiếp hàm callback của hợp đồng mục tiêu thông qua việc tấn công hợp đồng, và chuyển các token khác (như WBTC, WETH) ra ngoài để kiếm lợi.
Dòng tiền
Theo dữ liệu từ công cụ phân tích on-chain, kẻ tấn công đã đánh cắp khoảng 300.000 đô la tài sản, bao gồm:
17,814.8626 USDC
1.4085 WBTC
119.871 WETH
Các tài sản này sau đó được đổi thành WETH, tổng cộng 193.1428 WETH đã được chuyển vào một công cụ ẩn danh nào đó. Nguồn vốn ban đầu của kẻ tấn công là 0.3 ETH được chuyển từ công cụ đó.
Đề xuất an toàn
Các bên dự án nên ngay lập tức sử dụng tstore(key, 0) để xóa giá trị trong lưu trữ tạm thời sau khi kết thúc cuộc gọi hàm theo logic kinh doanh.
Tăng cường kiểm toán mã hợp đồng và kiểm tra an ninh, đặc biệt chú ý đến các đặc điểm ngôn ngữ mới được đưa vào và các rủi ro tiềm ẩn của chúng.
Thực hiện cơ chế xác minh đa tầng, tránh tổn thất tài sản quy mô lớn do lỗ hổng đơn lẻ gây ra.
Thực hiện đánh giá an ninh và quét lỗ hổng định kỳ, kịp thời sửa chữa các vấn đề tiềm ẩn.
Cân nhắc việc triển khai hệ thống giám sát an ninh, theo dõi hành vi giao dịch bất thường theo thời gian thực.
Sự kiện này lại nhắc nhở chúng ta rằng, khi áp dụng công nghệ mới, cần phải hết sức thận trọng, hiểu rõ các đặc điểm và rủi ro tiềm ẩn của nó. Đồng thời, việc thực hành an ninh liên tục và kiểm toán định kỳ là rất quan trọng để đảm bảo an toàn cho các dự án on-chain.
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.
10 thích
Phần thưởng
10
5
Chia sẻ
Bình luận
0/400
MemeTokenGenius
· 07-22 16:28
30w đô la đã mất như vậy? Bao nhiêu người đã bị giết?
Tồn dư lưu trữ tạm thời gây ra thiệt hại tài sản 300.000 USD trên chuỗi. Các nhà phát triển cần cảnh giác với rủi ro từ tính năng mới.
Di sản chết người: Phân tích sự kiện 300.000 đô la trên chuỗi do lưu trữ tạm thời gây ra
Vào ngày 30 tháng 3 năm 2025, một hệ thống giám sát an ninh trên chuỗi phát hiện một dự án giao dịch đòn bẩy trên mạng Ethereum bị tấn công, gây thiệt hại tài sản lên đến hơn 300.000 đô la. Đội ngũ an ninh đã tiến hành phân tích sâu về sự kiện này và hiện chia sẻ kết quả như sau:
Bối cảnh
Phiên bản Solidity 0.8.24 đã giới thiệu tính năng lưu trữ tạm thời dựa trên EIP-1153. Đây là một vị trí lưu trữ dữ liệu mới, cung cấp cho các nhà phát triển cách lưu trữ tạm thời hiệu quả về chi phí trong suốt thời gian giao dịch. Các đặc điểm chính của lưu trữ tạm thời bao gồm:
Phân tích sự kiện
Nguyên nhân cơ bản của sự kiện này là giá trị được sử dụng trong hàm với tstore để lưu trữ tạm thời không được xóa sau khi kết thúc cuộc gọi hàm, kẻ tấn công đã lợi dụng đặc điểm này để xây dựng địa chỉ độc hại cụ thể, vượt qua kiểm tra quyền và chuyển ra token.
Các bước tấn công như sau:
Dòng tiền
Theo dữ liệu từ công cụ phân tích on-chain, kẻ tấn công đã đánh cắp khoảng 300.000 đô la tài sản, bao gồm:
Các tài sản này sau đó được đổi thành WETH, tổng cộng 193.1428 WETH đã được chuyển vào một công cụ ẩn danh nào đó. Nguồn vốn ban đầu của kẻ tấn công là 0.3 ETH được chuyển từ công cụ đó.
Đề xuất an toàn
Sự kiện này lại nhắc nhở chúng ta rằng, khi áp dụng công nghệ mới, cần phải hết sức thận trọng, hiểu rõ các đặc điểm và rủi ro tiềm ẩn của nó. Đồng thời, việc thực hành an ninh liên tục và kiểm toán định kỳ là rất quan trọng để đảm bảo an toàn cho các dự án on-chain.