Thêm một dự án trên Binance Smart Chain bị hack

Uranium Finance vừa qua đã trở thành dự án Binance Smart Chain tiếp theo bị khai thác lỗ hổng, với tổng số tiền thiệt lại lên tới 57 triệu USD. Cộng đồng đang đặt ra câu hỏi liệu đây có thực sự là một cuộc tấn công hay là một hình thức rug pull tinh vi.

Dự án Uranium Finance bị hack

Uranium Finance là cái tên được nhắc đến nhiều nhất của cộng đồng farmer trên Binance Smart Chain.

Uranium đã bị hacker khai thác ít nhất 2.200 ETH từ sự cố mới nhất, số tiền này được rửa qua Tornado Cash để không thể bị truy vết, tổng số tiền lên tới khoảng 57,2 triệu dollar ở thời điểm viết bài.

Bản sao chép không hoàn hảo

Nguyên nhân lỗ hổng đến từ một thay đổi nhỏ trong hợp đồng UraniumPair so với hợp đồng gốc của Uniswap:

Hợp đồng Pair của Uranium
Hợp đồng Pair của Uranium
Hợp đồng Pair của Uniswap
Hợp đồng Pair của Uniswap

Sự khác biệt chỉ nằm ở hệ số 10.000, được thay đổi ở 2 nơi nhưng không thay đổi ở cuối, dẫn đến sự chênh lệch 100 lần khi hàm kiểm tra lượng token trong pool so với thực tế.

Điều đó khiến cho bất kỳ nguòi dùng nào cũng có thể withdraw được một lượng lớn token trong pool với hàm low-level function swap() (mặc dù vậy user bình thường sẽ không thể tương tác với contract này thông qua UI). 

Hacker đã gửi một lượng nhỏ token vào pair contract sau đó gọi hàm. Khi đó giao dịch rút tiền sẽ diễn ra như sau: 

Quá trình hack giao dịch

Drama ở đây là gì? 

Điều đáng nói ở đây là phiên bản Uranium V1 hoàn toàn không có lỗi này, cho đến khi họ quyết định update lên phiên bản Uranium V2 trước đó 10 ngày. 

Phiên bản không lầm lỗi của Uranium
Phiên bản không lầm lỗi của Uranium

Vì một lý do nào đó, Uranium quyết định nâng cấp lên phiên bản V2.1 vào đúng ngày diễn ra cuộc tấn công. Chỗ duy nhất sẽ được chỉnh sửa chính là “lỗ hổng” được đề cập ở bên trên:

Phiên bản lầm lỗi của Uranium

Tức là có 1 “lỗ hổng” đã tồn tại 10 ngày, và ngay đến trước ngày nó được sửa chữa thì nó đã hoàn thành xuất sắc nhiệm vụ của nó – bị khai thác. Nếu như team Uranium biết rằng đã tồn tại bug đó – tại sao họ không thực hiện một cuộc tấn công chủ động để bảo toàn tài sản của người dùng. Đó sẽ được coi là một cuộc tấn công whitehat, và không có gì được tán dương nhiều hơn một cuộc tấn công whitehat ở không gian DeFi. 

Đáng ngờ hơn, Github của nhóm đã bị xóa sau khi xảy ra sự kiện. Mặc dù vậy, group và các tài khoản social của dự án vẫn hoạt động.

Tài khoản Social Uranium

Một số giả thuyết đã được cộng đồng đặt ra: 

  • Hacker đã phát hiện ra lỗ hổng, tuy nhiên hắn đã đợi đến ngày cuối cùng để đạt được lợi nhuận tối đa. 

hoặc

  • Đây là một kế hoạch rug pull tinh vi đến từ Uranium. Ra mắt phiên bản  V2 – gần thời điểm với Pancake V2 để ngụy trang cho việc bổ sung bug vào hợp đồng. 

Các vụ hack ngày trở nên phức tạp và khó khắc phục hơn khi có cross chain

Binance Smart Chain đã không còn trong trạng thái chịu sự kiểm soát hoàn toàn của CZ khi bổ sung thêm các tài sản khác chuỗi vào BSC, và có thêm nhiều Bridge đến từ các nhà phát triển khác.  Những hacker hoàn toàn có thể tấn công và chuyển đổi khoản tiền này sang các chuỗi khác để thanh khoản.

Mặc dù số tiền đã bị chuyển qua Tornado trên mạng Ethereum là không thể cứu vãn, nhóm vẫn hy vọng Binance Security Team sẽ vào cuộc để ngăn chặn việc rửa số tiền trên BSC.

Bạn nghĩ sao về trường hợp lần này? Hãy cùng thảo luận với cộng đồng Coin68 nhé.

Coin68 tổng hợp

Có thể bạn quan tâm:

You May Also Like

About the Author: Hoàng Kang

Leave a Reply

Your email address will not be published. Required fields are marked *