Mạng Cellframe bị tấn công thao túng thanh khoản, thiệt hại 76,112 USD
Vào lúc 10 giờ 7 phút 55 giây (UTC+8) ngày 1 tháng 6 năm 2023, Cellframe Network đã bị tấn công bởi hacker trên một chuỗi thông minh do vấn đề tính toán số lượng token trong quá trình di chuyển thanh khoản. Kẻ tấn công đã lợi dụng lỗ hổng này để kiếm được 76,112 đô la Mỹ.
Phân tích tấn công
Kẻ tấn công trước tiên đã lấy 1000 mã thông báo gốc của một chuỗi và 500000 mã thông báo New Cell thông qua vay chớp nhoáng. Sau đó, kẻ tấn công đã đổi tất cả mã thông báo New Cell thành mã thông báo gốc, dẫn đến số lượng mã thông báo gốc trong hồ thanh khoản gần như bằng không. Cuối cùng, kẻ tấn công đã đổi 900 mã thông báo gốc lấy mã thông báo Old Cell.
Đáng chú ý là, kẻ tấn công đã thêm Thanh khoản Old Cell và token gốc trước khi tấn công, để có được Old lp.
Quy trình tấn công
Kẻ tấn công gọi hàm di chuyển thanh khoản. Lúc này, trong bể mới gần như không có token gốc, trong bể cũ gần như không có token Old Cell.
Quá trình di chuyển bao gồm các bước sau:
Gỡ bỏ thanh khoản cũ và trả lại số lượng token tương ứng cho người dùng
Thêm thanh khoản mới theo tỷ lệ của bể mới
Do trong bể cũ hầu như không có token Old Cell, số lượng token gốc nhận được khi gỡ bỏ thanh khoản tăng lên, trong khi số lượng token Old Cell giảm đi.
Người dùng chỉ cần thêm một lượng nhỏ token gốc và token New Cell để nhận được thanh khoản, lượng token gốc dư thừa và token Old Cell sẽ được trả lại cho người dùng.
Kẻ tấn công loại bỏ thanh khoản của bể mới, và đổi token Old Cell được trả về thành token gốc.
Lúc này, trong bể cũ có một lượng lớn token Old Cell nhưng không có token gốc, kẻ tấn công sẽ đổi lại token Old Cell thành token gốc, hoàn thành việc kiếm lợi.
Kẻ tấn công lặp đi lặp lại các thao tác di chuyển, liên tục thu lợi.
Tóm tắt
Khi thực hiện việc di chuyển thanh khoản, cần xem xét một cách tổng thể sự thay đổi số lượng của hai loại token trong hai bể cũ và mới hoặc giá token hiện tại, để tránh tính toán trực tiếp dựa trên số lượng của hai loại tiền tệ trong cặp giao dịch, nhằm ngăn ngừa việc thao túng. Ngoài ra, bên dự án nên thực hiện kiểm toán an ninh toàn diện trước khi mã lên sóng, để giảm thiểu rủi ro tương tự.
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.
Mạng lưới Cellframe bị thao túng thanh khoản, tổn thất 76,112 USD
Mạng Cellframe bị tấn công thao túng thanh khoản, thiệt hại 76,112 USD
Vào lúc 10 giờ 7 phút 55 giây (UTC+8) ngày 1 tháng 6 năm 2023, Cellframe Network đã bị tấn công bởi hacker trên một chuỗi thông minh do vấn đề tính toán số lượng token trong quá trình di chuyển thanh khoản. Kẻ tấn công đã lợi dụng lỗ hổng này để kiếm được 76,112 đô la Mỹ.
Phân tích tấn công
Kẻ tấn công trước tiên đã lấy 1000 mã thông báo gốc của một chuỗi và 500000 mã thông báo New Cell thông qua vay chớp nhoáng. Sau đó, kẻ tấn công đã đổi tất cả mã thông báo New Cell thành mã thông báo gốc, dẫn đến số lượng mã thông báo gốc trong hồ thanh khoản gần như bằng không. Cuối cùng, kẻ tấn công đã đổi 900 mã thông báo gốc lấy mã thông báo Old Cell.
Đáng chú ý là, kẻ tấn công đã thêm Thanh khoản Old Cell và token gốc trước khi tấn công, để có được Old lp.
Quy trình tấn công
Kẻ tấn công gọi hàm di chuyển thanh khoản. Lúc này, trong bể mới gần như không có token gốc, trong bể cũ gần như không có token Old Cell.
Quá trình di chuyển bao gồm các bước sau:
Do trong bể cũ hầu như không có token Old Cell, số lượng token gốc nhận được khi gỡ bỏ thanh khoản tăng lên, trong khi số lượng token Old Cell giảm đi.
Người dùng chỉ cần thêm một lượng nhỏ token gốc và token New Cell để nhận được thanh khoản, lượng token gốc dư thừa và token Old Cell sẽ được trả lại cho người dùng.
Kẻ tấn công loại bỏ thanh khoản của bể mới, và đổi token Old Cell được trả về thành token gốc.
Lúc này, trong bể cũ có một lượng lớn token Old Cell nhưng không có token gốc, kẻ tấn công sẽ đổi lại token Old Cell thành token gốc, hoàn thành việc kiếm lợi.
Tóm tắt
Khi thực hiện việc di chuyển thanh khoản, cần xem xét một cách tổng thể sự thay đổi số lượng của hai loại token trong hai bể cũ và mới hoặc giá token hiện tại, để tránh tính toán trực tiếp dựa trên số lượng của hai loại tiền tệ trong cặp giao dịch, nhằm ngăn ngừa việc thao túng. Ngoài ra, bên dự án nên thực hiện kiểm toán an ninh toàn diện trước khi mã lên sóng, để giảm thiểu rủi ro tương tự.