1. Sandwich Attack là gì?
Sandwich Attack là một hình thức tấn công xuất phát từ MEV (Miner Extractable Value), trong đó kẻ tấn công can thiệp vào cặp giao dịch để kiếm lợi nhuận bằng cách điều chỉnh giá thị trường.
Tùy thuộc vào blockchain và nền tảng, Sandwich Attack có thể ảnh hưởng đến giao dịch lớn hoặc nhỏ, vì nó dựa vào thanh khoản có sẵn. Trong môi trường thanh khoản thấp, một giao dịch front-run nhỏ có thể khiến nạn nhân mua với giá cao hơn. Ngược lại, trong môi trường thanh khoản cao, tấn công này cần nhiều vốn hơn. Theo EigenPhi, Sandwich Attack chiếm khoảng 80% tổng số MEV, cho thấy đây là một phương pháp phổ biến trong các chiến lược MEV.
2. Các hình thức tấn công Sandwich attack
Tấn công sandwich có thể diễn ra theo hai hình thức chính:
-
Tấn công Front-run và Back-run với các giao dịch Pending
Trong hình thức này, tin tặc theo dõi các giao dịch đang chờ xử lý trên mạng lưới, chẳng hạn như Ethereum. Kẻ tấn công thực hiện một giao dịch front-run trước giao dịch của người dùng và sau đó đặt một lệnh back-run ngay sau đó. Hai lệnh này sẽ bao quanh giao dịch của nạn nhân, nhằm mục đích thao túng giá tài sản. Kẻ tấn công lợi dụng sự biến động của tỷ giá trong pool giao dịch để thu lợi từ chênh lệch giá. -
Rút Thanh Khoản
Hình thức tấn công này cũng bắt đầu bằng việc quét các giao dịch pending, nhưng có thêm các bước khác:- Bước 1: Kẻ tấn công xác định giao dịch mục tiêu, sau đó rút thanh khoản của cặp giao dịch (X-Y) trước khi lệnh của người dùng được xác nhận. Hành động này làm tăng mức trượt giá, khiến người dùng nhận được ít token hơn so với dự kiến.
- Bước 2: Kẻ tấn công sau đó bổ sung thanh khoản trở lại vào pool để giảm mức trượt giá.
- Bước 3: Cuối cùng, kẻ tấn công thực hiện một giao dịch bán back-run ngay sau giao dịch của người dùng, từ đó thu lợi nhuận.
Cả hai hình thức tấn công này đều thể hiện sự tinh vi trong việc lợi dụng các giao dịch đang chờ xử lý để kiếm lợi nhuận.
3. Cách nhận biết tấn công Sandwich
Để phát hiện tấn công sandwich, người dùng có thể chú ý đến một số dấu hiệu sau:
-
Theo dõi chi phí giao dịch: Nếu bạn nhận thấy mức phí giao dịch cao bất thường ngay trước khi thực hiện lệnh của mình, có thể có một giao dịch front-run đang diễn ra.
-
Kiểm tra mức trượt giá: Mức trượt giá (slippage) cao hơn dự kiến sau khi thực hiện giao dịch có thể là dấu hiệu của tấn công sandwich. Nếu giá token giảm mạnh so với thời điểm bạn thực hiện giao dịch, hãy xem xét lại lịch sử giao dịch gần đây.
-
Xem lịch sử giao dịch: Sử dụng các công cụ như blockchain explorer để kiểm tra lịch sử giao dịch. Nếu có một giao dịch lớn xảy ra ngay trước và ngay sau lệnh của bạn, có khả năng bạn đã bị tấn công sandwich.
-
Đánh giá thanh khoản: Nếu cặp giao dịch có thanh khoản thấp, nguy cơ bị tấn công sandwich càng cao. Nên tránh thực hiện giao dịch lớn trên các cặp có thanh khoản không đủ.
-
Kiểm tra dấu hiệu giao dịch đáng ngờ: Tìm kiếm các mẫu giao dịch bất thường, chẳng hạn như giao dịch liên tiếp với số lượng lớn trong một khoảng thời gian ngắn có thể chỉ ra hành vi tấn công.
Bằng cách chú ý đến những yếu tố này, người dùng có thể bảo vệ tài sản của mình khỏi các tấn công sandwich và cải thiện khả năng an toàn khi giao dịch.
4. Nguyên nhân dẫn đến Sandwich Attack
-
Dễ thực hiện và lợi nhuận tương đối cao
Một trong những lý do chính dẫn đến sự phổ biến của Sandwich Attack là tính dễ dàng thực hiện cùng với tiềm năng lợi nhuận tương đối cao. Ngay cả khi lợi nhuận nhỏ, kẻ xấu vẫn có thể sử dụng phương pháp này liên tục mà không phải đối mặt với bất kỳ hậu quả nào.
-
Sử dụng AMM DEX
Hầu hết khi sử dụng Sandwich Attack, kẻ tấn công thường lựa chọn thực hiện thông qua các AMM DEX (automated market maker), vì thuật toán định giá của các AMM DEX đòi hỏi thanh khoản ổn định và các giao dịch có thể thực hiện liên tục. Điều này tạo điều kiện thuận lợi cho kẻ tấn công thực hiện các cuộc tấn công một cách linh hoạt và hiệu quả.
-
Sự bất cẩn của người dùng
Nhiều người dùng thường không chú ý đến các khoản phí nhỏ từ các cuộc tấn công bằng phương pháp Sandwich Attack. Điều này làm cho kẻ tấn công có thể thực hiện các cuộc tấn công một cách triệt để mà không gặp phải sự phản kháng đáng kể từ phía người dùng.
-
Rủi ro và chi phí cao
Mặc dù Sandwich Attack mang lại tiềm năng lợi nhuận hấp dẫn, nhưng không phải lúc nào các cuộc tấn công này cũng mang lại kết quả tích cực. Việc thực hiện các giao dịch nhằm chen ngang và front-run/back-run các nhà giao dịch khác thường xuyên phải đối mặt với mức phí cao, vượt ra ngoài lợi nhuận mà kẻ tấn công có thể thu được, đặc biệt là khi sử dụng Ethereum.
-
Mối đe dọa cho người sử dụng DeFi
Khi giao dịch thông qua các AMM DEX, người sử dụng DeFi phải đối mặt với nguy cơ từ Sandwich Attack mọi lúc. Điều này tạo ra một môi trường không an toàn cho người dùng DeFi, đặc biệt là khi thị trường DeFi thu hút một lượng người dùng ngày càng lớn.
5. Cách thức hoạt động của Sandwich Attack
Điểm độc đáo của Sandwich Attack là tận dụng của một cặp giao dịch: front-run và back-run. Trong đó, front-run là đặt lệnh trước một giao dịch dự kiến có ảnh hưởng đến giá tài sản, trong khi back-run là đặt lệnh sau giao dịch nhằm kiếm lợi nhuận từ sự thay đổi giá. Kẻ tấn công thực hiện cả hai loại giao dịch này một cách linh hoạt và nhanh chóng để kiểm soát giá của tài sản, tạo ra cơ hội lợi nhuận lớn từ sự chênh lệch giá.
Quy trình của một cuộc tấn công Sandwich thường diễn ra như sau:
-
Bước 1: Người dùng thực hiện giao dịch trên các AMM (Automated Market Maker)
Với số lượng giao dịch đồng thời tăng lên, mạng lưới có thể trở nên quá tải. Các giao dịch pending (đang chờ) được đưa vào mempool (memory pool - nơi lưu trữ tạm thời các giao dịch) và chờ xác thực.
-
Bước 2: Kẻ tấn công xác định giao dịch mục tiêu
Kẻ tấn công lợi dụng MEV để thu thập thông tin về các giao dịch trong mempool, đồng thời sử dụng bot để quét và chọn lựa các giao dịch có giá trị lớn rồi tiến hành tấn công.
-
Bước 3: Thực hiện front-run giao dịch của người dùng
Sau khi xác định mục tiêu, kẻ tấn công sử dụng bot để thực hiện front-run một giao dịch tương tự của người dùng. Tuy nhiên, họ sẽ trả phí gas cao hơn để đảm bảo giao dịch được xác thực trước. Kết quả là giá token được đẩy lên. Khi giao dịch của người dùng được xác nhận, họ sẽ nhận được ít token hơn và phải trả chi phí cao hơn dự kiến.
-
Bước 4: Thực hiện lệnh bán và thu lợi nhuận
Ngay sau khi mua thành công, kẻ tấn công sẽ thực hiện lệnh bán (back-run) với giá cao, thu về lợi nhuận từ sự chênh lệch giá của tài sản.
Quy trình này tạo ra một tình huống "fake pump", khi giá tăng nhưng không thực sự phản ánh nhu cầu thực của thị trường, mà là kết quả của việc tấn công từ kẻ lợi dụng MEV.
6. Tác hại của Sandwich Attack
-
Gây ra thiệt hại đáng kể cho giá trị tài sản của người dùng
Theo EigenPhi cho biết, trong tháng 7 năm 2023, đã có tổng cộng 140,598 giao dịch bị tấn công Sandwich trên Ethereum, làm hơn 73,000 người trở thành nạn nhân và gây thiệt hại lên đến hơn 2 triệu USD.
Ngoài ra, tấn công Sandwich cũng ảnh hưởng đáng kể đến các giao thức AMM trên Ethereum, gây ra mất cân bằng và không đảm bảo quyền lợi của người dùng. Số liệu chỉ ra rằng Uniswap là giao thức AMM bị nhắm đến nhiều nhất trong các vụ tấn công sandwich kể từ khi hình thức này xuất hiện từ tháng 6/2020.
-
Gây ra biến động giá không công bằng
Sandwich Attack có thể tạo ra biến động giá không công bằng trong thị trường tài chính trên blockchain. Bằng cách sử dụng lợi thế của việc xếp chồng lệnh giao dịch, kẻ tấn công tạo ra một hiệu ứng giá tạm thời, làm biến đổi giá tài sản kỹ thuật số một cách không tự nhiên. Điều này không chỉ ảnh hưởng đến sự công bằng và minh bạch của thị trường, mà còn gây thiệt hại cho các nhà đầu tư và người dùng do không có thông tin đầy đủ.
-
Gây ra mất cân bằng và không đáng tin cậy trong thị trường
Sandwich Attack làm mất cân bằng trong thị trường bằng cách tạo ra một hiệu ứng giá không công bằng. Điều này dẫn đến sự thiếu tin cậy và không ổn định trong việc giao dịch tài sản kỹ thuật số trên blockchain. Người dùng có thể mất lòng tin vào tính công bằng và minh bạch của thị trường, tạo ảnh hưởng tiêu cực đến sự phát triển và sự chấp nhận rộng rãi của công nghệ blockchain.
7. Cách phòng chống Sandwich Attack
Mặc dù Sandwich Attack mang lại nhiều thách thức, nhưng vẫn có những biện pháp phòng chống mà cộng đồng tiền điện tử và các nhà phát triển đang nghiên cứu và triển khai.
Các sản phẩm và dịch vụ phòng chống tấn công Sandwich bao gồm:
-
Flashbots: Cung cấp giải pháp giảm thiểu tác động từ MEV, với sản phẩm Flashbot Protect bảo vệ người dùng khỏi các giao dịch front-run và tấn công sandwich.
-
Triển khai các mô hình AMM mới: Một số giao thức đã triển khai cơ chế AMM mới để ngăn chặn tấn công sandwich, đảm bảo giữ cho độ lệch giá giới hạn và hạn chế thao túng giá token.
-
Chainlink FSS: Sử dụng giải pháp oracle để xác định thứ tự giao dịch on-chain, giúp giảm thiểu tác động của tấn công sandwich bằng cơ chế FCFS.
-
EIP-1559: Bản cập nhật của Ethereum tạo ra mức phí cơ bản cho mỗi giao dịch, giúp giao dịch được ưu tiên và giảm độ trễ.
-
MEVBlocker: Bảo vệ người dùng khỏi MEV, nhưng không xử lý được các giao dịch back-run.
-
Alchemist: mistX.io là một AMM của Alchemist, hoạt động trên mạng lưới Flashbot, giúp người dùng gửi giao dịch tương tự như Transaction bundle của Flashbot.
Các biện pháp tự bảo vệ trước tấn công Sandwich:
-
Chỉnh mức trượt giá thấp: Điều chỉnh slippage thấp (khoảng 2%) có thể giúp ngăn chặn rủi ro từ tấn công sandwich, mặc dù có thể làm cho giao dịch thực hiện lâu hơn hoặc thất bại.
-
Chia nhỏ giao dịch: Thay vì thực hiện nhiều giao dịch lớn cùng lúc, người dùng có thể chia thành nhiều giao dịch nhỏ hơn để giảm sự chú ý của các bot front-run đến giao dịch của họ
8. Kết luận
Sandwich Attack không chỉ là một khái niệm trừu tượng trong thế giới tiền điện tử mà còn là mối đe dọa nghiêm trọng đối với sự an toàn của thông tin trực tuyến và bảo mật mạng. Để đối phó với nó, người dùng và tổ chức cần áp dụng các biện pháp phòng chống hiệu quả như sử dụng kết nối bảo mật, cập nhật phần mềm định kỳ và giáo dục người dùng về các nguy cơ bảo mật trực tuyến.
Chỉ thông qua sự cảnh giác và sự chủ động trong bảo vệ thông tin cá nhân, chúng ta mới có thể giảm thiểu được nguy cơ từ Sandwich Attack và các loại tấn công mạng khác, tăng cường tính an toàn cho hệ thống tiền điện tử trong tương lai.
Đọc thêm: