[VI] Phân tích sự cố hack LZ Token

Vào chiều 14:35 giờ Việt Nam ngày 27/02/2023, LZ Token ghi nhận 1 sự kiện dump bất ngờ như sau:

Sau khi nhận thông tin, Verichains đã tiến hành phân tích nguyên nhân và xác định lý do bị hack đến từ việc khai thác lỗi bảo mật trên một contract, tạm gọi là Contract X tại địa chỉ 0x6d8981847eb3cc2234179d0f0e72f6b6b2421a01, chưa được verify. Điểm đáng lưu ý là ví “LZ Deployer” đã “approve” một số lượng rất lớn LZ và BUSD đến contract này hơn 1 năm về trước. Verichains sau đó đã gửi thông tin phân tích sự cố cho dự án LaunchZone để có thể tiến hành xử lý, khắc phục và giảm thiệt hại.

Thanks for reading Verichains! Subscribe for free to receive new posts and support my work.

Phân tích luồng tấn công

  • LZ Token bị khai thác bởi address được gán nhãn là DND Exploiter vào lúc 14:32 giờ Việt Nam ngày 27/02/2023. Tx khiến cho giá LZ Token bị dump: https://bscscan.com/tx/0xaee8ef10ac816834cd7026ec34f35bdde568191fe2fa67724fcf2739e48c3cae

  • Hacker đã deploy một “attack contract”, luồng thực thi tấn công LZ Token diễn ra trong contract này như sau:

    • Gọi hàm có chức năng tìm pair và thực hiện swap LZ to BUSD trên Biswap (tạm gọi là swap function). Function này thuộc Contract X nói trên và hơn 1 năm về trước, ví “LZ Deployer” đã approve 1 tỷ LZ, 39 triệu BUSD cho contract này.

    • hacker gọi function swap của contract bên thứ 3 để thực hiện swap 9,8tr LZ, nhận lại gần 7 BUSD về LZ Deployer thông qua BSW-LP Pair (Biswap).

    • Sau đó, hacker nạp vào attack contract 50 BUSD và ngay lập tức swap 50 BUSD lấy lại hơn 9,8tr LZ thông qua Biswap.

    • Cuối cùng attacker swap hơn 9,8tr LZ thu được gần 88k BUSD thông qua PancakeSwap. Lúc này giá của LZ Token bị giảm 46 lần.

    • Khi thu được gần 88k BUSD, hacker claim số token này về ví riêng và thực hiện self-destruct attack contract.

Một số address liên quan:

  • LZ Deployer: 0xdad254728A37D1E80C21AFae688C64d0383cc307

  • Attacker: 0x7d192FA3a48C307100C3E663050291Fff786aA1F

  • Attack Contract: 0x1C2B102f22c08694EEe5B1f45E7973b6EACA3e92

  • Contract X : 0x6D8981847Eb3cc2234179d0F0e72F6b6b2421a01

  • BSW-LP: 0xDb821BB482cfDae5D3B1A48EeaD8d2F74678D593

Phân tích lỗ hổng và nguyên nhân

Phía trên là hành vi của Hacker thực hiện khai thác làm dump giá LZ Token và trục lợi gần 88k BUSD. Sau đây là phân tích chi tiết về lỗ hổng bảo mật và nguyên nhân gây ra của cuộc tấn công.

  • SwapX là AMM được phát triển trong hệ sinh thái BSCex và LZ token được tích hợp bên trong hệ sinh thái này.

Khi review bytecode của contract, có thể thấy được một số lỗi bảo mật xuất hiện như sau:

  • Call implement bằng call thay vì delegatecall

  • Các function trong implement cho phép external call không hạn chế cho mỗi proxy

  • Đặc biệt, lỗi nghiêm trọng đến từ việc function đảm nhiệm chức năng swap trong implement đã thực hiện transferfrom() từ 1 address bất kì thay vì logic transferfrom từ msg.sender thông thường của các swap khác. Do đó, hacker có thể swap “giùm” người khác thông qua việc control được data call truyền vào.

Kết hợp việc ví “LZ Deployer”, sử dụng SwapX trước đây, đã approve cho contract này một lượng lớn token cần swap là BUSD và LZ token, hacker đã thực hiện swap 1 lượng cực lớn LZ token để đổi lấy BUSD, làm cho giá của LZ giảm cực thấp thông qua pair của Biswap. Sau đó Hacker dùng 50 BSUD mua lại 9,8 triệu LZ token, cuối cùng đem đổi 9.8 triệu token đó đổi lấy được gần 88k BUSD trên sàn giao dịch của PancakeSwap.

Verichains đã gửi thông tin chi tiết phân tích sự cố cho dự án LaunchZone để có thể tiến hành xử lý, khắc phục và giảm thiệt hại.

Lời khuyên

  1. Nếu bạn đã từng dùng SwapX trên BSCex, hãy vui lòng kiểm tra lại ví của mình, đặc biệt là revoke các giao dịch approval trước đây thông qua các công cụ online như https://defi.krystal.app/token-approval-checker hoặc https://revoke.cash

  2. Các địa chỉ nắm giữ nhiều tiền trong hệ sinh thái cần cẩn thận mỗi khi sử dụng.

  3. Chỉ approve lượng vừa đủ để thực hiện giao dịch, không nên approve lượng quá lớn.

  4. Mỗi sản phẩm trước khi ra mắt hoặc được tin tưởng sử dụng cần phải thông qua security audit bởi các công ty bảo mật uy tín.

==============

About Verichains

Since 2017, Verichains has been a pioneer and leading blockchain security firm in APAC, with extensive expertise in security, cryptography and core blockchain technology. More than 200 clients trust us with $50 billion in assets under protection, including several high-profile clients such as BNB Chain, Klaytn, Wemix, Multichain, Line Corp, Axie Infinity, Ronin Network, and Kyber Network.

Our world-class security and cryptography research team have found several vulnerabilities in layer-1 protocol, crypto library, bridge, and smart contracts. We are also proud to be the firm that helped to investigate, root cause analysis, and fix security issues in the two largest global crypto hacks: BNB Chain Bridge and Ronin Bridge (Sky Mavis).

With the in-depth research and development of blockchain technology, Verichains provides blockchain security services such as blockchain protocol and smart contract security audit, mobile application protection, key management solution, on-chain risk monitoring, and red team/penetration testing services.

Homepage: 

https://www.verichains.io

Email: info@verichains.io

Twitter: https://twitter.com/Verichains

Linkedin: https://www.linkedin.com/company/verichains

Facebook: https://facebook.com/verichains

Telegram: https://t.me/+Y29xcaxJLJxjNDVl

Thanks for reading Verichains! Subscribe for free to receive new posts and support my work.

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