Advertisement
Eclipse Attack (Tấn công che khuất) là gì?
Eclipse Attack (tấn công che khuất) là một cuộc tấn công tương đối đơn giản mà một tác nhân gây hại có thể triển khai để can thiệp vào các node trên mạng thông qua việc cô lập một người dùng hoặc một node cụ thể trong Mạng ngang hàng (P2P). Như chính tên gọi của nó, hành động tấn công này nhằm che khuất người tham gia để họ không thể nhìn thấy mạng ngang hàng (P2P), gây ra sự gián đoạn chung hoặc để chuẩn bị cho các cuộc tấn công tinh vi hơn.
Bề ngoài, các vụ Eclipse Attack có thể hơi giống với các cuộc tấn công Sybil là tác nhân độc hại sẽ đưa vào mạng lưới những người ngang hàng giả. Tuy nhiên mục tiêu cuối cùng của chúng là khác nhau. Tấn công che khuất nhắm vào một node duy nhất, trong khi tấn công Sybil là một cuộc tấn công trên toàn mạng được thiết kế để làm suy giảm uy tín của giao thức.
Hơn nữa, những kẻ tấn công có thể bắt đầu một cuộc Eclipse Attack bằng cách xây dựng nhiều node độc lập phủ bề ngoài 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ủ để thực hiện một cuộc tấn công che khuất. Do đó, các biện pháp bảo vệ chống lại các cuộc tấn công của Sybil không ngăn chặn được các cuộc tấn công che khuất.
Khái niệm này được thảo luận chi tiết trong bài báo năm 2015 mang tiêu đề Tấn công Che khuất trên Mạng ngang hàng của Bitcoin, trong đó các nhà nghiên cứu từ Đại học Boston và Đại học Hebrew trình bày các kết quả nghiên cứu của họ từ các thử nghiệm thực hiện các cuộc tấn công che khuất của họ, cũng như các biện pháp đối phó có thể để chống lại chúng.
Trong một vụ Eclipse Attack, kẻ tấn công cố gắng chuyển hướng các kết nối đến và đi của người tham gia mạng, mục tiêu từ các node hợp pháp đến các node của kẻ tấn công. Bằng cách đó, mục tiêu sẽ bị phong tỏa khỏi mạng thực.
Vì mục tiêu bị ngắt kết nối khỏi sổ cái Blockchain, node bị cô lập sau đó có thể bị thao túng bởi kẻ tấn công. Một cuộc tấn công nhật thực có thể dẫn đến gián đoạn khai thác Block cũng như xác nhận giao dịch bất hợp pháp.
Các cuộc tấn công Blockchain có thể được thực hiện dễ dàng như thế nào phụ thuộc vào cấu trúc cơ bản của mạng Blockchain mục tiêu.
Xem thêm: Top Những Vụ Hack Tiền Điện Tử Lớn Nhất Trong Thị Trường Tính Đến Năm 2022
Eclipse Attack 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 ảo để xâm nhập một node và niêm phong nó.
Các cuộc Eclipse Attack tiền điện tử có thể được thực hiện bởi vì các node trong mạng phi tập trung không thể kết nối đồng thời với các node khác vì giới hạn băng thông. Như vậy, thay vào đó, các node kết nối với một tập hợp giới hạn các node 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 một nhóm hạn chế các node mà nó kết nối. Kẻ tấn công sử dụng mạng ảo hoặc mạng botnet để xâm phạm một node. Mạng này được tạo từ các node máy chủ và được sử dụng để làm ngập một node đích bằng các địa chỉ giao thức internet (IP). Sau đó, mục tiêu có thể đồng bộ hóa khi nó kết nối lại với mạng Blockchain.
Sau đó, kẻ tấn công sẽ đợi mục tiêu kết nối lại với các node độc hại hoặc sử dụng cuộc 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.
Trường hợp khi một node đích bị xâm phạm, kẻ tấn công có thể cung cấp dữ liệu sai cho nó. Thông thường, nạn nhân không biết rằng node đã bị xâm phạm.
Cùng một đầu vào của một giao dịch đã được xác thực trên mạng hợp pháp.
Hậu quả của Eclipse Attack
Chi tiêu gấp đôi không cần xác nhận
Nếu một cá nhân chấp nhận giao dịch mà không có xác nhận, họ có nguy cơ chi tiêu gấp đôi. Giao dịch có thể đã được truyền đi, nhưng nếu nó chưa được bao gồm trong một Block, người gửi có thể dễ dàng tạo một giao dịch mới để chi tiêu một khoản tiền khác tương đương ở một nơi khác. Nếu giao dịch mới có mức phí cao hơn, người khai thác có thể vô hiệu hóa giao dịch trước đó.
Một số doanh nghiệp và cá nhân chấp nhận các giao dịch không có xác nhận này. Giả sử thương gia Bob là một người bán các sản phẩm xe hơi cao cấp. Anh ta không biết rằng Alice đã che khuất node của mình, và không nghi ngờ gì khi cô ta đặt hàng một chiếc xe thể thao sang trọng. Cô ta tạo ra một giao dịch, sau đó Bob truyền giao dịch đó lên mạng. Bob hài lòng khi thấy khoản thanh toán đang được gửi đến nên giao chìa khóa xe và Alice phóng đi.
Tất nhiên, giao dịch chưa được truyền lên mạng – Bob chỉ chuyển tiếp nó đến các node giả độc hại của Alice, và các node này sẽ không chuyển tiếp đến các node thật. Trong khi giao dịch này bị treo trong tình trạng lấp lửng, Alice sẽ gửi một khoản tiền trên mạng (thực) cho một bên khác hoặc đến một địa chỉ mà cô ta sở hữu. Kể cả khi cuối cùng giao dịch ban đầu với Bob được gửi đến mạng, thì nó cũng sẽ bị từ chối vì giao dịch thứ hai đã gửi khoản tiền đó sang tài khoản khác.
Chi tiêu gấp đôi xác nhận N
Chi tiêu gấp đôi xác nhận N tương tự như chi tiêu không xác nhận, nhưng bao gồm nhiều sự chuẩn bị hơn. Nhiều doanh nghiệp thường chờ một số xác nhận nhất định trước khi đánh dấu thanh toán là hợp lệ. Để đối phó với điều này, kẻ tấn công phải che khuất cả thợ đào và thương gia. Khi kẻ tấn công đã thiết lập đơn đặt hàng với thương gia, chúng truyền một giao dịch cho các thợ đào (bị che khuất). Giao dịch được xác nhận và bao gồm trong Blockchain – nhưng Blockchain này không phải là chuỗi mà phần lớn mạng quan sát, vì thợ đào đã bị tách ra khỏi chuỗi.
Từ đó, kẻ tấn công chuyển tiếp phiên bản Blockchain này cho thương gia, và người này sẽ xuất hàng với niềm tin rằng giao dịch đã được xác nhận. Khi các node bị che khuất được kết nối vào mạng thực, thì Blockchain mà họ lầm tưởng là hợp lệ sẽ bị bỏ mặc bởi Blockchain mà phần còn lại của mạng đang hoạt động trên đó (điều này có một số điểm tương đồng với tấn công 51%).
Làm suy yếu các thợ đào cạnh tranh
Một node bị che khuất sẽ tiếp tục hoạt động mà không biết rằng chúng đã bị tách biệt khỏi mạng. Các thợ đào sẽ tiếp tục khai thác các khối theo các quy tắc được đặt ra bởi giao thức, nhưng các khối được thêm vào sẽ bị loại bỏ khi chúng được đồng bộ hóa với những người ngang hàng trung thực.
Về mặt lý thuyết, có thể sử dụng một Eclipse Attack quy mô lớn vào các thợ đào chính để tạo điều kiện cho một cuộc tấn công 51%. Vì thế, chi phí để kiểm soát phần lớn hashing power của Bitcoin chỉ là quá cao đối với những kẻ tấn công sở hữu nhiều tài nguyên nhất – với tốc độ ~ 80TH/giây, kẻ tấn công sẽ cần hơn 40TH/giây để thực hiện thao tác như vậy.
Giả sử hashing power này được phân phối giữa 10 bên (sao cho mỗi bên sở hữu 8Th/giây), thì kẻ tấn công có thể giảm đáng kể các yêu cầu cho một cuộc Tấn công 51% bằng cách loại bỏ các bên này khỏi mạng. Nếu 5 trong số đó bị che khuất, thì 40TH/giây sẽ bị loại bỏ khỏi cuộc đua để tìm khối tiếp theo và kẻ tấn công bây giờ chỉ cần hơn 20TH/giây để giành quyền kiểm soát.
Việc che mờ các mục tiêu có thể giúp gây hại theo cách khác, bao gồm thao túng các node để giành riêng quyền khai thác hoặc kỹ thuật chạy đua giữa các thợ đào để tìm khối tiếp theo.
Cách giảm thiểu các cuộc tấn công che khuất
Với đủ địa chỉ IP, kẻ tấn công có thể che khuất bất kỳ node nào. Phương pháp đơn giản nhất để ngăn chặn điều này xảy ra là nhà điều hành cần chặn các kết nối đến và chỉ thực hiện các kết nối ra bên ngoài tới các node cụ thể (chẳng hạn như các node đã được đưa vào danh Sách trắng bởi các đồng nghiệp khác). Tuy nhiên, đây không phải là một cách tiếp cận phù hợp cho quy mô lớn – nếu tất cả những người tham gia áp dụng các biện pháp này, các node mới sẽ không thể tham gia mạng.
Các tác giả đề xuất một số điều chỉnh cho phần mềm Bitcoin, một số trong đó đã được tích hợp kể từ khi bài báo được xuất bản. Những điều chỉnh này giúp các vụ Eclipse Attack trở nên tốn kém hơn thông qua các sửa đổi nhỏ ở các mã, chẳng hạn như lựa chọn ngẫu nhiên các kết nối mới và dung lượng lưu trữ địa chỉ lớn hơn.
Xem thêm: Cách Phòng Tránh Lừa Đảo Trong Giao Dịch P2P
Lợi ích của Eclipse Attack đối với các nhà phát triển mạng
Các nhà phát triển có thể tự làm quen với các lỗ hổng trong các Bitcoin node được khai thác để thay thế các địa chỉ ngang hàng hợp pháp bằng địa chỉ của họ.
- Về mặt kỹ thuật, khi node chọn địa chỉ IP từ nhóm đã thử có dấu thời gian, nó sẽ làm tăng xác suất 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ỏ trong số các địa chỉ này. Cơ hội được chọn cũng có thể được tăng lên bằng cách tăng thời gian tấn công.
- Khi một nhóm đị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 là IP bị xóa, thì cuối cùng nó có thể được chèn vào nếu nó được gửi liên tục đến node.
Như bạn có thể thấy, những kẻ tấn công có thể khai thác các lỗ hổng nói trên. Tuy nhiên, cũng có một số cách để tránh chúng:
- 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 trở thành kẻ tấn công. Nếu lựa chọn đồng đẳ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 trong cuộc tấn công.
- Sử dụng phương pháp 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ị đuổi khỏi nhóm địa chỉ. Một cách tiếp cận xác định đảm bảo rằng việc chèn lặp lại các địa chỉ không làm tăng thêm giá trị cho một cuộc tấn công.
Có rất nhiều lỗ hổng trong Bitcoin đã được giải quyết. Tuy nhiên, các cuộc tấn công vào Blockchain vẫn có thể được thực hiện khi những kẻ tấn công tìm thấy các lỗ hổng khác. Điều này là do các mạng Blockchain công khai.
Nền văn hóa mã nguồn mở được theo sau bởi nhiều tổ chức Blockchain cũng có thể nhường chỗ cho các lỗ hổng bảo mật tiếp theo.