Sandwich attack là gì? Cách phòng tránh tấn công sandwich

Thị trường DeFi mang lại nhiều cơ hội sinh lời hấp dẫn, nhưng đi kèm với đó là không ít rủi ro tiềm ẩn, đặc biệt là các hình thức tấn công tinh vi như Sandwich attack. Đây là một trong những kỹ thuật phổ biến nhằm trục lợi từ giao dịch của người dùng trên blockchain. Để bảo vệ tài sản và giao dịch của bạn an toàn hơn, hãy cùng coin568 tìm hiểu chi tiết về Sandwich attack là gì và những cách phòng tránh hiệu quả trong bài viết dưới đây.

Sandwich attack là gì?

Sandwich attack được coi là một dạng của tấn công Front running, chủ yếu xảy ra tại thị trường Crypto và mục tiêu là các giao dịch đang chờ xử lý của nhà đầu tư để kiếm lợi nhuận.

Đối tượng tấn công sẽ lợi dụng tính công khai của công nghệ Blockchain để theo dõi các giao dịch được tiến hành trực tiếp tại Blockchain và xác định các giao dịch trong trang trạng thái pending . Sau đó, những kẻ này sẽ thực hiện giao dịch trước và sau giao dịch pending của người dùng nhằm kiểm soát giá thị trường và kiếm lời từ chênh lệch giá.

Cuộc tấn công Sandwich tại thị trường tiền điện tử
Cuộc tấn công Sandwich tại thị trường tiền điện tử

Cách thức tấn công này được mô tả giống với chiếc bánh Sandwich, khi mà giao dịch đang chờ xử lý của người dùng bị kẹp giữa hai giao dịch của kẻ tấn công. Đa phần các lần tấn công Sandwich diễn ra tại các giao thức Auto Market Maker phổ biến như Uniswap, Sushiwap,… với lý do là vì những hạn chế trong cấu trúc thiết kế của các sản phẩm này.

Những hình thức tấn công Sandwich

Sandwich attack bao gồm hai hình thức cơ bản sau:

  • Tiến hành tấn công front-running cùng với back-running nhắm vào các giao dịch đang trong trạng thái chờ.
  • Rút thanh khoản.

Tấn công front-running

Trong một lần tấn công Sandwich, đối tượng tấn công sẽ tiến hành quét những giao dịch pending tại các nền tảng, ví dụ như Ethereum. Sau đó đối tượng này sẽ bắt đầu Front running trước giao dịch của người dùng, đồng thời thực hiện bước đặt lệnh back run ngay sau giao dịch đó, trong khi đó những giao dịch đang chờ xử lý bị kẹp giữa hai lệnh này.

Mục đích của việc đặt hai lệnh trước và sau giao dịch đang chờ xử lý của người dùng là nhằm điều chỉnh và thao túng giá thị trường. Khi đó, kẻ tấn công có thể nắm bắt cơ hội khi tỷ giá cặp token đang lưu trữ trong pool thay đổi và thu lợi nhuận từ chênh lệch giá.

Hình thức giao dịch Front - running trong thị trường DeFi
Hình thức giao dịch Front – running trong thị trường DeFi

Rút thanh khoản

Điểm tương đồng giữ rút thanh khoản và tấn công Front-running đó chính là ở bước đầu tiên: lựa chọn từ những giao dịch pending. Tuy nhiên, với cách này còn phải trải qua các bước dưới đây:

Bước 1: Kẻ tấn công rút thanh khoản

Người dùng thực hiện hoán đổi token X sang token Y tại Auto Market Maker.

Kẻ tấn công sẽ lựa chọn mục tiêu của mình trong số những giao dịch pending. Sau đó, những kẻ này sẽ bắt đầu loại bỏ thanh khoản khỏi cặp X – Y ngay trước khi giao dịch của người dùng được xử lý. Cuối cùng mức trượt giá tăng khiến cho giá trị của lượng token người dùng nhận được thấp hơn so với kỳ vọng lúc đầu.

Bước 2: Đối tượng tấn công bổ sung thanh khoản để đảm bảo mức trượt giá không cao trong pool.

Bước 3: Đối tượng tấn công tiến hành thanh lý tài sản và kiếm được lợi nhuận từ chênh lệch giá.

Cuối cùng, khi người dùng tiến hành giao dịch, kẻ tấn công sẽ thực hiện giao dịch bán back run và thu lợi nhuận từ sự biến động giá.

