Replay Attack là gì

Replay Attack là gì? Giải pháp tránh khỏi Replay Attack

Tìm hiểu replay attack là gì để nắm rõ cách thức hacker tấn công trong thị trường crypto. Từ đó, trang bị những kiến thức hữu ích về chủ đề này để bảo vệ mình khỏi những cạm bẫy và rủi ro trên thị trường. Vậy Replay attack là gì? Cách thức tấn công của hình thức này ra sao? Người dùng nên làm gì để tránh khỏi replay attack? Hãy cùng sàn Exness chúng tôi khám phá ngay bạn nhé. 

Replay attack là một hình thức tấn công an ninh mạng
Replay attack là một hình thức tấn công an ninh mạng

Replay attack là gì?

Replay attack nghĩa là tấn công phát lại hoặc có thể gọi là playback attack là hình thức tấn công an ninh mạng thông qua các ứng dụng độc hại. Hacker sẽ sử dụng các phần mềm này để chặn hoặc trì hoãn quá trình truyền tải của dữ liệu. Tiếp theo đó, thông tin sẽ trải qua quá trình xử lý và lặp đi lặp lại nhiều lần trên hệ thống, hoặc cũng có thể được gửi lại tùy theo ý định của tin tặc. 

Tin tặc sẽ lợi dụng tính hợp lệ của dữ liệu để tấn công người dùng
Tin tặc sẽ lợi dụng tính hợp lệ của dữ liệu để tấn công người dùng

Hiểu đơn giản, tin tặc thực hiện tấn công phát lại bằng cách lợi dụng lỗ hổng trong tính hợp lệ của dữ liệu ban đầu. Nguồn dữ liệu này thường được lấy từ những người dùng đã cấp quyền. Sau đó, vụ tấn công này sẽ được các giao thức bảo mật của mạng lưới xử lý tương tự như một hình thức truyền tải thông tin như bình thường. Tức là những dữ liệu bị chặn hay bị trì hoãn sẽ được truyền đi nguyên bản nên các tin tặc có thể dễ dàng tấn công vào quá trình này mà không cần sử dụng chiêu trò phức tạp nào. 

Tấn công phát lại hoạt động như thế nào?

Cách hacker tấn công bằng replay attack

Trong hệ thống blockchain thường có hard fork, là những phiên bản thay đổi, nâng cấp giao thức có trong nền tảng. Chính phiên bản này đã mở ra cơ hội tấn công phát lại cho các hacker. Sau khi một phiên bản thay đổi hard fork được kích hoạt thì sẽ có một bên hoạt động theo phiên bản cũ, bên còn lại hoạt động dựa trên phiên bản mới. Tuy nhiên, cả 2 phiên bản này đều sẽ lưu giữ dữ liệu trước khi thực hiện phân tách. 

Tính hợp lệ của giao dịch trên cả 2 chuỗi tạo cơ hội cho replay attack
Tính hợp lệ của giao dịch trên cả 2 chuỗi tạo cơ hội cho replay attack

Có thể hiểu thế này, nếu một giao dịch hợp lệ với phiên bản cũ thì nó cũng sẽ hợp lệ trên sổ cái với phiên bản mới. Các tin tặc đã lợi dụng đặc điểm này để mô phỏng lại các giao dịch trên sổ cái cũ, sau đó gian lận bằng cách chuyển một lượng tiền giống như thế vào ví một lần nữa. 

Ví dụ minh họa

Để có thể hiểu rõ hơn về cách thức hoạt động của Replay attack là gì, chúng ta sẽ cùng phân tích một ví dụ nhỏ sau. Giả sử có một cửa hàng bán bánh tạm gọi là A, đang có kế hoạch phát triển thương hiệu nên đã tách thành 2 cửa hàng nhỏ là B và C. Sau khi tách cửa hàng, những dữ liệu về thông tin khách hàng, các giao dịch đã thực hiện, hay hệ thống thanh toán trước đó đều được cửa hàng B và C lưu giữ. Tuy nhiên, cửa hàng B và C đã thực hiện các chiến lược kinh doanh riêng nên không còn liên lạc với nhau nữa.

