1. Tấn công eclipse trong blockchain là gì?
Trong một cuộc tấn công eclipse, một tác nhân độc hại sẽ cô lập một người dùng hoặc nút cụ thể trong mạng ngang hàng (P2P).
Mục tiêu của kẻ tấn công là che khuất tầm nhìn của người dùng về mạng P2P để chuẩn bị cho các cuộc tấn công phức tạp hơn hoặc gây ra sự gián đoạn chung. Các cuộc tấn công Eclipse có những điểm tương đồng với các cuộc tấn công Sybil, tuy nhiên, mục tiêu cuối cùng của chúng là khác nhau.
Chúng giống nhau theo nghĩa là một mạng nhất định tràn ngập các đồng nghiệp giả mạo. Tuy nhiên, sự khác biệt là trong một cuộc tấn công eclipse, một nút duy nhất bị tấn công. Trong một cuộc tấn công Sybil, toàn bộ mạng bị tấn công.
Hơn nữa, những kẻ tấn công có thể bắt đầu một cuộc tấn công eclipse bằng cách xây dựng nhiều nút lớp phủ có vẻ độc lập thông qua một cuộc tấn công Sybil. Những kẻ tấn công có thể sử dụng cơ chế bảo trì lớp phủ (overlay maintenance mechanism) để thực hiện một cuộc tấn công eclipse; do đó, các biện pháp bảo vệ chống lại các cuộc tấn công Sybil không ngăn được các cuộc tấn công eclipse.
Các cuộc tấn công eclipse được thảo luận toàn diện trong bài báo năm 2015 của các nhà nghiên cứu từ Đại học Boston và Đại học Hebrew có tựa đề 'Các cuộc tấn công eclipse vào mạng ngang hàng của Bitcoin.' Trong bài báo nói trên, các tác giả đã thảo luận về những phát hiện của họ từ việc tung ra các cuộc tấn công eclipse, cũng như biện pháp đối phó có thể.
Trong một cuộc tấn công eclipse, kẻ tấn công cố gắng chuyển hướng các kết nối vào và ra của người tham gia mạng mục tiêu từ các nút hợp pháp sang các nút của kẻ tấn công. Bằng cách đó, mục tiêu bị phong tỏa khỏi mạng thực tế.
Vì mục tiêu bị ngắt kết nối khỏi sổ cái chuỗi khối, nên kẻ tấn công có thể thao túng nút bị cô lập. Một cuộc tấn công eclipse có thể dẫn đến gián đoạn khai thác khối cũng như xác nhận giao dịch bất hợp pháp.
Các cuộc tấn công chuỗi khối có thể được thực hiện dễ dàng như thế nào tùy thuộc vào cấu trúc cơ bản của mạng chuỗi khối mục tiêu.
2. Tấn công eclipse hoạt động như thế nào?
Những kẻ tấn công thường sử dụng mạng botnet hoặc mạng ma để xâm phạm một nút và niêm phong nút đó.
Các cuộc tấn công eclipse tiền điện tử có thể được thực hiện vì các nút trong mạng phi tập trung không thể kết nối đồng thời với các nút khác do giới hạn băng thông. Như vậy, thay vào đó, các nút kết nối với một tập hợp giới hạn các nút lân cận.
Do đó, một tác nhân độc hại hoạt động để xâm phạm kết nối của người dùng mục tiêu với tập hợp các nút giới hạn mà nó kết nối. Kẻ tấn công sử dụng mạng ma hoặc mạng botnet để xâm phạm một nút. Mạng này được tạo từ các nút máy chủ và được sử dụng để làm ngập nút đích bằng các địa chỉ IP. Sau đó, mục tiêu có thể đồng bộ hóa với nó khi nó kết nối lại với mạng chuỗi khối.
Sau đó, kẻ tấn công sẽ đợi mục tiêu kết nối lại với các nút độc hại hoặc sử dụng tấn công Từ chối dịch vụ phân tán (DDoS) để mục tiêu buộc phải kết nối lại với mạng.
Điều tồi tệ nhất là một khi nút mục tiêu bị xâm phạm, kẻ tấn công có thể cung cấp cho nó dữ liệu sai. Thông thường, nạn nhân không biết rằng nút đã bị xâm phạm. Một số hậu quả của các cuộc tấn công eclipse trong các dự án tiền điện tử là:
Sự gián đoạn sức mạnh của công cụ khai thác: Các khối có thể bị loại trừ khỏi một chuỗi khối hợp pháp khi kẻ tấn công cố gắng che giấu sự thật rằng một khối đã được khai thác từ một công cụ khai thác bị lu mờ. Điều này khiến nạn nhân hiểu sai về việc lãng phí sức mạnh xử lý và thời gian tính toán các khối đã bị xâm phạm.
Sau đó, kẻ tấn công có thể tăng tỷ lệ băm của chúng trong mạng. Vì một công cụ khai thác bị lu mờ bị ngắt kết nối khỏi mạng hợp pháp, nên những kẻ tấn công sau đó có thể khởi động các cuộc tấn công vào nhiều công cụ khai thác và khởi động một cuộc tấn công 51% vào mạng.
Các cuộc tấn công chi tiêu lặp: Một nạn nhân bị cô lập khỏi mạng hợp pháp của nó có thể bị kẻ tấn công đánh lạc hướng để chấp nhận một giao dịch sử dụng một trong hai:
- Đầu vào không hợp lệ
- Đầu vào tương tự của một giao dịch đã được xác thực trên mạng hợp pháp
Khi kẻ tấn công nhắm mục tiêu vào người dùng mạng, thường có động cơ sâu xa hơn để làm như vậy. Thông thường, các cuộc tấn công eclipse có thể đóng vai trò là cổng cho các cuộc tấn công và gián đoạn phức tạp hơn.
Chi tiêu lặp 0 xác nhận
Người dùng có nguy cơ tiêu lặp nếu họ chấp nhận giao dịch không có xác nhận. Theo nguyên tắc, mặc dù giao dịch đã được phát sóng, người gửi vẫn có thể tạo một giao dịch mới và chi tiêu tiền ở một nơi khác. Chi tiêu lặp có thể xảy ra cho đến khi một giao dịch được đưa vào một khối và được cam kết với chuỗi khối.
Các giao dịch mới có phí cao hơn cũng có thể được đưa vào trước các giao dịch ban đầu để làm mất hiệu lực các giao dịch trước đó. Điều rủi ro về điều này là một số cá nhân và doanh nghiệp đang chấp nhận các giao dịch không xác nhận.
Chi tiêu lặp N xác nhận
Chi tiêu lặp có N xác nhận tương tự như giao dịch không có xác nhận. Tuy nhiên, chúng đòi hỏi sự chuẩn bị phức tạp hơn. Bởi vì nhiều doanh nghiệp muốn trì hoãn việc đánh dấu một khoản thanh toán là hợp lệ trong khi chờ một số xác nhận nhất định, nên họ có thể dễ bị tấn công.
Trong kịch bản này, những kẻ tấn công làm lu mờ cả thợ mỏ và người bán. Họ thực hiện nó bằng cách thiết lập một đơn đặt hàng với người bán và phát giao dịch cho những người khai thác bị lu mờ. Điều này dẫn đến giao dịch được xác nhận và đưa vào chuỗi khối. Tuy nhiên, chuỗi cụ thể này không phải là chuỗi phù hợp vì công cụ khai thác đã bị cắt khỏi mạng trước đó.
Sau đó, kẻ tấn công chuyển tiếp phiên bản chuỗi khối này cho người bán, người sau đó phát hành hàng hóa và/hoặc dịch vụ với niềm tin rằng giao dịch đã được xác nhận.
Làm suy yếu các công ty khai thác cạnh tranh
Các nút bị che khuất tiếp tục hoạt động vì người dùng mục tiêu thường không biết rằng họ đã bị cô lập khỏi mạng hợp pháp. Do đó, những người khai thác sẽ tiếp tục khai thác các khối như bình thường. Các khối được thêm vào sau đó sẽ bị loại bỏ khi đồng bộ hóa với các đồng nghiệp trung thực của chúng.
Các cuộc tấn công eclipse quy mô lớn được thực hiện đối với những người khai thác lớn thường được sử dụng để thực hiện một cuộc tấn công 51%. Tuy nhiên, do chi phí cực kỳ cao để chiếm lấy phần lớn sức mạnh băm của Bitcoin, cơ hội cho điều này vẫn còn khá mong manh. Với tốc độ ~80TH/s, về mặt lý thuyết, kẻ tấn công sẽ cần hơn 40TH/s để thành công trong một nỗ lực như vậy.
4. Làm thế nào để giảm thiểu các cuộc tấn công eclipse
Về mặt lý thuyết, kẻ tấn công có thể làm lu mờ bất kỳ nút nào miễn là chúng có đủ địa chỉ IP.
Người vận hành có thể giảm thiểu rủi ro này bằng cách chặn các kết nối đến. Ngoài ra, họ chỉ nên tạo các kết nối ra bên ngoài tới các nút cụ thể mà họ tin tưởng, chẳng hạn như các nút nằm trong danh sách trắng của các đồng nghiệp khác trong mạng. Tuy nhiên, các nhà nghiên cứu đã chỉ ra rằng nếu tất cả những người tham gia áp dụng các biện pháp này, thì các nút mới có thể không tham gia được — khiến nó trở thành một cách tiếp cận không thể thực hiện được trên quy mô lớn.
Tuy nhiên, điều mà các tác giả của ‘Các cuộc tấn công của Eclipse vào mạng ngang hàng của Bitcoin’ đề xuất là thực hiện một số điều chỉnh đối với phần mềm Bitcoin. Một số điều chỉnh này đã được thực hiện kể từ khi bài báo được phát hành. Chúng hoạt động để làm cho các cuộc tấn công eclipse trở nên tốn kém hơn thông qua những thay đổi nhỏ trong mã phần mềm.
5. Sự khác biệt giữa tấn công Eclipse và tấn công Sybil
Cả hai cuộc tấn công đều diễn ra ở cấp độ mạng P2P. Vậy sự khác biệt là gì?
Trong một cuộc tấn công Eclipse, hầu hết các đồng nghiệp của người dùng được nhắm mục tiêu là độc hại và do đó ngăn người dùng được nhắm mục tiêu kết nối với mạng hợp pháp. Một cuộc tấn công Eclipse đặc biệt hữu ích trong các trường hợp khi người gửi gửi một số Bitcoin (BTC) cho ai đó và sau đó cũng chi lặp số Bitcoin này.
Sau đó, người gửi sử dụng cuộc tấn công để ngăn người dùng mục tiêu phát hiện ra chi tiêu lặp.
Trong một cuộc tấn công Sybil, một tác nhân độc hại hoặc kẻ tấn công cố gắng spam mạng bằng các nút do chúng kiểm soát nhằm đánh lừa hệ thống danh tiếng của mạng. Điều này bao gồm báo hiệu hỗ trợ sai bằng cách sử dụng các bit thông tin phiên bản. Tóm lại, một cuộc tấn công Eclipse nhắm vào một người dùng hoặc một bên trong khi một cuộc tấn công Sybil nhắm vào toàn bộ mạng.
Trong bối cảnh của Bitcoin, các cuộc tấn công Sybil ít gây hại hơn vì các nút hoạt động dựa trên các quy tắc đồng thuận. Theo các quy tắc này, bất kỳ sự sai lệch nào sẽ dẫn đến việc DoS của nút đó bị cấm.
6. Các nhà phát triển blockchain có thể học được gì từ các cuộc tấn công Eclipse?
Các nhà phát triển có thể tự làm quen với các lỗ hổng trong các nút Bitcoin có thể bị khai thác để thay thế địa chỉ ngang hàng hợp pháp bằng địa chỉ của chính họ.
- Về mặt kỹ thuật, khi nút chọn địa chỉ IP từ nhóm đã thử bằng dấu thời gian, nó sẽ tăng khả năng kẻ tấn công được chọn. Điều này đúng ngay cả khi kẻ tấn công chỉ sở hữu một phần nhỏ các địa chỉ này. Cơ hội được chọn cũng có thể tăng lên bằng cách tăng thời gian tấn công.
- Khi một bộ chứa địa chỉ đầy, một địa chỉ sẽ bị xóa ngẫu nhiên. Nếu IP của kẻ tấn công bị xóa, thì cuối cùng nó có thể được chèn vào nếu nó được gửi nhiều lần đến nút.
- Việc lựa chọn địa chỉ IP từ bảng đã thử có thể được thực hiện một cách ngẫu nhiên. Điều này sẽ làm giảm khả năng người ngang hàng được chọn là kẻ tấn công. Nếu lựa chọn ngang hàng là ngẫu nhiên, thì kẻ tấn công sẽ không thành công ngay cả khi đã dành nhiều thời gian cho cuộc tấn công.
- Sử dụng cách tiếp cận xác định để chèn địa chỉ của các đồng nghiệp vào các vị trí cố định. Điều này sẽ làm giảm khả năng chèn địa chỉ của kẻ tấn công vào một vị trí khác sau khi đã bị xóa khỏi bộ chứa địa chỉ. Một cách tiếp cận xác định đảm bảo rằng việc chèn địa chỉ lặp đi lặp lại không làm tăng thêm giá trị cho một cuộc tấn công.
Văn hóa mã nguồn mở theo sau bởi rất nhiều tổ chức chuỗi khối cũng có thể nhường chỗ cho các lỗ hổng hơn nữa.
Nguồn: CoinTelegraph