HomeKiến ThứcReplay attack là gì? 2 vụ tấn công phát lại nổi tiếng...

Replay attack là gì? 2 vụ tấn công phát lại nổi tiếng nhất

Thị trường cryptocurrency vốn là nơi ẩn chứa nhiều rủi ro và thử thách cho các trader. Có thể nói bất cứ ai tham gia vào lĩnh vực này cũng cần tự trang bị cho mình bộ kiến thức và kĩ năng về đầu tư rất đồ sộ nhằm đặt được mục tiêu tài chính cá nhân đã đặt ra.

Hôm nay, Vietcoin sẽ cung cấp cho anh em một thuật ngữ về một loại tấn công hack/cheat trong thị trường tiền kỉ thuật số hiện nay.

Replay attack là gì?

 

Giao thức tấn công lặp lại Replay attack
Giao thức tấn công lặp lại Replay attack

Replay attack, tấn công phát lại (hay còn gọi là playback attack) là hình thức sử dụng các ứng dụng độc hại từ các hacker để trì hoãn dữ liệu truyền tải. Từ đó, thông tin không được truyền đi theo một cách thông thường mà bị xử lý và lặp lại nhiều lần trên hệ thống lưu trữ thông tin. Bên cạnh đó, các hacker cũng có thể bóp méo và thay đổi thông tin để gửi lại theo ý muốn của tin tặc.  Đây có thể được coi là một hình thức tấn công an ninh mạng.

Về cơ bản, tấn công phát lại lợi dụng tính hợp lệ của dữ liệu ban đầu (thường đến từ người dùng đã được cấp quyền), các giao thức bảo mật của mạng lưới sẽ xử lý vụ việc tấn công này chỉ giống như một hình thức truyền tải dữ liệu thông thường. Khi đó, dữ liệu đã bị chặn (hoặc bị trì hoãn) và được truyền tải một cách nguyên bản nên hacker có thể thực hiện cuộc tấn công một cách dễ dàng mà không cần tới các bước giải mã phức tạp.

Cách thức tấn công phát lại hoạt động ra sao ? 

Các blockchain thường được hard fork để tạo ra các bản thay đổi và nâng cấp giao thức. Tuy nhiên đây cũng chính là cơ hội “ngàn năm có một” cho những thợ đào hoặc tin tặc cố tình tấn công vào hệ thống nhờ phương phức phát lại.

Bởi lẽ đơn giản tuy đã chia thành hai giao thức : một bên hoạt động theo phiên bản cũ- bên còn lại phát triển thành phiên bản mới. Nhưng cả hai đều có chung cấu trúc dữ liệu sau khi hard fork diễn ra.

Điều này có thể hiểu rằng, khi một giao dịch hợp lệ trên phiên bản cũ nó có thể được mô phỏng lại trên phiên bản mới (cả hai dữ liệu đều được ghi lại trên hai phiên bản). Hacker sẽ lợi dụng điểm yếu này mà gian lận để rút tiền từ phiên bản cũ nhưng lại đồng thời nhận lại thêm một lượng tiền y hệt tại phiên bản mới.

Ví dụ trực quan sau từ tình huống cụ thể của thực tế sẽ giúp bạn hiểu được cách thức hoạt động mô phỏng của replay attack trong thị trường crypto: 

Cửa hàng A là của hàng tổng, sau một thời gian hoạt động của hàng này muốn mở ra hai chi nhánh khác nhau ( sự kiện hard fork) thành hai cửa hàng lần lượt C và B. Dữ liệu về thông tin khách hàng, thông tin giao dịch và hệ thống thanh toán trước đó vẫn được 2 cửa hàng lưu lại (chia ra 2 giao thức nhưng vẫn có chung cấu trúc dữ liệu). Tuy nhiên, dù dùng chung hệ thống nhưng cả 2 cửa hàng không còn trao đổi thông tin qua lại lẫn nhau ( hoạt động biệt lập).

Của hàng A sau khi chia tách chi nhành thành B và C
Của hàng A sau khi chia tách chi nhành thành B và C

 

Lúc này khách hàng có thể đặt hàng trực tiếp tại cửa B, sau đó nhận đơn thanh toán. Khi đã chuẩn bị hàng xong của hàng B gửi hàng đến cho khách hàng. Nhận thấy lổ hỗng trong hệ thống thông tin của hai cửa hàng, khách hàng tiếp tục gửi lại hóa đơn thanh toán từ trước cho của hàng C. Lúc này của hàng C lại xác minh thanh toán từ hệ thống là có thật nên lại gửi hàng lần nữa cho khách (giao thức lập lại)

Như vậy khách hàng đã có được hai món hàng từ cả hai cửa hàng nhưng chỉ thanh toán 1 lần => Đây chính là phương thức hoạt động của tấn công lặp lại. 

Phương thức tấn công lặp lại mà khách hàng có thể lợi dụng từ lỗ hổng hệ thống
Phương thức tấn công lặp lại mà khách hàng có thể lợi dụng từ lỗ hổng hệ thống

Hai trường hợp nổi tiếng của tấn công phát lại trên thị trường crypto

Thị trường cryptocurrency luôn là nơi ẩn chứa hàng ngàn rủi ro, chỉ một phút lơ là hoặc sự thiếu kiến thức có thể dẫn đến những sai lầm phải trả giá bằng rất nhiều tiền bạc lẫn công sức.

Trong suốt quá trình phát triền của thị trường này, đã có hàng loạt cuộc tấn công đến từ hacker, tin tặc lẫn cả những thợ đào. Dưới đây, Vietcoin sẽ cung cấp thông tin hai cuộc tấn công điển hình nhất dựa trên phương thức phát lại.

Ethereum Classic hard fork từ replay attack 

Vào năm 2016, Ethereum thời điểm đó gặp phải một vụ hack, cộng đồng đã bỏ phiếu và cuối cùng đã có một hard fork diễn ra. Vào ngày 20/07/2016, tại block số 1,920,000 hai chuỗi Ethereum (ETH)Ethereum Classic (ETC) chính thức bị chia tách và phát triển song song cho đến hôm nay.

ETH vẫn hoạt động theo cơ chế cũ là Proof of work trong khi ETH tập trung vào hiệu suất và khả năng mở rộng Proof of stake.

Để tăng tốc độ và làm giảm chi phí giao dịch

Cấu trúc dữ liệu trên 2 chain là giống nhau, do đó, nếu có 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ự khác biệt về cơ chế hoạt động của ETH và ETC
sự khác biệt về cơ chế hoạt động của ETH và ETC

 

Lúc này mọi người đều nghĩa Ethereum Classic không còn được duy trì vậy nên cũng không có ai nghĩ đến việc 2 chuỗi bị tấn công phát lại. Sau đó, các thợ đào duy trì chuỗi ETC và nhận thấy rằng các giao dịch trên Ethereum vẫn có giá trị nếu được phát lại trên Ethereum Classic.

Cho đến khi vụ tấn công Ethereum diễn ra ồ ạt khi chỉ cần ai đó rút ETH từ sàn giao dịch, có thể nhận được số lượng ETC tương tự. Hoàng loạt người lợi dụng điểm tối này để lien tục gửi và rút ETH trên sàn giao dịch để đồng thời nhận thêm ETC.

Cuối cùng, một vài sàn giao dịch như Yunbi và BTC-e đã thông báo họ bị tấn công phát lại và bị hack gần như tất cả số ETC.

Bitcoin Cash hard fork từ replay attack

Tương tự với trường hợp của Ethereum classic (ETC). Sau khi hard fork  diễn ra vào T8/2017, với 1 BTC ban đầu, người dùng sẽ có 1 BTC và 1 BCH.

Tuy nhiên sau đó một số kẻ xấu đã lợi dụng replay attack để thực hiện giao dịch BTC đồng thời làm số BCH biến mất tương ứng theo.

sự khác biệt giữa BHC và BTC
sự khác biệt giữa BHC và BTC

Hacker thực hiện hành vi theo dõi giao dịch của người dùng (trader) trên một chain sau đó lại copy và thực hiện giao dịch đó trên chain còn lại ( tương tự như đưa hóa đơn thanh toán lại lần 2 cho của hàng C). Điều này dẫn đến việc người dùng giao dịch trên mạng lưới Bitcoin nhưng đồng thời bị mất tiền trên Bitcoin Cash.

Vì sao Tấn công phát (replay attack) lại gây nguy hại cho thế giới tiền mã hóa? 

Lợi dụng điểm này mà các hacker có thể kiếm tiền từ giao dịch của người dùng. Chỉ cần họ có được xác nhận giao dịch thành công của khách hàng từ chain này, họ đã có thể rút được số tiền tương ứng từ chain có cùng cấu trúc dữ liệu còn lại.

Sự ảnh hưởng của tấn công lặp (replay attack) lại đến xã hội

Do đã được phát hiện sớm và vẫn có những phương pháp để ngăn chặn mà reaplay attack không được đánh giá là hình thức tấn công an ninh mạng nghiêm trọng.

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

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

Hình thức tấn công phát lại là một nguy cơ thực tế đối với bảo mật hệ thống nếu được thực hiện thành công. Không giống các hình thức khác, tấn công phát lại không lệ thuộc vào việc giải mã dữ liệu, làm cho nó trở thành một công cụ hữu hiệu để các hacker – với số lượng ngày càng gia tăng – tấn công vào các giao thức bảo mật mã hóa

Các blockchain bảo mật thế nào trước hình thức tấn công replay attack?

Mặc dù việc các sổ cái chia tách sẽ tạo ra các lỗ hổng cho hacker thực hiện tấn công phát lại. Tuy nhiên việc phân tách và phát triển thêm là hoàn toàn cần thiết. Do đó ta không thể ngăn chặn việc chia nhằm tránh tại ra lổ hỗng được.

Thay vào đó, các nhà tạo lập của phần lớn các blockchain khi hard fork đều đã bổ sung các giao thức an ninh được thiết kế riêng biệt để ngăn chặn hình thức này.

Trong đó có 2 nhóm công cụ nổi bật:

  • “Strong replay protection”: Một điểm đánh dấu (marker) sẽ được thêm vào blockchain mới được tách ra sau khi phân tách, điều này đảm bảo các giao dịch thực hiện trên blockchain mới sẽ không còn hợp lệ trên blockchain ban đầu và ngược lại.
  • “Opt-in replay protection”: Khi người dùng thực hiện giao dịch trên một chain, sẽ phải tự đánh dấu các giao dịch đó để chúng trở thành không hợp lệ ở chain còn lại. Điều này nghĩa là người dùng sẽ phải thực hiện thủ công các thay đổi cho giao dịch của mình.
sự khác nhau trong cách thức bảo mật

Khi thực hiện, “strong replay protection” được thực tự động hóa ngay khi vụ chia tách diễn ra. Tuy nhiên, hình thức “opt-in replay protection” thì lại yêu cầu người dùng thực hiện các thay đổi một cách thủ công đối với các giao dịch của họ để đảm bảo rằng các giao dịch này không bị lặp lại.

Do đó “Opt-in replay protection” rất hữu ích trong trường hợp các hard fork chỉ có mục đích là nâng cấp sổ cái chính của một đồng tiền mã hóa chứ không phải để chia tách.

Ngoài ra, người dùng cũng có thể tự chủ động bảo vệ tài sản của mình bằng cách tránh giao dịch trong thời gian các hard fork mới diễn ra. Nếu không có giao dịch diễn ra, hacker sẽ không có giao dịch để replay trên chain mới.

Với các lĩnh vực khác có thể bị tấn công replay attack 

Như ví dụ trực quan mà Vietcoin đã cung cấp thì việc ứng dụng tấn công phát lại ở nhiều lĩnh vực khác nhau là điều hoàn toàn khả thi. Vậy việc phòng tránh tổng quát có thể áp dụng ở những lĩnh vực khác crypto thì như thế nào ?

  • Mật khẩu một lần: Sử dụng mật khẩu chỉ được áp dụng một lần cho mỗi giao dịch. Phương pháp này thường được sử dụng bởi các ngân hàng.
  • Thêm dấu thời gian (timestamp) trên các tin nhắn: Điều ngăn tin tặc gửi lại các tin nhắn trước đó, và giúp loại bỏ các yêu cầu vượt quá khung thời gian được quy định.
  • Session key: Gần giống với phương pháp sử dụng mật khẩu một lần, đây là một loại khóa đối xứng sử dụng một lần được sử dụng để mã hóa tất cả các tin nhắn trong một phiên giao tiếp.

Tổng kết

Ông bà ta luôn có câu: ” Phòng bệnh hơn chữa bệnh”. Dù rằng hình thức tấn công quan mạng như replay attack không quá phổ biến nhưng việc phòng tránh bằng những thủ thuật đơn giản mà Vietcoin đã cung cấp ở trên là hoàn toàn cần thiết.

Hi vọng anh em dừng để lâm vào hoàn cảnh “mất bò rồi mới lo xây chuồng” bởi lẽ lúc này anh em sẽ phải trả giá bằng không ít tiền bạc lẫn thời gian.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

TIn nhanh