Skip to main content

Cardano được bảo vệ khỏi các cuộc tấn công DDoS như thế nào?

Ngày 28 tháng 11 năm 2023 - Chia sẻ bài viết này trên Twitter | FacebookTelegram

Các cuộc tấn công DDoS là mối đe dọa đáng kể đối với các dịch vụ trực tuyến. Mục tiêu chính của các cuộc tấn công là làm cho một dịch vụ không thể sử dụng được. Cardano có thể được xem như một dịch vụ trực tuyến. Nó cung cấp một nền tảng để thực hiện các hợp đồng thông minh, chuyển tiền và các chức năng khác qua Internet. Giống như bất kỳ dịch vụ trực tuyến nào, về mặt lý thuyết, nó có thể trở thành mục tiêu của một cuộc tấn công DDoS. Tuy nhiên, do tính chất phi tập trung và các biện pháp bảo mật được ứng dụng, nó có thể phục hồi tốt hơn trước các cuộc tấn công như vậy so với các dịch vụ trực tuyến tập trung truyền thống. Đọc về khả năng chống lại các cuộc tấn công DDoS của Cardano.

Tấn công DDoS là gì?

Cuộc tấn công từ chối dịch vụ phi tập trung (DDoS) là một nỗ lực độc hại nhằm phá vỡ hoạt động bình thường của mạng, dịch vụ hoặc máy chủ bằng cách áp đảo nó với một lượng lớn lưu lượng truy cập internet. Điều này còn được gọi là gửi giao dịch rác trên mạng. Những kẻ tấn công (hoặc cả những kẻ gửi giao dịch rác) cố gắng tạo lưu lượng truy cập tương tự (ví dụ: giao dịch) trông giống với lưu lượng truy cập thông thường từ người dùng. Điều này có nghĩa là các giao dịch spam được trộn lẫn với các giao dịch của người dùng.

Trong ngữ cảnh của bài viết, thuật ngữ giao dịch rác được sử dụng cho các giao dịch của kẻ tấn công. Đây không phải là một email spam.

Các cuộc tấn công này hoạt động bằng cách sử dụng nhiều hệ thống máy tính (botnet) bị xâm nhập làm nguồn lưu lượng tấn công. Các máy bị khai thác có thể bao gồm máy tính và các tài nguyên được nối mạng khác như thiết bị IoT. Khi máy chủ của nạn nhân bị các botnet nhắm tới, mỗi bot sẽ gửi một lượng lớn yêu cầu đến địa chỉ IP của mục tiêu, có thể khiến máy chủ bị quá tải và dẫn đến việc từ chối dịch vụ đối với lưu lượng truy cập thông thường.

Máy chủ thường có kích thước cho một lượng lưu lượng nhất định. Lưu lượng giao dịch rác sẽ tăng đáng kể và đột ngột lưu lượng truy cập.

Mục tiêu chính của các cuộc tấn công DDoS là làm cho một dịch vụ (tạm thời) không khả dụng. Điều này thường đạt được bằng cách làm cạn kiệt tài nguyên máy chủ được nhắm mục tiêu, buộc nó phải khởi động lại hoặc làm quá tải kênh liên lạc để cô lập máy chủ.

Lưu lượng truy cập giao dịch rác tiêu tốn tài nguyên giống như lưu lượng truy cập thông thường. Tuy nhiên, máy chủ có thể không có sẵn tài nguyên.

Các cuộc tấn công DDoS có thể gây ra sự suy giảm nghiêm trọng cho các dịch vụ trực tuyến. Khi một cuộc tấn công đang diễn ra, người dùng không thể sử dụng dịch vụ một cách bình thường. Triệu chứng rõ ràng nhất của cuộc tấn công DDoS là trang web hoặc dịch vụ đột nhiên trở nên chậm hoặc không khả dụng. Điều này có thể dẫn đến thiệt hại đáng kể về tài chính và uy tín cho doanh nghiệp.