Cách tấn công thông qua rút thanh khoản của Sandwich attack
Cách tấn công thông qua rút thanh khoản của Sandwich attack

Sandwich attack hoạt động như thế nào?

Những kẻ tấn công sẽ lợi dụng Maximal Extractable Value để tìm kiếm được những thông tin của các giao dịch chưa được xác nhận tại bộ nhớ tạm (memory pool), nhờ vậy những kẻ này có thể thực hiện việc chọn lọc các giao dịch đang chờ xử lý để triển khai cuộc tấn công.

Một số thuật ngữ cơ bản

Kẻ tấn công sẽ lợi dụng các điểm sau để thực hiện cuộc tấn công Sandwich:

  • MEV (Maximal Extractable Value): Là lợi nhuận mà các thợ đào đã kiếm được nhờ vào việc khai thác đặc quyền của mình để trục lợi. Nhờ vậy, thợ đào có thể bỏ qua thứ tự giao dịch on-chain mà chỉ cần lựa chọn những giao dịch trả phí cao hơn để xử lý. Điều này tạo điều kiện cho thợ đào tối đa hóa lợi nhuận dựa vào việc sửa đổi giao dịch giao dịch sao cho có lợi nhất. Việc này đã làm cho slippage và chi phí giao dịch có xu hướng gia tăng.
  • Memory pool: Đây là bộ nhớ tạm chứa các giao dịch pending để được đưa lên trên mạng lưới chuỗi khối.
Miner sẽ tập trung vào những giao dịch có mức phí cao
Miner sẽ tập trung vào những giao dịch có mức phí cao

Quá trình tấn công Sandwich

Quá trình tấn công Sandwich thường sẽ diễn ra như sau:

Bước 1: Người dùng thực hiện giao dịch tại các giao thức Auto Market Maker

Khi nhiều giao dịch diễn ra đồng thời cùng một lúc có thể khiến cho hệ thống rơi vào tình trạng quá tải. Các giao dịch pending sẽ được tạm thời lưu trữ tại memory pool cho đến khi được phê duyệt.

Bước 2: Kẻ tấn công xác định mục tiêu

Lúc này, kẻ tấn công sẽ sử dụng bot để tìm kiếm các giao dịch đang lưu trữ tại bộ nhớ tạm thời (memory pool). Thông thường, mục tiêu của chúng là những giao dịch có giá trị lớn.

Bước 3: Đối tượng tấn công thực hiện giao dịch trước khi giao dịch của người dùng được xử lý

Sau khi đã xác định được mục tiêu, đối tượng tấn công này sẽ bắt đầu sử dụng bot để tiến hành giao dịch trước giao dịch tương tự của người dùng. Tuy nhiên, những đối tượng này sẽ phải chi trả phí gas cao hơn để giao dịch này được xử lý trước.

Lúc này, đối tượng tấn công đã thao túng thành công làm cho mức giá của token tăng lên. Khi giao dịch của người dùng được xử lý thì số token họ nhận được sẽ ít hơn và chi phí phát sinh cao hơn so với kỳ vọng ban đầu.

Bước 4: Đối tượng tấn công thực hiện lệnh bán để chốt lời

Sau khi thực hiện giao dịch thành công, đối tượng tấn công sẽ bắt đầu bán ra với giá cao hơn nhằm thu lợi nhuận từ sự chênh lệch giá.

Trình tự các bước tấn công Sandwich
Trình tự các bước tấn công Sandwich

Cách thức nhận biết tấn công Sandwich như thế nào?

