Khoản vay nhanh đã đánh cắp 1.900 ETH! Giao giao thức cho vay Radiant Capital bị hacker đánh cắp 4,5 triệu ĐÔ LA như thế nào?

Bài viết này được dịch máy
Xem bản gốc

Vào ngày 3 tháng 1 năm 2024 , theo giám sát của nền tảng giám sát, cảnh báo và ngăn chặn rủi ro bảo mật EagleEye của Beosin, dự án Radiant Capital đã bị kẻ tấn công tấn công Khoản vay nhanh.

Kẻ tấn công đã đánh cắp hơn 1.900 ETH, trị giá hơn 4,5 triệu đô la, qua 3 giao dịch. Số tiền bị đánh cắp hiện vẫn được lưu trữ tại địa chỉ của kẻ tấn công. Đội ngũ bảo mật Beosin đã ngay lập tức phân tích vụ việc này.

Phân tích lỗ hổng

Nguyên nhân cốt lõi của sự cố này là do dự án Radiant Capital đã sử dụng mở rộng và làm tròn độ chính xác trong quá trình tính toán số lượng token , điều này cho phép kẻ tấn công kiểm soát độ chính xác và kết hợp nó với việc làm tròn để mở rộng điểm lợi nhuận.


Quan sát đoạn mã trên, hàm rayDiv truyền vào hai dữ liệu uint256 a và b. Toàn bộ quá trình có thể được viết tắt là (a*RAY+b/2)/b, trong đó RAY là dữ liệu mở rộng chính xác, là 10^27, thì kết quả Nó tương đương với a*RAY/b+0.5, thực hiện hàm làm tròn.Lỗi của phương pháp tính này chủ yếu đến từ b.Nếu b cực nhỏ so với a thì sai số sẽ không đáng kể, còn nếu b có cùng độ lớn với a , thì lỗi có thể tự xảy ra.

Ví dụ: nếu a*RAY=10000, b=3 thì kết quả tính toán là 3333, nhỏ hơn 1/10000 so với giá trị thực tế; và nếu a*RAY=10000, b=3000, kết quả tính toán là 3, Nhỏ hơn 1/10 so với giá trị thực tế.

Trong vụ việc này, kẻ tấn công đã thao túng giá trị của b sao cho giá trị của b và giá trị của a có cùng độ lớn, làm cho phép tính tương đương 3/2.0001=1 và giá trị tính được nhỏ hơn 1/3 so với giá trị thực tế.

Quá trình tấn công

Hãy cùng xem quá trình tấn công của hacker:

1. Kẻ tấn công lần đầu tiên vay 3 triệu USDC thông qua khoản vay nhanh Aave để sử dụng làm vốn khởi nghiệp cho cuộc tấn công.


2. Kẻ tấn công đã cam kết 2 triệu USDC cho hợp đồng Radiant và nhận được 2 triệu token báo chứng chỉ rUSDCn.

3. Kẻ tấn công thực hiện Khoản vay nhanh thông qua hợp đồng Radiant, vay mượn 2 triệu USDC, trả lại 2 triệu USDC trong chức năng gọi lại và rút USDC đã cam kết ở bước thứ 2. Cuối cùng, chức năng Khoản vay nhanh gọi hàm transferfrom. USDC của kẻ tấn công vào hợp đồng kèm theo lãi suất. Tại thời điểm này, phí xử lý 9/10000 sẽ được tính và phí xử lý thu được sẽ trở thành thanh khoản của nhóm.


4. Bằng cách lặp lại bước 3 nhiều lần, kẻ tấn công kiểm soát chỉ số thanh khoản rất lớn, thanh khoản Index=2718000000009999999999999998631966035920.


5. Tiếp theo, kẻ tấn công tạo một hợp đồng mới và đặt 543.600 USDC trong đó, bởi vì 5436 (giá trị USDC) chính xác gấp đôi 2718 (giá trị chỉ số thanh khoản) ở bước 4, điều này có thể tạo điều kiện thuận lợi cho việc kiểm soát làm tròn.


6. Kẻ tấn công đã thế chấp toàn bộ 543.600 USDC vào hợp đồng Radiant và thu được số lượng rUSDCn tương tự.

7. Kẻ tấn công rút 407.700 USDC và lẽ ra đã tiêu hủy 407.700 rUSDCn. Tuy nhiên, như đã đề cập ở trên, chức năng ghi đĩa thực hiện các phép tính mở rộng và làm tròn chính xác.
407700000000000000000000000000000000000/271800000000999999999999998631966035920=1.49999999 và kết quả làm tròn là 1, khiến kết quả nhỏ hơn 1/3.

Như trong hình bên dưới, lẽ ra 407.700 USDC đã bị phá hủy, nhưng vẫn còn lại 271.800, cho thấy chỉ có 271.800 bị đốt và kẻ tấn công rút 407.700 USDC.

8. Kẻ tấn công khai thác lỗ hổng ở bước 7 để lặp lại thao tác rút tiền cam kết và rút luôn nhiều hơn 1/3 số tiền cam kết và cuối cùng trao đổi tất cả USDC trong nhóm.


Theo dõi tiền

Tính đến thời điểm viết bài, 1.902 ETH bị đánh cắp đã được lưu trữ trong địa chỉ của hacker và chưa được di chuyển. Beosin Trace sẽ tiếp tục theo dõi số tiền.


Khi năm 2024 bắt đầu, chúng ta đã chứng kiến ​​hai trường hợp trộm cắp quy mô lớn. (Nhìn lại sự cố bảo mật ngày hôm qua: Điều gì đã xảy ra với vụ việc đầu tiên trong năm, vụ đánh cắp 80 triệu ĐÔ LA của Orbit Chain ? ) Sê-Ri sự kiện này một lần nữa nhắc nhở chúng ta rằng trong hệ sinh thái Web3, việc phòng ngừa bảo mật vẫn là điều quan trọng!

Đọc mở rộng: Cầu nối xuyên chuỗi Orbit Bridge đã bị hack với giá 81,5 triệu ĐÔ LA và hệ sinh thái Orbit Chain nói chung lao dốc

Là một công ty bảo mật blockchain hàng đầu thế giới, Beosin đã thành lập chi nhánh tại hơn 10 quốc gia và khu vực trên thế giới. Việc kinh doanh Beosin bao gồm kiểm toán bảo mật mã chương trình trước khi dự án ra mắt , giám sát rủi ro bảo mật, cảnh báo và chặn sớm, ảo hóa trong quá trình dự án thực thi, v.v. Các sản phẩm + dịch vụ bảo mật blockchain"một cửa" như thu hồi tài sản bị đánh cắp tiền tệ, tuân thủ bảo mật KYT/AML, v.v. Công ty cam kết phát triển an toàn hệ sinh thái Web3 và đã cung cấp dịch vụ công nghệ bảo mật blockchain cho nhiều hơn nữa hơn 3.000 công ty trên khắp thế giới. , bao gồm HashKey Group, Amber Group, BNB Chain, v.v., và đã kiểm toán hơn 3.000 hợp đồng thông minh và mainnet chuỗi công khai , bao gồm PancakeSwap, Ronin Network, OKCSwap, v.v.

Nguồn
Tuyên bố từ chối trách nhiệm: Nội dung trên chỉ là ý kiến của tác giả, không đại diện cho bất kỳ lập trường nào của Followin, không nhằm mục đích và sẽ không được hiểu hay hiểu là lời khuyên đầu tư từ Followin.
Thích
Thêm vào Yêu thích
Bình luận