Sau khi hoàn tất quá trình phân tách cửa hàng, Mary đã gửi tin nhắn xác nhận thanh toán đơn hàng thành công cho cả người phục vụ ở cửa hàng B và cửa hàng C. Sau khi xác nhận thông tin giao dịch trên hệ thống, người phục vụ ở cả 2 cửa hàng đã giao bánh cho Mary. Như vậy, Mary đã lợi dụng việc cửa hàng B và C không thể xác nhận thông tin thanh toán giữa 2 bên để nhận 2 chiếc bánh, trong khi chỉ thanh toán một lần.

Tương tự như thế, trường hợp tấn công phát lại các hard fork Bitcoin Cash và Ethereum Classic của Ethereum là hai ví dụ điển hình trên thị trường crypto. 

Ethereum Classic hard fork

Ethereum đã vướng phải một vụ tấn công vào năm 2016, khi cộng đồng thực hiện bỏ phiếu và cuối cùng tạo ra một hard fork tại thời điểm đó. Cụ thể, Ethereum có chuỗi mới được hình thành với tên gọi được giữ nguyên là Ethereum (ETH) với mục tiêu là tập trung vào hiệu suất, đồng thời mở rộng với Proof of Stake. Trong khi đó, chuỗi cũ là Ethereum Classic (ETC) vẫn được duy trì theo cơ chế Proof of Work. Lúc này, cả 2 chain đều có cùng một cấu trúc dữ liệu, nên khi một giao dịch hợp lệ trên Ethereum thì cũng sẽ hợp lệ trên Ethereum Classic và ngược lại.

Sự tồn tại đồng thời của ETH và ETC đã tạo ra Replay attack
Sự tồn tại đồng thời của ETH và ETC đã tạo ra Replay attack

Thế nhưng đa số người dùng khi đó đều cho rằng Ethereum Classic sẽ không còn được duy trì nên đã bỏ qua nguy cơ bị tấn công phát lại từ 2 chuỗi. Và rồi điều gì đến cũng sẽ đến, khi các thợ đào duy trì chuỗi Ethereum Classic nhận ra rằng các giao dịch trên ETH vẫn có giá trị nếu được phát lại trên ETC.

Khi đó, các nhà môi giới ngoại hối không mấy quan tâm đến nguy cơ này cho đến khi Ethereum fork diễn ra. Lúc này, các nhà giao dịch chỉ cần rút ETH từ sàn môi giới thì có thể nhận được một lượng ETC tương đương. Lỗ hổng này đã tạo cơ hội để nhiều người liên tục gửi và rút ETH để nhận thêm nhiều ETC. Kết quả là một vài sàn giao dịch như Yunbi và BTC-e tuyên bố rằng họ đã bị tấn công phát lại và mất gần như toàn bộ ETC mà họ có.

Bitcoin Cash hard fork

Tương tự với trường hợp của ETH và ETC, Bitcoin Cash (BCH) và Bitcoin (BTC) cũng vướng phải cuộc tấn công phát lại. Cụ thể, vào tháng 08/2017 sau khi xuất hiện một hard fork thì người dùng có thể sở hữu 1 BTC và 1 BCH từ 1 BTC ban đầu. Tiếp theo đó, hàng loạt các trường hợp ghi nhận BCH biến mất theo mỗi giao dịch BTC. Nguyên nhân là vì các tin tặc lợi dụng lỗ hổng và tấn công phát lại. 

Giao dịch trên cả 2 chuỗi BCH và BTC lúc này đều hợp lệ do đặc điểm của hard fork. Khi đó, tin tặc đã theo dõi lịch sử giao dịch của người dùng trên chuỗi này, rồi sao chép giao dịch đó trên chuỗi còn lại. Vì giao dịch hợp lệ trên cả 2 chain nên người dùng giao dịch với BTC nhưng lại mất tiền trên BCH.

Hậu quả của replay attack là gì?

Vậy hậu quả để lại do replay attack là gì? Thực tế cho thấy replay attack không hẳn là một hình thức tấn công nghiêm trọng vì có nhiều biện pháp để ngăn chặn, cũng như một vài hạn chế còn tồn tại. Trong thị trường crypto thì replay attack cũng chỉ mới được dùng nhiều trong các cuộc tấn công hard fork blockchain mà thôi.

Hậu quả từ một cuộc replay attack được đánh giá là không quá nghiêm trọng
Hậu quả từ một cuộc replay attack được đánh giá là không quá nghiêm trọng