Để có thể biết được đó có phải là hình thức tấn công Sandwich hay không, người dùng hãy ghi nhớ một vài điểm như sau:

  • Theo dõi mức phí giao dịch: Trường hợp bạn nhận thấy chi phí giao dịch tăng mạnh bất ngờ trước khi thực hiện lệnh giao dịch thì đây có thể là dấu hiệu của giao dịch Front-run.
  • Đánh giá mức trượt giá: Mức trượt giá cao hơn mức suy đoán sau khi thực hiện giao dịch thì đây có thể là dấu hiệu cho thấy cuộc tấn công Sandwich. Khi giá trị token giảm mạnh so với khi bạn thực hiện giao dịch thì hãy xem xét lại lịch sử của những giao dịch gần nhất.
  • Xem lại lịch sử giao dịch: Người dùng có thể sử dụng các công cụ như trình khám phá chuỗi khối (blockchain explorer) để rà soát lại lịch sử giao dịch của mình. Nếu nhận thấy có những giao dịch lớn xảy ra tại thời điểm trước hoặc sau khi lệnh giao dịch của mình thì khả năng bạn đã gặp phải cuộc tấn công Sandwich.
  • Đánh giá thanh khoản: Hãy xem xét thanh khoản của cặp giao dịch, trường hợp thanh khoản thấp thì khả năng bị tấn công Sandwich càng lớn. Khi đó, người dùng nên tránh thực hiện các giao dịch lớn tại các cặp có thanh khoản thấp.
  • Xem xét những dấu hiệu giao dịch đáng ngờ: Kiểm tra các giao dịch không đáng tin, chẳng hạn như liên tiếp tiến hành những giao dịch có giá trị lớn trong thời gian ngắn có thể được xem là dấu hiệu sự xuất hiện của tấn công Sandwich.

Việc nắm được những lưu ý này sẽ giúp người dùng bảo đảm an toàn hơn cho tài sản của mình tránh được những cuộc tấn công, cùng với đó là cải thiện bảo mật khi tiến hành giao dịch.

Nguyên nhân dẫn đến cuộc tấn công Sandwich là gì?

Sandwich attack không tự nhiên xảy ra mà thường bắt nguồn từ những lỗ hổng trong cách giao dịch của người dùng DeFi. Việc đặt lệnh swap với mức trượt giá cao hoặc không sử dụng công cụ bảo vệ khiến các giao dịch dễ bị theo dõi và thao túng. Vậy đâu là nguyên nhân cụ thể dẫn đến loại tấn công này?

Nhà đầu tư cần biết được nguyên nhân xảy ra cuộc tấn công Sandwich
Nhà đầu tư cần biết được nguyên nhân xảy ra cuộc tấn công Sandwich

Thực hiện dễ dàng mang lại lợi nhuận lớn

Vậy lý do dẫn đến Sandwich attack là gì? Một trong những lý do chính khiến tấn công Sandwich trở thành sự lựa chọn phổ biến đó là cách thức triển khai dễ dàng và tiềm năng lợi nhuận lớn. Cho dù lợi nhuận thu về không cao thì kẻ tấn công vẫn có thể áp dụng phương pháp này liên tục mà không phải đối mặt với nguy cơ nào.

Áp dụng nền tảng giao dịch phi tập trung (DEX) với AMM

Đa phần khi sử dụng tấn công Sandwich, kẻ tấn công thường sẽ triển khai thông qua các nền tảng AMM DEX, do thuật toán định giá của các công cụ này phụ thuộc vào mức thanh khoản ổn định, đồng thời các giao dịch có thể được thực hiện thường xuyên. Điều này đã giúp cho đối tượng xấu triển khai các cuộc tấn công tinh vi và hiệu quả.

Sự lơ là của người dùng

Nhiều người không chú ý đến các khoản chi phí thấp từ các đợt tấn công Sandwich. Điều này tạo điều kiện cho kẻ xấu thực hiện các đợt tấn công một cách hiệu quả và nhanh gọn mà không gặp phải sự kháng cự gay gắt từ người dùng.

Chi phí và nguy cơ lớn

Dù tấn công Sandwich mở ra cơ hội thu về khoản lãi lớn, tuy nhiên không phải mọi đợt tấn công bằng hình thức này đều có hiệu quả. Việc thực hiện các giao chen ngang front-run/back-run thường làm các nhà giao dịch phải đối mặt với mức phí giao dịch lớn, cao hơn so với khoản lời mà những đối tượng tấn công có thể thu về được, đặc biệt là khi sử dụng Ethereum.

Mối đe dọa cho nhà đầu tư DeFi

Khi tiến hành giao dịch tại các AMM DEX, nhà đầu tư DeFi luôn phải đối mặt với những nguy cơ đến từ Sandwich attack. Kết quả là, môi trường giao dịch không còn an toàn đối với những người tham gia DeFi, đặc biệt trong bối cảnh thị trường DeFi đang ngày càng nhận được sự chú ý và tham gia mạnh mẽ từ cộng đồng.

Xem thêm:

Dusting attack là gì? Cách thức hoạt động và cách phòng tránh hiệu quả

