Tôi được một người bạn thông báo về vụ nóng len gần đây, cho đến nay, không chỉTin tặc kiếm được hơn 200.000 đô la tiền lãi và FTX mất hơn 108 ETH, tổng cộng 38 kẻ tấn công có cùng ý tưởng đã triển khai các hợp đồng để khởi động các cuộc tấn công.
Bài viết này bắt đầu từ khía cạnh kỹ thuật, phân tích sâu kẽ hở của việc sử dụng trao đổi FTX để rút tiền mà không tính phí xử lý, kết hợp phương thức tấn công được đưa ra bởi lệnh gọi lại hợp đồng thông minh và tái tạo nguyên tắc triển khai thông qua mã mẫu.
tiêu đề phụ
1. Bối cảnh
1.1 XEN là gì?
Nó là một đồng xu XEN gần đây đã trở nên phổ biến, đã có hơn 120W giao dịch cho đến ngày 15-10. Trên thực tế, tác giả không có hứng thú với loại dự án thiếu giá trị lâu dài và không có ý nghĩa xây dựng cho Web3 , bởi vì cơ chế của nó chỉ miễn là giao dịch được bắt đầu. Một lượng tiền XEN nhất định có thể được đúc tùy theo lượng GAS được tiêu thụ và ai cũng biết rằng Etherscan có một danh sách xếp hạng về mức tiêu thụ gas
Khả năng đọc mở rộng:
Khả năng đọc mở rộng:tiêu đề phụ
1.2 Trao đổi nạn nhân FTX
tiêu đề phụ
1.3 Kết quả điểm trên chuỗi
Trên thực tế, kẻ tấn công lớn nhất xông vào gương không phải là kẻ tấn công lớn nhất, và phương thức tấn công này lần đầu tiên xuất hiện vào ngày 10-10, và kết thúc vào ngày 10-15, tổng cộng là tương tựCó 38 địa chỉ tấn công hợp lý, tổng cộng 1,45W tấn công(Không thể biết liệu kẻ tấn công có đứng sau địa chỉ hay không).
Cơ sở tính toán: Mức tiêu thụ khí chuyển một lần của ví nóng FTX lớn hơn 5W và địa chỉ cần chuyển là giao dịch của địa chỉ hợp đồng.
Hình dưới đây cho thấy 10 kẻ tấn công hàng đầu, có giao dịch chiếm 80% tổng số vụ tấn công.Dẫn đến mất 86 ETH phí xử lý FTX
Sau khi tính toán tổng lượng gas tiêu thụ cho các giao dịch của mình, tác giả kết luận rằng tổng thiệt hại của FTX lần này là: 108,19 ETH
Tổng cộng có khoảng 2,4 tỷ XEN đã được đúc. Nếu tính theo giá ngày 14 thìTổng thu nhập của hacker là 24W đô la Mỹbên trên
tiêu đề cấp đầu tiên
tiêu đề phụ
2.1 Nguyên tắc cốt lõi
Dự phòng/nhận hợp đồng thông minh có thể thực thi logic một cách tùy ý.
Bất kỳ hợp đồng nào cũng có chức năng dự phòng mặc định. Chức năng điển hình là cho phép hợp đồng nhận Ether và phản ứng với nó. Đây cũng là chế độ điển hình cho hợp đồng mã thông báo để từ chối chuyển, gửi sự kiện hoặc chuyển tiếp Ether. Sau đó, nhiều tình huống hơn đã được áp dụng trong chế độ nâng cấp đại lý (bản thân chuỗi triển khai hợp đồng không thể thay đổi, nhưng nó có thể được sửa đổi để trỏ đến hợp đồng mới, để đạt được một mức độ nâng cấp nhất định)
Nói tóm lại, nếu một giao dịch trỏ đến một địa chỉ hợp đồng không khớp với chức năng thực thi tương ứng, chức năng dự phòng chắc chắn sẽ được thực thi và dự phòng có thể trỏ tham số đầu vào đến một địa chỉ hợp đồng khác để thực thi logic tương ứng.
tiêu đề phụ
2.2 Quá trình tấn công
Trên thực tế, sau khi đọc cốt lõi của phương pháp, nó đã rõ ràng
Hacker đầu tiên triển khai hợp đồng tấn công 0xCba9b1
Sau đó, hãy sử dụng chức năng rút tiền miễn phí giao dịch của FTX
Hãy để ví nóng của FTX 0xc098b2 bắt đầu rút tiền chỉ vào hợp đồng tấn công
Làm cho giao dịch kích hoạt lệnh gọi hàm Mint trỏ đến hợp đồng XEN
Vì hợp đồng XEN có thể đặt người thụ hưởng mã thông báo của Mint, mã thông báo sẽ được chuyển đến địa chỉ của tin tặc
2.3 Phương pháp phục hồi
Trên thực tế, bất kỳ dự phòng nào cũng rất dễ kích hoạt. Hãy xoa tay tại chỗ để nhận ra điều đó. Tất nhiên, đó không phải là MintXen mà là một mã thông báo 20 tạm thời để biểu thị.
Sau đây là mã thông báo ERC20 đơn giản nhất, bất kỳ ai cũng có thể thực hiện chức năng đúc tiền, tương tự như XEN
Đối với nguyên lý hiện thực của ERC20/721, bạn có thể mở rộng bài đọc của mình:[Giải thích mã nguồn] NFT bạn đã mua chính xác là gì?
Hợp đồng tấn công cũng rất đơn giản, hãy đặt địa chỉ hợp đồng XEN được mã hóa cứng để gọi Mint và địa chỉ thu nhập của tin tặc.
tiêu đề cấp đầu tiên
3. Tóm tắt - Nhìn vào "giao dịch meta" từ các sự kiện tấn công
Trên thực tế, nếu bản thân hacker không biết rằng FTX có ưu đãi rút tiền miễn phí và gasLimit của giao dịch rút tiền của nó được đặt thành giá trị cố định là 50W,rất khó để khởi động một cuộc tấn công như vậy, bởi vì theo Ethereum Yellow Paper, chuyển khoản thông thường chỉ cần 2,1W gas.
Trong mạng lưới của khu rừng tối tămbiết con đực và giữ con cái, từ góc độ của quá trình lịch sử, các cuộc tấn công như vậy thực sự là cảnh báo nhiều hơn
Tác giả muốn nói về sự phát triển của giao dịch meta
Giao dịch meta là một ý tưởng từ Giáo sư Christian Lundkvist vào năm 2015
Bắt đầu với Dapp ngày nay quá rắc rối, nếu hệ sinh thái Ethereum muốn phổ biến thì nên cho phép người dùng mới sử dụng trực tiếp các chức năng của nó, thay vì sắp xếp nhiều ngọn núi để người dùng trèo qua núi này đến núi khác. Điều này có nghĩa là người dùng mới cần trả trước phí Gas. Giao thức Ethereum hiện tạikhông cung cấp một cách bản địa để làm điều này. Tuy nhiên, nhờ cặp khóa công khai/riêng tư, người dùng có thể chứng minh quyền sở hữu bằng cách ký các giao dịch meta.
Tôi tin rằng các giao dịch meta cuối cùng sẽ trở thành xu hướng ứng dụng chủ đạo trong tương lai Lần này, FTX trả tiền xăng để thực hiện chuyển tiền miễn phí, đây chỉ là một triển khai nhỏ (giả) của các giao dịch meta.Nhưng chỉ có bảo mật + vô cảm mới có thể chào đón sự xuất hiện của kỷ nguyên on-chain chi phí thấp cho tất cả (chứ không phải giá gas token thấp)Vì lý do này, cả bảo mật và kiểm soát rủi ro đều cần được chú ý đặc biệt, đây cũng là mục đích ban đầu của tác giả khi phân tích các trường hợp bảo mật.
Thích và theo dõi 14, mang lại cho bạn giá trị từ góc độ kỹ thuật
Thích và theo dõi 14, mang lại cho bạn giá trị từ góc độ kỹ thuật
