Một trong những tính năng chính của dịch vụ giám sát và phân tích BGP là theo dõi các bất thường cụ thể có thể dẫn đến sự cố mà chúng ta gọi là rò rỉ tuyến BGP hoặc chiếm quyền điều khiển BGP.

Cả hai đều chuyển hướng lưu lượng truy cập đến bên thứ ba, so với trạng thái không có bất thường, nhưng theo cách khác nhau. Trong vài năm qua, rất nhiều nỗ lực đã được đầu tư vào việc giải quyết những vấn đề này, nhưng vẫn còn những hiểu lầm về bản chất của từng vấn đề và cách các công cụ khác nhau giúp giải quyết các vấn đề khác nhau.
Chúng tôi bắt đầu thu thập mô hình mối quan hệ BGP vài năm trước khi RFC 7908 xuất hiện, cố gắng định nghĩa rò rỉ tuyến BGP là gì. Hai điểm khác biệt chính giữa hai thời điểm đó được mô tả như sau:
- Các tuyến được chuyển hướng qua các ASN/liên kết sai (Rò rỉ tuyến), được mô tả là loại 1-4 trong RFC 7908
- Các tuyến được chuyển hướng đến các ASN sai (Chiếm đoạt), được mô tả là loại 5 và 6 trong RFC 7908
Trong trường hợp rò rỉ tuyến BGP, lưu lượng truy cập hướng đến mạng của bạn rất có thể sẽ chảy một cách không hiệu quả, dẫn đến tăng độ trễ mạng và mất gói tin. Tuy nhiên, nó vẫn sẽ đến được mạng của bạn gần như chắc chắn nếu không có tắc nghẽn mạng nghiêm trọng vì lý do nào đó (như ý đồ xấu của kẻ gây hại). Trong trường hợp chiếm quyền kiểm soát tuyến BGP, lưu lượng truy cập hướng đến mạng của bạn bị chuyển hướng đến bên thứ ba và ở lại đó. Hơn nữa, cơ chế tạo ra các loại bất thường này cũng khác nhau. Để tạo ra rò rỉ tuyến, bạn cần chuyển một tuyến đường tốt đến một nhà cung cấp dịch vụ Internet (ISP) lân cận không phù hợp. Để tạo ra chiếm quyền kiểm soát, bạn cần thông báo một tuyến đường với tiền tố phụ/cụ thể hơn của một tiền tố hợp lệ (để thu hút tất cả lưu lượng truy cập từ các ISP đã nhận được thông báo đó với bất kỳ AS_PATH nào bạn muốn) hoặc tạo một thông báo tuyến đường với tiền tố của bên thứ ba từ mạng của bạn. Vì cơ chế tạo ra các bất thường định tuyến khác nhau, nên cơ chế phát hiện sự cố và phòng ngừa/giảm thiểu cũng cần khác nhau.
Để phát hiện nguyên nhân rò rỉ tuyến đường, bạn cần tìm hiểu mối quan hệ giữa hai nhà mạng được kết nối và tìm ra các tuyến BGP (từ bộ thu thập BGP) vi phạm mô hình chính thức Gao-Rexford; để biết thêm thông tin, vui lòng tham khảo tài liệu “Mối quan hệ AS” của CAIDA. Để phát hiện các vụ chiếm đoạt tuyến đường, bạn cần có thông tin chính xác về việc tiền tố nào thuộc về nhà cung cấp dịch vụ Internet (ISP) nào, và trong hầu hết các trường hợp, khi xuất hiện một cặp ISP có tiền tố chưa được đăng ký – hãy tạo cảnh báo hoặc thực hiện hành động.
Để ngăn chặn/giảm thiểu các vụ chiếm đoạt tuyến đường, có hai phương pháp tiêu chuẩn trong khuôn khổ Xác thực Nguồn gốc Tiền tố (Prefix Origin Validation – ROA) duy nhất. Bạn có thể đăng ký một đối tượng Tuyến đường (Route) trong IRR của mình hoặc tạo một đối tượng ROA. Nhóm của chúng tôi đã mô tả sự khác biệt giữa các phương pháp này trong RIPE79. Tuy nhiên, điểm chung là cả hai đều nêu rõ tiền tố nào thuộc về nhà mạng nào (do chính các nhà mạng cung cấp) và cố gắng chặn các tuyến đường từ một ISP có tiền tố chưa được đăng ký (do các ISP trung chuyển). Để ngăn chặn/giảm thiểu rò rỉ tuyến đường thuần túy, chúng tôi tham gia vào việc tạo ra một chính sách mở BGP. Một cách tiếp cận khác là khóa ngang hàng – chặn các tuyến đường có các láng giềng/ISP không mong muốn trong AS_PATH. Bản dự thảo ASPA IETF hơi khác so với việc ngăn chặn chiếm đoạt/rò rỉ tuyến đường thuần túy vì nó tập trung hơn vào việc chặn các AS_PATH xấu (các trường hợp rò rỉ tuyến đường và chiếm đoạt có/không có thao tác AS_PATH xấu).
ROA so với rò rỉ định tuyến
Vậy, mạng của bạn có an toàn không nếu bạn triển khai cả chữ ký ROA và lọc ROA? Không, bởi vì nếu không có ASPA hoặc bất kỳ giao thức tương đương nào, bản thân ROA sẽ không ngăn chặn được việc rò rỉ định tuyến từ bên ngoài. Chúng tôi hy vọng rằng giờ đây bạn đã thấy vấn đề này phức tạp như thế nào, cần có các phương pháp riêng biệt để bảo mật nền tảng của định tuyến liên miền hiện đại – Giao thức Cổng Biên (Border Gateway Protocol).
Chữ ký ROA so với lọc ROA
Một quan niệm sai lầm phổ biến khác liên quan đến ROA. Có hai bên trong thuật toán ROA: bên ký – nhà điều hành, cung cấp thông tin xác thực về các tiền tố mà họ sở hữu; và có một bên lọc – nhà điều hành trung chuyển, lọc ra các tuyến đường xấu dựa trên thông tin do bên ký cung cấp.
Là một nhà điều hành nhánh (nghĩa là một AS chỉ có một nhà cung cấp đường lên), bạn bị hạn chế về số lượng cách bạn có thể tác động đến số lượng các bên lọc. Càng nhiều bên lọc, tiền tố của bạn càng an toàn hơn (càng ít vùng bị ảnh hưởng nếu kẻ tấn công quyết định tấn công tiền tố của bạn). Nếu bạn quyết định ký tiền tố của mình, bạn có thể sử dụng cơ sở hạ tầng lọc hiện có, và cơ sở hạ tầng này sẽ chỉ phát triển hơn nữa trong tương lai gần. Hơn nữa, chúng tôi khuyến khích bạn vẫn nên làm như vậy, bất kể quy mô mạng lưới phía sau ASN của bạn lớn đến đâu.
Bài viết này vẫn sẽ kết thúc bằng một lời cảnh báo: cơ sở hạ tầng lọc hiện tại vẫn có thể chưa hoàn hảo, và trong một số trường hợp, bạn không thể chuyển hướng lưu lượng truy cập từ khu vực bị ảnh hưởng do tùy chọn độ dài tối đa đã chọn và việc lọc ROA ở phía nhà cung cấp dịch vụ Internet của bạn.
Leave a Reply