Nhu cầu bảo vệ khỏi các cuộc tấn công DDoS là điều tối quan trọng trong kỷ nguyên kỹ thuật số ngày nay.

Các cơ chế chính để bảo vệ chống lại các cuộc tấn công DDoS bao gồm:

  • Giới hạn tỷ lệ: Điều này liên quan đến việc giới hạn số lượng yêu cầu mà máy chủ sẽ chấp nhận trong một khung thời gian nhất định từ một địa chỉ IP.
  • Phát hiện bất thường: Bằng cách giám sát lưu lượng truy cập mạng và phân tích nó để tìm các mẫu khác với định mức, có thể xác định các cuộc tấn công DDoS tiềm ẩn.
  • Tường lửa và Bộ định tuyến: Chúng có thể được cấu hình để từ chối lưu lượng truy cập đến từ các địa chỉ IP đáng ngờ hoặc chứa nội dung độc hại.
  • Dịch vụ giảm thiểu DDoS: Các dịch vụ này có thể giúp hấp thụ hàng loạt yêu cầu trong cuộc tấn công DDoS, bảo vệ mục tiêu và giữ mục tiêu trực tuyến.
  • Hệ thống ngăn chặn xâm nhập (IPS): Các hệ thống này có thể phát hiện các cuộc tấn công DDoS và các mối đe dọa bảo mật khác, sau đó thực hiện hành động để giảm thiểu mối đe dọa.

Nếu một cuộc tấn công DDoS thành công xảy ra, nó thường có thể được ngăn chặn sau vài giờ (ngày) để dịch vụ có thể hoạt động trở lại.

Cardano được bảo vệ khỏi các cuộc tấn công DDoS như thế nào?

Cardano đã thực hiện một số biện pháp để giảm thiểu rủi ro của các cuộc tấn công DDoS. Chúng bao gồm phí giao dịch để ngăn chặn việc gửi giao dịch rác vào mạng với số lượng lớn giao dịch, các giao thức theo nhu cầu để kiểm soát tốc độ dữ liệu đến mỗi node và chuyển tiếp xác thực để kiểm tra các giao dịch trước khi chuyển tiếp chúng. Sự Phi tập trung của mạng (chủ yếu là số lượng node) cũng là một yếu tố quan trọng.

Nói một cách đơn giản, Cardano có thể chống lại các cuộc tấn công DDoS vì những lý do sau:

  • Phi tập trung
  • Phí giao dịch
  • Xác thực các giao dịch trước khi phát tán
  • Mỗi node sản xuất khối có một vài relay node (node chuyển tiếp)
  • Khả năng phát hiện node giao dịch rác và ngắt kết nối với nó

Hãy giải thích một số cơ chế phòng vệ cơ bản.

Trong một cuộc tấn công DDoS, kẻ tấn công thường áp đảo một mục tiêu bằng một lượng lớn lưu lượng truy cập internet.

Cardano là một mạng phi tập trung bao gồm một số lượng lớn các node. Cardano không có một điểm thất bại nào. Kẻ tấn công sẽ cần phải làm tràn ngập một phần đáng kể các node bằng các giao dịch spam để phá vỡ mạng.

Cách phòng ngừa tốt nhất chống lại các cuộc tấn công DDoS là Phi tập trung. Cardano có khoảng 3K pool và mỗi pool có 2-3 relay node. Pool là các node sản xuất khối được ẩn đằng sau các relay node. Tấn công Cardano là một thách thức vì cần phải tấn công khoảng 10K node.

Các nhà vận hành pool stake (SPO) có thể định cấu hình các node của họ để tương tác trực tiếp với nhau. Điều này có nghĩa là các node tạo khối có thể kết nối cả với các relay node (đáng tin cậy) của chính chúng và với các relay node khác do SPO khác vận hành. Nói cách khác, SPO quyết định các node mạng ngang hàng nào sẽ giao tiếp. Cấu hình mạng có thể được thay đổi bất cứ lúc nào.