Hiệu quả của cuộc tấn công sẽ bị ảnh hưởng nếu tin tặc cố gắng xâm nhập vào toàn bộ dữ liệu khi đang được chuyển tiếp. Vì hệ thống sẽ từ chối yêu cầu này. Tuy nhiên, một khi lỗ hổng mở ra cơ hội replay attack xuất hiện thì cả mạng lưới và người dùng đều sẽ bị tổn thương tương đối lớn.

Tấn công phát lại còn được sử dụng để chiếm quyền truy cập vào nguồn dữ liệu được lưu trữ trên mạng lưới ở các thị trường truyền thống. Theo đó, hacker sẽ thực hiện chuyển tiếp các thông tin được xem là hợp lệ để tấn công phát lại. Hình thức này còn được dùng để đánh lừa các tổ chức quản lý tài chính. Cuối cùng, có thể giúp tin tặc lấy được tài sản từ tài khoản của nạn nhân thông qua việc sao chép các giao dịch.

Phòng chống replay attack như thế nào?

Với thị trường Crypto

Vậy người dùng có thể bảo vệ tài khoản của mình khỏi replay attack như thế nào? Có thể thấy rằng, các cuộc tấn công phát lại chỉ được thực hiện khi xuất hiện những lỗ hổng trong phân tách hard fork của nền tảng blockchain. Tuy nhiên, hầu hết các blockchain khi hard fork hiện nay đều đã nâng cấp nhiều giao thức bảo mật riêng biệt để bảo vệ người dùng khỏi tấn công phát lại. Trong đó có 2 nhóm công cụ nổi bật mà chúng tôi muốn giới thiệu đến bạn:

  • “Strong replay protection”: Công cụ này sẽ có một điểm đánh dấu gọi là marker được thêm vào blockchain mới một cách tự động sau khi phân tách. Việc thêm điểm đánh dấu này sẽ đảm bảo rằng các giao dịch trên blockchain cũ không còn hợp lệ trên blockchain vừa mới phân tách và ngược lại.
  • “Opt-in replay protection”: Với công cụ thứ 2, người dùng sẽ phải tự mình đánh dấu các giao dịch khi thực hiện bất kỳ một thao tác nào trên một chain. Việc này sẽ khiến các giao dịch không còn hợp lệ trên chuỗi còn lại nữa. Khác với Strong replay protection, người dùng sẽ phải thực hiện thủ công các bước thay đổi cho giao dịch của mình.
Các giải pháp bảo vệ khỏi replay attack của blockchain hoạt động khá hiệu quả
Các giải pháp bảo vệ khỏi replay attack của blockchain hoạt động khá hiệu quả

Ngoài ra, các bạn có thể tránh giao dịch tại thời điểm các hard fork mới diễn ra để bảo vệ tài sản của mình. Nếu không có giao dịch diễn ra, các tin tặc sẽ không thể sao chép bất kỳ giao dịch nào để thực hiện lại trên chain mới.

Với các lĩnh vực khác

Replay attack còn được lợi dụng ở nhiều lĩnh vực khác chứ không riêng gì thị trường crypto. Thế nhưng, vẫn có nhiều giải pháp để chống lại các cuộc tấn công này, cụ thể:

  • Sử dụng mật khẩu một lần: Tức là mỗi giao dịch sẽ chỉ có duy nhất một mật khẩu hợp lệ với thời hạn nhất định. Các bạn sẽ thường gặp giải pháp này trong những giao dịch của ngân hàng.
  • Thêm dấu thời gian (timestamp) trên tin nhắn: Biện pháp này sẽ ngăn hacker gửi lại các tin nhắn cũ. Từ đó, có thể loại bỏ những yêu cầu hết thời gian quy định.
  • Session key: Đây là một loại khóa đối xứng được sử dụng một lần duy nhất, gần giống với việc sử dụng mật khẩu một lần. Session key sẽ được dùng để mã hóa toàn bộ tin nhắn trong một cuộc trò chuyện.

Lời kết

Replay attack là gì với cách thức hoạt động và biện pháp ngăn chặn đã được chúng tôi trình bày cụ thể qua bài viết. Có thể nói, tấn công phát lại không quá phổ biến trong thị trường crypto nhưng các hacker có thể tận dụng lỗ hổng hệ thống để chiếm đoạt tài sản của người dùng. Thế nên, việc hiểu rõ các hình thức gian lận để phòng tránh và giảm thiểu rủi ro sẽ không bao giờ thừa. Hy vọng những hướng dẫn vừa rồi sẽ giúp bạn đọc có thêm nhiều thông tin bổ ích.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *