Tấn công phát lại là gì ?
Một vụ tấn công phát lại – replay attack, hay còn gọi là ‘playback attack’, là một hình thức tấn công mạng lưới trong đó các thực thể độc hại chặn và lặp lại việc truyền tải một dữ liệu hợp lệ đi vào trong mạng lưới. Nhờ có 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.Do các tệp tin ban đầu đã bị ngăn chặn và được truyền tải lại nguyên văn nên hacker thực hiện vụ tấn công sẽ không cần giải mã chúng.
Hacker có thể làm gì với tấn công phát lại?
Tấn công phát lại có thể được sử dụng nhằm chiếm quyền truy cập thông tin lưu trữ trên một mạng lưới được bảo vệ khác bằng cách chuyển tiếp các thông tin có vẻ như 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 tài chính để sao chép các giao dịch, cho phép hacker rút tiền trực tiếp từ chính tài khoản của nạn nhân. Trong một số trường hợp, các hacker sẽ kết hợp một phần các đoạn tin mã hóa khác nhau và chuyển tiếp bản mã kết quả vào mạng lưới, hình thức này còn gọi là tấn công “cut-and-paste”. Phản ứng của mạng lưới đối với hình thức tấn công này thường giúp hacker thu thập được các thông tin có giá trị được sử dụng để khai thác hệ thống về sau.
Bất chấp các nguy cơ rõ rệt đi kèm, hình thức tấn công phát lại đơn thuần vẫn có những giới hạn nhất định của nó. Kẻ tấn công sẽ không thể thay đổi được dữ liệu đang được chuyển tiếp nếu không muốn bị mạng lưới từ chối, từ đó sẽ giới hạn độ hiệu quả của vụ tấn công trong việc lặp lại các tác vụ trong quá khứ. Ngoài ra, hình thức tấn công này cũng tương đối dễ phòng vệ. Một hệ thống bảo vệ đơn giản bằng cách bổ sung thêm mốc thời gian vào chuyển tiếp dữ liệu có thể phòng chống được các hình thức tấn công phát lại đơn giản. Các máy chủ cũng có thể lưu trữ cache các đoạn tin nhắn lặp lại và hủy chúng đi sau một số lần lặp nhất định để giới hạn số lần thử mà hacker có thể thực hiện bằng cách lặp lại các tin nhắn.
Vì sao tấn công phát lại gây hại cho thế giới tiền điện tử?
Mặc dù sẽ còn rất lâu nữa điều này mới có thể trở nên khả thi, thì hình thức tấn công này lại đặc biệt thích hợp với môi trường giao dịch tiền điện tử và các sổ cái blockchain. Lý do là bởi các sổ cái blockchain thường phải chịu các thay đổi hoặc nâng cấp giao thức còn gọi là hard forks. Khi một hard fork diễn ra, sổ cái hiện tại sẽ được chia làm hai, một bên tiếp tục hoạt động với phiên bản phần mềm ban đầu, bên kia hoạt động theo phiên bản mới cập nhật. Một số hard fork chỉ có mục đích duy nhất là nâng cấp sổ cái, trong khi một số khác sẽ tách ra thành các brand riêng và tạo thành một đồng coin mới. Ví dụ nổi tiếng nhất của hard fork theo hình thức đó là vụ nâng cấp giúp Bitcoin Cash tách từ sổ cái chính của Bitcoin vào ngày 8.1.2017.
Khi các hard fork này diễn ra, về lý thuyết thì các hacker sẽ có thể thực hiện tấn công phát lại được nhắm vào các sổ cái blockchain. Một giao dịch được xử lý trên một sổ cái bởi 1 người có ví hợp lệ trước hard fork cũng sẽ hợp lệ trên sổ còn lại. Từ đó, một người được nhận một đơn vị tiền điện tử nhất định từ người khác trên một sổ cái có thể chuyển sang sổ kia, mô phỏng lại giao dịch đó và gian lận chuyển một đơn vị tiền giống hệt như trên vào tài khoản của họ một lần nữa. Và bởi ví của nó không nằm trong lịch sử giao dịch chia sẻ của các sổ cái, người dùng tham gia blockchain sau khi một hard fork đã diễn ra sẽ không bị nguy cơ tấn công từ hình thức này.
Các blockchain bảo mật thế nào trước hình thức tấn công này?
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, phần lớn các 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. Các công cụ hiệu quả chống lại tấn công phát lại có 2 nhóm, gồm có ‘strong replay protection’ và ‘opt-in replay protection’. Với công cụ ‘strong replay protection’, một ‘marker’ (đánh dấu) sẽ được thêm vào sổ cái mới tách ra từ đợt chia tách (hard fork) để bảo đảm rằng các giao dịch thực hiện trên đó sẽ không hợp lệ trên sổ cái ban đầu, và ngược lại. Hình thức này được sử dụng trong vụ chia tách Bitcoin Cash từ Bitcoin.
Khi thực hiện, ‘strong replay protection’ được thực thi tự động 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. ‘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 điện tử chứ không phải để chia tách.
Ngoài các giải pháp áp dụng trên cái sổ cái lớn như vậy, người dùng cá nhân cũng có thể thực hiện các bước tự bảo vệ khác. Một phương pháp trong đó là bằng cách khóa lại các đồng coin của họ khỏi các giao dịch cho đến khi các sổ cái đạt đến một số block nhất định, từ đó có thể ngăn chặn bất cứ hình thức tấn công phát lại nào có thể được xác thực bởi mạng lưới. Cần lưu ý rằng không phải ví hay sổ cái nào cũng sở hữu chức năng này.
Kết luậ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. Và ví các đợt hard fork này được sử dụng để nâng cấp hoặc chia tách nên các sổ cái blockchain rất dễ bị tấn công mạng bằng hình thức này. Tuy nhiên, các giải pháp hiện tại bảo vệ các hệ thống blockchain đang khá hiệu quả, đặc biệt là việc sử dụng ‘strong replay protection’ có thể đảm bảo rằng các hacker sẽ không thể sao chép các giao dịch sau khi các đợt chia tách diễn ra.