Mục lục

  • Cách thức hoạt động của một cuộc tấn công nhật thực

  • Hậu quả của một cuộc tấn công nhật thực

    • “Chi tiêu gấp đôi” mà không cần xác nhận

    • "Chi tiêu gấp đôi" yêu cầu N lần xác nhận

    • Giảm sự cạnh tranh giữa các thợ mỏ

  • Làm chậm tác động của cuộc tấn công nhật thực

  • Tóm tắt


Tấn công nhật thực là một cuộc tấn công cơ bản tương đối đơn giản mà qua đó kẻ tấn công có thể can thiệp vào các nút trên mạng. Đúng như tên gọi, cuộc tấn công này có thể ngăn nút bị tấn công trong mạng ngang hàng lấy được thông tin hiệu quả, do đó gây gián đoạn mạng hoặc chuẩn bị cho các cuộc tấn công phức tạp hơn.

Nhìn bề ngoài, Cuộc tấn công Eclipse tương tự như Cuộc tấn công Sybil. Mặc dù chúng có chung một số điểm tương đồng (kẻ tấn công làm gián đoạn mạng bằng cách tấn công các nút), mục tiêu tấn công cuối cùng của chúng là khác nhau. Các cuộc tấn công Eclipse nhắm vào một nút duy nhất (vì các lý do được giải thích bên dưới), trong khi các cuộc tấn công Sybil nhắm vào toàn bộ mạng và nhằm mục đích giả mạo danh tiếng của các giao thức mạng.

Khái niệm này đã được thảo luận kỹ lưỡng trong bài báo năm 2015 “Các cuộc tấn công nhật thực trên mạng ngang hàng Bitcoin”, trong đó các nhà nghiên cứu từ Đại học Boston và Đại học Do Thái đã báo cáo các thí nghiệm của họ tiến hành các cuộc tấn công nhật thực và các biện pháp phòng ngừa để chống lại chúng.


Cách thức hoạt động của một cuộc tấn công nhật thực

Công cụ khai thác bitcoin yêu cầu thiết bị chuyên dụng để tạo và xác minh các khối mới, nhưng các nút không khai thác (hoặc đầy đủ) yêu cầu rất ít sức mạnh tính toán để hoạt động. Bằng cách này, bất kỳ ai cũng có thể vận hành một nút trên thiết bị giá rẻ, điều này cũng góp phần vào tính phân cấp của Bitcoin. Chương trình phần mềm duy trì cơ sở dữ liệu giao dịch được đồng bộ hóa với các đồng nghiệp để luôn đồng bộ với mạng.

Yếu tố hạn chế để kết nối số lượng lớn các nút là băng thông. Do đó, mặc dù có số lượng lớn thiết bị có thể chạy chương trình nhưng vẫn có giới hạn về số lượng kết nối được đặt trong mạng Bitcoin (tối đa 125 kết nối) và các thiết bị thông thường không thể kết nối trực tiếp với các thiết bị khác.

Trong một cuộc tấn công nhật thực, kẻ tấn công đảm bảo rằng tất cả các kết nối đến mục tiêu được thực hiện trên các nút do kẻ tấn công kiểm soát. Kẻ tấn công trước tiên sẽ gửi một đợt lũ từ địa chỉ IP của chính chúng đến địa chỉ đích và nạn nhân có thể kết nối với địa chỉ IP của kẻ tấn công khi chương trình khởi động lại. Bạn có thể buộc khởi động lại (tức là thực hiện một cuộc tấn công DDoS vào mục tiêu) hoặc chỉ đợi chương trình tự động khởi động lại.​

Nếu điều này xảy ra, những nạn nhân không nghi ngờ sẽ bị các nút độc hại tấn công và kẻ tấn công cung cấp cho họ dữ liệu sai lệch mà họ không thể lấy được từ mạng thực.


Hậu quả của cuộc tấn công nhật thực