Tấn công một node sản xuất khối về cơ bản có nghĩa là tấn công một số relay node. Nói cách khác, node sản xuất khối không phải là node hiển thị công khai (nghĩa là ngay cả đối với kẻ tấn công).

Trong Cardano, các khối và giao dịch được phi tập trung theo phương thức P2P. Các giao dịch mới được đưa vào mem-pool, đây là một loại phòng chờ nơi chúng chờ được chèn vào một trong các khối tiếp theo.

Mỗi node quản lý mem-pool riêng của mình. Nội dung của các mem-pool trong mạng thay đổi khi các giao dịch lan truyền từ một node ở một vị trí cụ thể đến các node khác trong mạng.

Slot leader được bầu ngẫu nhiên theo quy mô cổ phần. Các Slot leader nhận các giao dịch từ mem-pool của họ và tạo ra một khối mới. Kẻ tấn công không biết trước khối mới tiếp theo sẽ được tạo ra ở đâu trong mạng.

Kẻ tấn công không thể đơn giản phát nhiều giao dịch tới một node đã chọn (như trong một cuộc tấn công DDoS thông thường). Giao dịch không thể được đẩy đến các node. Các node kéo các giao dịch từ các node mạng ngang hàng của chúng. Thực tế này, kết hợp với việc các nhà vận hành pool quyết định các node mạng ngang hàng nào được kết nối, thể hiện một cơ chế bảo vệ mạnh mẽ.

Chỉ các giao dịch hợp lệ mới được phổ biến trong mạng.

Khi người dùng gửi một giao dịch từ ví của họ, giao dịch đó luôn được xử lý bởi một node. Đây không nhất thiết phải là node sản xuất khối (pool). Các giao dịch hợp lệ được node chèn vào mem-pool. Các giao dịch không hợp lệ sẽ bị node loại bỏ ngay lập tức và chúng không còn được phát tán nữa.

Nếu một node gửi giao dịch không hợp lệ hoặc liên tục gửi cùng một giao dịch, kết nối đến node đó sẽ bị đóng. Trước khi các giao dịch được chuyển tiếp, tiêu đề/nội dung sẽ được kiểm tra theo quy tắc. Cơ chế này giúp ngăn chặn một node làm ngập mạng với số lượng lớn giao dịch.

Nếu kẻ tấn công muốn spam mạng, trước tiên anh ấy phải điền vào mem-pool trên node của chính mình. Ngoài ra, nó có thể lấp đầy mem-pool của node mà ví được kết nối. Từ node này, các giao dịch có thể được phi tập trung sang các node khác. Nếu chúng hợp lệ, các node sẽ đặt chúng vào mem-pool.

Các node có thể phát hiện node spam và ngắt kết nối với node đó. Có thể nói rằng các node sử dụng chiến lược tương tự như máy chủ, tức là giới hạn tốc độ. Trong mạng Cardano, các node chịu trách nhiệm về tốc độ giao dịch.

Các giao thức của Cardano được thiết kế theo phong cách hướng đến nhu cầu. Các tham số giao thức hạn chế lượng tài nguyên mạng mà node có thể tiêu thụ. Đối với mỗi node và mỗi node mạng ngang hàng được kết nối với node đó, node đó sẽ kiểm soát tốc độ dữ liệu đến, khả năng xử lý đồng thời tối đa và lượng dữ liệu còn sót lại.

Nếu nhà điều hành node thay đổi tham số giao thức để cho phép tốc độ giao dịch cao hơn tốc độ được xác định bởi tham số giao thức, mạng sẽ coi đó là kẻ gửi giao dịch rác. Điều này ngăn chặn một đối thủ mạng ngang hàng tiến hành một cuộc tấn công tiêu tốn tài nguyên. Nếu một máy mạng ngang hàng tuân theo các giao thức, khả năng tiêu thụ tài nguyên tại node của nó sẽ bị giới hạn. Nếu nó vi phạm chúng nó sẽ bị ngắt kết nối. Nói cách khác, các node mạng ngang hàng sẽ ngắt kết nối với node lừa đảo này.