Cách hacker khai thác lỗ hổng chưa được vá từ tấn công Zero Day

Những ảnh hưởng xấu của tấn công Sandwich đối với giao dịch tại chuỗi khối

Hình thức Sandwich attack không quá phổ biến so với những hình thức tấn công như exit scam hay exploit. Thế nhưng, hình thức này có những tác động mạnh mẽ tới giá trị tài sản của bạn.

Gây ảnh hưởng tiêu cực đến giá trị tài sản của người dùng.

Sandwich attack có thể gây thiệt hại lớn cho tài sản của nhà giao dịch cùng với nhà đầu tư tại chuỗi khối. Theo thống kê từ EigenPhi cho thấy, chỉ trong tháng 7/2023, tổng cộng có tới 140.598 giao dịch tại nền tảng Ethereum đã bị tác động bởi cuộc tấn công này, làm cho 73.000 nhà đầu tư bị tổn thất, với tổng giá trị thiệt hại lên tới hơn 2 triệu USD.

Không chỉ ảnh hưởng tới cá nhân nhà giao dịch, hình thức tấn công này còn tác động tới hoạt động của những giao thức AMM tại nền tảng Ethereum. Sự can thiệp vào giá cả này làm cho thị trường trở nên mất ổn định, tác động trực tiếp tới cơ chế định giá cùng với làm suy giảm mức độ hiệu quả của những giao thức DeFi. Theo dữ liệu thống kê, có thể thấy được Uniswap là mạng lưới chịu ảnh hưởng nhiều nhất kể từ khi Sandwich attack xuất hiện vào tháng 6 năm 2020.

Thống kê số lượng giao dịch bị Sandwich attack từ tháng 6/2020 tới tháng 6/2023
Thống kê số lượng giao dịch bị Sandwich attack từ tháng 6/2020 tới tháng 6/2023

Gây ra biến động giá không hợp lý, làm mất công bằng trong giao dịch

Thông qua việc can thiệp vào thứ tự tiến hành giao dịch, kẻ xấu có thể làm cho giá tài sản bị đẩy tăng cao một cách không chính đáng trước khi bán để kiếm lời. Hành động này khiến nhà giao dịch thiệt hại trực tiếp, đồng thời làm giảm tính công bằng và minh bạch của thị trường. Các biến động giá do sự tác động của tấn công Sandwich không phản ánh chính xác tình hình cung cầu thực tế, làm cho những nhà đầu tư không nắm bắt được thông tin chuẩn xác để có được quyết định giao dịch đúng đắn nhất.

Gây mất niềm tin và mất sự ổn định thị trường

Sự thao túng giá cả thường xuyên làm cho thị trường trở nên không còn đáng tin cậy, làm giảm tính thanh khoản và khiến những nhà đầu tư không muốn gia nhập thị trường. Nếu không có biện pháp phòng ngừa hiệu quả, sự gia tăng của tấn công Sandwich có thể tác động tới sự phát triển cùng với quá trình mở rộng của công nghệ chuỗi khối, nhất là đối với DeFi.

Phương pháp phòng ngừa tấn công Sandwich hiệu quả

Vào năm 2018, Vitalik Buterin đã nhấn mạnh rằng Sandwich attack sẽ ngày càng đe dọa thị trường DeFi, và điều đó đã xảy ra.

Sandwich attack chủ yếu phụ thuộc vào cấu trúc cơ bản của những giao thức AMM, do đó, để tìm ra những phương pháp cụ thể để phòng ngừa tấn công Sandwich hoàn toàn là điều không đơn giản.

Tuy nhiên, nhiều dự án đã triển khai công bố các sản phẩm, dịch vụ, mô hình hỗ trợ nhà đầu tư có thể phòng ngừa tấn công Sandwich tối đa nhất có thể.

Một số sản phẩm, dịch vụ phòng ngừa tấn công Sandwich