Những kẻ tấn công có động cơ thực hiện các cuộc tấn công như vậy nếu chúng có thể tách một nút mạng khỏi mạng bằng cách tiêu thụ tài nguyên của nó. Nếu một nút bị cô lập, kẻ tấn công có thể thực hiện nhiều cuộc tấn công liên tiếp.


“Chi tiêu gấp đôi” mà không cần xác nhận

Nếu một nút độc lập chấp nhận một giao dịch chưa được xác nhận thì nguy cơ "chi tiêu gấp đôi" sẽ xảy ra. Nếu giao dịch xảy ra có thể đã được phát trước khi vào khối (gửi tới blockchain), thì người gửi có thể dễ dàng thực hiện giao dịch mới ở nơi khác và chi tiêu số tiền tương tự như giao dịch trước đó. Nếu phí giao dịch mới tạo ra cao, thợ đào sẽ ưu tiên giao dịch và coi đó là giao dịch đầu tiên, khiến giao dịch đầu tiên không hợp lệ.​

Một số thương nhân và cá nhân chấp nhận 0 giao dịch xác nhận này. Hãy xem trường hợp của Bob, một doanh nhân bán ô tô cao cấp. Anh ta không biết rằng Alice đã phát động một cuộc tấn công nhật thực vào nút của anh ta và anh ta không có bất kỳ nghi ngờ nào sau khi thấy đơn đặt hàng một chiếc xe thể thao sang trọng của cô. Alice tạo giao dịch và Bob phát nó lên mạng. Sau khi thấy tin nhắn thanh toán sắp được xác nhận, anh cảm thấy rất hài lòng và đưa chìa khóa xe cho Alice, người đã phóng xe phóng đi với tốc độ chóng mặt.

Trên thực tế, giao dịch không được phát lên mạng. Bob chỉ chuyển giao dịch đến nút độc hại của Alice và nút độc hại do Alice kiểm soát không chuyển giao dịch đến nút thực. Do đó, giao dịch sẽ được coi là không hợp lệ. Tại thời điểm này, Alice thanh toán số tiền tương tự trên mạng (thực), cho chính cô ấy hoặc cho người khác. Ngay cả khi giao dịch ban đầu với Bob cuối cùng được nhìn thấy trên mạng thực, giao dịch đó không thể được xác minh vì số tiền trong tài khoản của Alice đã được sử dụng hết.


"Chi tiêu gấp đôi" yêu cầu N lần xác nhận

"Chi tiêu gấp đôi" yêu cầu N xác nhận cũng tương tự như "chi tiêu gấp đôi" không yêu cầu xác nhận nhưng đòi hỏi nhiều công việc chuẩn bị hơn. Nhiều người bán thích đợi một số lượng xác nhận nhất định trước khi khoản thanh toán được đánh dấu là hợp lệ. Để giải quyết vấn đề, kẻ tấn công sẽ phải khiến cả nút khai thác và nút thương mại phải hứng chịu một cuộc tấn công nhật thực. Nếu kẻ tấn công thiết lập đơn hàng với một người bán, họ sẽ thông báo giao dịch cho những người khai thác (bị ảnh hưởng bởi cuộc tấn công nhật thực). Người bán có thể thấy các giao dịch được xác nhận trong mạng blockchain, nhưng vì mạng nơi đặt người khai thác và người bán bị cô lập nên hầu hết các nút thực không thể chứng kiến ​​​​blockchain.

Kẻ tấn công đã gửi thông tin mạng blockchain sai lệch cho người bán và sau khi người bán thấy giao dịch đã được xác nhận, anh ta đã giao hàng. Khi các nút bị tấn công nhật thực này tham gia lại mạng thực, mạng blockchain thực sẽ coi các nút này không hợp lệ và cô lập các nút này (điều này tương tự như cuộc tấn công 51%).


Giảm sự cạnh tranh giữa các thợ mỏ

