Lỗi BGP là gì mà khiến Facebook, Instagram sập toàn cầu?
Sai sót trong cấu hình router là nguyên nhân khiến hàng loạt dịch vụ của Facebook gặp sự cố, tuy nhiên các yếu tố kỹ thuật chi tiết chưa được chia sẻ.
Tối ngày 4/10 (giờ Việt Nam), các dịch vụ của Facebook gồm nền tảng chính, Instagram, Messenger và WhatsApp bất ngờ không thể truy cập. Sự cố diễn ra trong khoảng 8 tiếng, đến khoảng 7h sáng 5/10, đa số dịch vụ của Facebook đã hoạt động bình thường trở lại.
Sáng cùng ngày, Facebook cho biết nguyên nhân sự cố đến từ sai sót trong lúc tinh chỉnh router điều phối lưu lượng mạng giữa các trung tâm dữ liệu. Các chi tiết kỹ thuật chưa được công bố. Sau khi phân tích, các chuyên gia an ninh mạng từ Cloudflare cho rằng sự cố có thể liên quan đến giao thức định tuyến Internet có tên BGP.
BGP như một "bản đồ trên Internet"
Viết tắt của Border Gateway Protocol, BGP về cơ bản là một trong những hệ thống định tuyến lưu lượng, đưa thiết bị của người dùng đến website cần truy cập càng nhanh càng tốt.
Do có nhiều nhà cung cấp dịch vụ Internet, router và máy chủ, có nhiều "con đường" khác nhau để truyền lưu lượng đến địa chỉ đích. Nhiệm vụ của BGP là tìm kiếm, lựa chọn "con đường" tốt nhất để truy cập vào website cần đến.
Trang The Verge mô tả BGP như người cập nhật "tuyến đường" để vẽ bản đồ, hướng dẫn máy tính truy cập các website như YouTube hay Facebook. Tuy nhiên, giữa các website luôn có nhiều điểm đến như máy chủ nhà mạng, dịch vụ trung gian... BGP sẽ chỉ ra những nơi lưu lượng cần đi qua để đến website đích.
Do Internet luôn thay đổi, bản đồ cần được cập nhật để tránh dẫn nhầm đường. Các hệ thống thường "tham khảo" thông tin từ máy chủ khác để sao chép thông tin mới. Nếu một điểm đến gặp lỗi nhưng không được phát hiện, chúng sẽ ảnh hưởng đến bản đồ, khiến lưu lượng không được truyền đến đúng vị trí.
Ví dụ, người dùng cần đến website A, máy chủ website này sử dụng nhà cung cấp mạng B, nhưng máy tính của bạn dùng nhà mạng C. Trong trường hợp này, B và C không thể liên lạc trực tiếp, nhưng nhà mạng C có thể liên lạc với trung gian D, D sau đó liên lạc với E, E có thể liên lạc đến A. Nếu đó là con đường duy nhất, BGP sẽ chọn nó để đưa người dùng đến website A. Nếu cả nhà mạng B và C cùng kết nối đến máy chủ dịch vụ F, BGP sẽ chọn con đường này để tránh đi qua các bên trung gian mà vẫn kết nối người dùng bình thường.
Tuy nhiên, không phải lúc nào tuyến đường ngắn nhất cũng tốt nhất. Có nhiều nguyên nhân BGP chọn con đường dài hơn như chi phí, hoặc chứa máy chủ được yêu cầu truy cập từ trước
Chuyện gì đã xảy ra với Facebook?
Đối với Facebook, công ty này xây dựng hệ thống BGP riêng. Trong thông báo ngày 5/10, Facebook cho biết sự cố xảy ra do "thay đổi cấu hình trên router điều phối lưu lượng mạng giữa các trung tâm dữ liệu... Điều đó ảnh hưởng đến cách giao tiếp của các trung tâm dữ liệu, khiến các dịch vụ ngừng hoạt động".
Dựa trên thông báo, The Verge cho rằng sự cố có thể xảy ra từ nội bộ Facebook. Tuy nhiên, lỗi này ảnh hưởng đến hàng triệu người dùng trên thế giới. Các chuyên gia nhận định Facebook "bị xóa sổ khỏi Internet" khi điểm đến trên bản đồ biến mất.
Nhiều lập trình viên đã so sánh BGP với DNS (Domain Name System). Theo mô tả của Cloudflare, DNS là hệ thống phân giải tên miền, dùng để chuyển tên miền website thành địa chỉ IP, còn BGP là tuyến đường để đi đến nơi đó.
Từng có 2 sự cố trên quy mô lớn ảnh hưởng đến hoạt động của BGP, bao gồm một ISP của Thổ Nhĩ Kỳ vô tình yêu cầu toàn bộ Internet định tuyến lưu lượng đến server của dịch vụ này vào năm 2004. Đến năm 2008, một ISP tại Pakistan vô tình chặn YouTube trên toàn thế giới. Do các hệ thống BGP thường tham khảo lẫn nhau, toàn bộ người dùng Internet đã bị ảnh hưởng.
Bên cạnh chính phủ, một tổ chức lớn cũng có thể vô tình ảnh hưởng đến BGP.
Năm 2018, hacker đã chiếm đoạt lưu lượng truy cập đến Amazon trong gần 2 tiếng, đánh cắp hàng nghìn USD tiền mã hóa Ethereum bằng cách xâm nhập hệ thống BGP của một ISP kết nối với Amazon. Từ đó, lưu lượng truy cập đến Amazon đã bị chuyển hướng đến địa chỉ khác.
Sai sót trong cập nhật BGP cũng có thể ảnh hưởng đến tuyến đường lưu lượng. Đại diện của Cloudflare cho biết đã ghi nhận nhiều bản cập nhật BGP từ Facebook ngay trước khi sự cố xảy ra. Một trong những lãnh đạo của Fastly cho biết Facebook đã ngừng cấp tuyến đường lưu lượng đến dịch vụ này.
Ngay cả các website nội bộ của Facebook cũng không thể truy cập. Theo The Verge, một số kỹ sư đã đến trung tâm dữ liệu của Facebook tại California (Mỹ) để khắc phục sự cố.
Sự cố diện rộng của Facebook diễn ra trong nhiều giờ liên tục. Với quy mô lớn và lưu lượng truy cập đông, Facebook cần đảm bảo không xảy ra sai sót khi cập nhật hoặc tùy chỉnh máy chủ, đảm bảo điểm đến không bị xóa khỏi bản đồ để BGP điều hướng lưu lượng chính xác.