Một số giao thức và công nghệ phát triển dịch vụ sản phẩm có thể giúp nâng cao khả năng ngăn chặn tấn công Sandwich, ví dụ như:

  • Flashbots: Một nhóm chủ yếu nghiên cứu và phát triển những giải pháp nhằm giảm thiểu những ảnh hưởng tiêu cực từ MEV (Miner Extractable Value). Trong đó, Flashbot Protect là sản phẩm giúp bảo vệ người dùng khỏi những giao dịch Front-run và tấn công Sandwich.
  • Thực hiện các cơ chế mới cùng mô hình AMM: Một số nền tảng giao dịch áp dụng mô hình AMM mới nhằm giảm thiểu tỷ lệ tấn công Sandwich diễn ra, duy trì mức chênh lệch giá trong khoảng giới hạn (thường là 0.1%) và hạn chế xảy ra hiện tượng thao túng giá trị của token.
  • Chainlink FSS: Đây là một giải pháp oracle hỗ trợ xác định và kiểm soát thứ tự các giao dịch diễn ra trên blockchain. Nó hỗ trợ giảm thiểu các tác động của tấn công Sandwich dựa vào cơ chế FCFS, ưu tiên xử lý những giao dịch đến trước.
  • EIP-1559: Đây là bản nâng cấp của mạng lưới Ethereum nhằm tạo ra mức phí cơ bản cho toàn bộ giao dịch tại mạng lưới, cho phép người dùng điều chỉnh thêm phí gas giúp những giao dịch của mình được ưu tiên thứ tự xử lý.Bản cập nhật này sẽ hỗ trợ những giao dịch được thực hiện nhanh hơn và giảm bớt thời gian xác nhận.
  • MEVBlocker: Sản phẩm này được phát triển để bảo vệ người dùng khỏi những rủi ro đến từ MEV (giống với tấn công Sandwich), được tạo ra từ sự kết hợp của ParaSwap Balancer, ShapeShift,…Sản phẩm này còn giúp bảo vệ người dùng khỏi Front run, thế nhưng nó không thể xử lý các giao dịch Back run.
  • Alchemist: mistX.io là một giao thức AMM nằm trong Alchemist, nó hoạt động thông qua hệ thống của Flashbots và giúp người dùng có thể gửi giao dịch tương tự như Transaction Bundle của Flashbot.
Chainlink FSS dựa vào cơ chế FCFS để ngăn ngừa Sandwich attack
Chainlink FSS dựa vào cơ chế FCFS để ngăn ngừa Sandwich attack

Phương pháp tự bảo vệ trước cuộc tấn công Sandwich

Có 2 biện pháp đơn giản để bạn có thể tự bảo vệ mình tránh khỏi những cuộc tấn công Sandwich như sau:

  • Điều chỉnh Slippage thấp: Các bot khi tiến hành giao dịch có thể gây ảnh hưởng đến giá, chính vì thế việc đặt Slippage ở mức thấp (khoảng 2%) có thể hỗ trợ phòng tránh các nguy cơ bị tấn công Sandwich. Tuy nhiên, việc đặt Slippage ở mức thống có thể khiến cho thời gian thực hiện giao dịch bị trì hoãn hoặc không thực hiện được và mất phí.
  • Chia nhỏ giao dịch: Kẻ tấn công triển khai tấn công Sandwich thường nhắm đến các giao dịch có giá trị lớn để tối đa hóa lợi nhuận. Do đó, nhà đầu tư có thể lựa chọn chia nhỏ các giao dịch lớn của mình, như vậy có thể giúp giảm sự chú ý của những bot Front run, bởi vì khả năng khai thác lợi nhuận của chúng sẽ bị hạn chế.
Đưa Slippage về mức thấp để phòng ngừa tấn công Sandwich
Đưa Slippage về mức thấp để phòng ngừa tấn công Sandwich

Kết luận

Qua những thông tin mà bài viết trên của coin568 cung cấp, có thể nhận thấy được Sandwich attack là một nguy cơ lớn đối với sự an toàn của dữ liệu và bảo mật trực tuyến. Để có thể ngăn chặn được các cuộc tấn công này, bạn nên chủ động tìm hiểu những phương pháp phòng ngừa hiệu quả. Điều này sẽ giúp giảm thiểu các rủi ro đến từ các cuộc tấn công Sandwich cũng như những hình thức tấn công khác.

Rate this post

Tôi là Phùng Cảnh Lang, với hơn 5 năm kinh nghiệm trong thị trường Crypto, tôi hy vọng những bài viết của mình thật sự hữu ích với bạn. Là một người từng trải, tôi rất mong khi ai đó gia nhập vào thị trường Crypto hãy nên trang bị đầy đủ kiến thức, vì đây là đầu tư không phải một canh bạc may rủi.

Để lại đánh giá của bạn