Các nút bị ảnh hưởng bởi cuộc tấn công nhật thực sẽ tiếp tục hoạt động và sẽ không bị ảnh hưởng do bị cô lập khỏi mạng. Người khai thác sẽ tiếp tục xác minh các khối theo quy tắc do giao thức chỉ định, nhưng các khối được thêm vào sẽ bị loại bỏ trong quá trình đi qua các nút mạng thực.

Về lý thuyết, một cuộc tấn công nhật thực lớn nhằm vào phần lớn thợ mỏ có thể được sử dụng để tạo điều kiện thuận lợi cho cuộc tấn công 51%. Như hiện tại, chi phí để ngay cả kẻ tấn công tài giỏi nhất cũng có thể chiếm được phần lớn sức mạnh tính toán của Bitcoin (khoảng 80TH/s) là quá cao và kẻ tấn công ít nhất phải cố gắng với tốc độ hơn 40TH/s.​

Giả sử rằng sức mạnh tính toán này được phân bổ cho 10 người tham gia (mỗi người tham gia có khoảng 8TH/s), kẻ tấn công có thể giảm đáng kể yêu cầu của cuộc tấn công 51% bằng cách cô lập những người tham gia này khỏi mạng. Nếu 5 trong số các nút bị tấn công nhật thực, kẻ tấn công có thể giảm sức mạnh tính toán đi 40TH/s để tìm khối tiếp theo và kẻ tấn công giờ chỉ cần tăng sức mạnh tính toán lên 20TH/s để đạt được mục tiêu tấn công nút . điều khiển.

Các hoạt động phá hoại khác có thể đạt được bằng cách thực hiện một cuộc tấn công nhật thực vào mục tiêu bao gồm thao túng các nút để tiến hành các hoạt động khai thác bất hợp pháp hoặc khai thác sự cạnh tranh sức mạnh tính toán giữa các thợ mỏ để có được khối tiếp theo.


Làm chậm tác động của các cuộc tấn công nhật thực

Với đủ địa chỉ IP, kẻ tấn công có thể thực hiện cuộc tấn công nhật thực vào bất kỳ nút nào. Cách trực tiếp nhất để ngăn điều này xảy ra là chặn các nút truy cập trái phép và chỉ thiết lập các kết nối gửi đi đến các nút cụ thể (chẳng hạn như các IP đã được các nút khác trong mạng ngang hàng đưa vào danh sách trắng). Tuy nhiên, như tài liệu nghiên cứu đã chỉ ra, đây không phải là giải pháp có thể được triển khai trên quy mô lớn và nếu tất cả người tham gia thực hiện các biện pháp này, các nút mới sẽ không thể tham gia mạng.

Tác giả đã đề xuất một số điều chỉnh đối với chương trình Bitcoin và một số điều chỉnh trong số đó đã được tích hợp vào chương trình Bitcoin sau khi sách trắng được phát hành. Bằng cách thực hiện những thay đổi nhỏ đối với mã, chẳng hạn như chọn ngẫu nhiên các kết nối mới và tăng cường lưu trữ địa chỉ, các biện pháp này khiến các cuộc tấn công nhật thực ngày càng tốn kém.


Tóm tắt

Các cuộc tấn công Eclipse được thực hiện trên mạng ngang hàng. Là một triển khai tấn công độc lập, chúng có thể gây khó chịu. Mục đích thực sự của việc tiến hành một cuộc tấn công nhật thực thực ra là để thực hiện các cuộc tấn công khác có thể có tác động lớn hơn hoặc để mang lại cho kẻ tấn công một lợi thế trong việc khai thác.

Nói chung, các cuộc tấn công nhật thực vẫn chưa có tác động nghiêm trọng và bất chấp các biện pháp bảo vệ được triển khai trong mạng blockchain, mối đe dọa vẫn tồn tại. Các cuộc tấn công Eclipse, giống như hầu hết các cuộc tấn công mà Bitcoin và hầu hết các loại tiền điện tử khác phải đối mặt, cách phòng thủ tốt nhất là làm cho những kẻ tấn công độc hại không thể kiếm được lợi nhuận.