Nếu kẻ tấn công muốn spam mạng từ một vị trí, các đồng nghiệp sẽ ngừng lấy các giao dịch từ đó. Rõ ràng là mạng phi tập trung không thể bị tấn công từ một vị trí duy nhất.

Điểm tiếp theo tôi sẽ mô tả là rất quan trọng.

Cần phải tấn công nhiều node cùng một lúc. Nếu kẻ tấn công muốn làm chậm mạng một cách đáng kể hoặc gây ra sự cố nghiêm trọng hơn thì cần phải tấn công hầu hết tất cả các node cùng một lúc.

Các node lấy các giao dịch từ tất cả các node mạng ngang hàng được kết nối, do đó chúng chèn các giao dịch thông thường của người dùng cũng như các giao dịch spam (hợp lệ) vào mem-pool. Giao dịch của người dùng và giao dịch spam sẽ bắt đầu tranh giành nhau để giành một vị trí trong mem-pool (lớn hơn gấp 2 lần kích thước khối). Mem-pool của các node bị tấn công sẽ chứa các giao dịch spam, nhưng các node không bị tấn công sẽ chứa các giao dịch của người dùng.

Tùy thuộc vào ai trở thành Slot leader tiếp theo, sẽ có nhiều giao dịch spam hoặc giao dịch của người dùng hơn trong khối.

Nếu kẻ tấn công không tấn công tất cả các node cùng lúc, hắn sẽ không có cơ hội ngăn chặn các giao dịch của người dùng truy cập vào bất kỳ mem-pool nào trong mạng.

Bộ nhớ (mem-pool) mà kẻ tấn công phải spam với các giao dịch không phải là kích thước của một mem-pool, mà về cơ bản là kích thước bộ nhớ của tất cả các mem-pool trong mạng cộng lại.

Mem-pool có thể chứa khoảng 11 giao dịch, mỗi giao dịch có kích thước 16K byte. Sẽ tốn ít nhất 0,86 ADA để gửi một giao dịch như vậy. Sẽ tốn ít nhất 10 ADA để lấp đầy mem-pool.

Cardano bao gồm 10K node và mỗi node có một mem-pool có kích thước 2 khối. Việc lấp đầy tất cả các mem-pool bằng các giao dịch duy nhất cùng một lúc sẽ yêu cầu tạo các giao dịch 110K. Kẻ tấn công sẽ trả 95K ADA.

Nếu kẻ tấn công quản lý để kết nối các node giả mạo với tất cả các node (trung thực) trong mạng và lấp đầy mem-pool bằng các giao dịch spam, thì các giao dịch của người dùng sẽ gặp khó khăn khi vào mem-pool. Tôi dám nói rằng trong thực tế nó là không thực tế.

Tôi nhắc lại rằng 110K giao dịch là con số tối đa. Trong thực tế, người dùng có thể quan sát thấy mạng bị chậm nếu kẻ tấn công lấp đầy một số mem-pool bằng các giao dịch spam. Càng nhiều mem-pool bị tấn công thì mạng sẽ càng chậm.

Kẻ tấn công có thể dễ dàng gửi giao dịch rác hơn chỉ một phần của các node và hy vọng rằng các giao dịch giao dịch rác sẽ được khuếch tán đến một số mem-pool. Hắn ta có thể dần dần gửi đi gửi lại một loạt giao dịch giao dịch rác khác.

Mạng (tất cả các node) sẽ xóa các giao dịch đã được xác thực trong mem-pool mỗi khi một khối mới được tạo. Như đã đề cập, mỗi mem-pool có thể chứa các giao dịch khác nhau. Điều quan trọng là số lượng giao dịch trong mem-pool sẽ có xu hướng giảm dần nếu kẻ tấn công không tạo ra các giao dịch spam mới.

Các node không phân biệt giữa giao dịch spam và giao dịch của người dùng. Miễn là chúng hợp lệ (bao gồm cả phí đã trả), chúng sẽ được xử lý.

Các giao dịch được xác thực trong khối mới sẽ bị node xóa khỏi mem-pool. Nếu các giao dịch không phải là duy nhất, thì về cơ bản, khối mới sẽ kích hoạt việc dọn sạch các giao dịch trong mem-pool trên nhiều node (chỉ một nửa kích thước của mem-pool sẽ được giải phóng bởi một khối đầy đủ duy nhất).

Các giao dịch rác không phải là duy nhất khiến cuộc tấn công kém hiệu quả hơn. Cần phải bổ sung thêm các giao dịch bổ sung vào mem-pool thường xuyên hơn.

Để kẻ tấn công tăng cường tác động của cuộc tấn công, hắn sẽ phải sắp xếp bằng cách nào đó để các giao dịch của mình được đưa vào mem-pool trước khi giao dịch của người dùng (nghĩa là để chúng được ưu tiên). Tuy nhiên, đây không phải là một nhiệm vụ dễ dàng chút nào. Ví dụ: kẻ tấn công sẽ phải ở càng gần các node mà hắn đang tấn công về mặt địa lý càng tốt (do độ trễ mạng).

Cũng có trường hợp, Người vận hành node có thể chống lại một cuộc tấn công.

Người vận hành pool có thể dễ dàng phát hiện cuộc tấn công và họ có thể dễ dàng làm trống mem-pool. Trong trường hợp đó, chúng sẽ tăng cơ hội giao dịch của người dùng vào mem-pool. Kẻ tấn công sẽ phải gửi lại các giao dịch giao dịch rác. Tuy nhiên, điều này sẽ chỉ khiến mạng mất kết nối với các node spam. Người vận hành pool có thể tự động quyết định ngắt kết nối khỏi node rác hoặc ví gửi giao dịch rác.

Việc loại bỏ các node spam là tương đối đơn giản và chỉ duy trì kết nối với các node đáng tin cậy.

Lời kết

Để cuộc tấn công giao dịch rác thành công, kẻ tấn công cần có quyền truy cập vào tất cả các mem-pool của mạng một cách bình đẳng và ngay lập tức. Điều này khó đạt được trong thực tế. Tôi có thể tưởng tượng rằng kẻ tấn công có thể làm chậm mạng. Ngoài ra, nó có thể cố gắng tắt các node cụ thể mà người dùng thường xuyên sử dụng.

Sự chậm lại của mạng có thể gây khó chịu nếu người dùng cần các giao dịch của họ được hoàn tất nhanh chóng vì họ có nguy cơ bị thanh lý vị trí của mình chẳng hạn.

Trước đây, mạng Cardano đã nhiều lần phải chịu rất nhiều áp lực, do việc tạo ra NFT hoặc kiểm tra khả năng chống lại các cuộc tấn công DDoS. Tải lớn nhất mà tôi nghe nói là cao hơn 44 lần so với dung lượng mạng (tải khoảng 250K giao dịch mới trong một giờ). Hầu hết người dùng thậm chí không nhận thấy sự chậm trễ này.

Nếu dễ dàng thực hiện một cuộc tấn công DDoS vào Cardano hoặc một Blockchain khác, chúng ta sẽ thấy những cuộc tấn công này hàng ngày. Nó không xảy ra. Tin tôi đi, việc chuẩn bị và thực hiện một cuộc tấn công như vậy không hề dễ dàng chút nào.

Nguồn bài viết tại đây


Picture

Đọc thêm các bài viết liên quan tại thẻ Tags bên dưới